Cng Ngh Phn Mm Nng Cao Outline Outline Software life-cycle Q i h h i Ph Qui trnh pht trin Phn mm Cc m hnh pht trin M hnh tuyn tnh M hnh ch th M hnh pht trin ng dng nhanh Cc m hnh tin ha M hnh pht trin ng thi M hnh hng thnh phn M hnh hng thnh phn Pham Ngoc Hung, Coltech, VNU, 2009 2 Vng i phn mm (Software life-cycle) Vng i phn mm (Software life cycle) Vng i phn mm l thi k tnh t khi phn mm g p p c sinh (to) ra cho n khi cht i (t lc hnh thnh p ng yu cu, vn hnh, bo dng cho n ) khi loi b khng u dng) Quy trnh phn mm (vng i phn mm) c h hi h h h h h h h hi k phn chia thnh cc pha chnh: phn tch, thit k, ch to, kim th, bo tr. Biu din cc pha c khc nhau theo tng ngi nhau theo tng ngi Pham Ngoc Hung, Coltech, VNU, 2009 3 M hnh vng i phn mm ca Boehm g p Xc nh yu cu h thng Kim chng Xc nh yu cu phn mm Kim chng Thit k Thit k cn bn Kim chng Thit k chi tit chi tit Kim chng Lp trnh G li G Kim th Chy th Vn hnh Bo tr Kim chng li Pham Ngoc Hung, Coltech, VNU, 2009 4 S h i i h Suy ngh mi v vng i phn mm (1) Pha xc nh yu cu v thit k c vai tr quyt nh n cht lng phn mm, chim phn ln cng sc so vi lp trnh, kim th v chuyn giao phn mm phn mm (2) Pha c th ha cu trc phn mm ph thuc nhiu vo suy ngh trn xung (top-down) v tru tng y g g ( p ) g ha, cng nh chi tit ha (3) Pha thit k, ch to th theo trn xung, pha kim h h d i l (b ) th th di ln (bottom-up) Pham Ngoc Hung, Coltech, VNU, 2009 5 S h i i h Suy ngh mi v vng i phn mm (4) Trc khi chuyn sang pha k tip phi m bo pha ( ) y g p p p p hin nay c kim th khng cn li (5) Cn c c ch kim tra cht lng, xt duyt gia cc h h b kh li h h pha nhm m bo khng gy li cho pha sau (6) T liu ca mi pha khng ch dng cho pha sau, m chnh l i tng quan trng cho kim tra v m bo chnh l i tng quan trng cho kim tra v m bo cht lng ca tng quy trnh v ca chnh phn mm Pham Ngoc Hung, Coltech, VNU, 2009 6 S h i i h Suy ngh mi v vng i phn mm (7) Cn chun ha mu biu, cch ghi chp to t liu ( ) , g p cho tng pha, nhm m bo cht lng phn mm (8) Thao tc bo tr phn mm l vic x l quay vng tr li cc pha trong vng i phn mm nhm bin i, sa cha, nng cp phn mm Pham Ngoc Hung, Coltech, VNU, 2009 7 Cc phng php lun v k thut cho tng pha Tn pha Ni dung nghip v Phng php, k thut Xc nh c t yu cu ngi dng Phn tch cu trc Xc nh yu cu c t yu cu ngi dng Xc nh yu cu phn mm Phn tch cu trc ha Thit k h thng Thit k c bn phn mm Thit k cu trc ngoi ca phn Thit k cu trc ha h thng mm Thit k chng L thit k chi tit: Thit k cu trc bn trong ca phn mm (n Lp trnh cu trc Phng php Jackson Ph h g trnh g p ( v chng trnh hoc mun) Phng php Warnier Lp trnh M ha bi ngn ng lp trnh M ha cu trc ha m bo Kim tra cht lng phn mm Phng php kim m bo cht lng Kim tra cht lng phn mm pht trin Phng php kim th chng trnh Vn hnh
S dng, vn hnh phn mm pht trin Bin i iu chnh Cha c th Bo tr pht trin. Bin i, iu chnh phn mm Cha c th
Pham Ngoc Hung, Coltech, VNU, 2009 8 Quy trnh pht trin phn mm Quy trnh pht trin phn mm Common process framework Framework activities Task sets Tasks Mil d li bl Milestones, deliverables SQA points Umbrella activities Pham Ngoc Hung, Coltech, VNU, 2009 9 M hnh tuyn tnh M hnh tuyn tnh Phn tch Thit k Lp trnh Kim th Cng ngh hc H thng/Thng tin in hnh l m hnh vng i c in (m hnh thc nc) Classic life cycle / waterfall model: l m hnh hay oc dng nht y g Pham Ngoc Hung, Coltech, VNU, 2009 10 M hnh tuyn tnh M hnh tuyn tnh Cng ngh hc H thng/Thng tin v m hnh ha g g g g (System / Information engineering and modeling): thit lp cc yu cu, nh x mt s tp con cc yu cu sang phn mm trong qu trnh tng tc gia phn cng phn mm trong qu trnh tng tc gia phn cng, ngi v CSDL Phn tch yu cu (Requirements analysis): hiu lnh vc Phn tch yu cu (Requirements analysis): hiu lnh vc thng tin, chc nng, hnh vi, tnh nng v giao din ca phn mm s pht trin. Cn phi to t liu v bn tho vi khch hng, ngi dng Pham Ngoc Hung, Coltech, VNU, 2009 11 M hnh tuyn tnh M hnh tuyn tnh Thit k (Design): l qu trnh nhiu bc vi 4 thuc tnh khc nhau ca mt chng trnh: cu trc d liu, ki h bi di i di hi i h kin trc phn mm, biu din giao din v chi tit th tc (thut ton). Cn t liu ha v l mt phn quan trng ca cu hnh phn mm trng ca cu hnh phn mm To m / lp trnh (Code generation/programming): Chuyn thit k thnh chng trnh my tnh bi ngn ng no . Nu thit k c chi tit ha th lp trnh c th ch thun ty c hc Pham Ngoc Hung, Coltech, VNU, 2009 12 M hnh tuyn tnh M hnh tuyn tnh Kim th (Testing): Kim tra cc chng trnh v ( g) g mun c v lgic bn trong v chc nng bn ngoi, nhm pht hin ra li v m bo vi u vo xc nh th cho kt qu mong mun H tr / Bo tr (Support / Maintenance): p ng h h i h h i d nhng thay i, nng cp phn mm pht trin do s thay i ca mi trng, nhu cu Pham Ngoc Hung, Coltech, VNU, 2009 13 im yu ca M hnh tuyn tnh Thc t cc d n t khi tun theo dng tun t ca g m hnh, m thng c lp li (nh m hnh ca Boehm) Khch hng t khi tuyn b r rng khi no xong ht cc yu cu Khch hng phi c lng kin nhn ch i thi gian nht nh mi c sn phm. Nu pht hin ra li th l t th h ! nng th l mt thm ha! Pham Ngoc Hung, Coltech, VNU, 2009 14 M hnh ch th (Prototyping model) M hnh ch th (Prototyping model) Nghe Khch trnh by To/sa bn mu Khch kim tra bn mu Pham Ngoc Hung, Coltech, VNU, 2009 15 M hnh ch th: Khi no? M hnh ch th: Khi no? Khi mi r mc ch chung chung ca phn mm, g g p , cha r chi tit u vo hay x l ra sao hoc cha r yu cu u ra Dng nh H s khai thu thp yu cu ngi dng qua cc thit k nhanh Cc gii thut, k thut dng lm bn mu c th cha nhanh, cha tt, min l c mu tho lun i i d gi yu cu ca ngi dng Pham Ngoc Hung, Coltech, VNU, 2009 16 M hnh pht trin ng dng nhanh (Rapid M hnh pht trin ng dng nhanh (Rapid Application Development: RAD) L quy trnh pht trin phn mm gia tng, tng dn tng bc (Incrimental software development) vi mi chu h h i (60 90 ) trnh pht trin rt ngn (60-90 ngy) Xy dng da trn hng thnh phn (Component-based construction) vi kh nng ti s dng (reuse) construction) vi kh nng ti s dng (reuse) Gm mt s nhm (teams), mi nhm lm 1 RAD theo cc pha: M hnh nghip v, M hnh d liu, M hnh x p g p , , l, To ng dng, Kim th v nh gi (Business, Data, Process, Appl. Generation, Test) Pham Ngoc Hung, Coltech, VNU, 2009 17 h h Business Modeling Team #3 M hnh pht trin g Business Modeling Data g Modeling g Data Modeling g Process Modeling Application Team #2 ng dng nhanh Business Modeling g Data Modeling g Process Modeling A li ti Application Generation Testing & Turnover Team #1 Data Modeling Process Application Generation Testing & Turnover Modeling Application Generation Turnover Ge e at o Testing & Turnover 60 - 90 days Pham Ngoc Hung, Coltech, VNU, 2009 18 RAD: Business modeling RAD: Business modeling Lung thng tin c m hnh ha tr li cc Lung thng tin c m hnh ha tr li cc cu hi: Thng tin no iu khin x l nghip v? Thng tin no iu khin x l nghip v? Thng tin g c sinh ra? Ai sinh ra n? Ai sinh ra n? Thng tin i n u? Ai x l chng? Ai x l chng? Pham Ngoc Hung, Coltech, VNU, 2009 19 RAD D d P d li RAD: Data and Process modeling Data modeling: cc i tng d liu cn h tr nghip v (business). nh ngha cc thuc tnh ca tng i tng v xc lp quan h gia cc i tng d li i d li Process modeling: Cc i tng d liu c chuyn sang lung thng tin thc hin chc nng nghip v To m t x l cp nht (thm nghip v. To m t x l cp nht (thm, sa, xa, khi phc) tng i tng d liu Pham Ngoc Hung, Coltech, VNU, 2009 20 RAD: Appl Generation and Testing RAD: Appl. Generation and Testing Application Generation: Dng cc k thut th h 4 pp g to phn mm t cc thnh phn c sn hoc to ra cc thnh phn c th ti dng li sau ny. Dng cc cng c t ng xy dng phn mm Testing and Turnover: Kim th cc thnh phn mi ki h i i di ( h h h v kim chng mi giao din (cc thnh phn c c kim th v dng li) Pham Ngoc Hung, Coltech, VNU, 2009 21 RAD: Hn ch? RAD: Hn ch? Cn ngun nhn lc di do to cc nhm cho cc g chc nng chnh Yu cu hai bn giao ko trong thi gian ngn phi c h h h h hi h hi b d phn mm hon chnh, thiu trch nhim ca mt bn d lm d n v RAD khng phi tt cho mi ng dng nht l vi ng RAD khng phi tt cho mi ng dng, nht l vi ng dng khng th mun ha hoc i hi tnh nng cao Mo him k thut cao th khng nn dng RAD Mo him k thut cao th khng nn dng RAD Pham Ngoc Hung, Coltech, VNU, 2009 22 Cc m hnh tin ha: gia tng, xon c... Phn ln cc h phn mm phc tp u tin ha theo Phn ln cc h phn mm phc tp u tin ha theo thi gian: mi trng thay i, yu cu pht sinh thm, hon thin thm chc nng, tnh nng Cc m hnh tin ha (evolutionary models) c tnh lp li. K s phn mm to ra cc phin bn (versions) h thi h h t h ngy cng hon thin hn, phc tp hn Cc m hnh: incremental, spiral, WINWIN spiral, concurrent development model concurrent development model Pham Ngoc Hung, Coltech, VNU, 2009 23 M hnh gia tng (The incremental model) M hnh gia tng (The incremental model) Kt hp m hnh tun t v tng lp li Kt hp m hnh tun t v tng lp li ca ch bn mu Sn phm li vi nhng yu cu c bn nht Sn phm li vi nhng yu cu c bn nht ca h thng c pht trin C h i h kh Cc chc nng vi nhng yu cu khc c pht trin thm sau (gia tng) Lp li quy trnh hon thin dn Pham Ngoc Hung, Coltech, VNU, 2009 24 M hnh gia tng M hnh gia tng Gia tng 1 Phn tch Thit k Lp trnh Kim th System/info. E i i Gia tng 1 Xut xng 1 Engineering Phn tch Thit k Lp trnh Kim th Gia tng 2 Xut xng 2 Phn tch Thit k Lp trnh Kim th Gia tng 3 Xut xng 3 C l d ti Phn tch Thit k Lp trnh Kim th Gia tng 4 XX 4 Calendar time Pham Ngoc Hung, Coltech, VNU, 2009 25 M hnh xon c (spiral) M hnh xon c (spiral) Giao tip Lp k hoch Phn tch ri ro Giao tip khch hng K ngh Khi nim Lm mi Xy dng & Xut xng Khch hng nh gi Bo tr Nng cp g Bo tr Pham Ngoc Hung, Coltech, VNU, 2009 26 M hnh xon c (tip) M hnh xon c (tip) Giao tip khch hng: gia ngi pht trin v khch p g g g p hng tm hiu yu cu, kin Lp k hoch: Xc lp ti nguyn, thi hn v nhng thng tin khc Phn tch ri ro: Xem xt mo him k thut v mo him qun l K ngh: Xy dng mt hay mt s biu din ca ng dng Pham Ngoc Hung, Coltech, VNU, 2009 27 M hnh xon c (tip) M hnh xon c (tip) Xy dng v xut xng: xy dng, kim th, ci y g g y g, , t v cung cp h tr ngi dng (t liu, hun luyn, . . .) nh gi ca khch hng: Nhn cc phn hi ca ngi s dng v biu din phn mm trong giai k h i on k ngh v ci t Pham Ngoc Hung, Coltech, VNU, 2009 28 M hnh xon c: Mnh v yu? M hnh xon c: Mnh v yu? Tt cho cc h phn mm quy m ln p q y D kim sot cc mo him tng mc tin ha Kh thuyt phc khch hng l phng php tin Kh thuyt phc khch hng l phng php tin ha xon c c th kim sot c Cha c dng rng ri nh cc m hnh tuyn Cha c dng rng ri nh cc m hnh tuyn tnh hoc ch th Pham Ngoc Hung, Coltech, VNU, 2009 29 M hnh pht trin ng thi p g (The concurrent development model) Xc nh mng li nhng hot ng ng thi Xc nh mng li nhng hot ng ng thi (Network of concurrent activities) Cc s kin (events) xut hin theo iu kin vn ng ( ) g trng thi trong tng hot ng Dng cho mi loi ng dng v cho hnh nh kh chnh xc v trng thi hin trng ca d n Thng dng trong pht trin cc ng dng khch/ch ( li t/ li ti ): t d t (client/server applications): system and componets are developed concurrently Pham Ngoc Hung, Coltech, VNU, 2009 30 M hnh hng thnh phn (Component-based model) G i h h h i t (Obj t Gn vi nhng cng ngh hng i tng (Object- oriented technologies) qua vic to cc lp (classes) c cha c d liu v gii thut x l d liu cha c d liu v gii thut x l d liu C nhiu tng ng vi m hnh xon c Vi u im ti s dng cc thnh phn qua Th vin Vi u im ti s dng cc thnh phn qua Th vin / kho cc lp: tit kim 70% thi gian, 80% gi thnh, ch s sn xut 26.2/16.9 Vi UML nh chun cng nghip ang trin khai Pham Ngoc Hung, Coltech, VNU, 2009 31 M h h h h h h M hnh hng thnh phn Giao tip Lp k hoch Phn tch ri ro Xc nh thnh phn ng vin Giao tip khch hng Tm thnh phn t th vin Xy dng bc lp th n ca h thng Ly thnh phn
t thnh phn th i K ngh Xy dng & Xut xng Khch hng nh gi nu c Xy dng thnh phn nu kh c vo th vin nu kh.c Pham Ngoc Hung, Coltech, VNU, 2009 32 M hnh hnh thc (Formal model) M hnh hnh thc (Formal model) Cn gi l CNHPM phng sch (Cleanroom SE) Tp hp cc cng c nhm c t ton hc phn p p g p mm my tnh t khu nh ngha, pht trin n kim chng Gip k s phn mm pht hin v sa cc li kh Thng dng trong pht trin SW cn an ton rt g g g p cao (y t, hng khng, . . .) Pham Ngoc Hung, Coltech, VNU, 2009 33 M hnh hnh thc: im yu? M hnh hnh thc: im yu? Cn nhiu thi gian v cng sc pht trin Cn nhiu thi gian v cng sc pht trin Ph o to cao v t ngi c nn cn bn cho p dng m hnh hnh thc p dng m hnh hnh thc Kh s dng rng ri v cn kin thc ton v k kh h h k nng ca khch hng Pham Ngoc Hung, Coltech, VNU, 2009 34 Outline Outline Software life-cycle Qui trnh pht trin Phn mm Cc m hnh pht trin M hnh tuyn tnh M hnh ch th M hnh pht trin ng dng nhanh Cc m hnh tin ha M hnh pht trin ng thi M hnh hng thnh phn M hnh hng thnh phn Pham Ngoc Hung, Coltech, VNU, 2009 35 Tho lun Tho lun Chn m hnh no cho pht trin PM? Chn m hnh no cho pht trin PM? Pham Ngoc Hung, Coltech, VNU, 2009 36 Thc trng ca ngnh Cng nghip PM Thc trng ca ngnh Cng nghip PM Hu ht cc t chc/cty PM u tch bit Hu ht cc t chc/cty PM u tch bit hon ton pha pht trin v pha bo tr -> HT (sn phm PM) kh bo tr HT (sn phm PM) kh bo tr -> Kh s dng li cc thnh phn Qun l d n vs qun l sn phm Qun l d n vs. qun l sn phm M rng mc tiu ca vic qun l bao qut c mt h cc sn phm hn l qun qut c mt h cc sn phm hn l qun l tng sn phm ring bit Pham Ngoc Hung, Coltech, VNU, 2009 37 Pham Ngoc Hung, Coltech, VNU, 2009 38 Pham Ngoc Hung, Coltech, VNU, 2009 39