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ì . 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. (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. 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,