Nhằm nâng cao chất lượng của tài liệu thiết kế, giảm những lỗi xảy ra do việc phân tích, sớm đánh giá độ phức tạp của các module nghiệp vụ, trong dự án này, chúng tôi áp dụng VDM++ vào trong quá quy trình phát triển phần mềm hiện tại của công ty. VDM++ được áp dụng để mô hình hóa các module quan trọng, dùng chung của hệ thống như quy trình phê duyệt qua các cấp, lập kế hoạch kiểm tra.
Sử dụng Modelio Tools để mô hình hóa các class và mô hình hóa các lớp trong VDM++ sử dụng Overture Tools. Việc sử dụng hai công cụ này trong quá trình phân tích, thiết kế sẽ giúp tiết kiệm thời gian hơn vì hai công cụ này này có thể hỗ trợ import/export theo định dạng file .uml.
Quy trình hiện tại được áp dụng thêm bước mô hình hóa bằng VDM++ sẽ được cải tiến như sau:
Hình 2. 13. Chi tiết công việc bao gồm việc mô hình hóa bằng VDM++
Trong hình trên, quy trình phát triển hệ thống được thêm một quy trình kiểm soát chất lượng tài liệu thiết kế bằng quy trình thực hiện mô hình hóa bằng VDM++. Quy trình này nhằm đảm bảo chất lượng trong giai đoạn đặc tả yêu cầu, thiết kế chi tiết và hạn chế việc phải làm lại (rework) bằng việc thực hiện kiểm thử ở giai đoạn thiết kế để đảm bảo chất lượng tài liệu thiết kế. Gồm các bước chính sau:
Bảng 2. 1. Định nghĩa mục đích của hành động
Hành động Mục đích
Đặc tả yêu cầu
1. Tạo bảng tiêu chuẩn thiết kế.
2. Thu thập và phân loại yêu cầu chức năng và phi chức năng của hệ thống.
3. Xác định sơ đồ cấu trúc của hệ thống.
4. Tạo tài liệu luồng nghiệp vụ của hệ thống dựa trên thực tế sử dụng từ người dùng.
5. Tạo các tài liệu định nghĩa màn hình và báo cáo của hệ thống dựa trên luồng nghiệp vụ của hệ thống.
6.Tạo biểu đồ quan hệ thực thể ERD.
Thiết kế chi tiết
1. Tạo bảng tiêu chuẩn viết mã.
2. Tạo tài liệu đặc tả chi tiết màn hình, bao gồm: những rằng buộc dữ liệu người dùng, trường dữ liệu tương ứng.
Diagram). Thiết kế luồng xử lý đối với các trường hợp dữ liệu bình thường, bất thường của các sự kiện.
4. Thiết kế các câu lệnh SQL và sử dụng trong activity diagram.
5. Làm mịn tài liệu mô tả cơ sở dữ liệu. Bao gồm việc đánh giá hiệu suất của hệ thống.
Mô hình hóa trong VDM++
1. Xác định những chức năng quan trọng của hệ thống. Yêu câu nghiệp vụ phức tạp, ảnh hưởng đến nghiệp vụ toàn bộ hệ thống.
2. Đặc tả thực thể dữ liệu bằng VDM++. Sử dụng class để đặc tả các thực thể quan hệ.
3. Đặc tả cho các chức năng nghiệp vụ. Sử dụng các điều kiện pre/post để đảm bảo tính toàn vẹn dữ liệu.
Cài đặt
1. Cài đặt (viết mã) các chức năng của hệ thống dựa theo tài liệu thiết kế chi tiết.
2. Kiểm thử ở mức đơn vị.
Kiểm soát chất lượng
1. Viết test case dựa vào đặc tả yêu cầu và tài liệu thiết kế chi tiết.
2. Kiểm tra tài liệu thiết kế theo checklist.
3. Thực hiện kiểm thử các chức năng cài đặt trong VDM.
4. Thực hiện kiểm thử luồng xử lý (PT – Processing Test).
5. Thực hiện kiểm thử tích hợp (IT – Intergration Test).
6. Thực hiện kiểm thử hệ thống (System Test).
Nhân sự và vai trò trách nhiệm
Nhân sự trong dự án được chia thành 3 nhóm vai trò: Nhóm phân tích, Nhóm kiểm thử, Nhóm phát triển. Sự tương tác của các nhân sự trong dự án được thể hiện như sau:
Hình 2. 14. Phạm vi công việc của các nhóm vai trò trong dự án Bảng 2. 2. Định nghĩa vai trò và trách nhiệm Bảng 2. 2. Định nghĩa vai trò và trách nhiệm
Vai trò Nhiệm vụ
System Analyst
1. Thu thập yêu cầu của khách hàng (yêu cầu chức năng và phi chức năng).
2. Phân tích yêu cầu nghiệp vụ.
3. Mô hình hóa thiết kế bằng VDM++. 4. Thực hiện kiểm thử mô hình VDM++. 5. Triển khai và đào tạo người sử dụng.
System Analyst
Gather customer requirement (Functional, Non-Funtional) Create Screen&Repor t Definition Create Entity- Relationship diagram Create Detail Design Create Activity Diagram Formal Specification in VDM++ VDM Test Deploy system Train user Tester
Create Test Case
Verify document by checklist Execute PT Execute IT Execute ST Documents, Formal specification Issue list Developer
Implement (Code) Unit Test
Detail Design
document Confirmation
Implemented
Tester
1. Viết tài liệu kiểm thử dựa trên các tài liệu phân tích. Bao gồm: kiểm thử luồng nghiệp vụ chức năng (PT), kiểm thử tích hợp (IT) và kiểm thử hệ thống (ST) bao gồm cả các yêu cầu phi chức năng.
2. Đảm bảo chất lượng tài liệu thiết kế bằng việc kiểm tra tài liệu thiết kế theo check list.
3. Đảm bảo chất lượng của hệ thống bằng cách thực hiện: PT, IT, ST.
Developer
1. Cài đặt các chức năng dựa theo tài liệu thiết kế chi tiết. 2. Đảm bảo chất lượng cài đặt bằng việc thực hiện kiểm
CHƯƠNG 3 – ÁP DỤNG QUY TRÌNH MỚI VÀO DỰ ÁN IMP
Trong phần này sẽ mô tả các kỹ thuật và kết quả của việc mô hình hóa hệ thống trong VDM++. Áp dụng đặc tả cho module Kế Hoạch Năm – Annual Schedule. Đầu năm, phòng IMP sẽ tạo kế hoạch kiểm tra cho cả năm và xin các cấp phê duyệt. Khi đệ trình kế hoạch thì có 2 lựa chọn là phê duyệt hoặc không phê duyệt. Bước đầu tiên, dựa vào tài liệu đặc tả yêu cầu người dùng chúng ta sẽ mô hình hóa các thực thể của hệ thống ở mức trừu tượng. Sau đó, đặc tả một số lớp và chức năng bằng VDM++. Tại bước này sẽ đánh giá được các lỗi xảy ra ở các tài liệu đặc tả. Lỗi gặp phải có thể là lỗi phân tích hoặc lỗi về nghiệp vụ.