Bài giảng Mô hình phát triển - Nguyễn Thanh Bình

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

pdf18 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1535 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Mô hình phát triển - Nguyễn Thanh Bình, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
1Mô 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
2
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
23
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ì
4
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
35
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
6
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
47
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
8
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ện
 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ế
59
Cá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
10
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
611
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
12
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ử
713
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
14
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
815
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
16
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
 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ẫ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
917
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ì
18
Mô hình thác nước 
 Ưu ñiểm
 dự án nhỏ
 yêu cầu xác ñịnh
 Nhược ñiểm
 dự án lớn
 thời gian
 sửa lỗi
 yêu cầu thay ñổi
10
19
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ế
20
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ắn
• giao diện chưa rỏ ràng
• chiến lược cài ñặt chưa rỏ ràng
11
21
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
22
Mô hình V
(V model)
 Nhấn mạnh vai trò kiểm thử
ðặc tả yêu cầu
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ị
12
23
Mô hình tiến hóa 
(evolutionary model)
ðặc tả
Phát triển
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
24
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
13
25
Mô 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
testAcceptance
testService 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
26
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
 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
14
27
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
28
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
15
29
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
30
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
Vấn ñề Giải phápðặt vấn ñề Giải quyết vấn ñề Thực hiện
Thời gian
16
31
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 ñổ
32
Mô hình hợp nhất
 Góc nhìn kỹ thuật
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
Bước lặp Kết quả
Phiên bản chính thức
Phiên bản β
Phiên bản β
17
33
Mô 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 β
Bước lặp Kết quả
Phiên bản β
Giai ñoạn
Khởi ñầu
Soạn thảo
Xây dựng
Chuyển giao
34
Mô hình hợp nhất
 Mô hình hợp nhất và UML
18
35
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
36
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ạp
• mô hình thác nước cho các hệ thống con khác

File đính kèm:

  • pdf2_MoHinhPhatTrien.pdf