(Đây là vòng đời phát triển tổng quan khi làm việc với ngoại bộ)
SDLC là gì?
SDLC (Software Development Life Cycle) là vòng đời phát triển phần mềm hay có thể gọi là 1 framework cho công việc phát triển phần mềm giúp cho tổ chức, cá nhân đi đúng hướng.
Framework này giúp phát triển và quản lý các dự án phần mềm từ khâu lập kế hoạch đến triển khai và bảo trì. Dưới đây là các giai đoạn chính của vòng đời phát triển phần mềm:
Bước 1: Thu thập Yêu Cầu (Requirement Gathering)
Trong giai đoạn này, các yêu cầu của khách hàng được thu thập và phân tích cẩn thận để đảm bảo hiểu rõ nhu cầu và mong muốn của khách hàng. Bước này mà sai coi như các bước sau phải làm lại.
Giai đoạn này gặp nhau hay call video hay là trao đổi qua email đều cần lưu giữ cẩn thận để sau này có tài liệu đối chiếu.
Giai đoạn này cũng sẽ phân tích các rủi ro có thể xảy ra luôn, sau này lên kế hoạch sẽ nhàn.
Bước 2: Lập Kế Hoạch (Planning)
Dựa trên yêu cầu đã thu thập, kế hoạch chi tiết được thiết lập, bao gồm việc xác định tài nguyên, lịch trình, ngân sách và các phương pháp phát triển.
Bước 3: Thiết Kế (Design)
Trong giai đoạn này, kiến trúc và thiết kế chi tiết của phần mềm được phát triển. Ở đây bao gồm cả luồng chạy của hệ thống, logic của ứng dụng, thiết kế cơ sở dữ liệu, giao diện người dùng.
Bước 4: Phát Triển (Development)
Ở giai đoạn này, lập trình viên lập trình theo đúng như tài liệu thiết kế bên trên bước 3.
Bước 5: Kiểm Thử (Testing)
Sau khi phát triển, phần mềm được kiểm thử để đảm bảo rằng nó đáp ứng các yêu cầu và chất lượng mong muốn. Các loại kiểm thử bao gồm kiểm thử đơn vị, kiểm thử tích hợp và kiểm thử hệ thống.
Loại kiểm thử | Mục tiêu | Phạm vi | Mức độ chi tiết | Thực hiện bởi |
---|---|---|---|---|
Kiểm thử đơn vị (Unit Testing) | Đảm bảo từng đơn vị/module hoạt động độc lập đúng như thiết kế | Từng đơn vị/module riêng lẻ | Chi tiết, tập trung vào từng dòng code, hàm, class,… | Dev |
Kiểm thử tích hợp (Integration Testing) | Đảm bảo các đơn vị/module hoạt động chính xác khi kết hợp với nhau | Nhóm các đơn vị/module liên quan | Tập trung vào giao diện giữa các module | Tester/Dev |
Kiểm thử hệ thống (System Testing) | Đảm bảo toàn bộ hệ thống đáp ứng các yêu cầu đề ra | Toàn bộ hệ thống | Tổng quan, tập trung vào chức năng và hiệu suất | Tester/Dev |
Bước 6: Triển Khai (Deployment)
Sau khi phần mềm đã qua kiểm thử và chấp nhận, nó được triển khai cho người dùng cuối. Quá trình triển khai có thể bao gồm cài đặt, cấu hình và đào tạo người dùng.
Bước 7: Giao Hàng (Delivery)
Bàn giao cho khách hàng. Những thứ bàn giao bao gồm: mã nguồn, tài liệu thiết kế, hướng dẫn sử dụng (video, văn bản…), kết quả đã test (có thể là các test case)
Bước 8: Bảo Trì (Maintenance)
Sau khi triển khai, phần mềm tiếp tục được bảo trì và cập nhật để đảm bảo hoạt động mượt mà và đáp ứng nhu cầu của người dùng. Các lỗi được sửa chữa và các tính năng mới có thể được thêm vào trong quá trình này. Giai đoạn này tuỳ vào khách hàng mà có thời gian bảo trì dài hay ngắn, miễn phí hay có phí.
Lời kết
Nói chung mọi công đoạn cũng là tương đối, tuỳ vào tình hình dự án và độ cấp thiết thì chúng ta sẽ có sự linh hoạt mà hành động.
Tuy nhiên, việc hiểu và tuân thủ các giai đoạn này giúp đảm bảo rằng dự án phát triển phần mềm được quản lý một cách hiệu quả và đạt được kết quả mong đợi.
Dù là lập trình website hay mobile hay các hệ thống nhúng đều có một framework chung như vậy.
Dù là lập trình outsource hay product đều có một framework chung như vậy, phải chăng khác nhau ở stackholder.
Các bài viết không xem thì tiếc:
- Làm sao đánh giá một dự án phần mềm thành công?
- Các loại release trong phát triển phần mềm
- FRAMEWORK GIÚP BẠN BẮT ĐẦU MỌI THỨ HIỆU QUẢ NHẤT
- Tỷ lệ 16:9 nghĩa là gì? Áp dụng trong cuộc sống
- 25 năm internet Việt Nam và ảnh hưởng đến chúng ta
- 7 lời khuyên của Sam Altman để thành công
- LƯU Ý KHI ĐƯA APP LÊN APP STORE & TESTFLIGHT TỪ ĐÔ TRỊNH | dotrinh.com
- Công ty SI là gì trong lĩnh vực công nghệ thông tin?
- 30 tuổi học lập trình có muộn không?
- Danh sách bluetooth profiles
- Dịch vụ sửa website tốt và dịch vụ sửa website giá rẻ ở đâu?
- Em bị từ chối vì… Facebook em không đẹp
- Thiết kế web có khó không? Thiết kế web là làm gì?
- Triển lãm quốc tế Inter BEE 2023
- Làm sao để áp dụng wabi-sabi vào cuộc sống hàng ngày?