Quá trình phát triển một phần mềm trải quan bảy giai đoạn. Mỗi giai đoạn lại bao gồm một dãy các công đoạn. Trong đó giai đoạn phân tích thiết kế đóng vai trò đặc biệt quan trọng quyết định tới sự thành công của toàn bộ hệ thống.
Giai đoạn 1: Xây dựng và quản lý hợp đồng phần mềm
a. Mục đích của quy trình
Đưa ra các phác thảo hợp đồng, tiến hành xây dựng các điều kiện cụ thể của hợp đồng, ký kết hợp đồng với khách hàng, theo dõi tiến trình thực hiện hợp đồng cũng như thanh toán và thanh lý hợp đồng
Mục đích của giai đoạn này là có được một sự hiểu biết đầy đủ về các vấn đề, các yêu cầu của người dùng có thể hình dung được đầy đủ về các vấn đề của dự án, ước lượng được giá thành và thời gian thực hiện.
b. Các công đoạn chính
Đề xuất tham gia dự án Lập hồ sơ phần mềm
Xây đựng và ký kết hợp đồng phần mềm Theo dõi thực hiện hợp đồng phần mềm Thanh toán thanh lý hợp đồng phần mềm
Báo cáo tổng hợp hợp đồng phần mềm
Xây dựng và quản lý HĐ PM
Hợp đồng được xây dựng theo pháp luật kinh tế qua việc phân tích yêu cầu khách hàng, đánh giá khả thi của dự án. Hợp đồng là sự thỏa thuận pháp lý giữa các bên liên quan.
Giai đoạn 2: Xác định yêu cầu
a. Mục đích: Tiến hành tìm hiểu được các yêu cầu cụ thể của khách hàng, phân tích hệ thống một cách sơ bộ nghiên cứu cả các quy trình liên quan, lượng hoá được nhu cầu của khách hàng về sản phẩm phần mềm
Cụ thể quản trị viên dự án phải xác định chính xác phần mềm dự định xây dựng sẽ “làm gì?" cho người sử dụng, và nó sẽ hoà nhập vào môi trường của người sử dụng như thế nào. Nói cách khác, trong giai đoạn này phải xác định mọi yêu cầu, mọi vấn đề đặt ra mà phần mềm phải đáp ứng. Mặc dù theo lý thuyết thì trong giai đoạn phân tích chỉ cần xác định được xem hệ thống sẽ phải làm những gì. Tuy nhiên, trên thực tế kết thúc giai đoạn này người quản lý dự án phải hình dung ra được hệ thống sẽ thực hiện các chức năng chính đó như thế nào? Trong nhiều trường hợp, ta không thể chuyển sang giai đoạn thiết kế sâu được nếu như chưa hoàn thành xong cơ bản giai đoạn phân tích này.
b. Các công đoạn
Lập kế hoạch xác định yêu cầu Khảo sát hệ thống Phân tích nghiệp vụ Phân tích yêu cầu người sử dụng
Mô tả hoạt động hệ thống Tổng hợp kết quả quy trình
Xác định yêu cầu
Kết quả quy trình có thể đưa ra chẩn đoán và xác định các yếu tố giải pháp, tài liệu đánh giá nghiệp vụ hoặc thay đổi đề xuất của dự án
Giai đoạn 3: Thiết kế logic công nghệ phần mềm
a. Mục đích: Tiến hành thiết kế kiến trúc và thiết kế kỹ thuật để xây dựng bộ hồ sơ thiết kế phần mềm trên cơ sở của hồ sơ phân tích nghiệp vụ và mô hình hoạt động của hệ thống
Giai đoạn Thiết kế Logic có mục đích xác định tất cả các thành phần Logic của hệ thống, xây dựng các phương án khác nhau để cụ thể hóa mô hình Logic, cho phép loại bỏ được các vấn đề của hệ thống thực tế và đạt được mục tiêu đã được thiết lập ở giai đoạn trước.
b. Các công đoạn
Lập kế hoạch thiết kế Thiết kế kiến trúc
Thiết kế dữ liệu Thiết kế thủ tục Thiết kế giao diện Thiết kế chương trình
Thiết kế logic
Tổng hợp báo cáo
Duyệt Không duyệt
Thông qua
Sau khi một phương án của giải pháp được lựa chọn. Công việc tiếp theo là mô tả chi tiết phương án của giải pháp đã chọn lựa. Đây là một giai đoạn rất quan trọng, vì những mô tả chính xác ở đây có ảnh hưởng và tác động trực tiếp đến công việc thường ngày và của những người sử dụng.
Giai đoạn 4: Lập trình
a. Mục đích: Trên cơ sở bản vẽ kỹ thuật kỹ sư phần mềm đưa ra các quyết định có liên quan tới việc lựa chọn công cụ phát triển hệ thống, tổ chức vật lý của có sở dữ liệu, cách thức truy cập tới các bản ghi của các tệp và những chương trình máy tính khác nhau cấu thành nên hệ thống. Kết quả quan trọng nhất của giai đoạn này là sản phẩm phần mềm. Cần phải cung cấp các tài liệu như các bản hướng dẫn sử dụng và thao tác cũng như các tài liệu mô tả về hệ thống.
b. Các công đoạn
Lập kế hoạch lập trình Lập trình thư viện chung
Lập trình các module Tích hợp Test kiểm thử
Lập trình
Tổng hợp báo cáo
Duyệt Không duyệt
Thông qua
Giai đoạn 5: Quy trình Test
a. Mục đích: Quy trình test thực chất là test hệ thống. Sau khi có sản phẩm phần mềm Cán bộ test sẽ test theo tiêu chuẩn nghiệm thu, test theo tiêu chuẩn khách hàng nhằm đảm bảo phần mềm có chất lượng cao.
b. Các công đoạn
Lập kế hoạch Test
Lập kịch bản Test Test hệ thống Test nghiệm thu
Test
Ghi nhận kết quả test
Duyệt Không duyệt
Quy trình test mang ý nghĩa vô cùng quan trọng đòi hỏi những cán bộ có trình độ cao không chỉ về tin học mà còn có những kiến thức sâu rộng về nhiều mặt. Vì bản chất của test không phải là kiểm tra lỗi của từng lệnh mà là mà trước mỗi phần mềm thuộc lĩnh vực nào đó cán bộ test phải am hiểu lĩnh vực này một cách sâu sắc để xây dựng kịch bản đặt phần mềm vào những tình huống hóc búa nhất. Vì thế quá trình xây dựng kịch bản test được coi là cực kỳ quan trọng không những chỉ là khoa học mà còn là nghệ thuật.
Khi xây dựng kịch bản test cán bộ test phải dành nhiều thời gian nghiên cứu chuyên sâu về lĩnh vực ứng dụng của phần mềm và nói chung người ta không khai thác những điểm mạnh của phần mềm mà cố tìm những điểm yếu nhất làm cho phần mềm có lỗi khi đưa vào ứng dụng.
Giai đoạn6: Triển khai kỹ thuật hệ thống
a. Mục đích
Triển khai là quá trình chuyển từ hệ thống cũ sang hệ thống mới. Mục đích của giai đoạn này là tích hợp hệ thống được phát triển vào các hoạt động của tổ chức một cách ít va vấp nhất và đáp ứng với những thay đổi có thể xảy ra trong suốt quá trình sử dụng. đồng thời là quá trình đào tạo hướng dẫn sử dụng đối với người dùng
b. Các công đoạn
Lập kế hoạch triển khai
Cài đặt máy chủ Cài đặt máy trạm Vận hành phần mềm
Triển khai
Đào tạo người sử dụng
Duyệt Không duyệt
Thông qua
Lập giải pháp triển khai