55
1 CNPM/NN CÔNG NGHPHN MM Chương 2 Qui trình phát trin phn mm MÔN HC TRƯỜNG ĐẠI HC CÔNG NGHIP TP.HCM

Quy trình phát triển Phần mềm

  • Upload
    rep117

  • View
    10

  • Download
    1

Embed Size (px)

DESCRIPTION

Chương 2: Quy trình phát triển Phần mềm

Citation preview

  • 1CNPM/NN

    CNG NGH PHN MM

    Chng 2Qui trnh pht trin phn mm

    MN HC

    TRNG I HC CNG NGHIP TP.HCM

  • 2CNPM/NN

    Chng 2 : Qui trnh pht trin phn mm1. Qui trnh (process).2. M hnh pht trin phn mm.

    1. M hnh thc nc.2. M hnh pht trin gia tng.3. M hnh RAD.4. M hnh bn mu.5. M hnh xon c.

    3. Mt s vn khc.1. Pht trin da vo thnh phn.2. K thut th h th 4.3. Qui trnh RUP.4. Phng php pht trin phn mm linh hot (PTPMLH - Agile

    software development).

  • 3CNPM/NN

    Yu cu

    Hiu r mt s qui trnh pht trin c bn . Trong thc t ngi ta thng p dng nhng qui trnh tng

    hp kt hp nhiu qui trnh. Nhng qui trnh gii thiu l nhng qui trnh c bn c tnh

    nghim ngt, hin nay ngi ta p dng nhng qui trnh mi c tnh linh hot cao, to s thoi mi cho ngi lm vic v pht huy tnh sng to nhng vn phi tun th cc nguyn tc.

  • 4CNPM/NN

    1. Qui trnh trong cng ngh phn mm

    Software Engineering

    a quality focus

    process model

    methods

    tools

  • 5CNPM/NN

    Qui trnh

    Qui trnh phn mm bao gm mt tp hp cc hot ng c t chc m mc ch ca n l xy dng v pht trin phn mm.

    Qui trnh: Phi thc hin nhng cng vic g? Phng php: Ch ra cch thc hin nhng cng vic c th

    (how to).

  • 6CNPM/NN

    Khung tin trnh (Process framework)

    Process frameworkFramework activities

    work taskswork productsmilestones & deliverablesQA checkpoints

    Umbrella Activities

  • 7CNPM/NN

    Khung tin trnh

    Truyn thng Lp k hoch M hnh ha Xy dng Trin khai

    Communication Planning Modeling

    Analysis of requirements Design

    Construction Code generation Testing

    Deployment

  • 8CNPM/NN

    Cc hot ng khung (Framework activities)

    Lin quan n Cng vic (Work tasks) Sn phm (Work products) Mc thi gian v thnh qu chuyn giao (Milestones &

    deliverables) Thi im kim tra cht lng (QA checkpoints)

  • 9CNPM/NN

    Hot ng h tr Qun l d n. Kim tra k thut hnh thc. Bo m cht lng phn

    mm. Qun l cu hnh phn mm. To v chun b nhng sn

    phm cng tc. Qun l s dng li. o lng. Qun l ri ro.

    Software project management Formal technical reviews Software quality assurance Software configuration

    management Work product preparation and

    production Reusability management Measurement Risk management

  • 10CNPM/NN

    2. M hnh pht trin phn mm

    M hnh pht trin phn mm l mt th hin tru tng ca quy trnh phn mm.

    N biu din cc c t v quy trnh t nhng kha cnh c th, do , n ch cung cp mt phn thng tin v quy trnh phn mm.

  • 11CNPM/NN

    La chn m hnh pht trin da vo:

    Bn cht ca d n v ng dng. Nhn thc ri ro. S hiu bit v k nng ca cc k s. Kin thc min ng dng ca ngi pht trin.

    Phng php v cng c c dng. Cch thc kim sot v cc kt qu chuyn giao c

    yu cu.

  • 12CNPM/NN

    Nm m hnh pht trin phn mm

    M hnh Thc nc (Waterfall Model). M hnh X l tng dn (Incremental Process Models).

    M hnh tng dn (Incremental Model). M hnh RAD (Rapid Application Development Model).

    M hnh Qui trnh tin ha (Evolutionary Process models). M hnh To bn mu (Prototyping Model). M hnh Xon c (Spiral Model).

  • 13CNPM/NN

    Khng c qui trnh?

    Inputs Outputs

    Khng th bit khi no hon thnh do khng c phn tch v thit k chnh thc

    Khng c cch nh gi cc yu cu, v tiu chun cht lng c c tha mn hay khng

  • 14CNPM/NN

    2.1. M hnh thc nc (Waterfall Model)

    M hnh thc nc [Winston Royce] a ra vo nm 1970 nhm thay th cho phng php code-and-fix.

    Ln u tin a ra chnh thc mt khung mu gm cc giai on pht trin phn mm da vo cc yu cu xc nh v c to ti liu trong giai on u.

  • 15CNPM/NN

    M hnh thc nc

  • 16CNPM/NN

    M hnh thc nc Pht trin theo trnh t cc bc. Mi giai on xc nh tiu

    chun vo v ra. M hnh d hiu v d thc hin i vi mi ngi lin quan. N cung cp mt cu trc r rng cho nhng nhn vin thiu kinh nghim hay yu v k thut.

    Vic chuyn t mt giai on ny ti giai on k tip c thc hin khi tha mt kim tra (review) chnh thc, xc nh mt s ng thun gia nhng thnh vin d n v khch hng.

    p dng cho nhng phn mm cht lng cao, khi yu cu cht lng ni tri hn nhng yu cu v lch biu v chi ph

  • 17CNPM/NN

    M hnh thc nc nhc im

    M hnh c tnh tun t theo 5 giai on nn khi mun quay lui lm ng mt vn hay mt kt qu th s tn km nhiu chi ph v thi gian. Do cn phi qun l cht ch cc hot ng, phi c t tt c yu cu mt cch chnh xc v y ngay t ban u.

    Kh nh gi tnh trng ca d n, nh gi kt qu ca d n thi im kim tra do vic tch hp ch thc hin giai on cui.

    Tn ti vic phi ch (delay) trong nhm lm vic. Vic thc hin trnh t khng t nhin, tnh lp thng din ra

    trong thc t.

  • 18CNPM/NN

    Khi no s dng m hnh thc nc

    Khi xc nh sn phm n nh v nhng vn v k thut bit r: Nu mt cng xy dng mt h thng nh k ton, bn

    hng th nhng d n xy dng nhng sn phm tng t c th s dng m hnh thc nc.

    To mt phin bn mi ca mt sn phm ang tn ti trong nhng thay i (change) c xc nh v kim sot

  • 19CNPM/NN

    2.2. M hnh tng dn (Incremental Model)

  • 20CNPM/NN

    M hnh tng dn

    Cc yu cu c xc nh v phn loi theo u tin, u tin cao cho nhng chc nng chnh v nhng chc nng c ri ro cao.

    Phn chia cc yu cu cho cc vng v thit k kin trc ca ton b h thng.

    Vng u tin to ra sn phm li (core product). Cc bc sau b sung cc chc nng khc v tch hp vo

    h thng nhm hon thin dn sn phm. H thng tch hp phi c kim tra nh gi thng xuyn

    theo tng giai on. Cc yu cu v kin trc ca ton b h thng s c iu

    chnh da vo nhng sn phm pht hnh theo tng vng.

  • 21CNPM/NN

    M hnh tng dn u im

    Nhng chc nng ca h thng c th t u tin cng cao (chc nng chnh, chc nng ri ro cao) s c thc hin trc, do chng s c kim th nhiu hn, sn phm hon thnh phn sm phn c bn.

    Sau mi ln tng vng th c th chuyn giao kt qu cho khch hng. Nhng kt qu ny ng vai tr l mu th gip tm hiu thm cc yu cu nhng vng tip theo.

    C th thc hin nhiu bc ng thi. Nhn vin c th thc hin nhng cng vic tng t cc vng mt cch lin tc.

  • 22CNPM/NN

    M hnh tng dn khuyt im

    Phi xc nh chc nng y v hon chnh trc khi xc nh cc vng gia tng (thc nc?).

    Phi xc nh r cc giao tip (interface) cho cc module m thi gian hon thnh cch bit nhiu.

    Vic kim tra kh khn hn trn mt h thng hon chnh. Khch hng khi thy sn phm li c th ngh l cng vic n gin t tn km.

    i hi phi c k hoch v thit k tt, phn chia cng vic hp l, cc nhn vin phi cng tc tt.

  • 23CNPM/NN

    M hnh tng dn khi no s dng

    Khi tt c yu cu c hiu kh r nhng mong mun c s tin ha dn ca sn phm.

    Khi cn phi nhanh chng a sn phm vi chc nng c bn ra th trng sm.

    p dng cho nhng sn phm c thi gian pht trin di hn 1 nm.

  • 24CNPM/NN

    2.3. M hnh RAD (Rapid Application Development Models)

    M hnh ny c a ra bi IBM vo nhng nm 1980, qua sch ca James Martin.

    Rapid Application Development mt m hnh tin trnh phn mm gia tng vi chu k pht trin ngn (60-90 ngy).

    M hnh RAD da vo s dng thnh phn (component) v s dng cc ng dng to m t ng.

  • 25CNPM/NN

    M hnh RAD

  • 26CNPM/NN

    M hnh RAD im yu

    Ngi pht trin phi c k nng v c hun luyn tt cho vic s dng cng c v cho vic pht trin nhanh.

    H thng c kh nng phn tch module r rng. Cn cc thnh phn s dng li. Ngi pht trin v khch hng cn phi n lc cng tc.

  • 27CNPM/NN

    M hnh RAD khi no s dng

    H thng d dng phn chia module v c th m rng. Ngi dng c th tham gia tt qua ton b chu k sng (life

    cycle). D n thi gian pht trin ngn, 60-90 ngy. Nhng thnh phn s dng li c sn trong kho phn mm. Nhng h thng nh, nhng h thng khng c tnh nghim

    ngt (critical)

  • 28CNPM/NN

    2.4. M hnh To bn mu (Prototyping)

    listento

    customerbuild

    mock-up (mu)

    customertest-drivesmock-up

    Prototyping

  • 29CNPM/NN

    M hnh to bn mu M hnh bn mu da trn tng xy dng mt mu th ban u

    (Prototype nguyn mu) v a cho ngi s dng xem xt; sau , tinh chnh mu th qua nhiu phin bn cho n khi tha mn yu cu ca ngi s dng th dng li.

    Mu th ban u nh l mt c ch nhn din chnh xc yu cu ca khch hng (Throwaway Prototyping)

    Mu th ban u c th tr thnh sn phm. Khi cc yu cu ca ngi s dng c tha mn th cng l lc chng ta xy dng xong h thng (Evolutionary Prototyping)

  • 30CNPM/NN

    M hnh to bn mu u im

    Khch hng tng tc sm vi h thng.Khch hng v ngi pht trin d dng trao i.

    Ngi pht trin c th xc nh nhanh chng v chnh xc c yu cu nh vo nguyn mu.

    C th pht hin nhng yu cu mi hoc nhng yu cu bt ng.

  • 31CNPM/NN

    M hnh to bn mu - Nhc im

    L phng php Quick-and-dirty thng thiu t liu hay t liu khng ph hp. Ngi pht trin c th ri vo chu k code-and-fix.

    H thng c xy dng c th mang cu trc mt cch ngho nn vi nhng la chn khng tt. H thng ny s c cht lng thp v kh bo tr sau mt thi gian di.

    Khch hng hi thc nh pht trin hon thnh sn phm mt khi thy c cc nguyn mu (prototype) u tin.

  • 32CNPM/NN

    M hnh To bn mu khi no s dng Khi yu cu khng c bit r, khi cc yu cu khng n nh, vic thng tin khng c p ng tt.

    Khi ngi pht trin khng chc chn vic dng gii thut hay kin trc no l ti u. Trn nhng h thng da vo k thut mi m nhng yu cu kh xc nh r.

    Mt vi phn ca h thng ln c th thch hp cho m hnh bn mu (giao din ngi dng).

    Ph hp vi nhng h thng: user-interface intensive systems. interactive online systems. first-of-a-kind products. decision support systems

  • 33

    2.5. M hnh xon c (Spiral Model)

  • 34CNPM/NN

    M hnh xon c

    Riskanalys is

    Riskanalys is

    Riskanalys is

    Riskanalysis Proto-

    ty pe 1Prototyp e

    2Prototype

    3Opera-tionalprotoyp e

    Concept o fOperation

    Simulations, models, b ench marks

    S/Wrequi rements

    Requirementvalid ation

    DesignV&V

    Prod uctdesign Detailed

    design

    CodeUni t tes t

    Integr ationtestAccep tance

    testServ ice

    Integrationand test p lan

    Develop mentplan

    Requirements planLife-cycle plan

    REVIEW

    Progress through steps

    Commulative Cost

    Determine Objectives, alternatives, constraints

    Evaluate alternatives, Identify, resolve risks

    Develop, verify next-level product

    Plan next phases

    Commitment Ratio

  • 35CNPM/NN

    M hnh xon c

    ngh bi Berry Boehm, 1988. M hnh xon c c th xem l siu m hnh (metamodel) do

    n c th xem l cc m hnh khc trong nhng tnh hung thch hp.

    Mi vng lp u c phn tch ri ro, ch bo sm nhng ri ro khng th khc phc vi ph tn khng cao.

  • 36CNPM/NN

    M hnh xon c nhc im

    Cn kin thc nh gi ri ro chuyn su. Vic nh gi ri ro tn nhiu chi ph, khng khng thch hp cho nhng d n ri ro thp hay nh.

    M hnh phc tp, kh s dng. Kh qun l tin trnh v thuyt phc khch hng.

  • 37CNPM/NN

    3. Cc vn khc: Dng thnh phn

    Pht trin da vo thnh phn (component): xy dng h thng t vic tch hp cc thnh phn ang c hoc cc thnh phn thng mi COTS (Commercial-off-the-shelf).

    Dng thnh phn gim 70% thi gian v 84% chi ph.

  • 38CNPM/NN

    K thut th h th 4 4GT (fourth generation technique) l k thut da vo cng c

    phn mm, c th c t phn mm mc khi nim cao theo mt cch thc nh trc cng c s t ng sinh m.

    4GT thch hp cho ng dng va v nh. 4GT tng nng sut ng k. Mt s kin cho rng:

    Mt s cng c kh s dng. Chng trnh to ra cng knh. Vic bo tr cho cc h thng ln l mt vn .

    4GT + dng thnh phn l hng pht trin rt mnh hin nay.

  • 39CNPM/NN

    Qui trnh RUP

    Qui trnh pht trin phn mm thng nht RUP (Rational Unified Process) l mt trong nhng m hnh pht trin da trn thnh phn dng Ngn ng m hnh thng nht (UML-Unified modeling language).

    RUP l qui trnh do hng Rational pht trin.

  • 40CNPM/NN

    Cc vn v phn mm

  • 41CNPM/NN

    Nguyn nhn

  • 42CNPM/NN

    Qui trnh RUP (Rational Unified Process)

    Gii quyt Pht trin theo vng lp. Qun l yu cu. S dng thnh phn. M hnh trc quan. Thm nh cht lng. Kim sot thay i.

  • 43CNPM/NN

    Cc giai on RUP

    Khi to. Hnh thnh. Xy dng. Chuyn giao.

  • 44CNPM/NN

    Pht trin lp

  • 45CNPM/NN

    Qui trnh RUP

    Giai on 1 (Inception): khi to. Xc nh phm vi d n, yu cu ngi dng v cc rng

    buc. Xc nh Yu cu nghip v, phn tch ri ro, lp k hoch

    d n (phn cng, chi ph). Thit k kin trc h thng (quan tm n chi ph, lch biu,

    ti nguyn). Cu hnh mi trng lm vic, cng c.

  • 46CNPM/NN

    Qui trnh RUP

    Giai on 2 (Elaboration): Hnh thnh. Tinh chnh ti liu. Hoch nh nhng bc lp. K hoch pht trin: qui trnh, cng c CASE. Tinh chnh kin trc v chn thnh phn (component).

  • 47CNPM/NN

    Qui trnh RUP

    Giai on 3 (Construction): Xy dng. Qun l tin trnh to sn phm: tng nng sut, m bo

    cht lng. To sn phm (alpha, beta, cc phin bn test khc). K hoch trin khai ng dng: chun b phn mm, hun

    luyn ngi s dng, cc bin php h tr

  • 48CNPM/NN

    Qui trnh RUP

    Giai on 4 (Transition): Chuyn giao. To sn phm xut xng. Kim tra sn phm, thu thp thng tin phn hi.

  • 49CNPM/NN

    UP Work ProductsIncept ion phase

    Elaborat ion phase

    Const ruct ion phase

    Transit ion phase

    V ision documentInit ial use-case modelInit ial project g lossaryInit ial business caseInit ial risk assessment .Pro ject plan,

    phases and it erat ions.Business model,

    if necessary .One or more prot ot y pesI nce pt i on

    Use-case modelSupplement ary requirement s

    including non-funct ionalAnaly sis modelSof t ware arch it ect ure

    Descrip t ion.Execut able arch it ect ural

    prot ot y pe.Pre liminary design modelRev ised risk listPro ject p lan including

    it erat ion planadapt ed workf lowsmilest onest echnical work product s

    Pre liminary user manual

    Design modelSof t ware component sInt egrat ed sof t ware

    incrementTest plan and procedureTest casesSupport document at ion

    user manualsinst allat ion manualsdescrip t ion of current

    increment

    Deliv ered sof t ware incrementBet a t est report sGeneral user feedback

  • 50CNPM/NN

    PHNG PHP PHT TRIN PHN MM LINH HOT

    PPPTPMLH (Agile software development) Khc bit d nhn thy ca PPPTPMLH l lng giy t

    ti liu t hn v c th ni l tp trung vo vic lp trnh hn. Nhng n ng sau l hai khc bit nn tng quan trng: thch ng thay v d on v hng n con ngi thay v qui trnh.

    PPPTPMLH cao tnh ch ng v sng to ca cc c nhn tham gia, v c bit l vic trao i thng tin gia cc thnh vin.

    PPPTPMLH khng khc t s t chc nhng n c gng cn bng gia s t chc v s linh hot, cn bng gia vic khng c qui trnh no c v qui trnh qu chi li v cng nhc.

  • 51CNPM/NN

    Phng php Agile: Scrum Schwaber v Beedle c trng

    Chia cng vic thnh nhng packet. Test v t liu khi sn phm ang c xy dng. product backlog v sprint backlog. Gp g ngn. demo c chuyn ti khch hng.

  • 52CNPM/NN

    Scrum

  • 53CNPM/NN

    Extreme Programming (XP)

    L qui trnh Agile c dng rng ri nht (Kent Beck) XP Planning:

    To user stories. nh gi cu chuyn v gn mt chi ph. Gom cc cu chuyn thnh mt phn gia tng c th chuyn

    giao (deliverable increment). Mt cam kt v thi gian chuyn giao. Xc nh thi gian cho cc phn gia tng khc.

  • 54CNPM/NN

    Extreme Programming XP Design:

    Nguyn l KIS (Keep It Simple). Dng th CRC (Class Responsibility Collaborator). Nu gp tr ngi v thit k dng nguyn mu (prototype). Phn tch li (refactoring).

    XP Coding: Xy dng kim th n v trc. Lp trnh pair programming.

    XP Testing: Tt c cc n v c kim th hng ngy, tch hp lin tc. Thc hin kim th chp nhn (Acceptance tests).

  • 55CNPM/NN

    Class-Responsibility-collaborator (CRC)