Bài giảng: Kỹ nghệ phần mềm. Đại học quốc gia Hà Nội - Khoa công nghệ

Bài giảng : Kỹ nghệ phần mềm. Đại học quốc gia Hà Nội - Khoa công nghệ PGS. Nguyễn Quốc Toản, PGS.TS. Nguyễn Văn Vỵ, PGS.TS.Vũ Đức Thi, TS. Lê văn Phùng Mở đầu Sau 20 năm phát triển, kỹ nghệ phần mềm (SE-Software Engineering) đến nay được thừa nhận là một bộ môn chính thống nhưng còn là một lĩnh vực tranh luận sôi nổi. Trong ngành công nghiệp: người lập trình ® kỹ sư phần mềm. Kỹ nghệ phần mềm (hay còn gọi là công trình học phần mềm ) được xem như là một tên gọi công việc. Các phương pháp, công cụ, thủ tục của SE đã được chấp nhận và ứng dụng thành công trong rất nhiều lĩnh vực ứng dụng công nghiệp. Các nhà quản lý và chuyên gia công nghệ thông tin đều nhận ra nhu cầu về cách tiếp cận có nguyên tắc hơn tới việc phát triển phần mềm . Bản chất thực của cách tiếp cận SE vẫn còn chưa được thống nhất, còn nhiều ý kiến trái ngược nhau. Phương pháp tiếp cận của người thực hành: theo sát các hoạt động tổng quát đã được thực hiện bất kể tới mô hình SE đã được chọn thay vì duy trì một quan điểm vòng đời chặt chẽ. Các chủ đề quan tâm: 1.Vấn đề quản lý dự án phần mềm (tiến trình phát triển dự án phần mềm và việc quản lý nó) 2.Phân tích hệ thống và yêu cầu phần mềm (các vấn đề cơ bản trong phân tích, phương pháp mô hình hoá yêu cầu, các kí pháp, .) 3.Thiết kế và cài đặt phần mềm (nhấn mạnh tới các định mức thiết kế cơ bản dẫn tới hệ thống chất lượng cao và các phương pháp thiết kế để chuyển một mô hình phân tích thành giải pháp phần mềm) 4.Đảm bảo, kiểm chứng và duy trì tính toàn vẹn phần mềm (nhấn mạnh vào các hoạt động được ứng dụng để đảm bảo chất lượng trong suốt tiến trình phần mềm ) 5.Vai trò của tự động hoá (nhấn mạnh sự hỗ trợ của máy tính lên tiến trình phát triển phần mềm ) Quan tâm đến thiết kế : chủ đề 3 Quan tâm đến phương pháp: cả 5 chủ đề Quan tâm đến quản lý: chủ đề 1 và 4 Công trình học phần mềm không phải là chính việc sản sinh ra sản phẩm mà nó liên quan đến việc sản sinh ra sản phẩm một cách hiệu quả. Với những nguồn lực không hạn chế thì đa số các vấn đề phần mềm là giải quyết được. Thử thách đối với kỹ sư phần mềm là tạo ra phần mềm chất lượng cao với hạn chế về nguồn lực và phải theo một lịch định trước.

