V Model – Mô Hình Phần Mềm Chữ V
V Model là tên viết tắt của Verification software development model.
Mô hình phát triển phần mềm xác minh, hay còn gọi tắt là mô hình chữ V.
1. Nguyên lý của V Model.
Về cơ bản V Model khá giống với mô hình thác nước về cách thực hiện tuần tự các quy trình, mỗi giai đoạn cũng phải được hoàn thành đầy đủ trước khi bắt đầu giai đoạn tiếp theo. Điểm khác biệt so với Waterfall đó là việc test được thực hiện song song với từng giai đoạn.
Hãy cùng xem mô hình minh họa dưới đây.
Step 1: BRS
Viết tắt của Business requirement Specification. BRS thực hiện quá trình đọc các yêu cầu kỹ thuật của công việc để xem dự án viết cho loại hình công việc nào.
Khi step này được hoàn thành, thì được đưa vào một bước test gọi là Acceptance test.
Step 2: SRS (System requirement Specification)
SRS thực hiện quá trình đọc và phân tích chất của công việc, tìm hiểu về hệ thống sản phẩm mà dự án đề ra.
Qúa trình test đi kèm với SRS đó là quá trình System Testing
Step 3: HLD (High Level Design)
Giai đoạn này của V Model được thực hiện trên kỹ thuật hệ thống và thiết kế.
Nó được coi là mức độ thiết kế tầm cao, vì nó phải cung cấp được giải pháp xử lý tổng quan, nền tảng xây dựng, hệ thống sản phẩm và các dịch vụ. Giai đoạn test cho bước này được gọi là : Integration Test.
Step 4: LLD (Low Level Design)
Đây là bước mức độ thấp của thiết kế. Là giai đoạn mà sản phẩm phần mềm đã được tiến hành thiết kế thực tế, bắt đầu đi vào xác định các yếu tố logic, các sơ đồ lớp với mọi phương thức, mối liên quan giữa các lớp trong LLD.
Giai đoạn này có thể phát sinh các mâu thuẫn, sự phù hợp hay không phù hợp.
Sau khi bước này được thực hiện thành công thì được chuyển đến công đoạn test gọi là : Component Test.
Step 5: Coding
Là bước bắt đầu tiến hành triển khai dự án.
Mỗi thành viên đảm nhiệm một chức năng nhiệm vụ của riêng mình.
Bắt đầu sử dụng ngôn ngữ lập trình và các thuật toán để coding ra một phần chức năng của phần mềm.
Bước này được thực hiện xong sẽ tiến hành đưa vào một công đoạn test, người ta gọi đó là công đoạn Unit Test
Step 6: Code/Testing
Bước này thực chất chính là việc review của bước 4.
Sau khi việc coding và unit test được thực hiện tại bước 4 thành công, thì bước 5 thực hiện review code về phong cách code.
Đảm bảo tối ưu các đoạn mã code, giải thuật, thuật toán.
Sau khi bước này được thực hiện, thì có thể xảy ra việc sửa đổi những đoạn mã code không hiệu quả, chưa tối ưu.
Những giải thuật chưa thực sự tốt, những đoạn mã lệnh không chuẩn theo quy ước.
Do đó việc Unit test sẽ được thực hiện lại.
Khi bước Unit test được thực hiện lại hoàn thành, cũng là lúc mã code và thành phẩm đạt tới cao nhất của độ chính xác.
Tiếp theo đó lần lượt các bước test ở trên sẽ được thực hiện lại, để đảm bảo sản phẩm chính xác so với yêu cầu.
2. Ưu điểm và Nhược Điểm của V Model
* Ưu điểm.
– Đơn giản dễ sử dụng.
– Có hoạt động, kế hoạch cụ thể cho quá trình test.
– Tiết kiệm được thời gian, và có cơ hội thành công cao hơn waterfall.
– Chủ động trong việc phát hiện bug, sớm tìm ra bug ngay từ những bước đầu.
* Nhược điểm.
– Độ linh hoạt ít, còn tồn tại sự cứng nhắc. Nó thể hiện ở chỗ cứ sau mỗi step thì lại phải có một công đoạn test.
Nếu yêu cầu dự án không quá phức tạp và dễ hiểu, thì việc thực hiện nhiều công đoạn test như vậy là tốn thời gian.
– Giống với water fall, sản phẩm của dự án chỉ được xuất hiện khi tất cả các bước được hoàn thành xong, không có nguyên mẫu ngay từ ban đầu.
Không đáp ứng được yêu cầu dịch vụ vừa phát triển song song với vừa bán sản phẩm.
– Nếu có sự thay đổi về kỹ thuật ở nửa chừng, thì sẽ phải quay lại các bước đầu tiên, thực hiện lại, update lại tài liệu.
3. Áp dụng V Model cho những dự án như thế nào.
+ Dự án có kích thước nhỏ, và trung bình, các yêu cầu dự án là rõ ràng, cố định.
+ Khi team phát triển có đội ngũ kỹ thuật tốt, có nguồn tài nguyên phong phú, sẵn có để đảm bảo được yêu cầu, đọc nhanh, test nhanh và coding nhanh.
+ Nếu khách hàng có sự tự tin cao trong yêu cầu thiết kế (nghĩa là ít thay đổi, ít dao động) thì V model là lựa chọn cần thiết.
__________________________________________________________
Pass Pham