b. Phân tích yêu cầu phần mềm
1.3.2 Mô hình vòng đời cổ điển (thác nước) (tt)
c. Thiết kế
- Là quá trình chuyển hóa các yêu cầu phần mềm thành các mô tả thiết kế
Thiết kế kiến trúc phần mềm Thiết kế cấu trúc dữ liệu
Thiết kế chi tiết các thủ tục
Thiết kế giao diện và tương tác.
- Lập tư liệu thiết kế (là một phần của cấu hình phần
mềm) để phê duyệt
d. Mã hóa
Biểu diễn thiết kế bằng một hay một số ngôn ngữ lập trình và dịch thành mã máy thực hiện được
e. Kiểm thử
- Phát hiện và sửa lỗi phần logic bên trong chương trình hay còn gọi là lỗi lập trình
- Kiểm tra để phát hiện và sửa lỗi về chức năng như thiếu hụt, sai sót về chức năng; có đảm bảo tính hiệu quả.
f. Bảo trì
- Sửa các lỗi phát sinh khi áp dụng chương trình hoặc thích ứng nó với thay đổi trong môi trường bên ngoài
- Bổ sung chức năng hay nâng cao hiệu năng cần có
Một số các vấn đề có thể gặp phải khi dùng mô hình vòng đời cổ điển là:
1. Các dự án thực hiếm khi tuân theo dòng chảy tuần tự mà mô hình đề nghị. Bao giờ việc lặp lại cũng xuất hiện và tạo ra các vấn đề trong việc áp dụng mô hình này.
2. Khách hàng thường khó phát biểu mọi yêu cầu một cách tường minh từ đầu. Vòng đời cổ điển đòi hỏi điều này và thường khó thích hợp với sự bất trắc tự nhiên tồn tại vào lúc đầu của nhiều dự án.
3. Đòi hỏi khách hàng phải kiên nhẫn. Bản làm việc được của chương trình chỉ có được vào lúc cuối của thời gian dự án. Một sai sót nhỏ trong phân tích/thiết kế nếu đến khi có chương trình làm việc mới phát hiện ra, có thể sẽ là một thảm họa.
Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì
Mô hình vòng đời cổ điển (thác nước)
Cách tiếp cận làm bản mẫu cho công nghệ phần mềm là cách tiếp cận tốt nhất khi:
- Mục tiêu tổng quát cho phần mềm đã xác định, nhưng chưa 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ó.
- Khi đã có bản mẫu, người phát triển có thể dùng chương trình đã có hay các công cụ phần mềm trợ giúp để sinh ra chương trình làm việc.