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.
24 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2115 | Lượt tải: 0
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 nhng 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 cha ®î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 trng 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µ lu 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 lu 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, cha cã ph¬ng ph¸p hÖ thèng. Ph¸t triÓn phÇn mÒm cha ®î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é lu 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: cha ®ñ® cÇn ®a ra ®Þnh nghÜa h×nh thøc h¬n
1.2.2.C¸c ®Æc trng phÇn mÒm
PhÇn mÒm lµ phÇn tö hÖ thèng logic cha kh«ng ph¶i lµ hÖ thèng vËt lý. Do ®ã phÇn mÒm cã ®Æc trng kh¸c biÖt ®¸ng kÓ víi c¸c ®Ëc trng 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Õ", nhng 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 trng 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 nhng x¸c ®Þnh (tr×nh biªn dÞch, tr×nh so¹n th¶o, tiÖn Ých qu¶n lý tÖp)
-§Æc trng 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 trng 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 trng 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 trng 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 nhng 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, nhng cha 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 nhng 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 cha ®î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 trng 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 cha ®î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 trng 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 nhng 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 trng 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 cha)
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 nhng 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 nhng 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, nhng 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, nhng 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