Mỗi phần mềm từ khi ra đời phát triển đều trải qua 1 chu kì trong công nghệ phần mềm gọi là vòng đời phát triển 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 gọi là mô hình thác nước
Phân tích hệ thống Phân tích phần mềm Thiết kế Mã hóa Kiểm thử Bảo trì
- Phân tích hệ thống: kĩ sư phần mềm tiến hành phân tích một cách tổng thể
tất cả các lĩnh vực liên quan đến phần mềm vì mỗi dự án hoặc mỗi cơ quan là một chỉnh thể có mối liên hệ chặt chẽ giữa các bộ phận với nhau.
- Phân tích phần mềm: về bản chất đây là xác định yêu cầu của mỗi phần
mềm. Việc xác định càng cụ thể chi tiết, giới hạn được phạm vi của phần mềm sẽ càng dễ dàng cho quá trình thực hiện sau này.
- Thiết kế: đây là một trong những công đoạn trọng tâm của công nghệ phần
mềm mà kết quả quan trọng nhất là hồ sơ thiết kế. Sau đó hồ sơ này được chuyển sang phòng lập trình.
- Mã hóa: khái niệm mã hóa trong công nghệ phần mềm khác với khái niệm
mã hóa thông thường. Bản chất của mã hóa trong công nghệ phần mềm là kĩ sư phần mềm lựa chọn một ngôn ngữ lập trình nào đó và tiến hành lập trình bằng tay hoặc lập trình tự động trên cơ sở hồ sơ thiết kế.
- Kiểm thử: là quá trình kiểm tra phần mềm sau khi đã thiết kế. Đây là một
công đoạn đặc biệt trong sản xuất phần mềm công nghiệp và người ta dùng kĩ thuật như kiểm thử hộp đen, hộp trắng.
- Bảo trì: là công đoạn cuối cùng nhằm thỏa đảm bảo chất lượng của phần
mềm và giữ gìn thương hiệu của công ty. Mô hình thác nước biểu diễn các quá trình chịu tác động của các công đoạn ở phía trên khi lấy hình ảnh một thác nước dội từ trên xuống.
Mô hình thác nước là một công cụ hữu hiệu trong công nghệ phần mềm với chức năng phân định rõ ràng từng công đoạn phát triển của phần mềm để có cơ sở tác động vào từng giai đoạn một cách hiệu quả nhất.