Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 3: Tiến trình phần mềm
5 loại mô hình tiến trình phần mềm tiêu biểu:
Mô hình thác nước
Các mô hình phát triển tiến hóa
Các mô hình phát triển hình thức
Phát triển dự trên sử dụng lại
, nhiÒu ng−êi tham gia XuÊt ph¸t tõ c¸c mèi quan t©m chung NhiÒu vÊn ®Ò ®−îc gi¶i quyÕt • Lý do, lîi Ých, ®éng lùc ch−a râ VÝ dô: GNU, Linux Bộ môn Công nghệ phần mềm – ĐHCN 35 NguyễnVănVỵ Lùa chän m« h×nh Phô thuéc vμo bμi to¸n, vμo m«i tr−êng cô thÓ Yªu cÇu râ rμng: M« h×nh th¸c n−íc thÝch hîp HÖ phøc t¹p, ®iÒu khiÓn: H−íng sö dông l¹i Kh¸c: Yªu cÇu ch−a râ rμng, ®é phøc t¹p cao Yªu cÇu cã kh¶ n¨ng thay ®æi Kh«ng ch¾c ch¾n vÒ tÝnh hiÖu qu¶, tÝnh kh¶ thi Sö dông: Lμm b¶n mÉu, m« h×nh xo¾n èc Bộ môn Công nghệ phần mềm – ĐHCN 36 NguyễnVănVỵ Lμ qu¸ tr×nh thiÕt lËp c¸c chøc n¨ng, dÞch vô mμ hÖ thèng cÇn cã vμ c¸c rμng buéc lªn sù ph¸t triÓn vμ vËn hμnh hÖ thèng TiÕn tr×nh kü nghÖ yªu cÇu bao gåm: Nghiªn cøu kh¶ thi Ph©n tÝch vμ x¸c ®Þnh yªu cÇu §Æc t¶ yªu cÇu ThÈm ®Þnh yªu cÇu C¸c giai ®o¹n cña tiÕn tr×nh §Æc t¶ yªu cÇu phÇn mÒm Bộ môn Công nghệ phần mềm – ĐHCN 37 NguyễnVănVỵ TiÕn tr×nh kü nghÖ yªu cÇu B¸o c¸o kh¶ thi M« h×nh hÖ thèng Yªu cÇu ng−¬i dïng, hÖ thèng Tμi liÖu yªu cÇu Nghiªn cøu kh¶ thi X¸c ®inh, ph©n tÝch yªu cÇu ®Æc t¶ yªu cÇu ThÈm ®Þnh yªu cÇu Bộ môn Công nghệ phần mềm – ĐHCN 38 NguyễnVănVỵ ThiÕt kÕ phÇn mÒm ChuyÓn yªu cÇu thμnh ®Æc t¶ thμnh hÖ thèng nh− nã tån t¹i trong thÕ giíi thùc víi c¸c gi¶i ph¸p c«ng nghÖ thÝch hîp ®Ó ng−êi lËp tr×nh cã thÓ chuyÓn thμnh ch−¬ng tr×nh vËn hμnh trªn m¸y ChiÕn l−îc thiÕt kÕ phï hîp víi ph©n tÝch Lμ qu¸ tr×nh lÆp: cã thÓ quay l¹i hoμn thiÖn ph©n tÝchÆ råi l¹i thiÕt kÕ Hai giai ®o¹n thiÕt kÕ: logicÆthiÕt kÕ vËt lý Bộ môn Công nghệ phần mềm – ĐHCN 39 NguyễnVănVỵ TiÕn tr×nh thiÕt kÕ phÇn mÒm thiÕt kÕ kiÕn tróc §Æc t¶ Yªu cÇu ®Æc t¶ Trõu t−îng thiÕt kÕ Giao diÖn thiÕt kÕ thµnh phÇn thiÕt kÕ d÷ liÖu thiÕt kÕ hñ tôc KiÕn tróc hÖ thèng S¶n phÈm thiÕt kÕ ®Æc t¶ phÇn mÒm ®Æc t¶ giao diÖn ®Æc t¶ thµnh phÇn ®Æc t¶ cÊu tróc d÷ liÖu ®Æc t¶ thñ tôc Ho¹t ®éng thiÕt kª Bộ môn Công nghệ phần mềm – ĐHCN 40 NguyễnVănVỵ C¸c ph−¬ng ph¸p thiÕt kÕ C¸ch tiÕp cËn mang tÝnh hÖ thèng, cã ph−¬ng ph¸p Tμi liÖu thiÕt kÕ ë d¹ng mét tËp c¸c m« h×nh ®å häa vμ chó gi¶i ®i kÌm C¸c m« h×nh th−êng gÆp: M« h×nh kiÕn tróc theo nhiÒu khung nh×n M« h×nh luång d÷ liÖu (xö lý) M« h×nh Thùc thÓ – mèi quan hª/ MH Quan hÖ (d÷ liÖu) M« h×nh cÊu tróc m« ®un (cÊu tróc) C¸c m« h×nh líp ®èi t−îng (kiÕn tróc, thùc thi) Bộ môn Công nghệ phần mềm – ĐHCN 41 NguyễnVănVỵ LËp tr×nh vμ gì rèi Lμ chuyÓn thiÕt kÕ thμnh ch−¬ng tr×nh, b¾t lçi vμ söa lçi Lμ mét ho¹t ®éng c¸ nh©n kh«ng cã mét tiÕn tr×nh chung cho mäi ng−êi Ng−êi lËp tr×nh ph¶i tiÕn hμnh kiÓm thö ®Ó gì lçi ch−¬ng tr×nh. Gì lçi lμ ho¹t ®éng cña lËp tr×nh LËp tr×nh ®ßi hái chän ng«n ng÷ thÝch hîp vμ cã kinh nghiÖm phong c¸ch lËp tr×nh tèt §Ó ®¶m b¶o ®é tin c©y, cÇn biÕt lËp tr×nh tr¸nh lçi, thø lçi vμ nÐm ngo¹i lÖ Bộ môn Công nghệ phần mềm – ĐHCN 42 NguyễnVănVỵ ThÈm ®Þnh phÇn mÒm ThÈm ®Þnh vμ x¸c minh nh»m ®¶m b¶o hÖ thèng phï hîp víi ®Æc t¶ vμ ®¸p øng yªu cÇu ng−êi dïng Néi dung bao gåm viÖc thanh tra, xÐt duyÖt vμ kiÓm thö hÖ thèng. KiÓm thö lμ quan träng nhÊt Cã nhiÒu møc: • X¸c minh: kiÓm thö ®în vÞ, tÝch hîp, hÖ thèng • ThÈm ®Þnh: lμm mÉu yªu cÇu, kiÓm thö chÊp nhËn Cã nhiÒu ph−¬ng ph¸p kiÓm thö. Mçi ph−¬ng ph¸p ¸p dông ë møc x¸c ®Þnh, vμ sö dông kü thuËt nhÊt ®Þnh Môc tiªu kiÓm thö lμ t×m ra lçi víi chi phÝ Ýt nhÊt cã thÓ Bộ môn Công nghệ phần mềm – ĐHCN 43 NguyễnVănVỵ TiÕn tr×nh kiÓm thö KiÓm thö ®¬n vÞ KiÓm thö m« ®un KiÓm thö HÖ con KiÓm thö hÖ thèng KiÓm thö ChÊp nhËn lËp tr×nh viªn chuyªn viªn ng−êi dïng Bộ môn Công nghệ phần mềm – ĐHCN 44 NguyễnVănVỵ TiÕn ho¸ phÇn mÒm PhÇn mÒm ph¶i mÒm dÎo v× nã cÇn ph¶i thay ®æi. M«i tr−êng nghiÖp vô vμ kü thuËt lu«n thay ®æi: PhÇn mÒm cÇn thay ®æi ®Ó phï hîp víi chóng Æ tiÕn hãa lμ tÊt yÕu Ph©n ®Þnh ph¸t triÓn vμ tiÕn ho¸ lμ t−¬ng ®èi: gi÷a chóng cã quan hÖ chÆt chÏ víi nhau. Ph¸t triÓn lμ lμm míi, tiÕn hãa trªn c¬ së hÖ ®· cã. Bộ môn Công nghệ phần mềm – ĐHCN 45 NguyễnVănVỵ TiÕn tr×nh tiÕn ho¸ HÖ thèng míi X¸c ®Þnh yªu cÇu hÖ thèng HÖ thèng hiÖn t¹i ®¸nh gi¸ hÖ thèng hiÖn t¹i ®Ò xuÊt thay ®æi hÖ thèng C¶i biªn hÖ thèng Bộ môn Công nghệ phần mềm – ĐHCN 46 NguyễnVănVỵ Trî gióp tù ®éng ho¸ ph¸t triÓn Computer-aided software engineering:CASE lμ c¸c phÇn mÒm trî gióp ph¸t triÓn vμ tiÕn ho¸ hÖ thèng C¸c c«ng cô th−êng gÆp: Bé so¹n th¶o ®å thÞ: ®Ó ph¸t triÓn m« h×nh hÖ thèng Tõ ®iÓn d÷ liÖu: ®Ó qu¶n lý c¸c thùc thÓ thiÕt kÕ Bé x©y dùng giao diÖn: ®Ó thiÕt kÕ giao diÖn Bé gì rèi: trî gióp t×m lçi trong ch−¬ng tr×nh Bé chuyÓn ®æi tù ®éng: t¹o sinh c¸c phiªn b¶n míi tõ thiÕt kÕ / hay ch−¬ng tr×nh Bộ môn Công nghệ phần mềm – ĐHCN 47 NguyễnVănVỵ C«ng nghÖ CASE (CASE technology) CASE gãp phÇn ®¸ng kÓ hoμn thiÖn tiÕn tr×nh phÇn mÒm c¶ vÒ tr×nh tù, tiÕn ®é vμ chÊt l−îng: tù ®éng hãa mét phÇn ho¹t ®éng m« h×nh hãa vμ qu¶n lý Nh÷ng ho¹t ®éng kh«ng thÓ tù ®éng hãa: Sù suy nghÜ s¸ng t¹o trong SE Lùa chän gi¶i ph¸p c«ng nghÖ Giao tiÕp khi lμm viÖc nhãm Thùc hiÖn viÖc qu¶n lý Bộ môn Công nghệ phần mềm – ĐHCN 48 NguyễnVănVỵ C«ng nghÖ CASSE C¸c c«ng cô ®¬n bé söa lçi M«i tr−êng tiÕn tr×nh Bµn thî LËp tr×nh gì lçi Ph©n tÝch vμ thiÕt kÕ Bé so¹n th¶o M«i tr−êng M«i tr−êng tÝch hîp KiÓm thö c¸c lo¹i Bμn thî ®¬n ph−¬ng ph¸p Ch.tr×nh dÞch Bμn thî ®a ph−¬ng ph¸p Bμn thî ng«n ng÷ cô thÓ C«ng nghÖ CASE Bμn thî môc tiªu chung Bộ môn Công nghệ phần mềm – ĐHCN 49 NguyễnVănVỵ Ph©n lo¹i CASE Ph©n lo¹i CASE gióp hiÓu vμ sö dông chóng trong ph¸t triÓn Cã thÓ ph©n lo¹i CASE theo: H−íng chøc n¨ng: C«ng cô cho c¸c chøc n¨ng cô thÓ: so¹n th¶o, lËp kÕ ho¹ch, lμm mÉu,.. H−íng tiÕn tr×nh: C«ng cô cho ho¹t ®éng cña tiÕn tr×nh ®−îc trî gióp: m« h×nh nghiÖp vô, E-R H−íng tÝch hîp: C«ng cô trî gióp tæ chøc viÖc tÝch hîp c¸c ®¬n vÞ c¸c møc trong hÖ thèng Dùa trªn lo¹i ho¹t ®éng: §Æc t¶, thiÕt kÕ, triÓn khai, thÈm ®Þnh vμ x¸c minh Bộ môn Công nghệ phần mềm – ĐHCN 50 NguyễnVănVỵ CASE tÝch hîp C¸c c«ng cô ®¬n (Tools) : trî gióp nh÷ng nhiÖm vô riªng rÏ cña tiÕn tr×nh: kiÕm tra sù nhÊt qu¸n, so¹n th¶o, t¹o m« h×nh Bµn thî (Workbenches): trî gióp 1 pha cña tiÕn tr×nh ph¸t triÓn, nh− ®Æc t¶, thiÕt kª,.. M«i tr−êng ph¸t triÓn (Environments): trî gióp toμn bé hay mét phÇn cña toμn tiÕn tr×nh phÇn mÒm (cã thÓ bao gåm mét sè bμn thî) Bộ môn Công nghệ phần mềm – ĐHCN 51 NguyễnVănVỵ C¸c vÊn ®Ò liªn quan X¸c ®Þnh yªu cÇu vμ thiÕt kÕ cã vai trß quyÕt ®Þnh ®Õn chÊt l−îng phÇn mÒm, chiÕm phÇn lín c«ng søc so víi ph¸t triÓn Khi chuyÓn tiÕp gi÷a c¸c pha ph¸t triÓn ph¶i thÈm ®Þnh tèt ®Ó ®¶m b¶o lçi kh«ng ¶nh h−ëng ®Õn pha sau Tμi liÖu t¹o ra ë mçi pha kh«ng chØ dïng cho pha kÕ tiÕp mμ cßn dïng ®Ó ®¶m b¶o chÊt l−îng cña phÇn mÒm vμ b¶o tr× CÇn chuÈn hãa mÉu biÓu, c¸ch thøc ghi chÐp, t¹o tμi liÖu nh»m ®¶m b¶o chÊt l−îng phÇn mÒm Bộ môn Công nghệ phần mềm – ĐHCN 52 NguyễnVănVỵ TÝnh kh¶ thi cña tiÕn tr×nh ph¸t triÓn PhÇn tö logic, khã kiÓm so¸t t¹o ra c¸c tμi liÖu xÐt duyÖt tμi liÖu mçi b−íc nghiªn cøu kh¶ thi; ®Æc t¶ yªu cÇu; ®Æc t¶ thiÕt kÕ VÝ dô tμi liÖu: So s¸nh: vßng ®êi cæ ®iÓn kh¶ thi cao lμm b¶n mÉu kÐm 4GT ?? Bộ môn Công nghệ phần mềm – ĐHCN 53 NguyễnVănVỵ VÊn ®Ò: T¹o ra chi phÝ phô cña ph¸t triÓn (ng−êi lËp tr×nh kh«ng thÝch viÕt tμi liÖu) Sö dông c¸c gi¶i ph¸p côc bé ®Ó tr¸nh söa ®æi tμi liÖu Sö dông c¸c mÉu cã s½n Sö dông CASE trî gióp lμm tμi liÖu theo chuÈn Lμm tμi liÖu phÇn mÒm Bộ môn Công nghệ phần mềm – ĐHCN 54 NguyễnVănVỵ S¶n phÈm (tμi liÖu) cña dù ¸n M· m¸y, d÷ liÖu, tμi liÖu M· nguån, chó thÝch ThiÕt kÕ Yªu cÇu Phi h×nh thøc, trõu t−îng H×nh thøc ho¸, cô thÓ Bộ môn Công nghệ phần mềm – ĐHCN 55 NguyễnVănVỵ Gi¶m kÝch cì, chi phÝ phÇn mÒm PhÇn mÒm ngμy cμng lín, phøc t¹p Tæ chøc lμm viÖc theo nhãm, tiÕn hμnh song song CÇn ph©n r· chøc n¨ng; gi¶m kÝch cì (m· nguån), t¨ng n¨ng suÊt: t¸i sö dông: th− viÖn th−¬ng m¹i,... tù sinh m·: c«ng cô t¹o giao diÖn,... h−íng ®èi t−îng: kÕ thõa, b¶o tr× ng«n ng÷ bËc cao: n¨ng lùc biÓu diÔn cao Bộ môn Công nghệ phần mềm – ĐHCN 56 NguyễnVănVỵ Quan hÖ tiÕn tr×nh vμ s¶n phÈm TiÕn tr×nh vμ s¶n phÈm lμ hai mÆt cña ph¸t triÓn: TiÕn tr×nh tèt ®¶m b¶o rμng buéc vÒ s¶n phÈm S¶n phÈm tèt lμ sù tæng hoμ cña nhiÒu yÕu tè: TiÕn tr×nh thÝch hîp §éi ngò chuyªn m«n tèt C«ng cô trî gióp m¹nh N¨ng lùc qu¶n lý tiÕn trinh cña tæ chøc cao (CMM) 5 møc CMM (Capability Maturity Model): 1. Tïy biÕn 3. §−îc x¸c ®Þnh 2. LÆp l¹i ®−îc 4. §−îc qu¶n lý 5. Tèi −u hãa Bộ môn Công nghệ phần mềm – ĐHCN 57 NguyễnVănVỵ C©u hái «n tËp 1. Cã mÊy lo¹i m« h×nh tiÕn tr×nh? Lμ lo¹i nμo? 2. Tr×nh bμy néi dung cña c¸c m« h×nh: th¸c n−íc, lμm mÉu, xo¸y èc, tiÕn ho¸, t¨ng tr−ëng, øng dông nhanh, h×nh thøc ho¸, ®èi t−îng, m« h×nh sö dông l¹i, m« h×nh m· nguån më, m« h×nh thÕ hÖ thø 4 theo c¸c néi dung sau: Néi dung? ®Æc tr−ng? −u, nh−îc ®iÓm? cÇn yªu cÇu g×? thÝch hîp khi nμo? 3. M« t¶ tiÕn tr×nh kü nghÖ yªu cÇu? 4. M« t¶ tݪn tr×nh thiÕt kÕ phÇn mÒm? Nªu c¸c m« h×nh thiÕt kÕ th−êng sö dông? Bộ môn Công nghệ phần mềm – ĐHCN 58 NguyễnVănVỵ C©u hái «n tËp (t) 5. §Þnh nghÜa thÈm ®Þnh phÇn mÒm? ThÈm ®Þnh vμ x¸c minh gåm nh÷ng ho¹t ®éng g×? 6. Cã nh÷ng lo¹i kiÓm thö nμo? M« t¶ tiÕn tr×nh kiÓm thö? 7. TiÕn ho¸ phÇn mÒm lμ g×? Lý do? 8. M« t¶ tiÕn tr×nh tiÕn ho¸ hÖ thèng? 9. CASE lμ g×? C¸c c¸ch ph©n lo¹i CASE? 10. CASE tÝch hîp gåm nh÷ng lo¹i nμo? vÏ s¬ ®å cÊu tróc c¸c lo¹i CASE? 11. Lμm thÕ nμo ®Ó ®¶m b¶o kh¶ thi cña m« h×nh ph¸t triÓn? So s¸nh sù kh¶ thi gi÷a c¸c m« h×nh, gi¶i thÝch v× sao? 12. Lμm thÕ nμo ®Ó cã thÓ gi¶m kÝch cì, chi phÝ cña m« h×nh? Nh÷ng m« h×nh nμo, ng«n ng÷ nμo cã −u thÕ vÒ mÆt nμy? Bộ môn Công nghệ phần mềm – ĐHCN 59 NguyễnVănVỵ C©u hái và thảo luận
File đính kèm:
- Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 3 Tiến trình phần mềm.pdf