• 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...
Trang 1Mô hình phát tri ể n
(2)
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
Trang 2Phân tích tính kh ả thi
Phân tích và ñặ c t ả yêu c ầ
Thi ế t k ế
Mã hóa
Ki ể m th ử
B ả o trì
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
• b t 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
Trang 3Cá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 ầ
• khách hàng không trình bày r ỏ cái h ọ mu ố
• các thay ñổ i
Sản phẩm: tài liệu ñặc tảyêu cầu
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
• ñặc tảyêu cầu
• hợp thức hóa yêu cầu
Trang 4Phâ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
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ế giao diệ
thiết kế các mô-ñun
• c ấ u trúc d ữ li ệ
• thu ậ t toán
Sản phẩm: tài liệu thiết kế
Trang 5Các ho ạ t ñộ ng phát tri ể n
ph ầ n m ề m
Thi ế t k ế (2)
Thiết kế
kiến trúc
ñặc tả
kiến trúc
Thiết kế
mô-ñun Thiết kế
c u trúc dữliệu
Thiết kế
thuật toán
ñặc tả
mô-ñun ñặc tả
c u trúc dữliệu
ñặc tả
thuật toán
Thiết kế
giao diện
ñặc tả
giao diện
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
Trang 6Mã 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ệ
• 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ả
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
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ử
• tiêu chuẩn kiểm thử
• nguồn tài nguyên 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 ử
Trang 7Cá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
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ửtnh
• kiểm thử ñộng
• ki ể m th ử h p ñ en
• ki ể m th ử h p tr ắ ng
Trang 8B ả 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
Các mô hình phát tri ể n ph ầ n
m ề m
S ự t ổ ch ứ c các ho ạ ñộ 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
Có nhi ề u mô hình phát tri ể n ph ầ n m ề m
mô hình thác n ướ c
mô hình nguyên m ẫ
mô hình V
mô hình ti ế n hóa
mô hình xo ắ n ố c
mô hình h ợ p nh ấ t
Trang 9Mô 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 ầ
Thi ế t k ế
Mã hóa và
ki ể m th ử
C à i ñặ t v à b o trì
Mô hình thác n ướ c
Ư u ñ i ể m
yêu cầu xác ñịnh
Nh ượ c ñ i ể m
dựán lớn
thời gian
sửa lỗi
Trang 10Phân tích yêu c ầ
Thi ế t k ế nhanh
Xây d ự ng nguyên m ẫ
ð ánh giá
Thi ế t k ế
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 trên gi ấ y
• giao di ệ n “th ậ t”
hệ thống có rủi ro cao
• yêu c ầ u không ch ắ c ch ắ
• giao di ệ n ch ư a r ỏ ràng
• chi ế n l ượ c cài ñặ t ch ư a r ỏ ràng
Trang 11Mô 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 ẫ
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
Mô hình V
(V model)
Nh ấ n m ạ nh vai trò ki ể m th ử
ðặ c t ả yêu c ầ
Thi ế t k ế ki ế n trúc
Thi ế t k ế chi ti ế t
Mã hóa
Ki ể m th ử h th ố ng
Ki ể m th ử tích h ợ p
Ki ể m th ử ñơn vị
Trang 12ðặ c t ả
Phát tri ể
H ợ p th ứ c hóa
Phiên bản ñầu tiên
Phiên b ả n trung gian
Phiên b ả n
cu ố i cùng
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
Trang 13Mô hình xo ắ n ố c
(spiral model)
Risk analysis Risk analysis Risk analysis Risk analysis Proto-type 1 Prototype 2 Prototype 3 Opera-tional
protoype
Concept of Operation
Simulations, models, benchmarks S/W
requirements Requirement validation Design V&V
Product design Detailed design Code Unit test Integration test Acceptance test Service Develop, verify
next-level product
Evaluate alternatives identify, resolve risks
Determine objectives
alternatives and
constraints
Plan next phase
Integration and test plan
Development plan
Requirements plan Life-cycle plan REVIEW
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
ñ ạ n phát tri ể n ph ầ n m ề m
xác ñị nh các m ụ c tiêu, gi ả i pháp, ràng bu ộ c
ñ ánh giá các gi ả i pháp, xác ñị nh các nguy c ơ và tì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
Trang 14
• 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ỏ ớ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
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
dựán lớn, phức tạp
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
Trang 15Mô 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
Mô hình h ợ p nh ấ t
Góc nhìn qu ả n lý
Khởi ñầu
Inception
Soạn thảo
Elaboration
Xây dựng
Construction
Chuyển giao
Transition
ðặt vấn ñề Giải quyết vấn ñề Thực hiện
Trang 16M ỗ 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 ñổ
Mô hình h ợ p nh ấ t
Góc nhìn k ỹ thu ậ t
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 chuyển giao
Bước lặp chuyển giao
Bước lặp phát triển
Mẫu thử (maquette) Nguyên mẫu kiến trúc Nguyên mẫu kiến trúc Nguyên mẫu phát triển Nguyên mẫu phát triển
Phiên bản chính thức Phiên bản β
Phiên bản β
Trang 17Mô hình h ợ p nh ấ t
K ế t h ợ p hai góc nhìn
Thời gian
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 chuyển giao
Bước lặp chuyển giao
Bước lặp phát triển
Mẫu thử (maquette) Nguyên mẫu kiến trúc Nguyên mẫu kiến trúc Nguyên mẫu phát triển Nguyên mẫu phát triển
Phiên bản chính thức Phiên bản β
Phiên bản β
Giai ñoạn
Khởi ñầu Soạn thảo
Xây dựng
Chuyển giao
Mô hình h ợ p nh ấ t
Mô hình h ợ p nh ấ t và UML
Trang 18mô hình tuyến tính
• mô hình thác n ướ c
• mô hình nguyên m ẫ
• 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
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
toàn bộdựán
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 ạ
• mô hình thác n ướ c cho các h ệ th ố ng con khác