Các giai đoạn & mô hình vòng đời phát triển phần mềm (SDLC)
SDLC là gì?
SDLC là một quy trình có hệ thống để xây dựng phần mềm nhằm đảm bảo chất lượng và tính chính xác của phần mềm được xây dựng. Quá trình SDLC nhằm mục đích tạo ra phần mềm chất lượng cao đáp ứng mong đợi của khách hàng. Việc phát triển hệ thống phải được hoàn thành trong khung thời gian và chi phí được xác định trước. SDLC bao gồm một kế hoạch chi tiết giải thích cách lập kế hoạch, xây dựng và bảo trì phần mềm cụ thể. Mỗi giai đoạn của Vòng đời SDLC đều có quy trình và sản phẩm phân phối riêng để chuyển sang giai đoạn tiếp theo. SDLC là viết tắt của Chu trình phát triển phần mềm và còn được gọi là vòng đời Phát triển Ứng dụng.
Tại sao là SDLC?
Dưới đây là những lý do chính tại sao SDLC lại quan trọng để phát triển hệ thống phần mềm.
- Nó cung cấp cơ sở cho việc lập kế hoạch, tiến độ và ước tính dự án
- Cung cấp một khuôn khổ cho một tập hợp tiêu chuẩn các hoạt động và sản phẩm bàn giao
- Nó là một cơ chế để theo dõi và kiểm soát dự án
- Tăng khả năng hiển thị kế hoạch dự án cho tất cả các bên liên quan trong quá trình phát triển
- Tăng cường và nâng cao tốc độ phát triển
- Cải thiện quan hệ khách hàng
- Giúp bạn giảm rủi ro dự án và chi phí kế hoạch quản lý dự án
Các giai đoạn SDLC
Toàn bộ quá trình SDLC được chia thành các bước SDLC sau:
- Giai đoạn 1: Thu thập và phân tích yêu cầu
- Giai đoạn 2: Nghiên cứu khả thi
- Giai đoạn 3: Thiết kế
- Giai đoạn 4: Mã hóa
- Giai đoạn 5: Thử nghiệm
- Giai đoạn 6: Cài đặt/Triển khai
- Giai đoạn 7: Bảo trì
Trong hướng dẫn này, tôi đã giải thích tất cả các Giai đoạn trong Vòng đời Phát triển Phần mềm này
Giai đoạn 1: Thu thập và phân tích yêu cầu
Yêu cầu là giai đoạn đầu tiên trong quy trình SDLC. Nó được thực hiện bởi các thành viên cấp cao trong nhóm với ý kiến đóng góp từ tất cả các bên liên quan và các chuyên gia lĩnh vực trong ngành. Lập kế hoạch cho đảm bảo chất lượng các yêu cầu và nhận biết các rủi ro liên quan cũng được thực hiện ở giai đoạn này.
Giai đoạn này đưa ra một bức tranh rõ ràng hơn về phạm vi của toàn bộ dự án cũng như các vấn đề, cơ hội và chỉ thị dự đoán đã kích hoạt dự án.
Giai đoạn thu thập yêu cầu cần các nhóm lấy yêu cầu chi tiết và chính xác. Điều này giúp các công ty chốt được thời gian cần thiết để hoàn thành công việc của hệ thống đó.
Giai đoạn 2: Nghiên cứu khả thi
Sau khi hoàn thành giai đoạn phân tích yêu cầu, bước sdlc tiếp theo là xác định và ghi lại nhu cầu phần mềm. Quá trình này được thực hiện với sự trợ giúp của tài liệu 'Đặc tả yêu cầu phần mềm' còn được gọi là tài liệu 'SRS'. Nó bao gồm mọi thứ cần được thiết kế và phát triển trong suốt vòng đời dự án.
Chủ yếu có năm loại kiểm tra tính khả thi:
- Thuộc kinh tế: Chúng ta có thể hoàn thành dự án trong phạm vi ngân sách hay không?
- Pháp lý: Chúng tôi có thể xử lý dự án này theo luật mạng và khuôn khổ/tuân thủ quy định khác không?
- Operatính khả thi: Chúng ta có thể tạo ra các hoạt động mà khách hàng mong đợi không?
- kỹ thuật: Cần kiểm tra xem hệ thống máy tính hiện tại có hỗ trợ được phần mềm không
- Lịch trình: Quyết định xem dự án có thể được hoàn thành theo đúng tiến độ nhất định hay không.
Giai đoạn 3: Thiết kế
Trong giai đoạn thứ ba này, các tài liệu thiết kế hệ thống và phần mềm được chuẩn bị theo tài liệu đặc tả yêu cầu. Điều này giúp xác định kiến trúc hệ thống tổng thể.
Giai đoạn thiết kế này đóng vai trò là đầu vào cho giai đoạn tiếp theo của mô hình.
Có hai loại tài liệu thiết kế được phát triển trong giai đoạn này:
Thiết kế cấp cao (HLD)
- Mô tả ngắn gọn và tên của từng mô-đun
- Sơ lược về chức năng của từng mô-đun
- Mối quan hệ giao diện và sự phụ thuộc giữa các mô-đun
- Các bảng cơ sở dữ liệu được xác định cùng với các thành phần chính của chúng
- Sơ đồ kiến trúc hoàn chỉnh cùng với các chi tiết công nghệ
Thiết kế cấp thấp (LLD)
- Logic chức năng của các mô-đun
- Các bảng cơ sở dữ liệu, bao gồm loại và kích thước
- Giao diện chi tiết đầy đủ
- Giải quyết tất cả các loại vấn đề phụ thuộc
- Danh sách các thông báo lỗi
- Hoàn thành đầu vào và đầu ra cho mỗi mô-đun
Giai đoạn 4: Mã hóa
Khi giai đoạn thiết kế hệ thống kết thúc, giai đoạn tiếp theo là mã hóa. Trong giai đoạn này, các nhà phát triển bắt đầu xây dựng toàn bộ hệ thống bằng cách viết mã bằng ngôn ngữ lập trình đã chọn. Trong giai đoạn mã hóa, các nhiệm vụ được chia thành các đơn vị hoặc mô-đun và được giao cho các nhà phát triển khác nhau. Đây là giai đoạn dài nhất của quy trình Vòng đời phát triển phần mềm.
Trong giai đoạn này, Nhà phát triển cần tuân theo một số nguyên tắc mã hóa được xác định trước. Họ cũng có nhu cầu sử dụng công cụ lập trình như trình biên dịch, trình thông dịch, trình gỡ lỗi để tạo và triển khai mã.
Giai đoạn 5: Thử nghiệm
Sau khi phần mềm hoàn tất và được triển khai trong môi trường thử nghiệm. Nhóm thử nghiệm bắt đầu thử nghiệm chức năng của toàn bộ hệ thống. Điều này được thực hiện để xác minh rằng toàn bộ ứng dụng hoạt động theo yêu cầu của khách hàng.
Trong giai đoạn này, QA và nhóm kiểm thử có thể tìm thấy một số lỗi/khiếm khuyết mà họ sẽ thông báo cho nhà phát triển. Nhóm phát triển sửa lỗi và gửi lại cho QA để kiểm tra lại. Quá trình này tiếp tục cho đến khi phần mềm không còn lỗi, ổn định và hoạt động theo nhu cầu nghiệp vụ của hệ thống đó.
Giai đoạn 6: Cài đặt/Triển khai
Khi giai đoạn kiểm thử phần mềm kết thúc và không còn lỗi hoặc lỗi nào trong hệ thống thì quá trình triển khai cuối cùng sẽ bắt đầu. Dựa trên phản hồi do người quản lý dự án đưa ra, phần mềm cuối cùng sẽ được phát hành và kiểm tra các vấn đề triển khai nếu có.
Giai đoạn 7: Bảo trì
Sau khi hệ thống được triển khai và khách hàng bắt đầu sử dụng hệ thống đã phát triển, 3 hoạt động sau sẽ diễn ra
- Sửa lỗi – lỗi được báo cáo do một số tình huống chưa được kiểm tra
- Upgrade – Nâng cấp ứng dụng lên các phiên bản mới hơn của Phần mềm
- Cải tiến – Thêm một số tính năng mới vào phần mềm hiện có
Trọng tâm chính của giai đoạn SDLC này là đảm bảo rằng các nhu cầu tiếp tục được đáp ứng và hệ thống tiếp tục hoạt động theo thông số kỹ thuật được đề cập trong giai đoạn đầu tiên.
Các mẫu SDLC phổ biến
Dưới đây là một số mô hình quan trọng nhất của Vòng đời phát triển phần mềm (SDLC):
Mô hình thác nước trong SDLC
Thác nước là mô hình SDLC được chấp nhận rộng rãi. Theo cách tiếp cận này, toàn bộ quá trình phát triển phần mềm được chia thành nhiều giai đoạn khác nhau của SDLC. Trong mô hình SDLC này, kết quả của một giai đoạn đóng vai trò là đầu vào cho giai đoạn tiếp theo.
Mô hình SDLC này sử dụng nhiều tài liệu, trong đó các giai đoạn trước ghi lại những gì cần thực hiện trong các giai đoạn tiếp theo.
Mô hình gia tăng trong SDLC
Mô hình gia tăng không phải là một mô hình riêng biệt. Về cơ bản nó là một chuỗi các chu kỳ thác nước. Các yêu cầu được chia thành các nhóm khi bắt đầu dự án. Đối với mỗi nhóm, mô hình SDLC được tuân theo để phát triển phần mềm. Quy trình vòng đời SDLC được lặp lại, với mỗi bản phát hành sẽ bổ sung thêm nhiều chức năng hơn cho đến khi đáp ứng được tất cả các yêu cầu. Trong phương pháp này, mỗi chu kỳ đóng vai trò là giai đoạn bảo trì cho lần phát hành phần mềm trước đó. Việc sửa đổi mô hình gia tăng cho phép các chu kỳ phát triển chồng chéo lên nhau. Sau đó, chu kỳ tiếp theo có thể bắt đầu trước khi chu kỳ trước hoàn tất.
Mô hình chữ V trong SDLC
Trong loại thử nghiệm và phát triển mô hình SDLC này, giai đoạn này được lên kế hoạch song song. Vì vậy, một bên có các giai đoạn xác minh SDLC và một bên là giai đoạn xác nhận. V-Model tham gia theo giai đoạn Mã hóa.
Mô hình linh hoạt trong SDLC
Phương pháp Agile là một phương pháp thúc đẩy sự tương tác liên tục giữa phát triển và thử nghiệm trong suốt quá trình SDLC của bất kỳ dự án nào. Trong phương pháp Agile, toàn bộ dự án được chia thành các bản dựng gia tăng nhỏ. Tất cả các bản dựng này được cung cấp theo từng lần lặp lại và mỗi lần lặp lại kéo dài từ một đến ba tuần.
Mô hình xoắn ốc
Mô hình xoắn ốc là mô hình quy trình dựa trên rủi ro. Mô hình thử nghiệm SDLC này giúp nhóm áp dụng các yếu tố của một hoặc nhiều mô hình quy trình như thác nước, gia tăng, thác nước, v.v.
Mô hình này áp dụng các tính năng tốt nhất của mô hình nguyên mẫu và mô hình thác nước. Phương pháp xoắn ốc là sự kết hợp giữa tạo mẫu nhanh và đồng thời trong các hoạt động thiết kế và phát triển.
Mô hình vụ nổ lớn
Mô hình Big bang đang tập trung vào tất cả các loại nguồn lực trong phát triển và mã hóa phần mềm mà không có hoặc có rất ít kế hoạch. Các yêu cầu được hiểu và thực hiện khi chúng đến.
Mô hình này hoạt động tốt nhất cho các dự án nhỏ với nhóm phát triển quy mô nhỏ hơn đang làm việc cùng nhau. Nó cũng hữu ích cho các dự án phát triển phần mềm học thuật. Đây là một mô hình lý tưởng khi không xác định được yêu cầu hoặc không đưa ra ngày phát hành cuối cùng.
Tổng kết
- Vòng đời phát triển phần mềm (SDLC) là một quy trình có hệ thống để xây dựng phần mềm nhằm đảm bảo chất lượng và tính chính xác của phần mềm được xây dựng.
- SDLC dạng đầy đủ là Vòng đời phát triển phần mềm hoặc Vòng đời phát triển hệ thống.
- SDLC trong công nghệ phần mềm cung cấp một khuôn khổ cho một tập hợp các hoạt động và sản phẩm tiêu chuẩn
- Bảy giai đoạn SDLC khác nhau là 1) Thu thập và phân tích yêu cầu 2) Nghiên cứu khả thi: 3) Thiết kế 4) Mã hóa 5) Kiểm tra: 6) Cài đặt/Triển khai và 7) Bảo trì
- Các thành viên cấp cao của nhóm tiến hành phân tích yêu cầu giai đoạn
- Giai đoạn Nghiên cứu khả thi bao gồm mọi thứ cần được thiết kế và phát triển trong suốt vòng đời dự án
- Trong giai đoạn Thiết kế, các tài liệu thiết kế hệ thống và phần mềm được chuẩn bị theo tài liệu đặc tả yêu cầu.
- Trong giai đoạn mã hóa, các nhà phát triển bắt đầu xây dựng toàn bộ hệ thống bằng cách viết mã bằng ngôn ngữ lập trình đã chọn
- Kiểm tra là giai đoạn tiếp theo được tiến hành để xác minh rằng toàn bộ ứng dụng hoạt động theo yêu cầu của khách hàng.
- Mặt cài đặt và triển khai bắt đầu khi kiểm thử phần mềm giai đoạn đã kết thúc và không còn lỗi hoặc sai sót nào trong hệ thống
- Các hành động sửa lỗi, nâng cấp và tương tác được đề cập trong phần bảo trì
- Waterfall, Incremental, Agile, V model, Spiral, Big Bang là một số mô hình SDLC phổ biến trong công nghệ phần mềm
- SDLC trong kiểm thử phần mềm bao gồm một kế hoạch chi tiết giải thích cách lập kế hoạch, xây dựng và bảo trì phần mềm cụ thể