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
Tóm tắt nội dung 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, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
, 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

