31
© 2004, HOÀNG MINH SƠN
Chương 1: Mởđầu
1.4 Qui trình phát triển phầnmềm
MÔ HÌNH
PHÂN TÍCH
Phân tích
MÔ HÌNH
THIẾT KẾ
Thiếtkế
Mã hóa
Thử nghiệm
THẾ GIỚI
THIẾT KẾ
THẾ GIỚI
THỰC
BÀI TOÁN
GIẢI PHÁP
?
32
© 2004, HOÀNG MINH SƠN
Chương 1: Mởđầu
Tậphợp và phân tích yêu cầu
Bởi vì: Khách hàng thường biết ₫ược là họ muốngì,
nhưng không biết lập hoạch các yêu cầu
Cho nên: Cầnphảicùng với khách hàng phân hoạch
và làm rõ những yêu cầuvề phạm vi chứcnăng của
bài toán
Kếtquả: Mô hình ₫ặctả (Specification Model) ấn ₫ịnh
và chỉ rõ yêu cầu của bài toán một cách tường minh
theo một ngôn ngữ mô hình hóa rõ ràng, dễ hiểu ₫ể
nhóm phân tích thiết kế lập trình thực hiện
Tr
ả lời câu hỏi: Khách hàng cần những gì và nên
làm gì?
33
© 2004, HOÀNG MINH SƠN
Chương 1: Mởđầu
Phân tích hệ thống (System analysis)
Phân tích mốiliên hệ của hệ thống vớimôi trường
xung quanh
Tìm ra cấutrúchệ thống và các thành phầnquan
trọng
Định nghĩachứcnăng cụ thể của các thành phần
Nhận biết các ₫ặc ₫iểm của từng thành phần
Phân loại các thành phần, tổng quát hóa, ₫ặc biệt hóa
Nhận biếtmốiliên hệ giữacácthànhphần
Kết quả: Mô hình hệ thống (
System model)
Cần một ngôn ngữ mô hình hóa ₫ể trao ₫ổi giữa các
thành viên trong nhóm phân tích và với nhóm thiết kế
Trả lời câu hỏi: Những gì sẽ phải làm?
34
© 2004, HOÀNG MINH SƠN
Chương 1: Mởđầu
Thiếtkế hệ thống (System Design)
Dựa trên mô hình hệ thống, xây dựng các mô hình chi
tiết phục vụ sẵn sàng mã hóa/cài ₫ặt
Bao gồm:
—Thiếtkế cấutrúc(
structured design
): chương trình, kiểu dữ
liệu, ₫ối tượng, quan hệ cấu trúc giữa các ₫ối tượng và kiểu)
—Thiết kế tương tác (
interaction design
): quan hệ tương tác
giữa các ₫ối tượng
—Thiếtkế hành vi (
behaviour design
): sự kiện, trạng thái, phép
toán, phản ứng
—Thiếtkế chứcnăng (
funtional design
): tiến trình hành ₫ộng,
hàm, thủ tục)
Kếtquả: Mô hình thiếtkế (các bảnvẽ và lờivăn mô tả)
Trả lờicâu hỏi: Làm như thế nào?
35
© 2004, HOÀNG MINH SƠN
Chương 1: Mởđầu
Các bướckhác
Mã hóa/cài ₫ặt (Coding/Implementation): Thể hiện mô
hình thiếtkế với một ngôn ngữ lập trình cụ thể
Thử nghiệm (Testing, Verification): Chạy thử, phân tích
và kiểm chứng:
—Thử ₫ơn vị (Unit Test)
—Thử tích hợp (Integration Test)
Gỡ rối (Debugging): Tìm ra và sửa các lỗi chương trình
chạy (các lỗi logic)
Xây dựng tài liệu (Documenting): Xây dựng tài liệu phát
triển, tài liệu hướng dẫn sử dụng
Đào tạo, chuyển giao
Bảo trì, bảo dưỡng
36
© 2004, HOÀNG MINH SƠN
Chương 1: Mởđầu
Chu trình cổ₫iển: “Waterfall Model”
Nghiên cứu
khả thi
Nghiên cứu
khả thi
Phân tích
yêu cầu
Phân tích
yêu cầu
Thiết kế
Thiết kế
Mã hóa
Mã hóa
Thử nghiệm
đơn vị
Thử nghiệm
đơn vị
Thử nghiệm
tích hợp
Thử nghiệm
tích hợp
Đào tạo
Đào tạo
Chuyểngiao
Chuyểngiao
Bảotrì
Bảotrì