doc24 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2115 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng: Kỹ nghệ phần mềm. Đại học quốc gia Hà Nội - Khoa công nghệ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
§¹i häc quèc gia Hµ Néi - Khoa c«ng nghÖ Bé m«n c«ng nghÖ phÇn mÒm _________________________ PGS. NguyÔn Quèc To¶n, PGS.TS. NguyÔn V¨n Vþ, PGS.TS.Vò §øc Thi, TS. Lª v¨n Phïng Bµi gi¶ng Kü nghÖ phÇn mÒm (nhËp m«n) Hµ Néi - 2000 Më ®Çu Sau 20 n¨m ph¸t triÓn, kü nghÖ phÇn mÒm (SE-Software Engineering) ®Õn nay ®­îc thõa nhËn lµ mét bé m«n chÝnh thèng nh­ng cßn lµ mét lÜnh vùc tranh luËn s«i næi. Trong ngµnh c«ng nghiÖp: ng­êi lËp tr×nh ® kü s­ phÇn mÒm. Kü nghÖ phÇn mÒm (hay cßn gäi lµ c«ng tr×nh häc phÇn mÒm ) ®­îc xem nh­ lµ mét tªn gäi c«ng viÖc. C¸c ph­¬ng ph¸p, c«ng cô, thñ tôc cña SE ®· ®­îc chÊp nhËn vµ øng dông thµnh c«ng trong rÊt nhiÒu lÜnh vùc øng dông c«ng nghiÖp. C¸c nhµ qu¶n lý vµ chuyªn gia c«ng nghÖ th«ng tin ®Òu nhËn ra nhu cÇu vÒ c¸ch tiÕp cËn cã nguyªn t¾c h¬n tíi viÖc ph¸t triÓn phÇn mÒm . B¶n chÊt thùc cña c¸ch tiÕp cËn SE vÉn cßn ch­a ®­îc thèng nhÊt, cßn nhiÒu ý kiÕn tr¸i ng­îc nhau. Ph­¬ng ph¸p tiÕp cËn cña ng­êi thùc hµnh: theo s¸t c¸c ho¹t ®éng tæng qu¸t ®· ®­îc thùc hiÖn bÊt kÓ tíi m« h×nh SE ®· ®­îc chän thay v× duy tr× mét quan ®iÓm vßng ®êi chÆt chÏ. C¸c chñ ®Ò quan t©m: VÊn ®Ò qu¶n lý dù ¸n phÇn mÒm (tiÕn tr×nh ph¸t triÓn dù ¸n phÇn mÒm vµ viÖc qu¶n lý nã) Ph©n tÝch hÖ thèng vµ yªu cÇu phÇn mÒm (c¸c vÊn ®Ò c¬ b¶n trong ph©n tÝch, ph­¬ng ph¸p m« h×nh ho¸ yªu cÇu, c¸c kÝ ph¸p,...) ThiÕt kÕ vµ cµi ®Æt phÇn mÒm (nhÊn m¹nh tíi c¸c ®Þnh møc thiÕt kÕ c¬ b¶n dÉn tíi hÖ thèng chÊt l­îng cao vµ c¸c ph­¬ng ph¸p thiÕt kÕ ®Ó chuyÓn mét m« h×nh ph©n tÝch thµnh gi¶i ph¸p phÇn mÒm) §¶m b¶o, kiÓm chøng vµ duy tr× tÝnh toµn vÑn phÇn mÒm (nhÊn m¹nh vµo c¸c ho¹t ®éng ®­îc øng dông ®Ó ®¶m b¶o chÊt l­îng trong suèt tiÕn tr×nh phÇn mÒm ) Vai trß cña tù ®éng ho¸ (nhÊn m¹nh sù hç trî cña m¸y tÝnh lªn tiÕn tr×nh ph¸t triÓn phÇn mÒm ) Quan t©m ®Õn thiÕt kÕ : chñ ®Ò 3 Quan t©m ®Õn ph­¬ng ph¸p: c¶ 5 chñ ®Ò Quan t©m ®Õn qu¶n lý: chñ ®Ò 1 vµ 4 C«ng tr×nh häc phÇn mÒm kh«ng ph¶i lµ chÝnh viÖc s¶n sinh ra s¶n phÈm mµ nã liªn quan ®Õn viÖc s¶n sinh ra s¶n phÈm mét c¸ch hiÖu qu¶. Víi nh÷ng nguån lùc kh«ng h¹n chÕ th× ®a sè c¸c vÊn ®Ò phÇn mÒm lµ gi¶i quyÕt ®­îc. Thö th¸ch ®èi víi kü s­ phÇn mÒm lµ t¹o ra phÇn mÒm chÊt l­îng cao víi h¹n chÕ vÒ nguån lùc vµ ph¶i theo mét lÞch ®Þnh tr­íc. Ch­¬ng 1 PhÇn mÒm vµ kü nghÖ phÇn mÒm 3 Ch­¬ng II §Æc t¶ phÇn mÒm 25 Ch­¬ng III thiÕt kÕ phÇn mÒm 52 ch­¬ng iv LËp tr×nh hiÖu qu¶ 84 Ch­¬ng 1 PhÇn mÒm vµ kü nghÖ phÇn mÒm I.1.Sù ph¸t triÓn cña phÇn mÒm .1.1.1.Qu¸ tr×nh tiÕn ho¸ cña phÇn mÒm 1.1.2.C¸c th¸ch thøc ®èi víi phÇn mÒm m¸y tÝnh 1.2.PhÇn mÒm 1.2.1.M« t¶ vÒ phÇn mÒm 1.2.2.C¸c ®Æc tr­ng phÇn mÒm 1.2.3. C¸c thµnh phÇn cña phÇn mÒm 1.2 4..ViÖc øng dông phÇn mÒm 1.3. Kü nghÖ phÇn mÒm 1.3.1. §Þnh nghÜa 1.3.2. M« h×nh Vßng ®êi cæ ®iÓn 1.3.3. M« h×nh lµm b¶n mÉu 1.3 4.M« h×nh xo¾n èc 1.3.5. Kü thuËt thÕ hÖ thø 4 1.3.6. Tæ hîp c¸c khu«n c¶nh 1.4. C¸c b­íc tæng qu¸t trong tiÕn tr×nh kü nghÖ phÇn mÒm 1.4.1..Giai ®o¹n x¸c ®Þnh 1.4.2. Giai ®o¹n ph¸t triÓn 1.4.3. Giai ®o¹n b¶o tr× I.5.§¸nh gi¸ tæng qu¸t vÒ chÊt l­îng hÖ thèng Ch­¬ng 1 PhÇn mÒm vµ kü nghÖ phÇn mÒm 1980, trong t¹p chÝ Business week, dßng tiªu ®Ò "phÇn mÒm - lùc ®iÒu khiÓn míi hay phÇn mÒm ®· vµo mét thêi ®¹i" ® ®¸nh dÊu chñ ®Ò ®¸ng quan t©m cña c¸c t¹p chÝ ® b¸o hiÖu cho mét c¸ch hiÓu míi vÒ tÇm quan träng cña phÇn mÒm m¸y tÝnh ® ®em ®Õn nh÷ng c¬ héi vµ th¸ch thøc míi. PhÇn mÒm (SW) b©y giê ®· v­ît tréi h¬n phÇn cøng (HW): ®iÒu mÊu chèt cho sù thµnh c«ng cña nhiÒu hÖ thèng dùa trªn m¸y tÝnh PhÇn mÒm -nh©n tè ®¸nh gi¸ sù kh¸c biÖt, ®iÒu nµy thÓ hiÖn ë chç: TÝnh ®Çy ®ñ vµ ®óng thêi h¹n cña th«ng tin do phÇn mÒm cung cÊp (vµ c¸c CSDL liªn quan) ® kh¸c biÖt mét c«ng ty nµy víi c¸c ®èi thñ c¹nh tranh thiÕt kÕ vµ " tÝnh th©n thiÖn con ng­êi" cña s¶n phÈm phÇn mÒm còng lµm kh¸c biÖt nã víi c¸c s¶n phÈm c¹nh tranh cã cïng chøc n¨ng t­¬ng tù kh¸c. Sù th«ng minh vµ chøc n¨ng do phÇn mÒm ®­îc nhóng trong ®ã ®­a ra th­êng lµm kh¸c biÖt 2 s¶n phÈm tiªu thô hay c«ng nghiÖp t­¬ng tù nhau Nh­ vËy, chÝnh phÇn mÒm t¹o ra sù kh¸c biÖt ®ã I.1.Sù ph¸t triÓn cña phÇn mÒm Th¸ch thøc tr­íc nh÷ng n¨m 1990: ph¸t triÓn phÇn cøng nh»m gi¶m gi¸ thµnh xö lý vµ l­u tr÷ d÷ liÖu. VÝ dô vµo nh÷ng n¨m 1980 tiÕn bé trong vi ®iÖn tö: ph¸t sinh n¨ng lùc tÝnh to¸n m¹nh, gi¸ thµnh thÊp ®¸ng kÓ Th¸ch thøc trong nh÷ng n¨m 1990: c¶i thiÖn chÊt l­îng vµ gi¶m gi¸ thµnh cña c¸c gi¶i ph¸p dùa trªn m¸y tÝnh - gi¶i ph¸p ®­îc cµi ®Æt b»ng phÇn mÒm Kh¶ n¨ng l­u tr÷ cña phÇn cøng biÓu thÞ cho tiÒm n¨ng tÝnh to¸n. Cßn phÇn mÒm -mét c¬ chÕ gióp chóng ta chÕ ngù vµ khai th¸c tiÒm n¨ng nµy .1.1.1.Qu¸ tr×nh tiÕn ho¸ cña phÇn mÒm 1.Nh÷ng n¨m ®Çu(tõ 1950 ®Õn 1960): PhÇn cøng thay ®æi liªn tôc, phÇn lín ®­îc chuyªn dông cho øng dông ®Æc biÖt. PhÇn mÒm ®­îc coi lµ nghÖ thuËt, ch­a cã ph­¬ng ph¸p hÖ thèng. Ph¸t triÓn phÇn mÒm ch­a ®­îc qu¶n lý M«i tr­êng phÇn mÒm cã tÝnh c¸ nh©n® thiÕt kÕ -tiÕn tr×nh kh«ng t­êng minh, th­êng kh«ng cã tµi liÖu. KÕt qu¶: Häc ®­îc viÖc cµi ®Æt hÖ thèng dùa trªn m¸y tÝnh, kh«ng häc ®­îc mÊy vÒ kü nghÖ hÖ thèng m¸y tÝnh 2.Thêi kú tr¶i réng tõ nh÷ng n¨m 1960 ®Õn cuèi 1970: HÖ thèng ®a lËp tr×nh vµ ®a ng­êi sö dông ® kh¸i niÖm míi vÒ t­¬ng t¸c ng­êi m¸y. Kü thuËt t­¬ng t¸c më ra thÕ giíi míi cho c¸c øng dông vµ møc ®é míi tinh vi cho c¶ phÇn mÒm vµ phÇn cøng HÖ thèng thêi gian thùc: thu thËp, ph©n tÝch vµ biÕn ®æi d÷ liÖu tõ nhiÒu nguån kh¸c nhau®kiÓm so¸t ®­îc c¸c tiÕn tr×nh vµ s¶n xuÊt ra c¸i ra trong phÇn ngh×n gi©y thay v× nhiÒu phót TiÕn bé l­u tr÷ trùc tuyÕn® thÕ hÖ ®Çu tiªn cña hÖ qu¶n trÞ CSDL Sè l­îng c¸c hÖ thèng dùa trªn m¸y tÝnh ph¸t triÓn ® th­ viÖn phÇn mÒm më réng® ph¸t sinh sè l­îng lín c©u lÖnh® cÇn söa ch÷a khi gÆp lçi, cÇn söa ®æi l¹i khi yªu cÇu cña ng­êi dïng thay ®æi hay ph¶i thÝch nghi víi nh÷ng phÇn cøng míi võa mua® b¶o tr× phÇn mÒm . 3. Thêi kú gi÷a nh÷ng n¨m 1970 ®Õn nay: HÖ thèng ph©n bè (bao gåm nhiÒu m¸y tÝnh, mçi m¸y thùc hiÖn mét chøc n¨ng t­¬ng tranh vµ liªn l¹c víi c¸c m¸y kh¸c) ® t¨ng ®é phøc t¹p M¹ng toµn côc vµ côc bé, liªn l¹c sè gi¶i th«ng cao, t¨ng nhu cÇu th©m nhËp d÷ liÖu ® yªu cÇu lín ph¸t triÓn phÇn mÒm TiÕn bé lín vµ sö dông phæ cËp c¸c bé vi xö lý (« t«, robot, lß vi sãng, thiÕt bÞ chÈn ®o¸n m¸u,...) m¸y tÝnh c¸ nh©n vµ c¸c m¸y tr¹m ®Ó bµn Chi phÝ phÇn mÒm cã khuynh h­íng > chi phÝ mua m¸y tÝnh 4. Thêi kú sau 1990 (Thêi kú thø t­ míi chØ b¾t ®Çu): Kü nghÖ h­íng sù vËt lµ c¸ch tiÕp cËn míi ®ang nhanh chãng thay thÕ nhiÒu c¸ch tiÕp cËn ph¸t triÓn phÇn mÒm truyÒn thèng trong c¸c lÜnh vùc øng dông HÖ chuyªn gia vµ phÇn mÒm trÝ tuÖ nh©n t¹o: chuyÓn tõ phßng thÝ nghiÖm ® thùc tÕ PhÇn mÒm m¹ng n¬ ron nh©n t¹o: më ra kh¶ n¨ng nhËn d¹ng vµ thùc hiÖn kh¶ n¨ng xö lý th«ng tin kiÓu con ng­êi 1.1.2.C¸c th¸ch thøc ®èi víi phÇn mÒm m¸y tÝnh C¸c th¸ch thøc ®èi víi phÇn mÒm m¸y tÝnh gia t¨ng v× nh÷ng nguyªn nh©n sau: Sù tinh vi cña phÇn cøng ®· v­ît qu¸ kh¶ n¨ng cña chóng ta ®Ó x©y dùng phÇn mÒm ®¹t tíi tiÒm n¨ng cña phÇn cøng Kh¶ n¨ng x©y dùng c¸c ch­¬ng tr×nh míi kh«ng thÓ gi÷ cïng nhÞp víi nhu cÇu cã c¸c ch­¬ng tr×nh míi Kh¶ n¨ng b¶o tr× c¸c ch­¬ng tr×nh hiÖn cã rÊt khã kh¨n v× thiÕt kÕ s¬ sµi, tµi nguyªn kh«ng thÝch hîp TÊt c¶ c¸c th¸ch thøc trªn® chÊp nhËn thùc hµnh kü nghÖ phÇn mÒm 1.2.PhÇn mÒm 1.2.1.M« t¶ vÒ phÇn mÒm ViÖc m« t¶ phÇn mÒm trong s¸ch gi¸o khoa cã 1 trong nh÷ng d¹ng sau: -C¸c lÖnh (ch­¬ng tr×nh m¸y tÝnh) khi ®­îc thùc hiÖn th× ®­a ra ho¹t ®éng vµ kÕt qu¶ mong muèn -C¸c cÊu tróc d÷ liÖu lµm cho ch­¬ng tr×nh thao t¸c th«ng tin thÝch hîp -C¸c tµi liÖu m« t¶ thao t¸c vµ c¸ch dïng ch­¬ng tr×nh NhËn xÐt: ch­a ®ñ® cÇn ®­a ra ®Þnh nghÜa h×nh thøc h¬n 1.2.2.C¸c ®Æc tr­ng phÇn mÒm PhÇn mÒm lµ phÇn tö hÖ thèng logic ch­a kh«ng ph¶i lµ hÖ thèng vËt lý. Do ®ã phÇn mÒm cã ®Æc tr­ng kh¸c biÖt ®¸ng kÓ víi c¸c ®Ëc tr­ng cña phÇn cøng 1.PhÇn mÒm ®­îc ph¸t triÓn hay ®­îc kü nghÖ ho¸, nã kh«ng ®­îc chÕ t¹o theo nghÜa cæ ®iÓn: thiÕt kÕ chÕ t¹o s¶n phÈm tèt HW: ® ® ® chÊt l­îng chÊt l­îng thiÕt kÕ söa ®æi s¶n phÈm tèt SW: ® ® ® chÊt l­îng chÊt l­îng Hai qu¸ tr×nh nµy phô thuéc vµo con ng­êi Chi phÝ phÇn mÒm tËp trung vµo kü nghÖ ® kh¸i niÖm x­ëng phÇn mÒm ® khuyÕn c¸o sö dông c«ng cô tù ®éng 2.PhÇn mÒm kh«ng "háng ®i" PhÇn mÒm kh«ng c¶m øng ®èi víi nh÷ng khiÕm khuyÕt m«i tr­êng vèn g©y cho phÇn cøng bÞ mßn cò ®i §­êng cong lý t­ëng chÕt yÓu mßn cò Tû lÖ háng gi÷ tû lÖ cho ®Õn khi l¹c hËu t t §­êng cong háng hãc cho HW §­êng cong háng hãc cho SW (lý t­ëng) Thùc tÕ, phÇn mÒm sÏ tr¶i qua sù thay ®æi (b¶o tr×). Khi thay ®æi ®­îc thùc hiÖn cã thÓ lµ mét sè khiÕm khuyÕt míi sÏ ®­îc ®­a vµo, g©y ra cho ®­êng cong tû lÖ háng hãc trë thµnh cã ®Çu nhän nh­ trong h×nh vÏ d­íi ®©y. Tr­íc khi ®­êng cong ®ã cã thÓ trë vÒ tû lÖ háng hãc æn ®Þnh ban ®Çu th× mét thay ®æi kh¸c l¹i ®­îc yªu cÇu, l¹i g©y ra ®­êng cong ph¸t sinh ®Ønh nhän mét lÇn n÷a. DÇn dÇn, møc tû lÖ háng hãc tèi thiÓu b¾t ®Çu n©ng lªn- phÇn mÒm bÞ tho¸i ho¸ do sù thay ®æi. §­êng cong thùc tÕ thay ®æi tû lÖ háng §­êng cong lý t­ëng thêi gian §­êng cong háng hãc thùc tÕ cña phÇn mÒm NhËn xÐt: PhÇn cøng háng cã "vËt t­ thay thÕ", nh­ng kh«ng cã phÇn mÒm thay thÕ cho phÇn mÒm . Mäi háng hãc phÇn mÒm ®Òu chØ ra lçi trong thiÕt kÕ hay trong tiÕn tr×nh chuyÓn thiÕt kÕ thµnh m· m¸y thùc hiÖn ®­îc. Do ®ã, viÖc b¶o tr× phÇn mÒm bao gåm ®é phøc t¹p phô thªm ®¸ng kÓ so víi b¶o tr× phÇn cøng. 3.PhÇn lín phÇn mÒm ®Òu ®­îc x©y dùng theo ®¬n ®Æt hµng, chø Ýt khi ®­îc l¾p r¸p tõ c¸c thµnh phÇn cã s½n C¸ch thiÕt kÕ vµ x©y dùng phÇn cøng ®iÒu khiÓn cho mét s¶n phÈm dùa trªn bé vi xö lý: vÏ s¬ ®å m¹ch sè ® thùc hiÖn ph©n tÝch ®Ó ®¶m b¶o chøc n¨ng ®óng ® ph©n lo¹i c¸c danh môc thµnh phÇn ® g¾n cho mçi m¹ch tÝch hîp (th­êng gäi lµ "IC" hay "chip") mét sè hiÖu mét chøc n¨ng ®· ®Þnh vµ hîp lÖ, mét giao diÖn ®· x¸c ®Þnh râ, mét tËp c¸c h­íng dÉn tÝch hîp chuÈn ho¸ PhÇn mÒm: -Kh«ng cã danh môc c¸c thµnh phÇn -§Æt hµng víi ®¬n vÞ hoµn chØnh, kh«ng ph¶i lµ nh÷ng thµnh phÇn cã thÓ ®­îc l¾p r¸p l¹i thµnh ch­¬ng tr×nh míi. 1.2.3. C¸c thµnh phÇn cña phÇn mÒm PhÇn mÒm m¸y tÝnh (gäi t¾t lµ phÇn mÒm ) lµ th«ng tin tån t¹i d­íi 2 d¹ng c¬ së: thµnh phÇn m¸y kh«ng thùc hiÖn ®­îc vµ c¸c thµnh phÇn m¸y thùc hiÖn ®­îc. ë ®©y chØ xÐt nh÷ng thµnh phÇn phÇn mÒm trùc tiÕp ®­a tíi c¸c lÖnh m¸y thùc hiÖn ®­îc Mäi thµnh phÇn phÇn mÒm ®Òu bao gåm mét cÊu h×nh Thµnh phÇn phÇn mÒm ®­îc t¹o ra th«ng qua mét lo¹t nh÷ng ho¹t ®éng chuyÓn ho¸ (translation) yªu cÇu cña ng­êi dïng thµnh m· m¸y thùc hiÖn ®­îc: mét m« h×nh yªu cÇu (hay b¶n mÉu) ® dÞch ® thiÕt kÕ ® dÞch® d¹ng ng«n ng÷ x¸c ®Þnh cÊu tróc d÷ liÖu, thuéc tÝnh, thñ tôc phÇn mÒm, c¸c yªu cÇu liªn quan ® dÞch ® lÖnh m· m¸y thùc hiÖn ®­îc TÝnh t¸i dông lµ mét ®Æc tr­ng quan träng cña thµnh phÇn phÇn mÒm chÊt l­îng cao, tøc lµ thµnh phÇn cÇn ®­îc thiÕt kÕ vµ cµi ®Æt sao cho ng­êi ta cã thÓ dïng l¹i chóng trong nhiªï ch­¬ng tr×nh kh¸c nhau (th­ viÖn ch­¬ng tr×nh con mÉu vÒ khoa häc) Chó ý: ngµy nay ®· më réng c¸ch nh×n vÒ viÖc dïng l¹i ®Ó bao hµm kh«ng chØ c¸c thuËt to¸n mµ cßn c¶ cÊu tróc d÷ liÖu. VÝ dô: c¸c giao diÖn t­¬ng t¸c th­êng ®­îc x©y dùng b»ng c¸ch dïng c¸c thµnh phÇn dïng l¹i cã kh¶ n¨ng t¹o ra cöa sæ ®å ho¹, menu kÐo xuèng vµ rÊt nhiÒu c¬ chÕ t­¬ng t¸c. CÊu tróc d÷ liÖu vµ chi tiÕt xö lý cÇn ®Ó x©y ®ùng giao diÖn ®­îc ®Æt bªn trong c¸c th­ viÖn c¸c thµnh phÇn dïng l¹i. C¸c thµnh phÇn phÇn mÒm ®­îc x©y dùng b»ng c¸ch nµo? Dïng ng«n ng÷ lËp tr×nh víi vèn tõ vùng h¹n chÕ, mét v¨n ph¹m hoµn toµn x¸c ®Þnh râ cïng víi c¸c quy t¾c thµnh lËp chÆt chÏ vÒ có ph¸p vµ ng÷ nghÜa. C¸c thuéc tÝnh nµy lµ ®iÒu chñ chèt trong viÖc dÞch thµnh m· m¸y. C¸c d¹ng ng«n ng÷ hiÖn dïng ngµy nay lµ c¸c ng«n ng÷ møc m¸y, ng«n ng÷ cÊp cao vµ ng«n ng÷ phi thñ tôc. +Ng«n ng÷ møc m¸y: lµ mét biÓu diÔn ký hiÖu cho tËp lÖnh cña ®¬n vÞ xö lý trung t©m -NÕu phÇn mÒm viÕt tèt, b¶o tr× ®­îc, t­ liÖu tèt ® ng«n ng÷ m¸y gióp sö dông bé nhí hiÖu qu¶, t¨ng ®­îc tèc ®é thùc hiÖn -NÕu phÇn mÒm thiÕt kÕ tåi, Ýt tµi liÖu ® ng«n ng÷ m¸y trë thµnh c¬n ¸c méng +Ng«n ng÷ cÊp cao: Cho phÐp ng­êi ph¸t triÓn phÇn mÒm vµ ch­¬ng tr×nh ®­îc ®éc lËp víi m¸y song tõ vùng, v¨n ph¹m, có ph¸p, ng÷ nghÜa phøc t¹p h¬n nhiÒu so víi ng«n ng÷ m¸y. Trong hµng tr¨m ng«n ng÷ lËp tr×nh ®­îc dïng, phæ biÕn chØ kho¶ng 10 lo¹i: cobol, fortran, Pascal,C,Ada,C++, Pascal ®èi t­îng, eiffei, c¸c ng«n ng÷ ®Æc thï (APL, LIST,OPS5, PROLOG vµ c¸c ng«n ng÷ m« t¶ cho m¹ng n¬ ron nh©n t¹o M· m¸y, hîp ng÷, ng«n n g÷ lËp tr×nh cÊp cao th­êng cßn ®­îc coi nh­ lµ "3 thÕ hÖ ®Çu" cña ng«n ng÷ m¸y tÝnh. Víi nh÷ng ng«n ng÷ nµy, b¶n th©n ng­êi lËp tr×nh ph¶i quan t©m c¶ tíi viÖc ®Æc t¶ cÊu tróc th«ng tin lÉn ®iÒu khiÓn ch­¬ng tr×nh. Do ®ã c¸c ng«n ng÷ trong 3 thÕ hÖ nµy cßn ®­îc gäi lµ c¸c ng«n ng÷ thñ tôc +Ng«n ng÷ phi thñ tôc: Cã trªn mét thËp kû qua, thay v× ph¶i yªu cÇu ng­êi ph¸t triÓn phÇn mÒm cÇn x¸c ®Þnh chi tiÕt thñ tôc th× c¸c ng«n ng÷ phi thñ tôc ®­a ®Õn mét ch­¬ng tr×nh b»ng c¸ch "x¸c ®Þnh kÕt qu¶ mong muèn thay v× x¸c ®Þnh hµnh ®éng cÇn ®Ó ®¹t ®­îc kÕt qu¶ ®ã". PhÇn mÒm hç trî sÏ dÞch ®Æc t¶ thµnh ch­¬ng tr×nh m¸y thùc hiÖn ®­îc. 1.2.4.ViÖc øng dông phÇn mÒm PhÇn mÒm cã thÓ ®­îc ¸p dông khi ®· cã mét tËp c¸c b­íc thñ tôc (nh­ mét thuËt to¸n) ®· ®­îc x¸c ®Þnh tr­íc (trõ phÇn mÒm hÖ chuyªn gia vµ phÇn mÒm m¹ng n¬ron) Néi dung th«ng tin vµ tÝnh tÊt ®Þnh lµ c¸c nh©n tè quan träng trong viÖc x¸c ®Þnh b¶n chÊt cña øng dông phÇn mÒm : -Néi dung th«ng tin nãi tíi ý nghÜa vµ h×nh d¹ng cña th«ng tin vµo vµ ra -TÝnh tÊt ®Þnh th«ng tin nãi tíi viÖc tiªn ®o¸n tr­íc trËt tù vµ thêi gian cña th«ng tin Ph©n lo¹i phÇn mÒm øng dông (7 lo¹i): 1. PhÇn mÒm hÖ thèng: -Lµ mét tËp hîp c¸c ch­¬ng tr×nh ®­îc viÕt ®Ó phôc vô cho c¸c ch­¬ng tr×nh kh¸c -Xö lý cÊu tróc th«ng tin phøc t¹p nh­ng x¸c ®Þnh (tr×nh biªn dÞch, tr×nh so¹n th¶o, tiÖn Ých qu¶n lý tÖp) -§Æc tr­ng bëi t­¬ng t¸c chñ yÕu víi phÇn cøng m¸y tÝnh -Phôc vô nhiÒu ng­êi dïng -CÊu tróc d÷ liÖu phøc t¹p vµ nhiÒu giao diÖn ngoµi 2. PhÇn mÒm thêi gian thùc PhÇn mÒm ®iÒu phèi hoÆc ph©n tÝch hoÆc kiÓm so¸t c¸c sù kiÖn thÕ giíi thùc ngay khi chóng xuÊt hiÖn ®­îc gäi lµ phÇn mÒm thêi gian thùc. PhÇn mÒm thêi gian thùc bao gåm c¸c yÕu tè: -Mét thµnh phÇn thu thËp d÷ liÖu ®Ó thu vµ ®Þnh d¹ng th«ng tin tõ ngoµi -Mét thµnh phÇn ph©n tÝch ®Ó biÕn ®æi th«ng tin theo yªu cÇu cña øng dông -Mét thµnh phÇn kiÓm so¸t hoÆc ®­a ra ®¸p øng m«i tr­êng ngoµi -Mét thµnh phÇn ®iÒu phèi ®Ó ®iÒu hoµ c¸c thµnh phÇn kh¸c sao cho cã thÓ duy tr× viÖc ®¸p øng thêi gian thùc. HÖ thèng thêi gian thùc ph¶i ®¸p øng trong nh÷ng rµng buéc thêi gian chÆt chÏ 3.PhÇn mÒm nghiÖp vô Xö lý th«ng tin nghiÖp vô lµ lÜnh vùc øng dông phÇn mÒm lín nhÊt C¸c hÖ thèng rêi r¹c: hÖ th«ng tin qu¶n lý C¸c øng dông phÇn mÒm nghiÖp vô cßn bao gåm c¶ tÝnh to¸n t­¬ng t¸c (nh­ xö lý giao t¸c cho c¸c ®iÓm b¸n hµng) ngoµi øng dông xö lý d÷ liÖu 4.PhÇn mÒm khoa häc vµ c«ng nghÖ -§­îc ®Æc tr­ng bëi c¸c thuËt to¸n -Trong øng dông míi, thiÕt kÕ cã m¸y tÝnh trî gióp (CAD), cã chó ý ®Õn c¸c ®Æc tr­ng thêi gian thùc vµ c¶ phÇn mÒm hÖ thèng. 5. PhÇn mÒm nhóng -N»m trong bé nhí chØ ®äc vµ ®­îc dïng ®Ó ®iÒu khiÓn c¸c s¶n phÈm vµ hÖ thèng cho ng­êi dïng vµ thÞ tr­êng c«ng nghiÖp -Cã thÓ thùc hiÖn c¸c chøc n¨ng rÊt giíi h¹n vµ huyÒn bÝ (®iÒu khiÓn bµn phÝm cho lß vi sãng) hay ®­a ra c¸c kh¶ n¨ng ®iÒu khiÓn vµ vËn hµnh (chøc n¨ng sè ho¸ ë « t«, kiÓm so¸t x¨ng, biÓu thÞ b¶ng ®ång hå, hÖ thèng phanh) 6.PhÇn mÒm m¸y tÝnh c¸ nh©n -Bïng næ trong h¬n thËp kû qua (xö lý v¨n b¶n, trang tÝnh, ®å ho¹, qu¶n trÞ CSDL) -TiÕp tôc biÓu thÞ thiÕt kÕ giao diÖn ng­êi-m¸y: ®­îc c¶i tiÕn nhiÒu nhÊt. 7.PhÇn mÒm trÝ tuÖ nh©n t¹o -Dïng c¸c thuËt to¸n phi sè ®Ó gi¶i quyÕt c¸c vÊn ®Ò phøc t¹p mµ tÝnh to¸n hay ph©n tÝch trùc tiÕp kh«ng qu¶n lý næi -Ho¹t ®éng m¹nh nhÊt lµ hÖ chuyªn gia (hÖ c¬ së tri thøc) -LÜnh vùc nhËn d¹ng (h×nh ¶nh vµ tiÕng nãi) -Chøng minh ®Þnh lý vµ ch¬i trß ch¬i -Ph¸t triÓn m¹ng n¬ ron nh©n t¹o: m« pháng cÊu tróc cña viÖc xö lý trong bé ãc. 1.3. Kü nghÖ phÇn mÒm 1.3.1. §Þnh nghÜa Fritz Bauer nªu ra ®Þnh nghÜa ban ®Çu vÒ kü nghÖ phÇn mÒm : Kü nghÖ phÇn mÒm lµ viÖc thiÕt lËp vµ sö dông c¸c nguyªn lý c«ng nghÖ ®óng ®¾n ®Ó thu ®­îc phÇn mÒm mét 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 C¸c ®Þnh nghÜa vÒ sau ®Òu nhÊn m¹nh vµo yªu cÇu vÒ mét kû luËt c«ng nghÖ trong viÖc ph¸t triÓn phÇn mÒm Kü nghÖ phÇn mÒm - sù ph¸t triÓn cña kü nghÖ phÇn cøng vµ hÖ thèng. Nã bao gåm mét tËp c¸c b­íc chøa ®ùng 3 yÕu tè chñ chèt: - Ph­¬ng ph¸p -C«ng cô -Thñ tôc C¸c yÕu tè nµy gióp ng­êi qu¶n lý kiÓm so¸t ®­îc tiÕn tr×nh ph¸t triÓn phÇn mÒm vµ cung cÊp cho ng­êi kü s­ phÇn mÒm mét nÒn t¶ng ®Ó x©y dùng phÇn mÒm chÊt l­îng cao theo mét c¸ch thøc hiÖu qu¶ 1.C¸c ph­¬ng ph¸p (®­a ra c¸c "c¸ch lµm" vÒ mÆt kü thuËt ®Ó x©y dùng phÇn mÒm ): C¸c ph­¬ng ph¸p bao hµm trong nhiÒu nhiÖm vô: lËp kÕ ho¹ch, ­íc l­îng dù ¸n, ph©n tÝch yªu cÇu hÖ thèng vµ phÇn mÒm , thiÕt kÕ cÊu tróc d÷ liÖu, kiÕn tróc ch­¬ng tr×nh vµ thñ tôc thuËt to¸n, m· ho¸ kiÓm thö vµ b¶o tr× C¸c ph­¬ng ph¸p cho kü nghÖ phÇn mÒm th­êng ®­a ra c¸c ký ph¸p ®å ho¹ hay h­íng ng«n ng÷ ®Æc biÖt, ®­a ra mét tËp c¸c tiªu chuÈn vÒ chÊt l­îng s¶n phÈm phÇn mÒm. 2.C¸c c«ng cô (cung cÊp sù hç trî tù ®éng hay b¸n tù ®éng cho tõng ph­¬ng ph¸p): Khi c¸c c«ng cô ®­îc tÝch hîp ®Õn møc c¸c th«ng tin do chóng t¹o ra cã thÓ ®­îc dïng cho c¸c c«ng cô kh¸c th× hÖ thèng hç trî cho viÖc ph¸t triÓn phÇn mÒm ®· ®­îc thiÕt lËp vµ cßn ®­îc gäi lµ kü nghÖ phÇn mÒm cã m¸y tÝnh hç trî (CASE) 3.C¸c thñ tôc (chÊt keo d¸n c¸c ph­¬ng ph¸p vµ c«ng cô l¹i víi nhau vµ lµm cho chóng ®­îc sö dông hîp lý vµ ®óng h¹n trong qu¸ tr×nh ph¸t triÓn phÇn mÒm): Thñ tôc: -X¸c ®Þnh ra tr×nh tù c¸c ph­¬ng ph¸p sÏ ®­îc ¸p dông, -T¹o s¶n phÈm cÇn bµn giao (tµi liÖu b¸o c¸o, b¶n mÉu,...) cÇn cho viÖc kiÓm so¸t ®Ó ®¶m b¶o chÊt l­îng vµ ®iÒu hoµ thay ®æi, -X¸c ®Þnh nh÷ng cét mèc ®Ó cho ng­êi qu¶n lý phÇn mÒm n¾m ®­îc tiÕn ®é. Nh­ vËy, kü nghÖ phÇn mÒm bao gåm mét tËp c¸c b­íc bao hµm c¶ ph­¬ng ph¸p, c«ng cô vµ thñ tôc ®· ®­îc x¸c ®Þnh ë trªn. C¸c b­íc nµy th­êng ®­îc gäi lµ c¸c khu«n c¶nh (paradigm) kü nghÖ phÇn mÒm . Mçi b­íc trong kü nghÖ phÇn mÒm ®­îc lùa chän dùa trªn b¶n chÊt cña dù ¸n, dùa vµo ph­¬ng ph¸p vµ c«ng cô sö dông, vµo c¸ch kiÓm so¸t, c¸ch bµn giao. Sau ®©y, chóng ta sÏ xÐt tíi 4 c¸ch tiÕp cËn c¬ b¶n trong tiÕn tr×nh ph¸t triÓn phÇn mÒm: 1.3.2. M« h×nh Vßng ®êi cæ ®iÓn (c¸ch tiÕp cËn 1) Kü nghÖ phÇn mÒm ®­îc minh ho¹ theo khu«n c¶nh vßng ®êi cæ ®iÓn. M« h×nh vßng ®êi cæ ®iÓn ®«i khi cßn ®­îc gäi lµ m« h×nh th¸c n­íc. Khu«n c¶nh vßng ®êi yªu cÇu tiÕp cËn mét c¸ch hÖ thèng, tuÇn tù tíi viÖc ph¸t triÓn phÇn mÒm, b¾t ®Çu ë møc hÖ thèng vµ tiÕn dÇn xuèng ph©n tÝch, thiÕt kÕ, m· ho¸, kiÓm thö vµ b¶o tr×. Nh­ vËy khu«n c¶nh vßng ®êi bao gåm c¸c ho¹t ®éng trong m« h×nh th¸c n­íc sau: ThiÕt kÕ hÖ thèng & phÇn mÒm Ph©n tÝch & ®Þnh râ yªu cÇu Kü nghÖ hÖ thèng KiÓm thö ®¬n vÞ, tÝch hîp & hÖ thèng VËn hµnh vµ B¶o tr× M· ho¸ 1.Kü nghÖ vµ ph©n tÝch hÖ thèng V× phÇn mÒm bao giê còng lµ mét phÇn tö cña hÖ thèng lín h¬n ® b¾t ®Çu tõ viÖc thiÕt lËp yªu cÇu cho mäi phÇn tö cña hÖ thèng ® cÊp ph¸t mét tËp con c¸c yªu cÇu ®ã cho phÇn mÒm Kü nghÖ vµ ph©n tÝch hÖ thèng bao gåm viÖc thu thËp yªu cÇu ë møc hÖ thèng víi mét l­îng nhá thiÕt kÕ vµ ph©n tÝch møc ®Ønh 2. Ph©n tÝch yªu cÇu phÇn mÒm -TiÕn tr×nh thu thËp yªu cÇu ®­îc tËp trung vµ lµm s¹ch ®Æc biÖt vµo phÇn mÒm -T×m hiÓu lÜnh vùc th«ng tin ®èi víi phÇn mÒm, c¸c chøc n¨ng cÇn cã, hiÖu n¨ng vµ giao diÖn -LËp t­ liÖu vÒ yªu cÇu cho hÖ thèng vµ phÇn mÒm ® kh¸ch hµng duyÖt l¹i 3. ThiÕt kÕ -TiÕn tr×nh nhiÒu b­íc, tËp trung vµo 4 thuéc tÝnh ph©n biÖt cña ch­¬ng tr×nh: +CÊu tróc d÷ liÖu +KiÕn tróc phÇn mÒm +Chi tiÕt thñ tôc +§Æc tr­ng giao diÖn -ChuyÓn ho¸ c¸c yªu cÇu thµnh m« t¶ phÇn mÒm tr­íc khi m· ho¸ -LËp t­ liÖu thiÕt kÕ (mét phÇn cña cÊu h×nh phÇn mÒm ) 4.M· ho¸ -DÞch thiÕt kÕ thµnh d¹ng m· m¸y ®äc ®­îc 5. KiÓm thö -ViÖc kiÓm thö b¾t ®Çu sau khi ®· sinh ra m· -TiÕn tr×nh kiÓm thö tËp trung vµo phÇn logic bªn trong ch­¬ng tr×nh ®¶m b¶o tÊt c¶ c¸c c©u lÖnh ®Òu ®­îc kiÓm thö. VÒ phÇn chøc n¨ng bªn ngoµi th× ®¶m b¶o r»ng viÖc kiÓm thö ph¸t hiÖn ra lçi vµ ®¶m b¶o nh÷ng c¸i vµo x¸c ®Þnh sÏ t¹o ra kÕt qu¶ thùc tÕ thèng nhÊt víi kÕt qu¶ muèn cã. 6.B¶o tr× PhÇn mÒm ch¾c ch¾n cã nh÷ng thay ®æi sau khi ®­îc bµn giao cho kh¸ch hµng (trõ phÇn mÒm nhóng) Do lçi hoÆc thÝch øng víi thay ®æi trong m«i tr­êng bªn ngoµi (hÖ ®iÒu hµnh míi, thiÕt bÞ ngo¹i vi míi) hoÆc yªu cÇu n©ng cao chøc n¨ng hay hiÖu n¨ng ® b¶o tr× B¶o tr× ¸p dông l¹i c¸c b­íc vßng ®êi cho ch­¬ng tr×nh hiÖn t¹i ( kh«ng ph¶i míi) NhËn xÐt: -Vßng ®êi cæ ®iÓn lµ khu«n c¶nh cò nhÊt vµ ®­îc sö dông réng r·i nhÊt cho kü nghÖ phÇn mÒm -C¸c dù ¸n thùc hiÕm khi tu©n theo dßng ch¶y tuÇn tù. ViÖc lËp bao giê còng xuÊt hiÖn vµ g©y ra c¸c vÊn ®Ò khi ¸p dông khu«n c¶nh nµy -Kh¸ch hµng khã ph¸t biÓu hÕt yªu cÇu t­êng minh cña dù ¸n ® dÔ cã bÊt tr¾c -Kh¸ch hµng ph¶i kiªn nhÉn. ë cuèi thêi gian dù ¸n míi cã b¶n ch­¬ng tr×nh lµm viÖc ®­îc. NÕu ch­¬ng tr×nh gÆp lçi ® th¶m ho¹ -Cã vÞ trÝ quan träng vµ x¸c ®Þnh trong c«ng viÖc vµ kü nghÖ phÇn mÒm: ®­a ra c¸c ph­¬ng ph¸p khoa häc, ®­a ra c¸c b­íc tæng qu¸t ¸p dông ®­îc cho mäi khu«n c¶nh kü nghÖ phÇn mÒm ® cßn lµ m« h×nh thñ tôc ®­îc sö dông réng r·i -Cßn ®iÓm yÕu nh­ng vÉn tèt h¬n ®¸ng kÓ so víi c¸ch tiÕp cËn ngÉu nhiªn 1..3.3. M« h×nh lµm b¶n mÉu (c¸ch tiÕp cËn 2) C¸ch tiÕp cËn lµm b¶n mÉu cho kü nghÖ phÇn mÒm lµ c¸ch tiÕp cËn tèt nhÊt khi: -Kh¸ch hµng x¸c ®Þnh ®­îc môc tiªu tæng qu¸t cho phÇn mÒm, nh­ng ch­a x¸c ®Þnh ®­îc input vµ output -Ng­êi ph¸t triÓn kh«ng ch¾c vÒ hiÖu qu¶ cña thuËt to¸n, vÒ thÝch nghi hÖ ®iÒu hµnh hay giao diÖn ng­êi m¸y cÇn cã Lµm b¶n mÉu lµ mét tiÕn tr×nh gióp ng­êi ph¸t triÓn cã kh¶ n¨ng t¹o ra mét m« h×nh cho phÇn mÒm cÇn x©y dùng. M« h×nh cã thÓ lÊy mét trong 3 d¹ng: 1.B¶n mÉu trªn giÊy hay trªn PC m« t¶ giao diÖn ng­êi-m¸y d­íi d¹ng lµm cho ng­êi dïng hiÓu ®­îc c¸ch c¸c t­¬ng t¸c xuÊt hiÖn 2.B¶n mÉu lµm viÖc cµi ®Æt mét tËp con chøc n¨ng phÇn mÒm mong muèn 3.Mét ch­¬ng tr×nh mµ cã thùc hiÖn mét phÇn hay tÊt c¶ chøc n¨ng mong muèn nh­ng cÇn c¶i tiÕn thªm c¸c tÝnh n¨ng kh¸c tuú theo kh¶ n¨ng ph¸t triÓn . TËp hîp yªu cÇu vµ lµm mÞn® x¸c ®Þnh môc tiªu tæng thÓ, kh¶o s¸t thªm ®Ó ®Þnh râ yªu cÇu KÕt thóc D·y c¸c sù kiÖn cña khu«n c¶nh lµm b¶n mÉu ®­îc minh ho¹ trong h×nh sau: ® (vi chØnh Y/C) gièng nh­ mäi c¸ch tiÕp cËn tíi viÖc §¸nh gi¸ cña kh¸ch hµng vÒ b¶n m·u B¾t ®Çu ® S¶n phÈm Lµm mÞn b¶n m·u X©y dùng b¶n m·u thiÕt kÕ nhanh (input, output) ph¸t triÓn phÇn mÒm, viÖc lµm b¶n mÉu víi viÖc thu thËp yªu cÇu. Ng­êi ph¸t triÓn vµ kh¸ch hµng gÆp nhau vµ x¸c ®Þnh môc tiªu tæng thÓ cho phÇn mÒm, x¸c ®Þnh c¸c yªu cÇu nµo ®· biÕt, miÒn nµo cÇn kh¶o s¸t thªm. Råi ®Õn viÖc thiÕt kÕ nhanh. ThiÕt kÕ nhanh tËp trung vµo viÖc biÓu diÔn c¸c khÝa c¹nh cña phÇn mÒm thÊy ®­îc ®èi víi ng­êi dïng (c¸ch ®­a vµo vµ ®Þnh d¹ng ®­a ra). ThiÕt kÕ nhanh ® x©y dùng mét b¶n mÉu ® ng­êi dïng ®¸nh gi¸ ® lµm mÞn c¸c yªu cÇu cho phÇn mÒm. TiÕn tr×nh lÆp ®i lÆp l¹i x¶y ra ®Ó cho b¶n mÉu ®­îc “vi chØnh” tho¶ m·n yªu cÇu cña kh¸ch, ®ång thêi gióp ng­êi ph¸t triÓn hiÓu kü h¬n cÇn ph¶i thùc hiÖn nhu cÇu nµo. 1.3.4.M« h×nh xo¾n èc (c¸ch tiÕp cËn 3) -Bao gåm c¸c tÝnh n¨ng tèt nhÊt cña c¶ vßng ®êi cæ ®iÓn vµ lµm b¶n mÉu + ph©n tÝch rñi ro -X¸c ®Þnh bëi 4 ho¹t ®éng chÝnh: LËp kÕ ho¹ch: x¸c ®Þnh môc tiªu, gi¶i ph¸p vµ rµng buéc Ph©n tÝch rñi ro: ph©n tÝch c¸c ph­¬ng ¸n vµ x¸c ®Þnh/ gi¶i quyÕt rñi ro Kü nghÖ: ph¸t triÓn s¶n phÈm “møc tiÕp theo” §¸nh gi¸ cña kh¸ch hµng: kh¼ng ®Þnh kÕt qu¶ cña kü nghÖ -Víi mçi lÇn lÆp xung quanh xo¾n èc (b¾t ®Çu tõ t©m), x¸c ®Þnh thªm c¸c phiªn b¶n ®­îc hoµn thiÖn dÇn. NÕu ph©n tÝch rñi ro chØ ra r»ng kh«ng ch¾c ch¾n trong c¸c yªu cÇu th× viÖc lµm b¶n mÉu cã thÓ ®­îc sö dông trong gãc phÇn t­ kü nghÖ; c¸c m« h×nh vµ c¸c m« pháng kh¸c còng ®­îc dïng ®Ó lµm râ h¬n vÊn ®Ò vµ lµm mÞn yªu cÇu Kh¸ch ®­a ra nh÷ng gîi ý thay ®æi®vßng xo¸y míi. T¹i mçi vßng xung quanh xo¾n èc, cao ®iÓm cña viÖc ph©n tÝch rñi ro lµ quyÕt ®Þnh ”tiÕn hµnh hay kh«ng tiÕn hµnh”. NÕu rñi ro qu¸ lín th× cã thÓ ®×nh chØ dù ¸n Mäi m¹ch ®i xung quanh xo¾n èc ®Òu ®ßi hái kü nghÖ (gãc ®«ng-nam) cã thÓ ®­îc thùc hiÖn b»ng c¸ch tiÕp cËn vßng ®êi vµ lµm b¶n mÉu. TÊt nhiªn sè c¸c ho¹t ®éng ph¸t triÓn ph¶i t¨ng lªn khi ho¹t ®éng chuyÓn xa h¬n ra khái trung t©m vßng xo¸y èc NhËn xÐt: -Khu«n c¶nh m« h×nh xo¾n èc ®èi víi kü nghÖ phÇn mÒm hiÖn t¹i lµ c¸ch tiÕp cËn thùc tÕ nhÊt ®Õn viÖc ph¸t triÓn cho c¸c hÖ thèng vµ phÇn mÒm quy m« lín. Trong ®ã ng­êi ta dïng c¸ch lµm b¶n mÉu nh­ mét c¬ chÕ lµm gi¶m bít rñi ro. -M« h×nh nµy t­¬ng ®èi míi vµ cßn ch­a ®­îc sö dông réng r·i nh­ vßng ®êi/ lµm b¶n mÉu tËp hîp yªu cÇu ban ®Çu vµ kÕ ho¹ch dù ¸n ph©n tÝch rñi ro dùa trªn yªu cÇu ban ®Çu ph©n tÝch rñi ro ph©n tÝch rñi ro dùa trªn ph¶n øng cña kh¸ch hµng QuyÕt ®Þnh cã tiÕp tôc hay kh«ng ? (cao ®iÓm cña viÖc ph©n tÝch rñi ro) H­íng tíi hÖ thèng hoµn chØnh kü nghÖ kÕ ho¹ch kÕ ho¹ch dùa trªn ý kiÕn cña kh¸ch hµng ®¸nh gi¸ cña kh¸ch hµng b¶n mÉu ban ®Çu b¶n mÉu tiÕp theo §¸nhgi¸cñakh¸ch C¸ch tiÕp cËn thùc tÕ nhÊt cho viÖc ph¸t triÓn c¸c hÖ thèng vµ phÇn mÒm cã quy m« lín 1.3.5. Kü thuËt thÕ hÖ thø 4 (c¸ch tiÕp cËn 4) ThuËt ng÷ “kü thuËt thø 4” (4GT) bao gåm mét ph¹m vi réng c¸c c«ng cô phÇn mÒm cã mét ®iÓm chung: -Mçi c«ng cô ®Òu cho phÐp ng­êi ph¸t triÓn phÇn mÒm x¸c ®Þnh mét sè ®Æc tr­ng cña phÇn mÒm ë møc cao. C«ng cô ®ã tù ®éng sinh ra m· ch­¬ng tr×nh gèc theo nhu cÇu cña ng­êi ph¸t triÓn. Khu«n c¶nh 4GT tËp trung vµo kh¶ n¨ng x¸c ®Þnh phÇn mÒm ë møc ®é gÇn víi ng«n ng÷ tù nhiªn hay dïng mét ký ph¸p øng víi chøc n¨ng. M«i tr­êng ph¸t triÓn phÇn mÒm hç trî cho khu«n c¶nh 4GT bao gåm mét sè hoÆc tÊt c¶ c¸c c«ng cô sau: -Ng«n ng÷ phi thñ tôc ®Ó truy vÊn CSDL -Bé sinh b¸o c¸o -Bé thao t¸c d÷ liÖu -Bé t­¬ng t¸c vµ x¸c ®Þnh mµn h×nh -Bé sinh ch­¬ng tr×nh/m· (code generation) -Kh¶ n¨ng ®å ho¹ møc cao -Kh¶ n¨ng lµm trang tÝnh Khu«n c¶nh 4GT cho kü nghÖ phÇn mÒm ®­îc thÓ hiÖn trªn s¬ ®å: Cµi ®Æt sö dông TËp hîp yªu cÇu ChiÕn l­îc thiÕt kÕ KiÓm thö NhËn xÐt: -ViÖc dïng khu«n c¶nh 4GT cßn nhiÒu tranh c·i: +Ng­êi ñng hé: cho r»ng 4GT lµm gi¶m ®¸ng kÓ thêi gian ph¸t triÓn phÇn mÒm, t¨ng hiÖu suÊt cña ng­êi ph¸t triÓn phÇn mÒm +Ng­êi ph¶n ®èi: cho r»ng 4GT kh«ng ph¶i tÊt c¶ ®Òu dÔ dµng h¬n c¸c ng«n ng÷ lËp tr×nh, c¸c ch­¬ng tr×nh gèc do c¸c c«ng cô nµy t¹o ra lµ “kh«ng hiÖu qu¶” vµ r»ng viÖc b¶o tr× c¸c hÖ thèng phÇn mÒm lín h¬n ®­îc ph¸t triÓn b»ng c¸ch dïng 4GT sÏ sinh ra nhiÒu vÊn ®Ò míi. -§èi víi CSDL lín, 4GT chØ míi giíi h¹n vµo c¸c øng dông hÖ th«ng tin nghiÖp vô, ®Æc biÖt, viÖc ph©n tÝch th«ng tin vµ lµm b¸o c¸o (nh©n tè chñ chèt cho c¸c CSDL lín). -§èi víi øng dông võa vµ nhá, thêi gian thu thËp d÷ liÖu s¬ bé cÇn ®Ó t¹o phÇn mÒm ®­îc gi¶m ®¸ng kÓ. Khèi l­îng thiÕt kÕ cho c¸c øng dông nhá còng ®­îc rót bít -§Ó ph¸t triÓn phÇn mÒm lín ®ßi hái tËp trung nhiÒu vµo ph©n tÝch, thiÕt kÕ vµ kiÓm thö ®Ó ®¹t tíi viÖc tiÕt kiÖm thêi gian lµ chñ yÕu. Nhu cÇu trung b×nh -C¸c kü thuËt thÕ hÖ 4 ®· trë thµnh phÇn quan träng cña viÖc ph¸t triÓn phÇn mÒm trong lÜnh vùc øng dông hÖ th«ng tin. B¶n chÊt thay ®æi cña sù ph¸t triÓn phÇn mÒm ®­îc thÓ hiÖn nh­ sau: ¸p dông c¸c kü thuËt thÕ hÖ 4 Nhu cÇu phÇn mÒm 1970 1980 1990 1.3.6. Tæ hîp c¸c khu«n c¶nh BÊt kú mét trong c¸c khu«n c¶nh còng ®Òu lµ cã thÓ dïng lµm nÒn t¶ng ®Ó tÝch hîp c¸c khu«n c¶nh kh¸c TËp hîp c¸c yªu cÇu ban ®Çu (x¸c ®Þnh c¸c môc tiªu, c¸c ph­¬ng ¸n, c¸c rµng buéc) ph©n tÝch yªu cÇu lµm b ¶n mÉu 4GT M« h×nh xo¸y èc thiÕt kÕ M· ho¸ KiÓm chøng 4GT B¶n mÉu: vßng thø n 4GT M« h×nh: vßng thø n hÖ thèng ho¹t ®éng B¶o tr× S¬ ®å tæ hîp c¸c khu«n c¶nh Trong mäi tr­êng hîp, c«ng viÖc b¾t ®Çu: x¸c ®Þnh môc tiªu, ph­¬ng ¸n, rµng buéc (thu thËp yªu cÇu s¬ bé). Tõ ®iÓm nµy, bÊt kú mét con ®­êng nµo rÏ nh¸nh ®Òu cã thÓ chän. VÝ dô: ®­êng bªn tr¸i (vßng ®êi cæ ®iÓn). NÕu yªu cÇu cßn ch­a ®­îc ch¾c ch¾n th× cã thÓ sö dông b¶n mÉu ®Ó x¸c ®Þnh yªu cÇu ®Çy ®ñ h¬n. B»ng c¸ch dïng b¶n mÉu nh­ mét b¶n h­íng dÉn, ng­êi ph¸t triÓn cã thÓ trë l¹i vßng ®êi cæ ®iÓn (thiÕt kÕ, m· ho¸, kiÓm thö). Theo mét c¸ch kh¸c, b¶n mÉu cã thÓ tiÕn ho¸ thµnh hÖ thèng s¶n xuÊt, quay trë vÒ khu«n c¶nh vßng ®êi ®Ó kiÓm thö. C¸c kü thuËt thÕ hÖ 4 ®­îc dïng ®Ó cµi ®Æt b¶n mÉu hay cµi ®Æt hÖ thèng s¶n xuÊt trong b­íc m· ho¸ cña vßng ®¬×. 4GT cã thÓ ®­îc dïng kÌm víi m« h×nh xo¸y èc cho c¸c b­íc lµm b¶n mÉu hay m· ho¸ Chó ý: Kh«ng nªn cøng nh¾c vÒ viÖc chän khu«n c¶nh cho kü nghÖ phÇn mÒm. Dùa vµo b¶n chÊt cña øng dông mµ Ên ®Þnh ra c¸ch tiÕp cËn cÇn ®­îc chän. B»ng c¸ch tæ hîp c¸c c¸ch tiÕp cËn th× Ých lîi mét tæng thÓ sÏ cßn lín h¬n lµ tæng cña tõng thµnh phÇn. 1.4. C¸c b­íc tæng qu¸t trong tiÕn tr×nh kü nghÖ phÇn mÒm TiÕn tr×nh ph¸t triÓn kü nghÖ phÇn mÒm chøa 3 giai ®o¹n chÝnh: -X¸c ®Þnh (träng t©m lµ ph©n tÝch vµ x¸c ®Þnh yªu cÇu phÇn mÒm ) -Ph¸t triÓn (cÊu tróc d÷ liÖu , kiÕn tróc phÇn mÒm , thñ tôc thuËt to¸n, giao diÖn) -B¶o tr× (söa lçi, thÝch nghi, n©ng cao) trong mäi miÒn øng dông, mäi cì dù ¸n, mäi ®é phøc t¹p. 1.4.1.Giai ®o¹n x¸c ®Þnh +TËp trung vµo c¸i g×? -X¸c ®Þnh th«ng tin nµo cÇn ®­îc xö lý -Chøc n¨ng vµ hiÖu n¨ng nµo lµ cÇn cã -Giao diÖn nµo cÇn ®­îc thiÕt lËp -Rµng buéc thiÕt kÕ nµo hiÖn cã -Tiªu chuÈn hîp lÖ nµo cÇn cã -Yªu cÇu chñ chèt cña hÖ thèng vµ phÇn mÒm +C¸c ph­¬ng ph¸p: C¸c ph­¬ng ph¸p thay ®æi tuú theo khu«n c¶nh kü nghÖ phÇn mÒm (hay tæ hîp c¸c khu«n c¶nh) ®­îc ¸p dông, song tèi thiÓu cÇn cã 3 b­íc riªng d­íi d¹ng: Ph©n tÝch hÖ thèng : §· ®­îc m« t¶ trong vßng ®êi cæ ®iÓn X¸c ®Þnh vai trß cña tõng phÇn tö trong hÖ thèng dùa trªn m¸y tÝnh V¹ch ra vai trß mµ phÇn mÒm gi÷ LËp kÕ ho¹ch dù ¸n phÇn mÒm : X¸c ®Þnh nhiÖm vô, c«ng viÖc LËp lÞch Ph©n tÝch yªu cÇu : X¸c ®Þnh ph¹m vi cho phÇn mÒm X¸c ®Þnh chi tiÕt lÜnh vùc th«ng tin vµ chøc n¨ng phÇn mÒm ph¶i ®¶m nhËn tr­íc khi sang giai ®o¹n ph¸t triÓn. HÖ thèng m¸y tÝnh bao gåm 3 phÇn: C¸c m¸y tÝnh: m¸y chñ, m¸y tr¹m, m¸y ®¬n lÎ, c¸c trang thiÕt bÞ m¹ng, hç trî m¹ng vµ truyÒn th«ng phÇn mÒm hÖ thèng : hÖ ®iÒu hµnh m¹ng, tr¹m, c¸c ch­¬ng tr×nh dÞch, c¸c ng«n ng÷ lËp tr×nh, c¸c hÖ qu¶n trÞ d÷ liÖu C¸c phÇn mÒm øng dông: gi¶i quyÕt mét líp bµi to¸n cô thÓ nµo ®ã +C¸c b­íc tæng qu¸t cÇn thùc hiÖn : chøc n¨ng phÇn mÒm lËp kÕ ho¹ch dù ¸n phÇn mÒm ph©n tÝch & x¸c ®Þnh yªu cÇu phÇn mÒm hay b¶n mÉu duyÖt xÐt duyÖt xÐt kÕ ho¹ch dù ¸n (®­îc cÊp qu¶n lý dù ¸n xÐt duyÖt) §Æc t¶ yªu cÇu b¶n mÉu tÝnh kh¶ thi ®¶m b¶o tÝnh hîp lÖ tµi liÖu bµn giao .LËp kÕ ho¹ch phÇn mÒm (b­íc khëi ®Çu): CÇn: X©y dùng ra 1 m« t¶ v¾n t¾t vÒ ph¹m vi ho¹t ®éng cña phÇn mÒm Ph©n tÝch rñi ro Dù kiÕn tµi nguyªn cÇn cho viÖc x©y dùng phÇn mÒm ThiÕt lËp c¸c ­íc l­îng chi phÝ vµ lÞch biÓu Môc tiªu: -§­a ra mét chØ dÉn s¬ bé vÒ tÝnh kh¶ thi cña dù ¸n víi c¸c rµng buéc vÒ chi phÝ vµ lÞch biÓu mµ cã thÓ thiÕt lËp tr­íc -CÇn t¹o ra ®­îc b¶n kÕ ho¹ch dù ¸n phÇn mÒm vµ ®­îc cÊp qu¶n lý dù ¸n xÐt duyÖt Ph©n tÝch vµ x¸c ®Þnh yªu cÇu phÇn mÒm : +X¸c ®Þnh chi tiÕt phÇn tö hÖ thèng ®­îc cÊp ph¸t cho phÇn mÒm +Cã 2 c¸ch ph©n tÝch vµ x¸c ®Þnh yªu cÇu : -Ph©n tÝch lÜnh vùc th«ng tin h×nh thøc: sö dông m« h×nh luång vµ cÊu tróc th«ng tin ® më réng ®Ó trë thµnh ®Æc t¶ phÇn mÒm -X©y dùng b¶n mÉu phÇn mÒm + kh¸ch ®¸nh gi¸ ®cñng cè yªu cÇu / giíi h¹n tµi nguyªn ® dÞch thµnh c¸c ®Æc tr­ng thiÕt kÕ phÇn mÒm +Ph©n tÝch tæng thÓ phÇn mÒm ® x¸c ®Þnh ra nh÷ng tiªu chuÈn hîp lÖ ® phôc vô kÕ ho¹ch kiÓm thö ® tá r»ng c¸c yªu cÇu ®­îc ®¸p øng + Do c¶ ng­êi x©y dùng phÇn mÒm lÉn kh¸ch hµng tiÕn hµnh .B¶n ®Æc t¶ yªu cÇu phÇn mÒm : -lµ tµi liÖu bµn giao, ®­îc t¹o ra do kÕt qu¶ cña b­íc ph©n tÝch yªu cÇu vµ x¸c ®Þnh phÇn mÒm -thÓ hiÖn ®Ønh ®iÓm kÕt qu¶ cuéc häp xÐt duyÖt kü thuËt gi÷a kh¸ch hµng vµ ng­êi ph¸t triÓn phÇn mÒm KÕ ho¹ch dù ¸n phÇn mÒm -H×nh thµnh khi c¸c yªu cÇu (chÊp nhËn ®­îc) ®· ®­îc x¸c ®Þnh -Lµ c¬ së ®Ó ®¸nh gi¸ l¹i tÝnh ®óng ®¾n -Lµ tµi liÖu bµn giao cña giai ®o¹n x¸c ®Þnh cho giai ®o¹n tiÕp theo 1.4.2. Giai ®o¹n ph¸t triÓn +TËp trung vµo thÕ nµo? Khi x¸c ®Þnh, ng­êi ph¸t triÓn phÇn mÒm cè g¾ng x¸c ®Þnh c¸ch cÊu tróc d÷ liÖu vµ kiÕn tróc phÇn mÒm cÇn ®­îc thiÕt kÕ, c¸ch c¸c chi tiÕt thñ tôc ®­îc cµi ®Æt, c¸ch dÞch thiÕt kÕ thµnh ng«n ng÷ lËp tr×nh, c¸ch thùc hiÖn kiÓm thö + Ph­¬ng ph¸p ¸p dông: thay ®æi nh­ng cã 3 b­íc ®Æc thï bao giê còng xuÊt hiÖn d­íi d¹ng: 1.ThiÕt kÕ phÇn mÒm: thiÕt kÕ viÖc chuyÓn ho¸ c¸c yªu cÇu vÒ phÇn mÒm ® tËp c¸c biÓu diÔn (dùa trªn ®å ho¹, b¶ng, hay ng«n ng÷) +m« t¶ cÊu tróc d÷ liÖu , +kiÕn tróc phÇn mÒm +m« t¶ thñ tôc thuËt to¸n, +®Æc tr­ng giao diÖn 2.M· ho¸: c¸c biÓu diÔn thiÕt kÕ dÞch thµnh 1 ng«n ng÷ nh©n t¹o ® kÕt qu¶ lµ c¸c lÖnh thùc hiÖn ®­îc trªn m¸y tÝnh 3.KiÓm thö phÇn mÒm : ph¸t hiÖn khiÕm khuyÕt khi vËn hµnh, trong logic vµ trong cµi ®Æt +C¸c b­íc tæng qu¸t cÇn ®­îc thùc hiÖn : §©y lµ giai ®o¹n x©y dùng hoÆc triÓn khai viÖc chuyÓn ho¸ c¸c yªu cÇu thµnh phÇn tö hÖ thèng vËn hµnh mµ ta quen gäi lµ phÇn mÒm thiÕt kÕ d÷ liÖu vµ kiÕn tróc duyÖt xÐt thiÕt kÕ thñ tôc duyÖt xÐt lËp tr×nh duyÖt xÐt §Æc t¶ thiÕt kÕ s¬ bé §Æc t¶ thiÕt kÕ chi tiÕt b¶n mÉu m· gèc ch­¬ng tr×nh tµi liÖu bµn giao KiÓm thö (®¬n vÞ, tÝch hîp vµ hîp lÖ) gì lçi KÕ ho¹ch, thñ tôc, kÕt qu¶ kiÓm thö tµi liÖu bµn giao B­íc ®Çu cÇn hoµn thµnh thiÕt kÕ : -M« t¶ vÒ thiÕt kÕ kiÕn tróc vµ d÷ liÖu (tøc lµ x©y dùng mét kiÕn tróc modul x¸c ®Þnh giao diÖn, thiÕt lËp cÊu tróc d÷ liÖu, c¸c tiªu chÝ ®Þnh gi¸ chÊt l­îng) -ThiÕt kÕ s¬ bé: xÐt duyÖt tÝnh ®Çy ®ñ vµ kh¶ n¨ng theo dâi c¸c yªu cÇu phÇn mÒm -§Æc t¶ thiÕt kÕ lµ b¶n th¶o s¬ bé ®­îc bµn giao vµ trë thµnh mét phÇn cña cÊu h×nh phÇn mÒm ThiÕt kÕ thñ tôc: -XÐt thñ tôc cu¶ tõng thµnh phÇn modul cña thiÕt kÕ -C¸c m« t¶ thñ tôc chi tiÕt ®­îc bæ sung vµo b¶n ®Æc t¶ thiÕt kÕ M· ho¸: dïng ng«n ng÷ lËp tr×nh thÝch hîp/ c«ng cô CASE -§­îc ®¸nh gi¸ lµ kÕt qu¶ cña viÖc thiÕt kÕ tèt -B¶n in ch­¬ng tr×nh ng«n n g÷ gèc cho tõng modul thµnh phÇn phÇn mÒm lµ cÊu h×nh bµn giao Ho¹t ®éng kiÓm chøng vµ lµm hîp lÖ: -KiÓm thö hiÖu suÊt chøc n¨ng cña tõng modul -KiÓm thö tÝch hîp chøc n¨ng vµ giao diÖn -KiÓm thö tÝnh hîp lÖ (x¸c nhËn mäi yªu cÇu ®· ®­îc ®¸p øng ch­a) Sau tõng b­íc cã thÓ tiÕn hµnh gì lçi-chÈn ®o¸n-söa lçi KÕ ho¹ch vµ thñ tôc kiÓm thö: x©y dùng cho tõng b­íc kiÓm thö 1.4.3. Giai ®o¹n b¶o tr× Giai ®o¹n b¶o tr× tËp trung vµo nh÷ng thay ®æi. Thay ®æi g¾n víi viÖc söa lçi, thÝch øng khi m«i tr­êng phÇn mÒm tiÕn ho¸ vµ sù n©ng cÊp Giai ®o¹n b¶o tr× ¸p dông l¹i c¸c b­íc cña giai ®o¹n x¸c ®Þnh vµ ph¸t triÓn nh­ng trong hoµn c¶nh phÇn mÒm ®· cã. +Cã 3 kiÓu thay ®æi gÆp ph¶i trong giai ®o¹n b¶o tr×: 1.Söa ®æi: thay ®æi phÇn mÒm ®Ó kh¾c phôc khiÕm khuyÕt 2.ThÝch nghi: m«i tr­êng ban ®Çu thay ®æi (CPU, hÖ ®iÒu hµnh, ngo¹i vi) ®Ó ph¸t triÓn phÇn mÒm ® thay ®æi. B¶o tr× thÝch nghi thùc hiÖn viÖc söa ®æi phÇn mÒm ®Ó thÝch hîp víi nh÷ng thay ®æi m«i tr­êng ngoµi. 3.N©ng cao: chøc n¨ng phô ph¸t sinh® b¶o tr× hoµn thiÖn më réng phÇn mÒm ra ngoµi c¸c yªu cÇu chøc n¨ng gèc cña nã +C¸c b­íc tæng qu¸t cÇn thùc hiÖn : Sai sãt cã thÓ g©y ra viÖc trë l¹i c¸c b­íc tr­íc KiÓm thö (®¬n vÞ, tÝch hîp vµ hîp lÖ) Gì lçi ph¸t hµnh vµ ph©n phèi duyÖt xÐt B¶o tr× (söa ®æi, thÝch nghi m«i tr­êng, n©ng cao) duyÖt xÐt KÕ ho¹ch, thñ tôc vµ kÕt qu¶ viÖc kiÓm chøng Tµi liÖu ng­êi dïng Ch­¬ng tr×nh vËn hµnh m· gèc ch­¬ng tr×nh Tµi liÖu ®· söa tµi liÖu bµn giao tµi liÖu bµn giao tµi liÖu bµn giao tµi liÖu bµn giao §©y lµ giai ®o¹n kiÓm chøng, bµn giao vµ b¶o tr×: cÇn t×m ra tèi ®a sè lçi tr­íc khi bµn giao s¶n phÈm cho kh¸ch hµng, chuÈn bÞ phÇn mÒm ®Ó bµn giao, b¶o tr× phÇn mÒm th«ng qua cuéc ®êi cã Ých cña nã. Tr­íc khi bµn giao: cÇn tiÕn hµnh mét lo¹t ho¹t ®éng ®¶m b¶o chÊt l­îng, chó ý c¸c tµi liÖu bµn giao cã chøa danh môc, c¬ chÕ kiÓm so¸t, cÊu h×nh thÝch hîp Sau khi bµn giao: B¶o tr×- söa lçi, thÝch nghi m«i tr­êng vµ n©ng cao chøc n¨ng. Nh÷ng thay ®æi vÒ phÇn mÒm bao gåm kh«ng chØ cã m· m¸y mµ cßn ph¶i cã toµn bé cÊu h×nh (nh­ mäi ch­¬ng tr×nh, d÷ liÖu, t­ liÖu ®· ®­îc ph¸t triÓn trong c¸c giai ®o¹n x¸c ®Þnh vµ x©y dùng) NhËn xÐt: -Trong c¸c khu«n c¶nh vßng ®êi cæ ®iÓn vµ m« h×nh xo¸y tr«n èc: c¸c giai ®o¹n vµ c¸c b­íc ®­îc m« t¶ ®Òu ®­îc x¸c ®Þnh mét c¸ch t­êng minh -Trong c¸c khu«n c¶nh lµm b¶n mÉu vµ 4GT: mét sè b­íc ®­îc nªu ra nh­ng kh«ng ®­îc x¸c ®Þnh t­êng minh. C¸ch tiÕp cËn tíi tõng b­íc cã thÓ biÕn ®éng tõ khu«n c¶nh nä sang khu«n c¶nh kia, nh­ng toµn bé c¸ch tiÕp cËn yªu cÇu bao gåm viÖc x¸c ®Þnh, ph¸t triÓn vµ b¶o tr× vÉn kh«ng thay ®æi. -Cã thÓ tiÕn hµnh tõng giai ®o¹n theo kØ luËt vµ ph­¬ng ph¸p ®· ®­îc x¸c ®Þnh râ hoÆc còng cã thÓ lµm lén xén qua mçi b­íc mét c¸ch ngÉu nhiªn. Tõ ®©y, chóng ta quan t©m ®Õn c¸ch tiÕp cËn tíi viÖc ph¸t triÓn phÇn mÒm nhÊn m¹nh vµo kû luËt vµ ph­¬ng ph¸p ®· ®­îc x¸c ®Þnh râ - mét c¸ch tiÕp cËn quen gäi lµ kü nghÖ phÇn mÒm -Ng­êi ta cã thÓ chia viÖc ph¸t triÓn phÇn mÒm bao gåm 4 pha: +Ph©n tÝch vµ x¸c ®Þnh yªu cÇu +ThiÕt kÕ hÖ thèng vµ thiÕt kÕ phÇn mÒm +Thùc hiÖn vµ thö nghiÖm c¸c ®¬n vÞ cña phÇn mÒm +TÝch hîp vµ thö nghiÖm hÖ thèng Khi ®ã vßng ®êi phÇn mÒm ®­îc biÓu diÔn theo 5 giai ®o¹n: 1.Giai ®o¹n ph©n tÝch vµ x¸c ®Þnh yªu cÇu 2.Giai ®o¹n thiÕt kÕ hÖ thèng vµ thiÕt kÕ phÇn mÒm 3.Giai ®o¹n thùc hiÖn vµ thö nghiÖm c¸c ®¬n vÞ cña phÇn mÒm 4.Giai ®o¹n tÝch hîp vµ thö nghiÖm hÖ thèng 5.Giai ®o¹n vËn hµnh vµ b¶o tr× -M« h×nh qu¸ tr×nh phÇn mÒm: t¹o nguyªn mÉu (ph¸t triÓn mét hÖ ®Ó cho ng­êi dïng thùc nghiÖm, råi thiÕt lËp c¸c yªu cÇu míi, t¹o nguyªn mÉu míi cho tíi khi s¶n phÈm ®¹t yªu cÇu) lµ gÇn gièng nh­ m« h×nh th¨m dß (ph¸t triÓn cµng nhanh cµng tèt mét hÖ thèng råi c¶i biªn hÖ thèng ®ã cho tíi khi nã thùc hiÖn ®­îc nh÷ng yªu cÇu) Trong mét sè tr­êng hîp riªng biÖt, m« h×nh qu¸ tr×nh phÇn mÒm cã thÓ theo kiÓu tËp hîp c¸c thµnh phÇn dïng l¹i ®­îc ®Ó x©y dùng phÇn mÒm tho¶ m·n c¸c yªu cÇu. -Bªn c¹nh m« h×nh th¸c n­íc phæ dông (qu¸ tr×nh phÇn mÒm ®­îc chia thµnh mét sè giai ®o¹n, khi mçi giai ®o¹n kÕt thóc th× qu¸ tr×nh chuyÓn sang giai ®o¹n kÕ tiÕp), ng­êi ta cã nghiªn cøu c¸c m« h×nh kh¸c nh­: +M« h×nh biÕn ®æi h×nh thøc: ph¸t triÓn mét ®Æc t¶ h×nh thøc cña mét hÖ phÇn mÒm, biÕn ®æi ®Æc t¶ ®ã (b¶o ®¶m tÝnh ®óng ®¾n cña c¸c phÐp biÕn ®æi) cho tíi khi cã ®­îc mét ch­¬ng tr×nh tho¶ m·n c¸c yªu cÇu. -Theo Raccoon th× trong nh÷ng n¨m gÇn ®©y ng­êi ta quan t©m ®Õn m« h×nh xo¾n èc nhiÒu h¬n c¶. M« h×nh ®­îc Boehm ®­a ra n¨m 1988. M« h×nh nµy dùa trªn viÖc ph©n tÝch yÕu tè rñi ro. Qu¸ tr×nh ph¸t triÓn ®­îc chia thµnh nhiÒu thêi kú, mçi thêi kú b¾t ®Çu b»ng viÖc ph©n tÝch rñi ro råi t¹o nguyªn mÉu, c¶i t¹o vµ ph¸t triÓn hÖ thèng, duyÖt l¹i, vµ cø thÕ tiÕp tôc -Theo Ian Sommerville th× Boehm ®· ®­a ra c¸c tû lÖ chi phÝ trong phÇn viÖc nh­ b¶ng sau: KiÓu hÖ thèng ph©n tÝch yªu cÇu & thiÕt kÕ (%) thùc hiÖn (m· ho¸) (%) thö nghiÖm (%) 1.C¸c hÖ thèng lÖnh vµ ®iÒu khiÓn 2.C¸c hÖ thèng ®iÒu hµnh 3.C¸c hÖ thèng khoa häc 4.C¸c hÖ thèng t¸c nghiÖp 46 33 44 44 20 17 26 28 34 50 30 28 I.5.§¸nh gi¸ tæng qu¸t vÒ chÊt l­îng hÖ thèng ViÖc ®¸nh gi¸ tæng qu¸t vÒ chÊt l­îng hÖ thèng bao gåm viÖc ®¸nh gi¸ chÊt l­îng tµi liÖu ®Æc t¶, chÊt l­îng thiÕt kÕ vµ chÊt l­îng cña phÇn mÒm c«ng tr×nh (kü nghÖ) tèt th«ng qua c¸c thuéc tÝnh chung. Bèn thuéc tÝnh chñ chèt mµ mét hÖ phÇn mÒm tèt h¼n lµ ph¶i cã: Cã thÓ b¶o tr× ®­îc: phÇn mÒm tuæi thä dµi ph¶i ®­îc viÕt vµ ®­îc lËp t­ liÖu sao cho viÖc thay ®æi cã thÓ tiÕn hµnh ®­îc mµ kh«ng qu¸ tèn kÐm §¸ng tin cËy: phÇn mÒm ph¶i thùc hiÖn ®­îc ®iÒu mµ ng­êi tiªu dïng mong mái vµ kh«ng thÊt b¹i nhiÒu h¬n nh÷ng ®iÒu ®· ®­îc ®Æc t¶ Cã hiÖu qu¶: hÖ thèng ph¶i kh«ng l·ng phÝ nguån lùc bé nhí, bé xö lý. Kh«ng ®ßi hái ph¶i cùc ®¹i ho¸ ®é hiÖu qu¶ v× r»ng viÖc ®ã cã thÓ lµm cho phÇn mÒm rÊt khã thay ®æi Cã giao diÖn ng­êi sö dông thÝch hîp: giao diÖn ng­êi sö dông ph¶i phï hîp víi kh¶ n¨ng vµ kiÕn thøc cña ng­êi dïng hÖ thèng Gi¸ c¶ ph¶i ®­îc tÝnh ®Õn khi x©y dùng 1 phÇn mÒm c«ng tr×nh tèt. B¶o tr× ®­îc coi lµ thuéc tÝnh chñ chèt v× r»ng c¸c chi phÝ g¾n kÕt víi s¶n phÈm phÇn mÒm chñ yÕu lµ trong giai ®o¹n phÇn mÒm ®ã ®­îc ®­a vµo sö dông ViÖc tèi ­u ho¸ mäi thuéc tÝnh nµy lµ rÊt khã kh¨n. Quan hÖ gi÷a chi phÝ vµ sù c¶i thiÖn tõng thuéc tÝnh kh«ng ph¶i lµ tuyÕn tÝnh vµ c¸c c¶i thiÖn nho nhá trong bÊt kú thuéc tÝnh nµo còng lµ rÊt ®¾t. Tãm t¾t PhÇn mÒm ®· trë thµnh phÇn tö chñ chèt trong tiÕn ho¸ cña c¸c hÖ thèng vµ s¶n phÈm dùa trªn m¸y tÝnh. H¬n 40 n¨m qua, b¶n th©n phÇn mÒm ®· tiÕn ho¸ tõ mét c«ng cô ph©n tÝch th«ng tin vµ gi¶i quyÕt vÊn ®Ò ® mét ngµnh c«ng nghiÖp Kü nghÖ phÇn mÒm lµ mét bé m«n tÝch hîp c¶ c¸c ph­¬ng ph¸p, c«ng cô, thñ tôc ®Ó ph¸t triÓn kü nghÖ phÇn mÒm m¸y tÝnh. Cã thÓ ®Ò ra mét sè khu«n c¶nh kh¸c nhau cho kü nghÖ phÇn mÒm, mçi khu«n c¶nh ®Òu cã ®iÓm m¹nh, ®iÓm yÕu, nh­ng nãi chung tÊt c¶ ®Òu cã mét d·y c¸c giai ®o¹n tæng qu¸t. ? cñng cè M«n häc kü nghÖ phÇn mÒm (SE) phôc vô cho ai lµ chÝnh vµ t¹i sao hä cÇn nã ? Ph­¬ng ph¸p tiÕp cËn cña ng­êi thùc hµnh lµ g× ? C¸c chñ ®Ò cÇn quan t©m trong SE ? T¹i sao nãi phÇn mÒm lµ nh©n tè ®Ó ®¸nh gi¸ sù kh¸c biÖt ? ViÖc chÊp nhËn thùc hµnh SE lµ do c¸c th¸ch thøc nµo ? C¸c thµnh phÇn phÇn mÒm ®­îc x©y dùng b»ng c¸ch nµo ? B¶n chÊt cña øng dông phÇn mÒm ®­îc x¸c ®Þnh bëi c¸c nh©n tè nµo ? PhÇn mÒm øng dông ®­îc ph©n lo¹i theo c¸c chñ ®Ò nµo ? Anh (chÞ) hiÓu thÕ nµo lµ SE ? So s¸nh c¸c c¸ch tiÕp cËn c¬ b¶n trong tiÕn tr×nh ph¸t triÓn phÇn mÒm ? (chó ý ®Õn c¸c s¬ ®å) ý nghÜa cña viÖc tæ hîp c¸c khu«n c¶nh ? (chó ý ®Õn c¸c s¬ ®å) Nªu vµ ph©n tÝch c¸c b­íc tæng qu¸t trong tiÕn tr×nh SE ? (chó ý ®Õn s¬ ®å) Giíi thiÖu tãm t¾t c¸c kiÓu m« h×nh qu¸ tr×nh phÇn mÒm ? Nªu c¸c thuéc tÝnh chñ chèt mµ hÖ phÇn mÒm tèt ph¶i cã? 2 July, 2006

Các file đính kèm theo tài liệu này:

  • docbai giang ki nghe phan mem 1.DOC
  • docbai giang ki nghe phan mem 2.DOC
  • docbai giang ki nghe phan mem 3.DOC
  • docbai giang ki nghe phan mem 4.DOC
Tài liệu liên quan