NỘI DUNG BÀI VIẾT
SDLC là gì?
SDLC (Software Develop Life Cycle – Vòng đời phát triển phần mềm) 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 đúng đắn của phần mềm được xây dựng. Quy trình SDLC nhằm mục đích sản xuất 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à duy trì phần mềm cụ thể. Mỗi giai đoạn của Vòng đời SDLC đều có quy trình riêng và các sản phẩm cung cấp cho giai đoạn tiếp theo. SDLC là viết tắt của Vòng đời 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.
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: Lập trình
- Giai đoạn 5: Kiểm thử
- Giai đoạn 6: Cài đặt / Triển khai
- Giai đoạn 7: Bảo trì
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 nhóm cấp cao với đầu vào 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 các yêu cầu đảm bảo chất lượng 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 cho ta một bức tranh rõ ràng hơn về phạm vi của toàn bộ dự án và các vấn đề, cơ hội và chỉ thị được dự đoán trước để kích hoạt dự án.
Yêu cầu giai đoạn thu thập cần các đội lên yêu cầu chi tiết và chính xác. Điều này giúp các công ty hoàn thiện mố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
Khi giai đoạn phân tích yêu cầu hoàn thành, bước sdlc tiếp theo là xác định và lập hồ sơ các nhu cầu phần mềm. Quá trình này được tiến hành 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 vòng đời của dự án.
Chủ yếu có năm loại kiểm tra tính khả thi:
- 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 không gian mạng và các quy định / tuân thủ khuôn khổ quy định khác không.
- Tính khả thi của hoạt động: Chúng tôi 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ó thể hỗ trợ phần mềm hay không
- Lịch trình: Quyết định rằng dự án có thể được hoàn thành trong tiến độ đã cho hay không.
Giai đoạn 3: Thiết kế
Trong giai đoạn thứ ba này, hệ thống và tài liệu thiết kế 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 mọi 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 yếu tố chính của chúng
- Sơ đồ kiến trúc hoàn chỉnh cùng với 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
- Toàn bộ chi tiết của giao diện
- 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: Lập trình
Khi giai đoạn thiết kế hệ thống kết thúc, giai đoạn tiếp theo là lập trình. 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ã sử dụng ngôn ngữ lập trình đã chọn. Trong giai đoạn lập trình, 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 lập trình được xác định trước. Họ cũng cần sử dụng các 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: Kiểm thử
Sau khi phần mềm hoàn tất và nó được triển khai trong môi trường kiểm thử. Nhóm kiểm thử bắt đầu kiểm thử 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ọ 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 QA để kiểm thử lại. Quá trình này tiếp tục cho đến khi phần mềm không có lỗi, ổn định và hoạt động theo nhu cầu kinh doanh 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 đượ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ì
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ẽ xảy ra
- Sửa lỗi – lỗi được báo cáo do một số tình huống không được kiểm thử
- Nâng cấp – 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 đặc điểm kỹ thuật được đề cập trong giai đoạn đầu tiên.
Các mô hình 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ột 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 các 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 đòi hỏi nhiều tài liệu, với các giai đoạn trước đó ghi lại những gì cần được thực hiện trong các giai đoạn tiếp theo.
Mô hình tăng dần trong SDLC
Mô hình gia tăng không phải là một mô hình riêng biệt. Về bản chất 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 cho đến khi tất cả các yêu cầu được đáp ứng.
Trong phương pháp này, mọi chu kỳ đóng vai trò là giai đoạn bảo trì cho bản phát hành phần mềm trước đó. Việc sửa đổi đối vớ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 thành.
V-Model và SDLC
Trong mô hình SDLC này, giai đoạn được lập kế hoạch song song. Vì vậy, có các giai đoạn xác minh của SDLC ở phía bên và giai đoạn xác nhận ở phía bên kia. V-Model tham gia theo giai đoạn lập trình.
Mô hình Agile trong SDLC
Phương pháp Agile là một phương pháp thực hành nhằm thúc đẩy sự tương tác liên tục của quá trình phát triển và kiểm thử trong 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 xây dựng nhỏ tăng dần. Tất cả các bản dựng này được cung cấp theo nhiều 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ột mô hình quá trình định hướng rủi ro. Mô hình 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 sử dụng các tính năng tốt nhất của mô hình tạo mẫu và mô hình thác nước. Phương pháp luận xoắn ốc là sự kết hợp giữa tạo mẫu nhanh và tính đồng thời trong các hoạt động thiết kế và phát triển.
Mô hình big bang
Mô hình vụ big bang đang tập trung vào tất cả các loại tài nguyên trong phát triển phần mềm và lập trình, 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 mà các yêu cầu không xác định hoặc ngày phát hành cuối cùng không được đưa ra.
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 đúng đắn của phần mềm được xây dựng
- SDLC có 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 kỹ thuật 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) Lập trình 5) Kiểm thử: 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 giai đoạn phân tích yêu cầu
- 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 vòng đời dự án
- Trong giai đoạn Thiết kế, 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 viết mã, 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 thử 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 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
- Các hành động sửa lỗi, nâng cấp và tương tác được đề cập trong mặt bảo trì
- Mô hình Waterfall, Incremental, Agile, V, Spiral, Big Bang là một số mô hình SDLC phổ biến trong kỹ thuật 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à duy trì phần mềm cụ thể
Cảm ơn bạn đã theo dõi bài viết!
Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.
TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU
KHOÁ HỌC BOOTCAMP JAVA/PHP/.NET TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG