b) Lập trình đơi
2.5 Làm bản mẫu trong q trình phân tích
Đối với các hệ thống phức tạp, nhiều khi chúng ta không nắm chắc được yêu cầu của khách hàng, chúng ta cũng khó đánh giá được tính khả thi cũng như hiệu quả của hệ thống. Một cách tiếp cận đối với trường hợp này là xây dựng bản mẫu. Bản mẫu vừa được dùng để phân tích u cầu vừa có thể tiến hóa thành sản phẩm cuối cùng. Bản mẫu phần mềm hoàn toàn khác với bản mẫu phần cứng. Khi phát triển các hệ thống phần cứng, thì thực tế người ta phát triển một bản mẫu hệ thống để thẩm định thiết kế hệ thống. Một bản mẫu hệ thống điện tử có thể được thực hiện và được thử nghiệm bằng cách dùng các thành phần chưa được lắp ráp vào vỏ trước khi đầu tư vào các mạch tích hợp chuyên dụng đắt tiền để thực hiện một đời sản phẩm mới của hệ thống. Bản mẫu phần mềm không phải nhằm vào việc thẩm định thiết kế (thiết kế của nó thường là hồn tồn khác với hệ thống được phát triển cuối cùng), mà là để thẩm định yêu cầu của người sử dụng.
2.5.1 Các bước làm bản mẫu
Xây dựng bản mẫu bao gồm 6 bước sau:
Bước 1: Đánh giá yêu cầu phần mềm và xác định liệu phần mềm cần xây dựng có xứng
đáng để làm bản mẫu không Không phải tất cả các phần mềm đều có thể đưa tới làm bản mẫu. Ta có thể xác định một số nhân tố làm bản mẫu: lĩnh vực ứng dụng, độ phức tạp ứng dụng, đặc trưng khách hàng và đặc trưng dự án. Để đảm bảo tính tương tác giữa khách hàng với bản mẫu, chúng ta cần đảm bảo các điều kiện:
1. Khách hàng phải cam kết dùng tài nguyên để đánh giá và làm mịn bản mẫu (chi tiết hóa yêu cầu)
2. Khách hàng phải có khả năng đưa ra những quyết định về yêu cầu một cách kịp thời
Bước 2: Với một dự án chấp thuận được, người phân tích xây dựng một cách biểu diễn
vắn tắt cho yêu cầu. Trước khi có thể bắt đầu xây dựng một bản mẫu, người phân tích phải biểu diễn miền thơng tin và các lĩnh vực, hành vi và chức năng của vấn đề rồi xây dựng một cách tiếp cận hợp lý tới việc phân hoạch. Có thể ứng dụng các nguyên lý phân tích nền tảng (phân tích topưdown) và các phương pháp phân tích yêu cầu.
Bước 3: Sau khi đã duyệt xét mơ hình u cầu, phải tạo ra một đặc tả thiết kế vắn tắt cho
thiết kế tập trung chủ yếu vào các vấn đề thiết kế dữ liệu và kiến trúc mức đỉnh chứ không tập trung vào thiết kế thủ tục chi tiết.
Bước 4: Phần mềm bản mẫu được tạo ra, kiểm thử và làm mịn. Bản mẫu nên được xây
dựng một cách nhanh chóng và với một chi phí nhỏ. Một cách lý tưởng, bản mẫu nên được lắp ráp từ các khối chức năng (thư viện...) đã có. Có thể dùng các ngơn ngữ bậc cao hay các công cụ tự động để xây dựng bản mẫu.
Bước 5: Khách hàng đánh giá và làm mịn yêu cầu. Bước này là cốt lõi của cách tiếp cận
làm bản mẫu. Chính ở đây mà khách hàng có thể xem xét cách biểu diễn được cài đặt cho yêu cầu phần mềm, gợi ý những thay đổi làm cho phần mềm đáp ứng tốt hơn với các nhu cầu thực tế.
Bước 6: Lặp lại các bước 4 và 5 cho tới khi tất cả các u cầu đã được hình thức hóa đầy
đủ hay cho tới khi bản mẫu đã tiến hóa thành một phần mềm hồn thiện. 2.5.2 Lợi ích và hạn chế của phát triển bản mẫu. Phát triển bản mẫu đem lại các lợi ích sau:
1. Sự hiểu lầm giữa những người phát triển phần mềm và những người sử dụng phần mềm có thể được nhận thấy rõ khi các chức năng của hệ thống được trình diễn.
2. Sự thiếu hụt các dịch vụ người dùng có thể được phát hiện.
3. Sự khó sử dụng hoặc sự nhầm lẫn các dịch vụ người dùng có thể được thấy rõ và được sửa lại.
4. Đội ngũ phát triển phần mềm có thể tìm ra đựơc các u cầu không đầy đủ hoặc không kiên định khi họ phát triển bản mẫu.
5. Một hệ thống hoạt động được (mặc dầu là hạn chế) là bằng chứng thuyết minh cho tính khả thi và tính hữu ích của ứng dụng cho các nhà quản lý.
6. Bản mẫu đó được dùng làm cơ sở cho việc viết đặc tả một sản phẩm. Mặc dù mục tiêu chủ yếu của việc tạo bản mẫu là để phát triển, thẩm định các yêu cầu phần mềm, nó cũng có các lợi ích khác như:
1. Dùng để huấn luyện người sử dụng ngay từ trước khi hệ thống được phân phối.
2. Dùng trong q trình thử nghiệm hệ thống. Điều đó nghĩa là cùng các trường hợp thử như nhau vừa dùng cho thử bản mẫu vừa cho thử hệ thống. Kết quả khác nhau có nghĩa là có sai sót.
Tạo bản mẫu là một kỹ thuật giảm bớt rủi ro. Một rủi ro lớn trong việc phát triển phần mềm là các sai sót mà đến giai đoạn cuối mới phát hiện và việc chỉnh sửa vào thời điểm đó là rất tốn
kém. Kinh nghiệm cho thấy việc tạo bản mẫu sẽ giảm bớt số các vấn đề của đặc tả yêu cầu và giá cả tổng cộng của việc phát triển có thể là thấp hơn nếu ta phát triển bản mẫu. Hạn chế của cách tiếp cận tạo bản mẫu là:
1. Để đơn giản hóa việc tạo bản mẫu người ta có thể bỏ qua các yêu cầu phức tạp. Sự thật hẳn là không thể tạo bản mẫu một vài phần quan trọng nhất của hệ thống như các đặc điểm về sự an toàn - nguy kịch.
2. Các yêu cầu phi chức năng như độ tin cậy, độ an tồn hay hiệu năng thường khơng được biểu thị đầy đủ trong bản mẫu.
3. Do tính chưa hồn thiện về chức năng/hiệu năng, người dùng có thể khơng dùng bản mẫu y như cách dùng một hệ thống thực đang hoạt động. Do đó, chất lượng đánh giá của khách hàng nhiều khi không cao.