Một phần mềm từ khi được xây dựng và đưa vào ứng dụng trải qua một giai đoạn dài gọi là vòng đời phát triển của nó. Đây là một phương pháp luận quan trọng trong sản xuất phần mềm vì các lý do sau: nghiên cứu vòng đời phát triển phần mềm để hiểu rõ trình tự từng công đoạn, tìm ra các phương tiện thích hợp nhất để tác động vào từng công đoạn để nâng cao chất lượng, hiệu quả của phần mềm.
Vòng đời phát triển của phần mềm được biểu diễn bằng mô hình dưới đây gọi là mô hình thác nước:
Công nghệ hệ thống Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì
Mô hình thác nước nói lên 2 ý nghĩa: biểu thị sáu quy trình trong vòng đời phát triển của phần mềm có mối liên quan mật thiết không thể tách rời, mỗi quy trình đều chịu tác động của quy trình đứng ở phía trên nó trừ quy trình đầu tiên, các quy trình càng ở phía dưới càng chịu tác động của tất cả các quy trình bên trên.
Công nghệ hệ thống: quy trình này bao trùm nên tất cả công đoạn trong sản xuất phần mềm công nghiệp vì bản thân phần mềm chỉ là một phần của hoạt động quản lý do đó khi xây dựng mềm ta phải đặt nó trong các rang buộc với các yếu tố.
Phân tích: đưa ra một cái nhìn tổng thể các khía cạnh của phần mềm và chính là nền tảng của thiết kế.
Thiết kế: thiết kế kiến trúc hệ thống và thiết kế kiến trúc kỹ thuật.
thiết kế kiến trúc kỹ thuật : thiết kế dữ liệu, thiết kế thủ tục, thiết kế chương trình, thiết kế giao diện, thiết kế xử lý.
Mã hóa: Thiết kế phải được dịch thành ngôn ngữ máy mà máy tính có thể đọc và hiểu được. Bước mã hoá thực hiện công việc này.
Kiểm thử: Tiến trình kiểm thử tập trung vào phần logic bên trong của phần mềm, đảm bảo rằng tất cả các câu lệnh đều được kiểm thử nhằm phát hiện ra các lỗi và kết quả phù hợp với dữ liệu vào.
Bảo trì: Sau khi bàn giao phần mềm cho khách hàng, chắc chắn nó sẽ phải có những thay đổi để hoàn toàn tương thích với các điều kiện quản lý của cơ sở thực tế - Sự thay đổi của OS hay thiết bị ngoại vi. Quá trình bảo trì còn xảy ra khi khách hàng yêu cầu nâng cao chức năng hay hiệu năng. Việc
bảo trì phần mềm phải áp dụng lại các bước của vòng đời phát triển nói trên cho chương trình hiện tại chứ không phải chương trình mới.