CHƯƠNG I: TỔNG QUAN VỀ MÔ HÌNH THÁC NƯỚC Mặc cho sự phát triển như vũ bão của thời buổi công nghệ số với nhiều giải pháp mới cho việc phát triển phần mềm. Mô hình thác nước (waterfall) vẫn được nhiều người biết đến như một giải pháp lý tưởng cho các doanh nghiệp. Nguyên nhân đơn giản là nhờ sự hữu ích cùng khả năng kiểm soát toàn bộ quá trình.1 Mô hình thác nước – Waterfall là gì Mô hình thác nước là một ví dụ của mô hình Sequential (Tuần tự). Trong mô hình này, hoạt động phát triển phần mềm được chia thành các giai đoạn khác nhau và từng giai đoạn bao gồm hàng loạt các nhiệm vụ và có các mục tiêu khác nhau.
Mô hình Thác nước là giai đoạn đầu trong quá trình SDLC. Trên thực tế, nó là mô hình đầu tiên được sử dụng rộng rãi trong ngành công nghiệp phần mềm. Trong thác nước, sự phát triển của một pha chỉ bắt đầu khi giai đoạn trước hoàn thành.2 Cấu trúc của mô hình 1thác nước Trong phát triển phần mềm, thuật ngữ "mô hình thác nước" không phải là thuật ngữ chính thức được sử dụng để mô tả các phương pháp phát triển phần mềm. Tuy nhiên, có thể bạn đang muốn hỏi về cấu trúc của một mô hình phát triển phần mềm.
Dưới đây là cấu trúc cơ bản của một mô hình phát triển phần mềm: 1. Thu thập yêu cầu: bao gồm việc hiểu các yêu cầu của khách hàng, người dùng và các bên liên quan khác. Thiết kế hệ thống: bao gồm việc thiết kế kiến trúc, đặc tả các thành phần của hệ thống và định nghĩa các mối quan hệ giữa chúng. Lập kế hoạch phát triển: bao gồm xác định các tài nguyên cần thiết, lập kế hoạch thực hiện và đánh giá các rủi ro.
Phát triển: bao gồm việc lập trình, kiểm thử, tích hợp các thành phần và triển khai hệ thống. Kiểm thử: bao gồm việc thử nghiệm hệ thống, xác định các lỗi và sửa chữa chúng. Triển khai: bao gồm việc triển khai hệ thống trong môi trường sản xuất hoặc vận hành. Bảo trì và nâng cấp: bao gồm việc duy trì và cập nhật hệ thống để đảm bảo hoạt động ổn định và đáp ứng nhu cầu của khách hàng.3 Mô hình hóa nghiệp vụ (Business Modeling) Hình 3.
Luồng công việc mô hình hóa nghiệp vụ 1.1Mục tiêu 2 - Hiểu được vấn đề đang tồn tại trong tổ chức và đề xuất cải tiến - Đảm bảo khách hàng, người dùng cuối, người phát triển có sự hiểu biết thống nhất về hệ thống - Tìm ra những yêu cầu hệ thống cần thiết 1.2 Artifacts Artifacts Mức độ cần thiết Khởi Phác Xây Chuyển tạo thảo dựng giao Tài liệu kiến trúc kinh doanh C C C C Thuật ngữ kinh doanh C C C C Mô hình đối tượng kinh doanh C C C C Thực thể kinh doanh C C C C Nhân viên kinh doanh C C C C Thực hiện trường hợp sử dụng kinh C C C C doanh Đặc điểm kỹ thuật thực hiện C C C C trường hợp sử dụng kinh doanh Đơn vị tổ chức C C C C Mô hình trường hợp sử dụng kinh C C C C doanh Diễn viên doanh nghiệp C C C C Trường hợp sử dụng doanh nghiệp C C C C 3 Đặc tả trường hợp sử dụng kinh C C C C doanh Tầm nhìn kinh doanh C C C C Đặc điểm kỹ thuật kinh doanh bổ sung C C C C Quy tắc kinh doanh C C C C Đánh giá tổ chức mục tiêu C C C C 1.4 Quản lý yêu cầu (Requirements) Hình 3. Luồng công việc quản lý yêu cầu 1.1 Mục tiêu - Thiết lập và duy trì sự đúng đắn về yêu cầu của khách hàng hoặc các nhân tố khác về những gì mà hệ thống sẽ thực hiện - Giúp người phát triển hiểu rõ hơn về những yêu cầu hệ thống (các chức năng, độ tin cậy, hiệu suất, sự hỗ trợ…) - Giúp ước lượng thời gian và chi phí phát triển hệ thống 4 1.2 Artifacts Artifacts Mức độ cần thiết Khởi Phác Xây Chuyển tạo thảo dựng giao Thuật ngữ M M M M Thuộc tính yêu cầu M M M M Kế hoạch quản lý yêu cầu M M M M Đặc điểm kỹ thuật yêu cầu phần S M M M mềm Đặc điểm kỹ thuật bổ sung S M M M Mô hình trường hợp sử dụng S M M M Diễn viên S M M M Trường hợp sử dụng S M M M Đặc điểm kỹ thuật S M M M trường hợp sử dụng Gói Use-Case C C C C Yêu cầu của các bên liên quan M M M M Cốt truyện trường hợp sử dụng C C C C Lớp ranh giới C C C C Nguyên mẫu giao diện người dùng C S C C Tầm nhìn M M M M 5 1.5 Phân tích và thiết kế (Analysis and Design) Hình 3. Luồng công việc phân tích và thiết kế 1.1 Mục tiêu - Mô tả hệ thống thông qua các sơ đồ phân tích thiết kế. - Chuyển các yêu cầu sang đặc tả để mô tả cách cài đặt hệ thống - Sử dụng các biểu đồ UML… 1.2 Artifacts Artifacts Mức độ cần thiết Khởi Phác Xây dựng Chuyển tạo thảo giao Mô hình phân tích (*1) C S W W Mô hình Dữ liệu C M M M Mô hình triển khai C M M M 6 Mô hình thiết kế C M M M Lớp phân tích (*2) C S C W Lớp thiết kế C M M M Gói thiết kế C M M M Hệ thống con thiết kế C M M M Giao diện C M M M Thực hiện trường hợp sử dụng C M M M (*3) Kiến trúc tham khảo C C C C Tài liệu kiến trúc phần mềm C M M M (SAD) *1: Mô hình phân tích là một hiện vật tạm thời chứa các lớp phân tích chưa được phân bổ/tích hợp vào Mô hình Thiết kế.
*2: Trong các lớp phân tích khởi đầu và xây dựng có thể là một phần của Mô hình Phân tích. Khi thiết kế được đưa ra, các lớp phân tích sẽ được tích hợp vào Mô hình thiết kế và trưởng thành thành các yếu tố thiết kế. Trong các lớp phân tích xây dựng vẫn có thể được sử dụng khi thực hiện phân tích trường hợp sử dụng nhưng bản thân mô hình phân tích sẽ không còn được sử dụng. *3: Nhận biết trường hợp sử dụng cũng có thể là một phần của mô hình phân tích.6 Cài đặt (Implementation) 7 Hình 3.
Luồng công việc cài đặt 1.1 Mục tiêu - Xác định cách thức viết mã cài đặt - Cài đặt lớp và đối tượng như là các thành phần - Tích hợp vào trong một hệ thống có thể thực thi được 1.2 Artifacts Artifacts Mức độ cần thiết Khởi Phác Xây Chuyển tạo thảo dựng giao Mô hình thực hiện C M M M Xây dựng C M M M Hệ thống con triển khai C M M M 8 Thành phần C M M M Kế hoạch xây dựng tích hợp C M M M Tài liệu kiến trúc phần mềm (Dạng xem C M M M thực hiện) 1.7 Kiểm thử (Test) Hình 3. Luồng công việc kiểm thử 1.1 Mục tiêu - Để kiểm tra lại sự tương tác giữa các đối tượng. - Để kiểm tra lại sự tích hợp thích hợp của tất cả các thành phần của phần mềm. 9 - Để xác minh rằng tất cả các yêu cầu đã được thực hiện một cách chính xác.
- Để xác định và đảm bảo các lỗi được giải quyết trước khi triển khai phần mềm.2 Artifacts Artifacts Mức độ cần thiết Khởi Phác Xây Chuyển tạo thảo dựng giao Tóm tắt đánh giá kiểm tra C M M M Gói kiểm tra C C S S Lớp kiểm tra C C S S Kiểm tra hệ thống con C C S S Thành phần kiểm tra C C S S Bộ kiểm tra C M M M Trường hợp kiểm tra C M M M Tập lệnh Kiểm tra C M M M Kế hoạch kiểm tra S M M M Kết quả kiểm tra C M M M Tài liệu phân tích khối lượng công W S S S việc 10 1.8 Triển khai (Deployment) Hình 3. Luồng công việc triển khai 1.1 Mục tiêu - Sản xuất các bản phát hành bên ngoài của phần mềm. - Đóng gói phần mềm. - Phân phối phần mềm.
- Cài đặt phần mềm. - Cung cấp trợ giúp và hướng dẫn cho người dùng. - Trong nhiều trường hợp, nó cũng bao gồm các hoạt động như: - Lập kế hoạch và tiến hành các thử nghiệm beta. - Di chuyển phần mềm hoặc dữ liệu hiện có.
11 - Chấp nhận chính thức.2 Artifacts Artifacts Mức độ cần thiết Khởi tạo Phác Xây Chuyển thảo dựng giao Hóa đơn vật liệu W S M M Kế hoạch triển khai W S M M Sản phẩm W S M M Đơn vị triển khai W S M M Tài liệu hỗ trợ người dùng cuối W S M M Hiện vật cài đặt W C M M Ghi chú Phát hành W W C M Tác phẩm nghệ thuật sản phẩm W S M M Tài liệu đào tạo W C S S 12 CHƯƠNG II: QUẢN LÝ DỰ ÁN XÂY DỰNG PHẦN MỀM QUẢN LÝ THƯ VIỆN 2. Tên dự án: Phát triển phần mềm quản lý thư viện b. Quản lý dự án: Ngô Huy Thái (PM) c. Danh sách nhóm dự án: - Ngô Huy Thái - Hà Thanh Hào - Hà Công Sơn - Nguyễn Thành Công - Ma Văn Hùng - Bùi Công Minh d.
Thời gian thực hiện dự án: Tổng thời gian: 30 ngày (Trừ chủ nhật) Thời gian bắt đầu: 20/02/2023 Thời gian kết thúc: 11/04/2023 e. Mục tiêu dự án: - Áp dụng tiến trình Thác nước để xây dựng phần mềm quản lý thư viện f. Công cụ hỗ trợ - Microsoft Word - Visual Studio Code - Composer - SQL Server 13 2. Bảng phân công công việc STT Họ tên Công việc 1 Ngô Huy Thái Phân công công việc Thiết kế giao diện Lập trình Thiết kế cơ sở dũ liệu 2 Hà Thanh Hào Thu thập và phân tích yêu cầu Kiểm thử Viết báo cáo.
Quản lý báo cáo Làm tài liệu Vision 3 Hà Công Sơn Khảo sát hệ thống. Mô tả bài toán.