Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 2: Kỹ nghệ phần mềm
SE là thiết lập và sử dụng các nguyên lý công nghệ đúng đắn để được phần mềm 1 cách kinh tế, vừa tin cậy vừa làm việc hiệu quả trên các máy thực
SE là nguyên lý kỹ nghệ liên quan đến tất cả các mặt lý thuyết, phương pháp và công cụ của phần mềm
®Æc t¶ yªu cÇu (kiÕn tróc, giao diÖn, xö lý, d÷ liÖu) Bộ môn Công nghệ phần mềm – ĐHCN 22 NguyễnVănVỵ Ph¸t triÓn T¹o ra phÇn mÒm nh− thÕ nµo? ThiÕt kÕ (design) dÞch yªu cÇu thμnh b¶n thiÕt kÕ HT nh− nã tån t¹i (m«i tr−êng, kiÕn tróc, d÷ liÖu, xö lý, giao diÖn) M∙ hãa (coding) ChuyÓn thiÕt kÕ thμnh ch−¬ng tr×nh (cña1 ng«n ng÷) KiÓm thö (testing) söa lçi, hoμn thiÖn ch−¬ng tr×nh (kiÓm thö ®¬n vÞ, tÝch hîp, hÖ thèng, chÊp nhËn), lμm tμi liÖu Bộ môn Công nghệ phần mềm – ĐHCN 23 NguyễnVănVỵ VËn hμnh, b¶o tr× Hßan thiÖn hÖ thèng sau khi ®−a vµo ho¹t ®éng? Söa lçi: ®Ó vËn hμnh th«ng suèt ThÝch nghi: víi m«i tr−êng (kü thuËt, nghiÖp vô) ®· thay ®æi ®Ó ho¹t ®éng hiÖu qu¶ N©ng cao: Hoμn thiÖn chøc n¨ng, ph¸t triÓn dù phßng Thªm míi: thªm c¸c chøc n¨ng míi Bộ môn Công nghệ phần mềm – ĐHCN 24 NguyễnVănVỵ TiÕn tr×nh phÇn mÒm TiÕn tr×nh phÇn mÒm (software process) lμ mét tËp c¸c ho¹t ®éng cã cÊu tróc nh»m ph¸t triÓn vμ tiÕn hãa 1 phÇn mÒm Mét tiÕn tr×nh cô thÓ ph¶i tr¶ lêi ®−îc c¸c c©u hái: lμm g×? khi nμo? ai lμm? nh− thÕ nμo? b»ng g×? ë ®©u? kÕt qu¶? tiªu chÝ ®¸nh gi¸? §Æc tr−ng G¾n víi mçi dù ¸n Cã cÊu tróc x¸c ®Þnh (c«ng viÖc, tr×nh tù, c«ng cô, ph−¬ng ph¸p ) S¶n phÈm cuèi cïng lμ phÇn mÒm bμn giao Bộ môn Công nghệ phần mềm – ĐHCN 25 NguyễnVănVỵ TiÕn tr×nh phÇn mÒm C¸c ho¹t ®éng chÝnh cña mäi tiÕn tr×nh X¸c ®Þnh yªu cÇu: ®Þnh râ yªu cÇu sản phẩm Ph¸t triÓn: t¹o ra sản phẩm ThÈm ®Þnh: phÇn mÒm ®¸p øng ®−îc yªu cÇu kh«ng? TiÕn hãa phÇn mÒm: thay ®æi nh»m ®¸p øng yªu cÇu thay ®æi (người dïng, m«i trường) X¸c ®Þnh yªu cÇu Ph¸t triÓn ThÈm ®Þnh TiÕn hãa vÊn ®Ò, mong ®îi PhÇn mÒm file.exe Bộ môn Công nghệ phần mềm – ĐHCN 26 NguyễnVănVỵ TiÕn tr×nh phÇn mÒm 1. X¸c định yªu cầu (Requirements) KHÁCH HÀNG Khã kh¨n hệ thèng thùc, mong ®îi vÒ hÖ phần mềm §Æc t¶ yªu cÇu phÇn mÒm ®éi ph¸t triÓn Bộ môn Công nghệ phần mềm – ĐHCN 27 NguyễnVănVỵ Chức n¨ng hệ thống Rµng buộc hệ thống TiÕn tr×nh phÇn mÒm 2. Ph¸t triển phần mềm (Development) ĐÆc t¶ yªu cÇu X¸c định yªu cầu ®éi ph¸t triÓn HÖ thèng phÇn mÒm vËn hµnh ®óng file.exe file.com Bộ môn Công nghệ phần mềm – ĐHCN 28 NguyễnVănVỵ TiÕn tr×nh phÇn mÒm 3. ThÈm ®Þnh phần mềm (Validation) HÖ thèng phÇn mÒm vËn hµnh ®óng file.exe file.com Ph¸t triÓn Ng−êi dïng HÖ thèng phÇn mÒm ®¸p øng yªu cÇu file.exe file.com Bộ môn Công nghệ phần mềm – ĐHCN 29 NguyễnVănVỵ 4. TiÕn hãa phần mềm (Evolution) ®éi ph¸t triÓn ThÈm ®Þnh HÖ thèng phÇn mÒm ®¸p øng yªu cÇu file.exe file.com HÖ thèng phÇn mÒm ®−îc tiÕn hãa file.exe file.com file.com m«i tr−êng thay ®æi TiÕn tr×nh phÇn mÒm Bộ môn Công nghệ phần mềm – ĐHCN 30 NguyễnVănVỵ M« h×nh tiÕn tr×nh phÇn mÒm M« h×nh tiÕn tr×nh (software process model) lμ c¸ch biÓu diÔn trõu t−îng tiÕn tr×nh phÇn mÒm theo c¸ch nh×n cô thÓ. C«ng việc 1 C«ng việc 2 Công việc 1.1.1 C«ng việc 1.1 Công việc 1.2 Công việc 2.1 Công việc 2.1.1 TIẾN TRÌNH CỤ THỂ Giai đoạn 1 Giai đoạn 2 Giai đoạn 3 MÔ HÌNH TIẾN TRÌNH Bộ môn Công nghệ phần mềm – ĐHCN 31 NguyễnVănVỵ Chi phÝ cña kü nghÖ phÇn mÒm ¾ Chi phÝ kü nghÖ phÇn mÒm: lμ c¸c kho¶n chi liªn quan ®Õn toμn bé sù ph¸t triÓn ¾ Chi phÝ phô thuéc: Lo¹i hÖ thèng (®¬n gi¶n, phøc t¹p) Yªu cÇu ®Æt ra (nhiÒu, Ýt, cao, thÊp) Møc ®é hoμn thiÖn (hiÖu n¨ng, ®é tin c©y, an toμn,..) N¨ng lùc cña tæ chøc (nh©n lùc, c«ng nghÖ, c«ng cô, kü n¨ng cã ®−îc) Lo¹i tiÕn tr×nh sö dông Bộ môn Công nghệ phần mềm – ĐHCN 32 NguyễnVănVỵ Chi phÝ cña kü nghÖ phÇn mÒm Chi phí phát triển tiến hóa đặc tả thiết kế phát triển kiểm thử tích hợp 0 25 50 75 100 Phân bố chi phí phát triển (nãi chung) 26 23 3813 đặc tả phát triển tiến hóa kiểm thử hệ thống 0 25 50 75 100 10 60 30 Bộ môn Công nghệ phần mềm – ĐHCN 33 NguyễnVănVỵ Chi phÝ cña kü nghÖ phÇn mÒm Chi phÝ hÖ cã vßng ®êi dμi phát triển hệ thống tiến hóa hệ thống 0 25 50 75 100 25 75 đặc tả phát triển kiểm thử hệ thống 0 25 50 75 100 chi phí phát triển sản phẩm trùc tuyÕn 35 578 Bộ môn Công nghệ phần mềm – ĐHCN 34 NguyễnVănVỵ Quy m« phÇn mÒm KÝch cì phÇn mÒm ¶nh h−ëng lín ®Õn chi phÝ KÝch cì th−êng ®o b»ng sè dßng lÖnh KÝch cì phÇn mÒm phô thuéc: • Bμi to¸n • ThiÕt kÕ • Ng«n ng÷ lËp tr×nh (& tr×nh ®é ng−êi lËp) ¾Víi cïng thiÕt kÕ, dïng ng«n ng÷ kh¸c nhau cho kÝch cì kh¸c nhau Bộ môn Công nghệ phần mềm – ĐHCN 35 NguyễnVănVỵ Sè ®o ng«n ng÷ Ng«n ng÷ Dßng lÖnh/chøc n¨ng Assembly C FORTRAN 77 COBOL 85 Ada 83 C++ Ada 95 Java Visual Basic SQL 320 128 105 91 71 56 55 55 35 ? Mçi ng«n ng÷ cã 1 n¨ng lùc thÓ hiÖn Chän ng«n ng÷ tèt sÏ gi¶m kÝch cì Bộ môn Công nghệ phần mềm – ĐHCN 36 NguyễnVănVỵ PhÇn mÒm kü nghÖ tèt PhÇn mÒm kü nghÖ tèt ®−îc xÐt theo quan ®iÓm nhμ ph¸t triÓn Thuéc tÝnh phÇn mÒm cÇn cã: • TÝnh b¶o tr× ®−îc • TÝnh ®¸ng tin cËy • TÝnh hiÖu qu¶ • TÝnh tiÖn dông • Gi¸ c¶ ph¶i ch¨ng • Mét sè tiªu chÝ kh¸c møc −u tiªn Bộ môn Công nghệ phần mềm – ĐHCN 37 NguyễnVănVỵ TÝnh b¶o tr× ®−îc KiÕn tróc tèt: kÕt dÝnh chÆt, ghÐp nèi láng (dÔ ®äc, dÔ söa, dÔ ph¸t triÓn, ¶nh h−ëng côc bé) cμi ®Æt b»ng ng«n ng÷ bËc cao (dÔ ®äc, viÕt nhanh) tμi liÖu ®Çy ®ñ, tèt (dÔ theo dâi, dÔ hiÓu, cã c¬ së söa,..) Cã tuæi thä cao, phô vô nhiÒu Chi phÝ b¶o tr× thÊp Æ cho hiÖu qu¶ "PhÇn mÒm lu«n cã yªu cÇu söa ®æi“ §Ó söa ®æi (b¶o tr×) ®−îc phÇn mÒm cÇn: Bộ môn Công nghệ phần mềm – ĐHCN 38 NguyễnVănVỵ §¸ng tin cËy §¸p øng ®−îc nhu cÇu ng−êi sö dông §¶m b¶o c¸c chøc n¨ng cÇn ¤n ®Þnh, thêi gian lμm viÖc kh«ng lçi lín Cho kÕt qu¶ x¸c ®¸ng PhÇn mÒm cã Ýt khiÕm khuyÕt vÒ: lçi lËp tr×nh lçi ph©n tÝch, thiÕt kÕ: sai, thiÕu chøc n¨ng, ho¹t ®éng kh«ng hiÖu qu¶ Bộ môn Công nghệ phần mềm – ĐHCN 39 NguyễnVănVỵ TÝnh hiÖu qu¶ Kh«ng sö dông l·ng phÝ tμi nguyªn phÇn cøng §Ó tèi −u hãa cÇn: §ßi hái bé nhí lín §ßi hái tèc ®é cao ChiÕm kh«ng gian ®Üa lín,... dïng ng«n ng÷ bËc thÊp truy cËp trùc tiÕp ®Õn thiÕt bÞ sö dông thuËt to¸n viÕt gän Cần tối ưu hợp lý dÔ dÉn tíi khã b¶o tr×, gi¸ thµnh cao. Bộ môn Công nghệ phần mềm – ĐHCN 40 NguyễnVănVỵ TiÖn dông, tinh vi Giao diÖn phï hîp víi tr×nh ®é cña ng−êi dïng Häc nhanh, nhí l©u, dÔ thao t¸c Cã ®ñ tμi liÖu & nhiÒu tiÖn Ých, trî gióp th«ng minh Giao diện quyÕt ®Þnh thμnh c«ng cña s¶n phÈm Bộ môn Công nghệ phần mềm – ĐHCN 41 NguyễnVănVỵ CÇn c©n ®èi, tháa hiÖp gi÷a c¸c yªu cÇu • Khã tèi −u ®ång thêi c¸c thuéc tÝnh gi¸ c¶, hiÖu qu¶ >>> <<< dÔ b¶o tr×, sö dông, sù tinh vi Chi phÝ cho tèi −u kh«ng tuyÕn tÝnh (lμ hμm mò) Gi¸ c¶ hîp lý hiÖu n¨ng g i ¸ t h μ n h Chi phÝ bá ra HiÖu suÊt ®¹t Bộ môn Công nghệ phần mềm – ĐHCN 42 NguyễnVănVỵ Kü nghÖ hÖ thèng (System Engineering) Kü nghÖ hÖ thèng lμ toμn bé c«ng viÖc ph¸t triÓn hÖ thèng dùa trªn m¸y tÝnh (computer based system): • phÇn cøng • phÇn mÒm • tæ chøc, qu¶n lý Kü nghÖ hÖ thèng bao gåm: • ®Æc t¶ • thiÕt kÕ • triÓn khai kü nghÖ hÖ thèng kü nghÖ phÇn mÒm • tÝch hîp • thÈm ®Þnh • b¶o tr× Bộ môn Công nghệ phần mềm – ĐHCN 43 NguyễnVănVỵ Kü nghÖ hÖ thèng §Æc tÝnh næi tréi cña hÖ thèng dùa trªn m¸y tÝnh • Thuéc tÝnh chøc n¨ng: ®iÒu khiÓn 1 hÖ • Thuéc tÝnh phi chøc n¨ng: ®é tin cËy, an toμn Mμ: tõng bé pbËn kh«ng thÓ cã ®−îc quyÕt ®Þnh ®Õn toμn hÖ thèng Kü nghÖ hÖ thèng liªn quan ®Õn: • ¸p dông c¸c nguyªn lý tÝch hîp • gi¶m chi phÝ lμm l¹i toμn hÖ thèng Bộ môn Công nghệ phần mềm – ĐHCN 44 NguyễnVănVỵ Kü nghÖ hÖ thèng TiÕn tr×nh ký nghÖ hÖ thèng (system engineering process) xác định yêu cầu ị tiến hóa hệ thống ti t loại bỏ hệ thống l i t thiết kế hệ thống t i t t phát triển hệ con t t i Cài đặt hệ thống i t t tích hợp hệ thống tí t các hệ cứng các hệ mềm Bộ môn Công nghệ phần mềm – ĐHCN 45 NguyễnVănVỵ Kh¸i niệm liªn quan - Khoa häc m¸y tÝnh (Computer Sience) ¾ Khoa häc m¸y tÝnh liªn quan ®Õn nh÷ng vÊn ®Ò lý thuyÕt vμ nÒn t¶ng cho m¸y tÝnh vμ phÇn mÒm ¾ Kü nghÖ phÇn mÒm liªn quan ®Õn thùc tiÔn cña viÖc ph¸t triÓn vμ xuÊt ra c¸c phÇn mÒm hiÖu qu¶ Lý thuyÕt khoa häc m¸y tÝnh cßn ch−a ®ñ cho c¸c ho¹t ®éng cña kü nghÖ phÇn mÒm kü nghÖ phÇn mÒm khoa häc m¸y tÝnh Bộ môn Công nghệ phần mềm – ĐHCN 46 NguyễnVănVỵ KiÕn tróc vμ phÇn cøng m¸y tÝnh H¹ tÇng c¸c hÖ thèng c«ng nghÖ vμ ph. ph¸p phÇn mÒm C¸c c«ng nghÖ øng dông t« chøc vμ c¸c HTTT C¸c lÜnh vùc tÝnh to¸n (computing curricula 11/2004 -ACM, AIS, IEEE) Lý thuyÕt, øng dung ®æi míi triÓn khai SECS IT IS Bộ môn Công nghệ phần mềm – ĐHCN 47 NguyễnVănVỵ Mçi lÜnh vùc tÝnnh to¸n ®−îc giíi h¹n b»ng mét vïng víi biªn cã mµu sau: CS Khoa häc m¸y tÝnh: IS HÖ thèng th«ng tin IT C«ng nghÖ th«ng tin SE Kü nghÖ phÇn mÒm Kü nghÖ phÇn mÒm chiÕm phÇn lín ë trung t©m - §ã lµ lý do nã lµ ngµnh phøc t¹p vµ quan träng Ph©n biÖt c¸c lÜnh vùc tÝnh to¸n Bộ môn Công nghệ phần mềm – ĐHCN 48 NguyễnVănVỵ C©u hái «n tËp 1) §Þnh nghÜa kü nghÖ phÇn mÒm -SE? 2) C¸c giai ®o¹n lÞch sö ph¸t triÓn SE? ®Æc tr−ng cña mçi giai ®o¹n (s¶n phÈm, ph−¬ng ph¸p, c«ng cô, qu¶n lý vμ tæ chøc lμm viÖc)? 3) Gi¶i thÝch néi dung c¸c yÕu tè c¬ b¶n trong SE? LÊy vÝ dô minh ho¹ vÒ ph−¬ng ph¸p, c«ng cô? 4) TiÕn tr×nh phÇn mÒm lμ c¸i g×? C¸c b−íc chung nhÊt cña tiÕn tr×nh lμ g×? 5) M« h×nh tiÕn trinh lμ g×? C¸c m« h×nh cã thÓ nhËn ®−îc tõ nh÷ng c¸ch nh×n nhËn nμo? Bộ môn Công nghệ phần mềm – ĐHCN 49 NguyễnVănVỵ C©u hái «n tËp 6) Tr×nh bμy mét sè m« h×nh tiÕn tr×nh c¬ b¶n (néi dung, −u, nh−îc, thÝch hîp khi nμo)? 7) Chi phÝ cña SE gåm nh÷ng thμnh phÇn nμo? nã phô thuéc vμo nh÷ng c¸i g×? 8) Kü nghÖ hÖ thèng lμ g×? Quan hÖ víi kü nghÖ phÇn mÒm ra sao? 9) C¸c thuéc tÝnh cña phÇn mÒm ®−îc kü nghÖ tèt? 10)Khoa häc m¸y tÝnh lμ g×? Quan hÖ gi÷a nã vμ kü nghÖ phÇn mÒm nh− thÕ nμo? Bộ môn Công nghệ phần mềm – ĐHCN 50 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 2 Kỹ nghệ phần mềm.pdf