37
Viện Điện tử - Viễn thông Bộ Môn Điện tử - Kỹ thuật máy tính Kỹ thuật phần mềm ứng dụng Chương 1: Tổng quan môn học

S2-Chuong1-TongQuanMonHoc

Embed Size (px)

DESCRIPTION

S2-Chuong1

Citation preview

  • Cc ni dung chnhGii thiu chungCc khi nim c bnCc loi phn mm Gii thiu cc m hnh tin trnh ph bin*

  • Gii thiu chungK thut phn mm (hay k ngh phn mm software engineering) l mt chuyn ngnh k thut (engineering discipline) vi trng tm nhm pht trin cc h thng phn mm cht lng cao mt cch hiu qu Phn mm c c im l tru tng v khng chm n c (intangible). iu ny lm cho phn mm rt d tr nn phc tp v kh hiu*

  • Gii thiu chungKhi nim Software Engineering xut hin ln u vo nm 1968 trong mt cuc hp bn v mt vn c gi l Cuc khng hong phn mm (Software crisis)Chuyn ngnh SE ra i trong hon cnh , vi s mng tm ra cc bin php gip ngnh cng nghip phn mm trnh c nguy c khng hong. V thc s, n hon thnh s mng ny, v ci gi l cuc khng hong phn mm khng thc s xy ra.*

  • Cc khi nim c bnPhn mm (sn phm phn mm), bao gm:Chng trnh (Program): l phn c thi hnh trn my tnhD liu (Data): gm cc cu trc d liu, c s d liu lu gi cc d liu vo v ra ca chng trnhTi liu (Documentation): ti liu h thng, ti liu ngi dng

    *

  • Cc khi nim c bnK thut phn mm (Software Engineering): L mt chuyn ngnh k thut m quan tm n tt c cc kha cnh ca vic sn xut phn mm, vi mc tin sn xut ra cc sn phm phn mm a dng, cht lng cao, mt cch hiu qu nht.*

  • Cc tng ca SE*

  • Cc tng ca SEm bo cht lng (quality focus) sn phm hay dch v lun l mt nhim v sng cn ca cc cng ty hay t chc. Do , mi nn tng cng ngh v k thut u phi ly vic m bo cht lng l mc tiu hng ti, v k thut phn mm cng khng th nm ngoi mc tiu nyTng Tin trnh (process) c nhim v nh ngha mt khung cc giai on v cc hot ng cn thc hin, cng nh cc kt qu km theo chng. Tng ny ng vai tr nn tng kt ni cc phng php, cng c trong cc bc thc hin c th, c th to ra cc phn mm c cht lng v ng thi hnCc phng php (methods) k thut phn mm cung cp cc chi tit k thut l lm th no xy dng c phn mmCc cng c (tools) cung cp cc phng tin h tr t ng hoc bn t ng cho cc giai on hay cc phng php. Cc h thng phn mm h tr trong cng ngh phn mm c gi l CASE (computer-aided software engineering)*

  • Tin trnh phn mmL mt dy cc giai on v cc hot ng trong , cng nh cc kt qu km theo. Kt qu cui cng chnh l phn mm cn phi xy dng, p ng c cc yu cu ca ngi dng, v hon thnh theo ng k hoch v thi gian v ngn schC ba giai on chnh trong tin trnh phn mm:Giai on nh ngha (definition phase)Giai on pht trin (development phase)Giai on h tr (support phase)*

  • Tin trnh phn mmGiai on nh ngha: tp trung vo lm r Ci g, bao gm:Thng tin g cn x l, bao gm thng tin u vo v u ra.Cc chc nng g cn thc hin.Hnh vi no ca h thng s c mong i.Cc tiu chun hp l no nh gi c s ng n v thnh cng ca h thng.*

  • Tin trnh phn mmGiai on pht trin: tp trung vo Lm th no, bao gm: Kin trc h thng (system architecture) c t chc th no.Cc chc nng c ci t v lin kt vi nhau th no.T chc cc cu trc d liu, c s d liu th no.Chuyn t thit k sang ci t th no?Vic kim th s c thc hin th no?*

  • Tin trnh phn mmGiai on h tr: cn gi l giai on bo tr, tp trung vo vic ng ph vi cc thay i ca h thng phn mm, bao gm:Sa li (Correction)Lm thch ng (Adaptation)Nng cp (Upgrade)Phng nga (Prevention), cn gi l ti k thut phn mm (software reengineering)*

  • Tin trnh phn mmGiai onPht trin

    Giai onnh nghaGiai onH trLp k hoch d n*Thu thp cc yu cuPhn tchThit kCi t v kim thBo tr

  • Tin trnh phn mm*

  • Tin trnh phn mmKhung tin trnh chung (common process framework): l m hnh chung cho cc d n phn mm khc nhau trong mt t chc. N bao gm:Cc cng vic trong khung (Framework activities) gm:Cc nhim v c th (tasks)Cc mc thi gian (milestones)Cc kt qu bn giao (deliverables)Cc im kim tra cht lng h thng (SQA points)Cc cng vic bao trm (Umbrella activities) gm:Qun l cht lng phn mmQL cu hnh phn mm

    *

  • M hnh tin trnh phn mmM hnh tin trnh (process model) L mt chin lc pht trin phn mm , bao gm cc cch thc kt hp, s dng tin trnh phn mm, cch vn dng cc phng php v cc cng c trong mi giai on pht trin. M hnh tin trnh cng cn c gi l mu tin trnh (process paradigm), hay m hnh pht trin phn mm. *

  • Cc loi phn mm Phn mm h thng (system software)Phn mm thi gian thc (real time sw)Phn mm qun l (business sw): cng c gi l h thng tin qun l (management information system MIS)Phn mm khoa hc v cng ngh (engineering and scientific sw)Phn mm nhng (embedded sw)Phn mm vn phng (office sw)Phn mm Web (Web-based sw)Phn mm tr tu nhn to (artificial intelligence sw)V.v. *

  • Cc m hnh tin trnhM hnh tuyn tnh c in (m hnh thc nc Waterfall model)M hnh bn mu (Prototyping model)M hnh RAD (Rapid Application Development model)M hnh tng trng (Incremental model)M hnh xoy c (Spiral model)*

  • M hnh tuyn tnh c in*Thu thp cc yu cuCc yu cu h thngCc yu cu phn mmPhn tchThit k chng trnhCi tKim thVn hnh*

  • M hnh tuyn tnh c inM hnh ny c mt s c im nh sau:Cc bc c tin hnh tun t, kt thc bc trc th mi thc hin n bc sauThi gian thc hin mi bc thng ko di do phi lm tht hon chnhThng ch tip xc vi ngi dng vo giai on u v giai on cui. Ngi dng thng khng tham gia vo cc bc gia, nh t thit k, ci t v n tch hp*

  • M hnh tuyn tnh c inu im:n gin v r rngng vai tr nh mt mu tham chiu cho cc m hnh khcVn cn c s dng rng ri cho n nayNhc im:Khng d dng cho vic thu thp y v tng minh tt c cc yu cu h thng ngay t ban uNgi dng phi ch n cui cng mi c c h thng dng, nn thi gian ch i l kh lu, c khi n hng nm. Khi c th c cc yu cu mi pht sinh, d dn kh nng h thng khng cn p ng c k vng ca ngi dng. D dn n tnh trng blocking states, tc l khi c mt nhm b chm tin , th cc nhm khc phi ch, v thi gian ch i thm ch vt qu thi gian lm vic.*

  • M hnh bn muThng thng trong thc t, cc yu cu ca h thng kh c th xc nh r rng v chi tit ngay trong gia on u ca d n phn mm v: Ngi dng cng ch a ra cc mc tiu tng qut ca phn mm, ch cng cha nh r c mt cch chi tit cc chc nng c th, hay cc thng tin chi tit u vo, u ra nh th no. Nh pht trin cng cha xc nh r rng ngay cc yu cu, cng nh chc chn v cht lng phn mm, cng nh kh nng tha mn ca khch hng m hnh bn mu*

  • M hnh bn mu*

  • M hnh bn muGm cc giai on:Thu thp cc yu cu (requirements gathering): khch hng v nh pht trin s gp nhau xc nh ra cc mc tiu tng th ca phn mm. Sau h s nh ra phn no r, phn no cn phi nh ngha thm. Thit k nhanh (quick design): thit k ny tp trung vo nhng phn m khch hng c th nhn thy c (giao din, cc d liu vo, ra). Sau , t thit k ny, mt bn mu s c xy dng. Kim tra v nh gi bn mu: Bn mu ny s c dng cho php ngi dng nh gi, nhm lm r hn cc yu cu ca h. ng thi, thng qua bn mu, ngi pht trin h thng cng hnh dung c th hn v nhng yu cu ca khch hng, cng nh kh nng ci t v hiu qu hot ng ca h thng. *

  • M hnh bn muu im:Cho php ngi dng xc nh yu cu ca mnh r rng v c th hn, ng thi nh pht trin cng nm c chnh xc hn cc yu cu .C ngi dng v nh pht trin thng u thch m hnh ny, do ngi dng lun cm nhn c h thng thc s nh th no, v nh pht trin cng lun c ci xy dng v dn hon thin. Nhc im: c c bn mu nhanh, vic thit k cng c lm nhanh, nn thng c lm khng cn thn. iu ny d dn n cc thit k c tnh chp v, khng c ci nhn tng th v di hn.Vic lm bn mu nhanh cng thng ko theo vic la chn cc cng c ci t vi vng, khng cn thn, (nh ngn ng lp trnh, h qun tr c s d liu,v.v). iu ny s nh hng n cc giai on pht trin sau khi quy m v yu cu ca h thng ngy cng ln ln*

  • M hnh RADL m hnh tin trnh pht trin phn mm tng trng, nhng nhn mnh vo chu trnh pht trin phn mm c thi gian rt ngn. M hnh ny gm cc giai on:M hnh ha nghip v (Business modeling): m hnh ha cc lung thng tin nghip v gia cc chc nng nghip vM hnh ha d liu (Data modeling): t cc thng tin nghip v, cc thc th d liu, cc thuc tnh ca chng, v cc lin kt gia cc thc th ny s c xc nh v c m hnh ha.M hnh ha x l (Process modeling): M t cc chc nng x l trn cc i tng d liu c xc nh giai on trn.Sn sinh ng dng (Application generation): RAD s dng cc k thut cng ngh phn mm th h th 4, cho php d dng sn sinh m chng trnh t cc c t v thit k tru tng. Cc k thut ny cng cho php ti s dng cc thnh phn chng trnh c sn (kt hp m hnh Component-based development).Kim th v bn giao (Testing and turnover): phn ng dng xy dng s c kim tra v bn giao cho bn tch hp h thng.*

  • M hnh RAD*

  • M hnh RADu im:Tn dng cc cng ngh mi trong pht trin h thng, cho php hon thnh h thng trong thi gian ngn hn ng k.Khuyn khch vic ti s dng cc thnh phn ca chng trnhNhc im:Khng ph hp vi cc phn mm m khng c s phn chia modul r rng,i hi ti nguyn v chi ph pht trin cao nh s lng nhn lc nhiu, cng c CASE th h 4 t tin*

  • M hnh tng trngL s kt hp ca m hnh tuyn tnh v trit l lp li ca m hnh bn muPhn mm c chia thnh cc phn tng trng (increment), trong mi phn l mt sn phm hon chnh ( chy c v c th bn giao cho ngi dng). ng thi phn tng trng sau s b sung thm tnh nng cn thiu trong nhng phn trc

    *

  • M hnh tng trng*

  • M hnh tng trngu imKt hp c cc u im ca cc m hnh tuyn tnh v lm bn muRt ph hp khi s lng nhn vin hn ch, v ngi dng c i hi phi sm c h thng th nghimNhc imVic gp gp a ra cc thnh phn tng trng cng c th gy ra s manh mn trong phn tch v thit kKh khn trong vic m bo tnh tng thch (compatibility) gia cc thnh phn tng trng. *

  • M hnh xoy cCng l mt m hnh tin ha kt hp c tnh lp li ca m hnh bn mu v tnh h thng ca m hnh thc nc c inM hnh ny cng cho php to ra mt dy cc phin bn tng trng (incremental release). Tuy nhin khc vi m hnh tng trng, cc phin bn u tin ca m hnh xoy c thng ch l cc m hnh trn giy hoc bn mu (prototype). n cc phin bn sau th mi l cc bn chy c v cng ngy cng hon chnh.*

  • M hnh xoy c*

  • M hnh xoy cM hnh ny phn chia thnh cc giai on, c gi l cc vng nhim v (task regions). S lng vng nhim v c th thay i, v thng c t 3 cho n 6 vng.Mi vng li bao gm mt tp cc nhim v (set of tasks), v s lng cng thay i ty theo tnh cht ca d n. *

  • M hnh xoy cu im:Linh hot, d thch ng vi cc loi phn mm v cc nhu cu s dng khc nhau, nht l cc phn mm quy m lnC kh y cc bc trong tin trnh pht trin, nht l vic ch trng phn tch tnh ri ro (risk) ca phn mm c v mt k thut v qun lHn ch:Phc tp, cn kh nhiu thi gian hiu v vn dng c mt cch hiu quKh khn trong vic qun l nhiu chu trnh pht trin

    *

  • Tm ttCc khi nim c bnCc loi phn mm Cc m hnh tin trnh ph bin*

  • Thank you!*

    *: Managing the Development of Large Software Systems; by Winston Royce*Mock-up = prototype: bn mu, khun mu

    *