3. Phương pháp giảng dạy môn quản lý dự án CNTT
3.2.2. Qui trình Prototyp e Qui trình Phát triển lặp (Iterative Development)
Qui trình này dựa trên ý tưởng rằng thông qua 1 loạt các pha; ứng với mỗi pha thêm vào vài chức năng, và với mỗi chức năng đưa khách hàng đánh giá để gợi ý khách hàng khai báo các yêu cầu rõ hơn; cứ lặp lại như thế cho đến vòng lặp cuối cùng là lúc „vét cạn‟ được hết
26
các yêu cầu của khách hàng, không cần biết có thể các yêu cầu này lúc đầu mơ hồ như thế nào.
Nguy hiểm của qui trình này, đại khái là những công việc mà người ta thử và sửa sai thông qua ngẫu nhiên. Vì vậy để có thể áp dụng qui trình này có khả năng thành công thì dự án phải cần được xác định 3 đặc trưng sau:
- Mục tiêu chung của dự án: ở giai đoạn đầu phạm vi của dự án có thể không rõ ràng hoặc không được xác định tốt, nhưng nói chung phải biết mục đích của dự án là gì.
- Kế hoạch tổng quan: dự án có thể chỉ ra có cụ thể bao nhiêu vòng lặp, mỗi vòng lặp sẽ xây dựng những chức năng nào.
- Kế hoạch cho từng vòng lặp: có thể lên kế hoạch chi tiết cho từng vòng lặp, mỗi vòng lặp được coi như là một dự án. Kế hoạch chi tiết cho một vòng lặp gồm các công việc sau:
+ Xác định các yêu cầu hay các đặc tả chứcnăng cho vòng lặp đó. + Thiết kế các chức năng này.
+ Lập trình và kiểm thử đơn vị các chức năng này.
+ Kiểm thử tích hợp và chuyển dần kết quả thành sản phẩm cuối. Có thể áp dụng qui trình thác nước cho từng vòng lặp.
Trưởng dự án phải bảo đảm rằng mỗi vòng lặp được lên kế hoạch trong phạm vi của mục tiêu tổng thể của dự án và rằng mỗi vòng lặp được vận hành theo cùng các qui tắc của toàn dự án, và dần trở thành sản phẩm cuối cùng.
Cần lưu ý rằng có 2 cách sử dụng kết quả của vòng lặp
Nếu kết quả của mỗi vòng lặp chỉ với mục đích là làm rõ và xác định được các yêu cầu của khách hàng thì qui trình này sẽ mang tên là qui trình Prototype. Lúc này kết quả của mỗi vòng lặp không cần phải kiểm thử, không cần phải theo đúng các chuẩn của tổ chức. Vì sau khi nắm rõ các yêu cầu của khách hàng, các kết quả đó sẽ bị bỏ đi, người ta sẽ bắt đầu phân tích, thiết kế,.. để phát triển phần mềm dựa trên các yêu cầu đã thu được này.
Như tên gọi, qui trình prototype chủ yếu là tạo ra một phần mềm nháp dùng để thu thập đủ và đúng các yêu cầu của khách hàng.
27
Hình 3.2: Qui trình Prototype
Nếu kết quả của mỗi mức lặp là một (số các) chức năng đơn vị, sẽ được kết lại với nhau ở vòng lặp cuối để thành sản phẩm cuối cùng, thì qui trình này sẽ mang tên là qui trình Phát triển lặp. Lúc này kết quả của mỗi vòng lặp sẽ được giao cho khách hàng sử dụng, do đó nó phải theo đúng các chuẩn đã đề ra, phải được kiểm thử kỹ càng, phải có hồ sơ phát triển, phải có chất lượng, và phải được khách hàng chấp nhận.
Hình 3.3
Trưởng dự án phải chắc chắn công sức bỏ ra để phát triển các vòng lặp phải tương ứng với mục đích sử dụng kết quả của nó để không lãng phí.
28