01 requirement engineering 153
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