01 requirement engineering 153

Upload: luudong-dong

Post on 05-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 01 Requirement Engineering 153

    1/27

    Phn tch yu cu phn mm

    Lecture 01 Cng ngh yu cu

    Cht lng = p ng mc tiuCng ngh phn mm c mt khp mi ni

    Tc ng rt gn n tt c cc kha cnh trong cuc sng

    Nhng cc kinh nghim ca chng ta trong k thut phn mm th thng gp hn ch

    Phn mm c thit k nhm mt mc ch no

    Nu n khng thc hin tt th hoc l :

    ngi thit k khng c sthu hiu mt cch y mc ch

    hoc chng ta ang sdng phn mm cho mc ch khc vi dnh ban u

    Phn tch yu cu nhm xc nh chnh xc mc ch ny

    Vic hiu khng y v mc ch dn n cht lng phn mm km

    Mc ch c tm thy tcc hot ng ca con ngi

    E.g. Mc ch ca h thng ngn hng n tcc hot ng kinh doanh ca ngn hng

    v nhu cu tnhng khch hng ca h (e.g. ATM, )

    Mc ch thng phc tp

    1

  • 8/2/2019 01 Requirement Engineering 153

    2/27

    Phn tch yu cu phn mm

    Thch thc nm u ?

    2

  • 8/2/2019 01 Requirement Engineering 153

    3/27

    Phn tch yu cu phn mm

    H thng no th mm?

    Cc thnh phn phn mm cng loi E.g. Cc chc nng li trong hiu hnh, dch v mng, tng trung gian(middleware),

    C quan h v mt chc nng n nh, xc nh bi cc giao din k thut Nhng ch rng nhng h thng ny vn chu tc ng bi hot ngca con ngi E.g. khi nim ca mt file, mt URL, etc.

    Cc h thng qun l (Control Systems) E.g. iu hnh quy trnh bay, iu hnh tin trnh cng nghip, Hu ht yu cu c xc nh bi cc quy trnh tnhin iu hnh Nhng ch rng cc cch thc giao tip th thng mang tnh quyt nh E.g. cc tai nn pht sinh khi h thng khng ng xtheo cch thc mong i

    (Tu v tr Arian 5 - France)

    Cc h thng thng tin (Information Systems) E.g. tng ha vn phng, phn mm nhm (groupware), web services, phnmm h trkinh doanh, Cc h thng ny khng th tch ring khi cc hot ng m chng h tr Thit k ca phn mm k tha trn thit k ca hot ng con ngi Phn mm v hot ng con ngi ng thit lp

    3

  • 8/2/2019 01 Requirement Engineering 153

    4/27

    Phn tch yu cu phn mm

    nh ngha RE (Requirements Engineering)

    4

    Requirements Engineering (RE) l mt

    tp cc hot ng lin quan ti

    vic xc nh v truyn t

    mc tiu ca mt h thng phn mm

    chuyn nghip, trong lnh vc m

    chng c s dng. y, cc hot

    ng RE nh l cu ni gia

    cc nhu cu trong thc tca

    ngi dng, khch hng, v nhng

    ng vinkhc c nh hng n mt

    h thng phn mm, v nhng kh

    nng v chic to ra bi nhng

    k thut phn mm chuyn nghip

    Khng phi mt thik hay mt giai on !

    Truyn t rt quantrng khi phn tch

    Cn nhn dng tt ccc i tc khngch l ngi dng vkhach hng !

    Cht lng ngha lp ng mc tiu.Khng th ni iu gv cht lng trkhibn hiu r mc tiu

    Ngi thit k cnbit h thng sc sdng uv nhth no?

    Yu cu l mtphn ca nhucu l g ???

    V mt phn ca n thc hinc g ???

  • 8/2/2019 01 Requirement Engineering 153

    5/27

    Phn tch yu cu phn mm

    Hu qu ca sai st

    Gi sa cha li Mt tin trnh pht trin phn mm in hnh bao gm:

    Phn tch yu cu Thit k phn mm Lp trnh Kim thspht trin Kim thschp thun Vn hnh

    Gi sa li ngy cng tng vo thi im pht hin chng trong tin trnh

    E.g. Mt li v phn tch yu cu c tm thy phi tr gi 100 ln caohn li chng trnh.

    Nguyn nhn dn tht bi Thng k cc dn phn mm US ca nhm Standish:

    5

  • 8/2/2019 01 Requirement Engineering 153

    6/27

    Phn tch yu cu phn mm

    Hu qu ca sai st

    Nguyn nhn dn tht bi

    Standish Group (US Software) kho st 350 cng ty vi hn 8000 dnphn mm.

    6

    1. Yu cu khng hon chnh (13.1%)2. Thiu shp tc ngi dng (12.4%)3. Thiu ti nguyn (10.6%)4. Mong mun phi thc t (9.9%)5. Thiu h trphp l (9.3%)6. Thay i yu cu v c t (8.7%)7. Thiu hoch nh (8.1%)8. H thng khng cn n na (7.5%)

  • 8/2/2019 01 Requirement Engineering 153

    7/27

    Phn tch yu cu phn mm

    Hu qu ca sai st

    Kin nghLi yu cu (requirements errors) c th phi tr gi t nu chng

    khng c pht hin v sa cha sm trong tin trnh pht trin.

    Bo co ca Boehm v Papaccio (1988) cho thy c lng gi tr tiutn cho vic pht hin li cc giai on ca mt tin trnh pht trinphn mm nhsau :

    Cn dnh thi gian tm hiu k vn trong lnh vc ca chng vthu thp yu cu tht chnh xc trong giai on u tin.

    7

    Phn tch yu cu (1$) Thit k(5$) Lp trnh (10$) Kim th(20$) Trinkhai h thng (>200$)

  • 8/2/2019 01 Requirement Engineering 153

    8/27

    Phn tch yu cu phn mm

    Mc tiu ca Phn tch yu cu ?

    im bt u

    Tp trung ch rng c mt vn cn c gii quyt

    e.g. khng bng lng vi trng thi hin ti ca cng vic e.g. mt chi kinh doanh mi e.g. mt chi tit kim chi ph, thi gian, ti nguyn sdng, etc.

    Nh phn tch yu cu l mt tc nhn ca sthay i

    8

  • 8/2/2019 01 Requirement Engineering 153

    9/27

    Phn tch yu cu phn mm

    Phn tch yu cu cn t c g?

    nh ngha c vn :

    (Which) Vn no cn c gii quyt ? (Xc nh ranh gii vn - Boundaries)

    (Where) Vn u ? (Hiu ngcnh/ phm vi vn - Context/Problem Domain)

    (Whose) Vn ca ai? (nh ngha i tc - Stakeholders)

    (Why) Ti sao cn gii quyt? (nh ngha Mc tiu i tc stakeholders Goals)

    (How) H thng phn mm s h trnhth no? (Thu thp Kch bn - Scenarios)

    (When) Khi no cn phi gii quyt ? (nh nghacc rng buc pht trin

    - Development Constraints)

    (What) iu g ngn chn vic gii quyt chng? (nh ngha tnh kh thi v

    ri ro - Feasibility and Risk)

    L chuyn gia trong phm vi ca vn .

    9

  • 8/2/2019 01 Requirement Engineering 153

    10/27

    Phn tch yu cu phn mm

    Mt s kho st v RE

    RE khng cn thit phi theo mt tin trnh tun t: Khng cn phi vit m t vn trc m t gii php Vit li mt m t vn c th gip ch cc giai on pht trin Cc hot ng RE tip tc xuyn sut tin trnh pht trin

    Khai bo vn s khng hon ho Cc m hnh RE th ch gn ng vi thc t S cha sthiu chnh xc v khng nht qun S b st mt s thng tin. Cc nh phn tch lun lm gim bt nhng ri ro s c trong vn thc

    Vic hon chnh mt sc t c th khng mang li li nhun

    Phn tch yu cu c gi ca n i vi nhng dn khc nhau, cn bng li nhun cng khc nhau

    Khai bo vn khng khi no c xem l cnh Thay i th chc chn s xy ra, v v th phi dkin (E.g) trc s l mt cch kt hp cht ch cc thay i mt cch nh k

    10

  • 8/2/2019 01 Requirement Engineering 153

    11/27

    Phn tch yu cu phn mm

    Mt vn c m t

    E.g. Ngn chn vic truy cp tri php tcc my tnh

    11

  • 8/2/2019 01 Requirement Engineering 153

    12/27

    Phn tch yu cu phn mm

    Yu cu l g ?

    c tnh lnh vc (Domain Properties D) Nhng thc tht trong lnh vc ng dng cho d chng ta c thit k hthng dnh hay khng

    Cc yu cu (Requirement R) Nhng thtrong lnh vc ng dng m chng ta mong mun trthnh hin

    thc bng cch thc hin h thng dnh Rt nhiu trong chng bao gm cc hin tng m my tnh khng th truycp c.

    Sc t (Specification S) L sm t cc hnh vi m chng trnh phi lm p ng cc yu cu C th chc vit trong thut ngca schia s cc hin tng!

    12

  • 8/2/2019 01 Requirement Engineering 153

    13/27

    Phn tch yu cu phn mm

    p ng vi mc tiu ?

    Hai tiu chun kim tra tnh chnh xc (verification)Chng trnh (Program) thc hin trn mt my tnh (Computer) cthp ng vi c t (Specification)

    c t (Specification) c cho trong thuc tnh ca lnh vc

    (Domain properties) tha mn cc yu cu (Requirements)

    Hai tiu chun kim chng shon thin (validation) Chng ta xem xt (v hiu) tt c cc yu cu (Requirements)

    quan trng?

    Chng ta xem xt (v hiu) tt c cc thuc tnh lnh vc(Domainproperties) lin quan?

    13

  • 8/2/2019 01 Requirement Engineering 153

    14/27

    Phn tch yu cu phn mm

    V d

    Requirement R: Phn lc ch c th xy ra khi my bay ang chy trn ngbng Domain Properties D:

    Xung lc bnh xe xy ra khi v ch khi cc bnh xe bt ra Cc bnh xe bt ra khi v ch khi n chy trn ng bng

    Specification S: Phn lc c th xy ra khi v ch khi c xung lc bnh xe

    Kim tra Phn mm cho my bay, P, thc thi trn my tnh trong bung li camy bay, C, c hon ton chnh xc nhc t, S?

    S, trong ngcnh ca gi thuyt D, c p ng R?Kim chng Gi thuyt ca chng ta, D, v lnh vc c tht chnh xc? C thiu gkhng?

    Yu cu, R, c tht scn thit? C thiu g khng?

    14

  • 8/2/2019 01 Requirement Engineering 153

    15/27

    Phn tch yu cu phn mm

    Mt v d khc

    Requirement R:

    Csdliu ch c thc truy cp bi nhng ngi c quyn

    Domain Properties D:

    Nhng ngi c quyn th c passwords

    Passwords khng bao gic chia s vi nhng ngi khng c quyn

    Specification S:

    Truy cp vo CSDL chc chp nhn sau khi ngi dng g vo mt

    password c cp

    S + D dn n R

    Nhng c liu rng gi thuyt v lnh vc l sai?

    15

  • 8/2/2019 01 Requirement Engineering 153

    16/27

    Phn tch yu cu phn mm

    M hPhn mm th khc bit g ?

    Phn mm th khc!

    Phn mm th v hnh, mh, tru tng mc ch ca n l cu hnh mt s phn cng lm nhng thhu ch

    Khng c quy lut tnhin no bn trong cc hnh vi phn mm

    Khng c cc rng buc tnhin no trong cc phn mm phc tp

    Phn mm khng khi no mt mi cc o truyn thng ng tin khng c p dng

    Phn mm hon ton c th thc hin mt cng vic lp i lp li khng to ra sthay i

    16

    16

  • 8/2/2019 01 Requirement Engineering 153

    17/27

    Phn tch yu cu phn mm

    Qun l dn

    Mt nh qun l dn c th kim sot 4 th: Ti nguyn(c th tng thm tin, tin ch, nhn lc) Thi gian(c th tng thi gian, tr hon thi hn, etc.) Sn phm(c th gim chc nng - e.g. cc yu cu qu rc ri) Ri ro (c th quyt nh cc ri ro no chp nhn c)

    thc hin iu ny, nh qun l cn theo di: Cng sc Cn tn cng sc nhiu th no? Tiu hao bao nhiu? Thi gian Lch biu c mong i ra sao? Cn bao lu na ? Kch c K hoch vn ln nhth no? Phi thit k ra sao? Hn ch to ra bao nhiu li ? Bao nhiu ln pht hin li? V cc li ny nh hng nhth no n cht lng?

    Khi u, mt nh qun l cn c snh gi ng v iu ch c th c tsphn tch thu o vn .

    17

    Bn khng th kim sot c ci m bn khng tho lng !

  • 8/2/2019 01 Requirement Engineering 153

    18/27

    Phn tch yu cu phn mm

    Cc kiu dn

    Cc l do khi u cho mt dn pht trin phn mm Hng vn (Problem-driven): scnh tranh, skhng hong, Hng thay i (Change-driven): nhu cu mi, sln mnh, thay i doanh

    nghip hoc mi trng, Hng chi (Opportunity-driven): bng n mt k thut mi, Hng k tha (Legacy-driven): mt phn ca k hoch trc , cng vic

    cha hon thnh, Green field

    Cc kiu quan h vi khch hng: Customer-specific mt khch hng vi vn c th C th l mt cng ty khc, vi hp ng tha thun C th l mt b phn trong cng cng ty

    Market-based h thng bn ra th trng Trong mt s trng hp, sn phm phi sinh ra khch hng i ng tip th phi hnh ng nhnhng ngi thay th khch hng Community-based dnh s nhmt tin ch chung cho cng ng E.g. cng c ngun m(open_ source), cc cng c cho nghin cu khoa hc Khch hng ti tr(nu nh ti trkhng chim gikt qu)

    Hybrid (kt hp nhng kiu trn) 18

  • 8/2/2019 01 Requirement Engineering 153

    19/27

    Phn tch yu cu phn mm

    Chu k sng ca mt dn phn mm

    Cc m hnh chu k sng

    Rt hu ch so snh cc dn trong ngcnh chung

    Khng chi tit cho vic hoch nh dn

    Cc v d: Cc m hnh tun t: Waterfall, V model

    Lp bn mu nhanh (Rapid Prototyping)

    Cc m hnh giai on: Incremental, Evolutionary

    Cc m hnh vng lp: Spiral

    Cc m hnh linh hot (Agile Models): eXtreme Programming

    Sso snh: Process Models

    Dng cho vic nm vng v ci tin tin trnh pht trin phn mm

    19

  • 8/2/2019 01 Requirement Engineering 153

    20/27

    Phn tch yu cu phn mm

    M hnh thc nc (Waterfall Model)

    20

    Quan im pht trin: L mt tin trnh ca stinhch theo bc thang Quan im qun tr cp caocp ln

    Cc vn : Cch nhn tnh vi cc yucu li kh nng bin i Thiu slin quan ca ngidng khi c tc vit C tch bit khng thc tca c t tthit k Khng h trcho vic lpbn mu, ti sdng, etc

  • 8/2/2019 01 Requirement Engineering 153

    21/27

    Phn tch yu cu phn mm

    M hnh V (V - Model)

    21

  • 8/2/2019 01 Requirement Engineering 153

    22/27

    Phn tch yu cu phn mm

    Lp bn mu nhanh

    Lp bn mu th c dng cho:

    Hiu cc yu cu ca giao din ngi dng Xem xt cc c tnh ca hng dnh thit k Kho st cc quy tc thc thi ca h thng

    Cc vn : Nhng ngi dng xem bn mu nhgii php Mt bn mu ch l mt c t khng hon chnh

    22

  • 8/2/2019 01 Requirement Engineering 153

    23/27

    Phn tch yu cu phn mm

    Cc m hnh giai on chu k sng

    23

  • 8/2/2019 01 Requirement Engineering 153

    24/27

    Phn tch yu cu phn mm

    M hnh xon c (The Spiral Model)

    24

  • 8/2/2019 01 Requirement Engineering 153

    25/27

    Phn tch yu cu phn mm

    Cc m hnh linh hot (Agile Models)

    Lp lun cs Gim ro cn v truyn thng Ngi lp trnh giao tip vi khch hng Gim tip cn nng n vi ti liu Vic lp ti liu th tn km v gii hn sdng C nim tin gia con ngi Khng cn thit phi c cc m hnh xl tht

    thu ht thuyt phc ci s lm! p ng c cho khch hng Hn l tp trung vo vic k hp ng

    im yu Tin tng vo tr nhca ngi lp trnh M lnh c th kh bo tr Tin tng vo truyn thng bng ming C th thiu r rng Chp nhn duy nht khch hng i din Cc quan im khc nhau th khng tha ra K hoch ch lp trong thi gian ngn Khng c tm nhn xa

    25

    E.g. Lp trnh cc ( XP - Extreme Programming) Thay v vit c t yu cu,th sdng: User story cards (Bn chc nngngi dng)

    Khch hng trc din Lp trnh cp i (PairProgramming) Pht hnh nht E.g. mi 3 tun Tr chi k hoch (Planning Game) Chn la v nh gi cc user story

    cards vo lc bt u mi t pht hnh Vit bn kim thtrc vit code M lnh chng trnh c thit klp tc Tng tc lin tc Tch hp v kim thm lnh viln trong mt ngy

  • 8/2/2019 01 Requirement Engineering 153

    26/27

    Phn tch yu cu phn mm

    Lp trnh cc XP (eXtreme Programing)

    26

  • 8/2/2019 01 Requirement Engineering 153

    27/27

    Phn tch yu cu phn mm

    Kt lun

    Hc phn ny bao gm hu ht cc cng ngh v yu cu: Phn tch hin trng vn Kho st hot ng con ngi Hnh thc ha cc yu cu gii php phn mm c thc thit k

    Hc phn ny th khc vi hu ht cc hc phn CS khc N khng phi v cch gii quyt vn dng my tnh nhth no N l vic xc nh cc vn cn gii quyt nhth no Ni dung hc phn l cc hot ng ca con ngi:

    Lm sao thu hiu chng Lm sao dng cc k thut phn mm h trchng

    27