Bài giảng Nhập môn Công nghệ phần mềm - Chương 2: Mô hình phát triển - Nguyễn Thanh Bình

Mô hình phát triꢀn  
(2)  
Nguyꢀn Thanh Bình  
Khoa Công nghꢁꢂThôngꢂtin  
Trưꢃng ðꢄi hꢅc Bách khoa  
ðꢄi hꢅc ðà Nꢆng  
Nꢁi dung  
ꢀ
ꢀ
Các hoꢂt ñꢁng phát triꢀn phꢃn mꢄm  
Các mô hình phát triꢀn phꢃn mꢄm  
2
1
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
Phân tích tính khꢅ thi  
Phân tích vàꢆñꢇc tꢅ yêu cꢃu  
Thiꢈt kꢈ  
Mã hóa  
Kiꢀm thꢉ  
Bꢅo trì  
3
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Phân tích tính khꢅ thi  
ꢁ
xác ñꢊnh vꢋn ñꢄ cꢃn giꢅi quyꢈt,  
ꢁ
xem xét các giꢅi pháp và kĩ thuꢌt khác nhau  
• thuꢌn lꢍi  
ꢁ
ꢁ
ñánh giá vꢄ thꢎi gian, giá thành, nguꢏn tài  
nguyên cꢃn thiꢈt  
Sꢅn phꢐm: tài liꢑu phân tích  
4
2
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Phân tích vàꢆñꢇc tꢅ yêu cꢃu (1)  
ꢁ
xác ñꢊnh nhu cꢃu cꢒa khách hàng/ngưꢎi sꢉ  
dꢓng  
• xác ñꢊnh bài toán, chꢔ không phꢅi là giꢅi pháp  
ꢁ
khóꢆkhăn  
• khách hàng không biꢈt rꢕ cái hꢖ cꢃn  
• khách hàng không trình bày rꢕ cái hꢖ muꢗn  
• các thay ñꢘi  
ꢁ
Sꢅn phꢐm: tài liꢑu ñꢇc tꢅ yêu cꢃu  
5
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Phân tích vàꢆñꢇc tꢅ yêu cꢃu (2)  
ꢁ
các bưꢙc  
• khꢅo sát, tꢘng hꢍp yêu cꢃu  
• phân tích yêu cꢃu  
• hꢍp thꢔc hóa yêu cꢃu  
6
3
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Phân tích vàꢆñꢇc tꢅ yêu cꢃu (3)  
Tꢇng hꢈp và  
phân tích yêu cꢉu  
ðꢊc tꢋ yêu cꢉu  
Hꢈp thꢌc hóa  
yêu cꢉu  
Mô hình hꢁ thꢍng  
Yêu cꢉu hꢁ thꢍng  
cꢎa ngưꢃi sꢏ dꢐng  
Tài liꢁu ñꢊc tꢋ  
yêu cꢉu  
7
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Thiꢈt kꢈ (1)  
ꢁ
chuyꢀn tꢚ tài liꢑu ñꢇc tꢅ yêu cꢃu thành cꢋu trúc lô-gíc có  
thꢀ cài ñꢇt ñưꢍc  
ꢁ
giꢅi pháp cho vꢋn ñꢄꢆñãꢆñưꢍc ñꢇc tꢅ  
ꢁ
thiꢈt kꢈ kiꢈn trúc  
•
các moñun và giao diꢑn cꢒa các mô-ñun  
ꢁ
thiꢈt kꢈ các mô-ñun  
•
cꢋu trúc dꢛ liꢑu  
•
thuꢌt toán  
ꢁ
Sꢅn phꢐm: tài liꢑu thiꢈt kꢈ  
8
4
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Thiꢈt kꢈ (2)  
Thiꢑt kꢑ  
kiꢑn trúc  
Thiꢑt kꢑ  
giao diꢁn  
Thiꢑt kꢑꢂ  
mô-ñun  
Thiꢑt kꢑ  
cꢒu trúc dꢓ liꢁu  
ñꢊc tꢋ  
kiꢑn trúc  
Thiꢑt kꢑ  
thuꢔt toán  
ñꢊc tꢋ  
giao diꢁn  
ñꢊc tꢋꢂ  
mô-ñun  
ñꢊc tꢋ  
cꢒu trúc dꢓ liꢁu  
ñꢊc tꢋ  
thuꢔt toán  
9
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Thiꢈt kꢈ (3)  
ꢁ
các phương pháp thiꢈt kꢈ  
• hưꢙng chꢔc năng  
• hưꢙng ñꢗi tưꢍng  
10  
5
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Mã hóa và gꢜ rꢗi  
ꢁ
mã hóa  
•
cài ñꢇt các thiꢈt kꢈ bꢝng ngôn ngꢛ lꢌp trình  
•
không ñơn thuꢃn chꢞ là lꢌp trình  
•
•
•
•
•
•
viꢈt tài liꢑu  
insertions/invariants  
chuꢐn lꢌp trình (coding standards)  
lꢌp trình theo cꢇp (pair programming)  
công cꢓ  
quꢅn lý phiên bꢅn  
ꢁ
ꢁ
gꢜ rꢗi  
•
phát hiꢑn các lꢟi trong quá trình lꢌp trình  
Sꢅn phꢐm: chương trình  
11  
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Kiꢀm thꢉ (1)  
ꢁ
phát hiꢑn lꢟi trong chương trình  
ꢁ
lꢌp kꢈ hoꢂch thꢠc hiꢑn kiꢀm thꢉ  
• tꢂo các trưꢎng hꢍp kiꢀm thꢉ  
ꢁ
ꢁ
mã nguꢏn ñưꢍc kiꢀm thꢉ theo tài liꢑu thiꢈt kꢈ  
Sꢅn phꢐm: báo cáo kiꢀm thꢉ  
12  
6
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Kiꢀm thꢉ (2)  
ꢁ
các hoꢂt ñꢁng kiꢀm thꢉ  
• kiꢀm thꢉꢆñơnꢆvꢊ  
• kiꢀm thꢉ tích hꢍp  
• kiꢀm thꢉ hꢑ thꢗng  
• kiꢀm thꢉ chꢋp nhꢌn  
13  
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Kiꢀm thꢉ (3)  
ꢁ
các phương pháp kiꢀm thꢉ  
• kiꢀm thꢉ tĩnh  
• kiꢀm thꢉꢆñꢁng  
• kiꢀm thꢉ hꢁp ñen  
• kiꢀm thꢉ hꢁp trꢡng  
14  
7
Các hoꢂt ñꢁng phát triꢀn  
phꢃn mꢄm  
ꢀ
Bꢅo trì  
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
bꢅo ñꢅm chương trình vꢌn hành tꢗt  
cài ñꢇt các thay ñꢘi  
cài ñꢇt các yêu cꢃu mꢙi  
xꢉ lý các lꢟi khi vꢌn hành  
Sꢅn phꢐm: chương trình  
15  
Các mô hình phát triꢀn phꢃn  
mꢄm  
ꢀ
Sꢠ tꢘ chꢔc các hoꢂt ñꢁng phát triꢀn phꢃn mꢄm  
ꢀ
Mô hình phát triꢀn phꢃn mꢄm hay tiꢈn trình phát triꢀn  
phꢃn mꢄm  
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
mô hình nguyên mꢢu  
mô hình V  
mô hình tiꢈn hóa  
mô hình xoꢡn ꢗc  
mô hình hꢍp nhꢋt  
16  
8
Mô hình thác nưꢙc  
(waterfall model)  
Phân tích tính  
khꢅ thi  
Phân tích vàꢆ  
ñꢇc tꢅ yêu cꢃu  
Thiꢈt kꢈ  
Mã hóa và  
kiꢀm thꢉ  
Cài ñꢇt và bꢅo  
trì  
17  
Mô hình thác nưꢙc  
ꢀ
Ưu ñiꢀm  
ꢁ
dꢠ án nhꢕ  
yêu cꢃu xác ñꢊnh  
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
dꢠ án lꢙn  
thꢎi gian  
sꢉa lꢟi  
yêu cꢃu thay ñꢘi  
18  
9
Mô hình nguyên mꢢu  
(prototyping model)  
Phân tích yêu cꢃu  
Thiꢈt kꢈ nhanh  
Xây dꢠng nguyên mꢢu  
ðánh giá  
Thiꢈt kꢈ  
19  
Mô hình nguyên mꢢu  
ꢀ
Ưu ñiꢀm  
ꢁ
ꢁ
ꢁ
phát hiꢑn yêu cꢃu  
hꢍp thꢔc hóa yêu cꢃu  
thiꢈt kꢈ giao diꢑn  
• giao diꢑn “thꢌt”  
ꢁ
hꢑ thꢗng có rꢒi ro cao  
• yêu cꢃu không chꢡc chꢡn  
• giao diꢑn chưa rꢕ ràng  
• chiꢈn lưꢍc cài ñꢇt chưa rꢕ ràng  
20  
10  
Mô hình nguyên mꢢu  
ꢀ
Hꢂn chꢈ  
ꢁ
khách hàng có thꢀ cho rꢝng nguyên mꢢu là  
hꢑ thꢗng thꢠc  
• mong ñꢍi không thꢠc tꢈ vꢄ tiꢈn triꢀn cꢒa dꢠ án  
ꢁ
ngưꢎi phát triꢀn có sꢠ chꢖn lꢠa không tꢗt  
• phù hꢍp cho nguyên mꢢu, nhưng không phù hꢍp  
cho hꢑ thꢗng thꢠc  
• xây dꢠng hꢑ thꢗng thꢠc như xây dꢠng nguyên  
mꢢu  
ꢁ
nguyên mꢢu không giꢗng hoàn toàn hꢑ  
thꢗng cuꢗi cùng  
• khách hàng sꢣ có các phꢅn ꢔng khác nhau  
21  
Mô hình V  
(V model)  
ꢀ
Nhꢋn mꢂnh vai trò kiꢀm thꢉ  
ðꢇc tꢅ yêu cꢃu  
Thiꢈt kꢈ chi tiꢈt  
Mã hóa  
Kiꢀm thꢉ hꢑ thꢗng  
Kiꢀm thꢉꢆñơnꢆvꢊ  
22  
11  
Mô hình tiꢈn hóa  
(evolutionary model)  
Phiên bꢀn  
ñꢁu tiên  
ðꢇc tꢅ  
Phát triꢀn  
Phiên bꢅn  
trung gian  
Hꢍp thꢔc  
hóa  
Phiên bꢅn  
cuꢗi cùng  
23  
Mô hình tiꢈn hóa  
ꢀ
Ưu ñiꢀm  
ꢁ
ꢁ
ꢁ
dꢠ án vꢚa và nhꢕ  
các phꢃn cꢒa dꢠ án phꢔc tꢂp  
các hꢑ thꢗng có thꢎi gian sꢗng ngꢡn  
ꢀ
Hꢂn chꢈ  
ꢁ
cꢋu trúc hꢑ thꢗng tꢏi  
tiꢈn trình không rꢕ ràng  
ꢁ
24  
12  
Mô hình xoꢡn ꢗc  
(spiral model)  
Determine objectives  
alternatives and  
constraints  
Evaluate alternatives  
identify, resolve risks  
Risk  
analysis  
Risk  
analysis  
Risk  
analysis  
Opera-  
tional  
protoype  
Prototype 3  
Prototype 2  
Proto-  
type 1  
Risk  
analysis  
REVIEW  
Requirements plan  
Life-cycle plan  
Simulations, models, benchmarks  
Concept of  
Operation  
S/W  
requirements  
Product  
design  
Detailed  
design  
Requirement  
validation  
Development  
plan  
Code  
Unit test  
Integration  
test  
Develop, verify  
next-level product  
Design  
V&V  
Integration  
and test plan  
Plan next phase  
Acceptance  
test  
Service  
25  
Mô hình xoꢡn ꢗc  
ꢀ
nhꢋn mꢂnh viꢑc ñánh giá các rꢎi ro  
ꢀ
ꢀ
phꢃn mꢄm ñưꢍc xây dꢠng theo nhiꢄu chu kỳ  
mꢟi chu kỳꢆtươngꢆꢔng vꢙi mꢁt sꢅn phꢐm cꢒa mꢁt giai  
ñoꢂn phát triꢀn phꢃn mꢄm  
cách giꢅi quyꢈt chúng  
ꢁ
ꢁ
phát triꢀn và kiꢀm thꢉ sꢅn phꢐm cꢒa chu kỳ này  
lꢌp kꢈ hoꢂch cho chu kỳ tiꢈp theo  
26  
13  
Mô hình xoꢡn ꢗc  
ꢀ
Rꢒi ro và giꢅi pháp cho rꢒi ro  
ꢁ
ꢁ
ꢁ
thꢋt bꢂi vꢄ nhân sꢠ  
•
tuyꢀn dꢓng nhân sꢠ cao cꢋp,ꢆñào tꢂo lꢢn nhau, cóꢆñꢃy ñꢒ các nhân sꢠ  
vꢙi chꢔc năng khác nhau...  
thꢎi gian biꢀu và ngân sách không thꢠc tꢈ  
•
ñánh giá thꢌt chi tiꢈt, phát triꢀn dꢃn dꢃn, tái sꢉ dꢓng, loꢂi bꢕ bꢙt các  
yêu cꢃu không cꢃn thiꢈt ...  
phát triꢀn các chꢔc năng không phù hꢍp  
•
trao ñꢘi thưꢎng xuyên vꢙi ngưꢎi sꢉ dꢓng, có tài liꢑu hưꢙng dꢢn sꢉ  
dꢓng sꢙm...  
ꢁ
ꢁ
ꢁ
ꢁ
phát triꢀn giao diꢑn ngưꢎi dùng không thích hꢍp  
•
cꢃn phân tích các công viꢑc, xây dꢠng các hình mꢢu trưꢙc, ...  
thiꢈu yêu cꢃu ñꢇt ra  
•
phát triꢀn các phꢃn ꢘn ñꢊnh trưꢙc  
vꢋn ñꢄ vꢄ hiꢑu quꢅ  
•
cꢃn phꢅi mô phꢕng,ꢆñoꢆlưꢎng, thꢉ nghiꢑm...  
ñòi hꢕi vưꢍt quá sꢠꢆñáp ꢔng cꢒa công nghꢑ hiên hành  
•
phân tích kꢤ tính khꢅ thi vꢄ mꢇt kꢤ thuꢌt  
27  
Mô hình xoꢡn ꢗc  
ꢀ
Ưu ñiꢀm  
ꢁ
ꢁ
ꢁ
ꢁ
hꢂn chꢈ rꢒi ro sꢙm  
nhꢌn ñưꢍc feedbacks tꢚ khách hàng sꢙm  
hꢑ thꢗng cꢃn phát triꢀn nhiꢄu phiên bꢅn  
yêu cꢃu chưa xác ñꢊnh rꢕ ràng  
28  
14  
Mô hình hꢍp nhꢋt  
(unified process)  
ꢀ
Tiꢈn trình hꢍp nhꢋt có thꢀꢆñưꢍc nhìn  
dưꢙi hai góc nhìn khác nhau  
ꢁ
Góc nhìn quꢋn lý: quan tâm ñꢈn lĩnh  
vꢠc kinh tꢈ, chiꢈn thuꢌt, con ngưꢎi  
• Tiꢈn trình gꢏm bꢍn giai ñoꢄn  
ꢁ
Góc nhìn kꢕ thuꢔt: quan tâm ñꢈn  
công nghꢑ, kiꢀm tra chꢋt lưꢍng,  
phương pháp  
• Tiꢈn trình gꢏm nhiꢖu bưꢗc lꢊp  
29  
Mô hình hꢍp nhꢋt  
ꢀ
Góc nhìn quꢅn lý  
ðꢄt vꢂn ñꢃ  
Thꢆc hiꢇn  
Giꢀi quyꢅt vꢂn ñꢃ  
Vꢂn ñꢃ  
Giꢀi pháp  
Khꢀi ñꢁu  
Inception  
Soꢂn thꢃo  
Elaboration  
Xây dꢄng  
Construction  
Chuyꢅn giao  
Transition  
Thꢈi gian  
30  
15  
Mô hình hꢍp nhꢋt  
ꢀ
Góc nhìn kꢤ thuꢌt: các bưꢙc lꢇp  
ꢁ
Mꢟi bưꢙc lꢇp gꢏm các hoꢂt ñꢁng:  
• ðꢇc tꢅ  
• Phân tích  
• Thiꢈt kꢈ  
• Mã hóa  
• Kiꢀm thꢉ  
• Cài ñꢇt  
ꢁ
Mꢟi bưꢙc lꢇp là mꢁt tiꢈn trình thác ñꢘ  
31  
Mô hình hꢍp nhꢋt  
ꢀ
Góc nhìn kꢤ thuꢌt  
Bưꢆc lꢇp  
Kꢈt quꢃ  
Mꢍu thꢎ (maquette)  
Nguyên mꢍu kiꢅn trúc  
trúc  
Nguyên mꢍu phát triꢌn  
Nguyên mꢍu phát triꢌn  
Phiên bꢀn β  
Bưꢉc lꢄp chuꢊn bꢋ  
Bưꢉc lꢄp kiꢅn trúc  
Bưꢉc lꢄp phát triꢌn  
Bưꢉc lꢄp phát triꢌn  
Bưꢉc lꢄp phát triꢌn  
Bưꢉc lꢄp chuyꢌn giao  
Bưꢉc lꢄp chuyꢌn giao  
Phiên bꢀn β  
Phiên bꢀn chính thꢏc  
32  
Thꢈi gian  
16  
Mô hình hꢍp nhꢋt  
ꢀ
Kꢈt hꢍp hai góc nhìn  
Bưꢆc lꢇp  
Kꢈt quꢃ  
Giai ñoꢂn  
Khꢐi ñꢁu  
Bưꢉc lꢄp chuꢊn bꢋ  
Bưꢉc lꢄp kiꢅn trúc  
Bưꢉc lꢄp kiꢅn trúc  
Bưꢉc lꢄp phát triꢌn  
Bưꢉc lꢄp phát triꢌn  
Bưꢉc lꢄp phát triꢌn  
Bưꢉc lꢄp chuyꢌn giao  
Mꢍu thꢎ (maquette)  
Nguyên mꢍu kiꢅn trúc  
Nguyên mꢍu kiꢅn trúc  
Soꢑn thꢀo  
Nguyên mꢍu phát triꢌn  
Nguyên mꢍu phát triꢌn  
Phiên bꢀn β  
Xây dꢆng  
Phiên bꢀn β  
Chuyꢌn giao  
Bưꢉc lꢄp chuyꢌn giao  
Phiên bꢀn chính thꢏc  
33  
Thꢈi gian  
Mô hình hꢍp nhꢋt  
ꢀ
Mô hình hꢍp nhꢋt và UML  
34  
17  
Kꢈt luꢌn  
ꢀ
Có nhiꢄu mô hình phát triꢀn phꢃn mꢄm  
ꢁ
mô hình tuyꢈn tính  
• mô hình thác nưꢙc  
• mô hình nguyên mꢢu  
• mô hình V  
ꢁ
mô hình lꢇp  
• mô hình tiꢈn hóa  
• mô hình xoꢡn ꢗc  
• mô hình hꢍp nhꢋt  
35  
Kꢈt luꢌn  
ꢀ
Kꢈt hꢍp nhiꢄu mô hình cho mꢁt dꢠ án  
ꢁ
ꢁ
ꢁ
hꢑ thꢗng phꢔc tꢂp, chia dꢠ án thành các hꢑ  
thꢗng con  
mô hình xoꢡn ꢗc hay mô hình hꢍp nhꢋt cho  
mꢟi hꢑ thꢗng con có thꢀ áp dꢓng mꢁt mô  
hình khác nhau  
• mô hình nguyên mꢢu cho các hꢑ thꢗng con phꢔc  
tꢂp  
• mô hình thác nưꢙc cho các hꢑ thꢗng con khác  
36  
18  
pdf 18 trang yennguyen 18160 Free
Bạn đang xem tài liệu "Bài giảng Nhập môn Công nghệ phần mềm - Chương 2: Mô hình phát triển - Nguyễn Thanh Bình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_2_mo_hinh_phat.pdf