Chương 2. Các phương pháp tạo mẫu, thiết kế tương tác người - máy
2.2 Phương pháp và kỹ thuật tạo mẫu
2.2.1 Quá trình tạo mẫu (Software Prototyping)
Các mẫu được sử dụng khi các yêu cầu phần mềm không thể được xác định tại thời điểm bắt đầu dự án, khi những người sử dụng không thể diễn đạt các yêu cầu của họ một cách rõ ràng. Mô hình phát triển phần mềm này rất phù hợp để phát triển “cảm nhận” hoặc giao diện sử dụng của hệ thống, bởi vì các đặc điểm này rất khó để miêu tả bằng tài liệu, mà thường thu được thông qua việc dùng thử nghiệm. Khi khách hàng yêu cầu chứng minh tính khả thi [5].
Bước 1: Xác định các yêu cầu cơ bản. Xác định các thông tin đầu vào và đầu ra mong muốn.
14
Bước 2: Phát triển nguyên mẫu ban đầu. Nguyên mẫu ban đầu được phát triển chỉ bao gồm các giao diện người dùng
Bước 3: Xem xét, đánh giá các nguyên mẫu. Khách hàng và người dùng cuối, kiểm tra nguyên mẫu và phản hồi để bổ sung tính năng hoặc thay đổi.
Bước 4: Sửa đổi và nâng cao mẫu thử nghiệm. Tại bước này sẽ sử dụng các phản hồi cùng các chi tiết kỹ thuật và nguyên mẫu có thể được cải thiện. Đàm phán về những gì nằm trong phạm vi của hợp đồng, sản phẩm có thể là cần thiết. Nếu thay đổi được đề xuất thì có thể cần lặp lại các bước 3 và bước 4.
2.2.2 Các phương pháp tạo mẫu
Nguyên mẫu (Prototyping) [8] là một hệ thống có tính trình diễn, một mô hình làm việc
“nhanh và thô” của giải pháp cho hệ thống, nhằm kiểm tra một số chức năng nào đó. Có thể dùng giao diện người dùng miêu tả các thao tác khác nhau của hệ thống, nội dung có thể là mã cứng (hard- coded). Đây là một công cụ để thảo luận các khái niệm và có được sự đồng ý của người dùng sau trải nghiệm, nhưng nhóm phát triển vẫn phải hoàn toàn tạo ra hệ thống dựa trên bản vẽ. Vì lý do này, các bản vẽ này đôi khi được gọi là nguyên mẫu (Throwaway). Khi các giải pháp được đề xuất liên quan đến việc bổ sung các màn hình trực tuyến hoặc tạo ra các báo cáo, các nhà phân tích nghiệp vụ thường tạo ra những nguyên mẫu bao gồm storyboards, mô phỏng, hoặc mô hình. Việc tạo mẫu phần mềm có nhiều biến thể. Tuy nhiên, tất cả các phương pháp này được dựa trên hai hình thức tạo mẫu chính:
nguyên mẫu (Throwaway Prototying) và mô hình tiến hóa (Evolutionary prototyping) [5].
Nguyên mẫu còn được gọi là mẫu cuối. Mẫu mô phỏng hay mẫu nhanh đề cập đến việc tạo ra một mô hình mà ở khâu cuối cùng mẫu sẽ được loại bỏ chứ không trở thành một phần của phần mềm cuối cùng. Sau khi hoàn thành việc thu thập yêu cầu sơ bộ, một mô hình làm việc đơn giản của hệ thống được xây dựng để hiển thị trực quan cho người sử dụng có thể thấy được hệ thống sẽ giống như khi được hoàn thành.
Với ưu điểm của phương pháp tạo mẫu này như tốc độ đưa ra nguyên mẫu nhanh, người dùng có thể tham gia vào quá trình xây dưng mẫu để đánh giá mẫu và kiểm tra tính năng của phần mềm nên học việc đã đưa ra đề xuất để áp dụng phương pháp tạo nguyên mẫu này vào quá trình xây dựng phần mềm.
Mẫu tiến hóa (Evolutionary prototyping) [5] là mẫu phát triển theo vòng đời, trong đó hệ thống được phát triển theo từng bước cho phép sửa đổi để đáp ứng với phản hồi của người dùng và khách hàng. Mẫu tiến hóa và mẫu mô phỏng là khá khác nhau. Mục tiêu chính khi sử dụng công cụ tạo mẫu tiến hóa là xây dựng một mẫu rất mạnh mẽ theo cấu trúc và liên tục tinh chỉnh nó. Lý do cho cách tiếp cận này là mẫu tiến hoá, khi được xây dựng, tạo thành trung tâm của hệ thống mới, những cải tiến và các yêu cầu tiếp theo sẽ được xây dựng.
Mẫu gia tăng (Incremental prototyping) [5] có thể được so sánh với 'khối xây dựng'; mỗi lần gia tăng một thành phần mới được thêm vào hoặc tích hợp, dựa trên một giải pháp thiết kế tổng thể.
Khi tất cả các thành phần được đưa ra, giải pháp đã hoàn tất.
Mẫu cực biên (Extreme prototyping) [5] là một quá trình kiến trúc để phát triển các ứng dụng, đặc biệt là các ứng dụng web, về nguyên mẫu ngày càng tăng. Ở mức độ cao, nó phân chia sự phát triển web thành ba giai đoạn riêng biệt. Giai đoạn đầu là nguyên mẫu tĩnh, bao gồm các trang HTML và có thể là một mô hình dữ liệu lôgíc hỗ trợ các trang đó. Giai đoạn thứ hai là một quá trình
15
mã hóa trong khuôn khổ web đã chọn của bạn, theo đó các màn hình có đầy đủ chức năng bằng cách sử dụng một lớp dịch vụ mô phỏng. Giai đoạn thứ ba là nơi mà các dịch vụ được thực hiện.
2.2.3 Các kỹ thuật xây dựng mẫu
Nguyên mẫu không nhất thiết giống sản phẩm cuối cùng mà hướng đến việc truyền tải cảm giác và cảm nhận của sản phẩm cuối cùng. Mức độ trung thực của nguyên mẫu được chia ra các cấp độ từ thấp (Low Fidelity), trung bình cho tới cao (High Fidelity). Các mẫu thử nghiệm với độ trung thực thấp chủ yếu là mô phỏng bằng giấy còn mẫu thử nghiệm với độ trung thực cao chủ yếu là mô phỏng trên máy tính. Yếu tố quyết định trong độ tin cậy của nguyên mẫu là mức độ mà nguyên mẫu mô tả chính xác sự xuất hiện và tương tác của sản phẩm, chứ không phải mức độ mà mã và các thuộc tính vô hình khác đối với người dùng là chính xác. Mức độ trung thực thể hiện ở các khía cạnh như:
thiết kế trực quan, nội dung, tương tác. Các nhóm sản phẩm chọn độ tin cậy của mẫu dựa trên mục tiêu tạo mẫu, tính đầy đủ của thiết kế và các tài nguyên có sẵn [4].
Mẫu thử nghiệm độ trung thực thấp là biểu diễn một cách nhanh chóng và dễ dàng để dịch các khái niệm thiết kế cấp cao thành các hiện vật hữu hình và thử nghiệm được. Vai trò đầu tiên quan trọng nhất của nguyên mẫu là kiểm tra và kiểm tra chức năng hơn là sự xuất hiện trực quan của sản phẩm.
Ưu điểm: lợi thế của việc tạo mẫu này là chi phí cực thấp. Tốc độ, có thể tạo một nguyên mẫu giấy nhanh cho phép các nhóm trao đổi các ý tưởng khác nhau mà không cần quá nhiều công sức, nhiều người có thể tham gia vào quá trình thiết kế và xây dựng ý tưởng.
Nhược điểm: không cho phép người dùng tương tác được được những gì có thể làm được hoặc không làm được. Một mẫu thử nghiệm độ trung thực thấp đòi hỏi nhiều trí tưởng tượng từ người dùng, hạn chế kết quả của việc kiểm tra người dùng đặc biệt với các nội dung chuyển tiếp phức tạp.
Bản phác thảo
Các kỹ thuật phác thảo (Sketched) [9] là cách hình dung và biểu diễn các ý tưởng thiết kế. Sau khi tạo ra các bản phác thảo ban đầu, những ý tưởng tốt nhất có thể được phát triển thêm bằng cách xây dựng các biểu diễn bằng bìa cứng của thiết kế, có thể được đánh giá bởi người dùng. Điều này sau đó có thể được phát triển bởi các kịch bản, phần mềm hoặc nguyên mẫu video.
Bản phác thảo tự do là cần thiết để đưa ra các ý tưởng trong giai đoạn đầu của thiết kế. Thông qua việc biểu diễn ý tưởng trên giấy, người thiết kế có thể hiệu chỉnh các tính năng. Ngoài việc sử dụng viết tay và bút chì, các bản phác thảo cũng có thể được thực hiện bằng phần mềm như: Paint và SILK. SILK cho phép các nhà thiết kế nhanh chóng phác hoạ một giao diện bằng điện tử và tương tác.
Khi đó, các bản thảo sẽ được tạo ra nhanh hơn và rẻ hơn khi sử dụng các mẫu giấy và bút chì ở giai đoạn đầu. Nguyên mẫu tạo trên máy tính cho phép khám phá và thể hiện sự tương tác, tính nhất quán trong thiết kế.
Bảng phân cảnh
Bảng phân cảnh (Storyboard) [8] là mô tả đồ họa về sự xuất hiện bên ngoài của hệ thống dự kiến mà không có chức năng hệ thống đi kèm. Bảng phân cảnh cung cấp ảnh chụp nhanh giao diện tại các điểm cụ thể trong tương tác để người dùng có thể xác định nhanh chóng nếu thiết kế đang đi đúng hướng
16
Bảng phân cảnh không yêu cầu nhiều về sức mạnh tính toán để xây dựng, trên thực tế, các bảng phân cảnh sẽ thiếu tính thuyết phục nếu không có sự hỗ trợ của máy tính. Các mô tả đồ họa ngày nay được thiết kế với sự trợ giúp của máy tính thay vì bằng tay sẽ cung cấp hình ảnh động thô nhưng hiệu quả bằng cách tự động sắp xếp trình tự thông qua một loạt các bức ảnh chụp nhanh. Ví dụ như ứng dụng SILK cung cấp các chức năng kịch bản điện tử.
So sánh ưu nhược điểm giữa kỹ thuật sử dụng bảng phác thảo và bảng phân cảnh được thể hiện trong Bảng 2.1
Bảng 2.1 So sánh giữa các kỹ thuật tạo mẫu độ trung thực thấp
Kỹ thuật Ưu điểm Nhược điểm
Bản phác thảo Sketched
- Rất đơn giản và rẻ - Phải tập trung cao ở mức khái niệm - Khó tưởng tượng để phát triển
Bảng phân cảnh Storyboard
- Đơn giản và rẻ
- Người dùng có thể đánh giá trực tiếp của giao diện đầu tiên
- Chỉ có thể hiện thị hệ thống tương tác.
- Phải có chuyên môn cần thiết về tương tác người máy
Mẫu thử nghiệm mức độ trung thực cao xuất hiện và có chức năng giống với sản phẩm thực tế sẽ được đề xuất. Các nhóm thường tạo ra nguyên mẫu độ trung thực cao khi họ có hiểu biết chắc chắn về những gì họ sẽ xây dựng và họ cần hoặc thử nghiệm nó với người dùng thực hoặc nhận được sự chấp thuận thiết kế cuối cùng từ các bên liên quan.
Các đặc tính cơ bản của việc tạo mẫu độ trung thực cao bao gồm: Thiết kế trực quan, chi tiết tất cả các yếu tố giao diện, khoảng cách và đồ họa giống như một ứng dụng thực. Nguyên mẫu sẽ bao gồm hầu hết hoặc tất cả nội dung sẽ xuất hiện trong thiết kế cuối cùng và thể hiện được sự tương tác.
Ưu điểm: Nhận được những phản hồi hữu ích trong quá trình thử nghiệm khả năng sử dụng giống như sản phẩm thực. Điều này có nghĩa là trong các phiên thử nghiệm khả năng sử dụng, người tham gia kiểm tra sẽ có nhiều khả năng sử dụng một cách tự nhiên hơn như thể họ đang tương tác với sản phẩm thực. Mẫu thiết kế có thể dễ dàng thuyết phục khách hàng và các bên liên quan, phù hợp cho các cuộc giới thiệu demo với khách hàng với khả năng thể hiện ý tưởng rõ ràng về cách sản phẩm khi đưa vào hoạt động.
Nhược điểm: Chi phí thiết kế cao hơn cả về thời gian và tài chính.
Mô phỏng trên máy tính
Mô phỏng trên máy tính (Computer-based simulation) là nguyên mẫu mô phỏng trung thực một số tương tác, tính năng của hệ thống dự định phát triển. Có ba cách tiếp cận để mô phỏng chức năng nguyên mẫu:
Nguyên mẫu theo chiều dọc (Vertical): Dựa trên nguyên mẫu cắt giảm về số lượng các tính năng, chỉ hướng đến các chức năng chuyên sâu và các chức năng đã lựa chọn. Nguyên mẫu dọc cho phép người dùng thực hiện và kiểm tra một số nhiệm vụ quan trọng nhất.
Nguyên mẫu theo chiều ngang (Horizontal): Dựa trên nguyên tắc giảm mức độ chức năng hướng đến một hệ thống đầy đủ tính năng của giao diện hệ thống mà không có các chức năng cơ bản
17
thực sự. Ưu điểm chính của nguyên mẫu ngang là chúng có thể được thực hiện nhanh chóng với việc sử dụng công cụ tạo mẫu và công cụ thiết kế màn hình, và chúng có thể được sử dụng để đánh giá giao diện nói chung.
Kịch bản (Scenario): Dựa trên nguyên tắc giảm cả số lượng các tính năng và mức độ chức năng. Giao diện người dùng được mô phỏng theo một kế hoạch đã có để đạt được kết quả cụ thể trong những trường hợp nhất định. Các kịch bản có thể dễ dàng được xây dựng, đánh giá sớm thiết kế giao diện để có được phản hồi của người dùng. Các công cụ phần mềm tạo mẫu phổ biến có thể kể đến như: RAPID, HyperCard, CHIRP. Bên cạnh đó, có rất nhiều ngôn ngữ thế hệ thứ tư dễ học và dễ sử dụng như: Smalltalk và Microsoft Visual Basic
Wizard of Oz
Kỹ thuật Wizard of Oz là một phương pháp thử nghiệm một hệ thống không tồn tại, cho phép các nhà thiết kế kiểm tra ý tưởng mà không cần thực hiện một hệ thống. Người dùng tương tác với màn hình, nhưng thay vì một phần của phần mềm đáp ứng các yêu cầu của người dùng, nhà phát triển đang ngồi ở màn hình khác mô phỏng hệ thống và tương tác với người dùng. Trình hướng dẫn có thể mô phỏng tất cả hoặc một phần của hệ thống chức năng. Khi thiết lập một mô phỏng Wizard of Oz cần những kinh nghiệm với các hệ thống đã được triển khai trước đó rất hữu ích để đạt những giới hạn thực tế lên "khả năng".
Nguyên mẫu trình chiếu và video
Nguyên mẫu trình chiếu và video (Slide shows and video prototyping) sử dụng các phương tiện truyền thông để tạo nguyên mẫu. Trong các trình chiếu, nguyên mẫu của storyboard được mã hoá trên một máy tính với các công cụ phần mềm. Quá trình chuyển cảnh được kích hoạt đơn giản bởi đầu vào là người dùng thao tác. Các trang trình bày tạo thành nguyên mẫu ngang hoặc dọc đơn giản.
Nguyên mẫu video loại bỏ những hạn chế của phần mềm. Không yêu cầu chỉnh sửa sau khi sản xuất hoặc bất kỳ chuyên môn đặc biệt nào trong sản xuất video. Tạo mẫu video không dừng lại ở việc ghi lại các ý tưởng thế kế, mà còn tạo ra một mô phỏng gợi ý về giao diện được đề xuất.
Cả hai kỹ thuật trình chiếu và tạo mẫu video đều cung cấp kiểu mô phỏng cuả hệ thống.
Chúng xuất hiện như một hệ thống thực sự mặc dù chúng chỉ hiển thị một số cảnh. Mô phỏng được hạn chế bởi một số nhiệm vụ được xác định trước chặt chẽ, và người dùng hầu như không tương tác với hệ thống.
Bảng 2.2 So sánh giữa các kỹ thuật tạo mẫu mức độ trung thực cao
Kỹ thuật Ưu điểm Nhược điểm
Nguyên mẫu theo chiều dọc
- Kiểm tra sâu trong các tình huống thực tế
- Kiểm tra với các tác vụ của người dùng
- Chỉ kiểm tra một phần giới hạn chức năng của hệ thống
Nguyên mẫu theo chiều ngang
- Kiểm tra toàn bộ giao diện - Có thể thực hiện nhanh
- Không thể thực hiện được các tác vụ
Kịch bản
- Dễ và rẻ tiền để xây dựng - Chỉ kiểm tra một phần giới hạn chức năng của hệ thống
- Không thể thực hiện được các tác vụ
18
Wizard of Oz
- Tiết kiệm thời gian lập trình - Tham gia chặt chẽ với người
dùng giúp họ có thể hiểu biết thêm về hệ thống
- Mọi thành viên cần được đào tạo để có thể hành động như máy tính
- Ít thực tế
Nguyên mẫu trình chiếu và video
- Đơn giản
- Mô phỏng hệ thống
- Thiếu tính linh hoạt
- Người dùng không thể tương tác với hệ thống
2.2.4 Các công cụ tạo mẫu
Để việc tạo nguyên mẫu hiệu quả cần phải sử dụng các công cụ tạo mẫu. Các ngôn ngữ lập trình thế hệ thứ 4 (Visual Basic và ColdFusion) được sử dụng để tạo mẫu nhanh chóng thay cho các công cụ case tích hợp phức tạp. Với các ứng dụng trên nền web, các công cụ để tạo mẫu cũng phát triển, có thể kể đến như: Bootstrap, Foundation, AngularJS, Node JS, React Native…. Các công cụ trên cung cấp các công cụ cần thiết để xây dựng được một nguyên mẫu nhanh chóng từ ý tưởng. Các farmeworks này bao gồm một tập hợp các điều khiển, tương tác và hướng dẫn thiết kế cho phép các nhà phát triển nhanh chóng thử nghiệm các ứng dụng web [4].
Chương trình tạo màn hình, công cụ thiết kế. Các chương trình tạo màn hình cũng thường được sử dụng để giả lập hiển thị hệ thống cho người dùng. Các chức năng của hệ thống lúc này chưa hoạt động nhưng được hiển thị giả lập trên màn hình. Phát triển tương tác người máy sẽ là một phần quan trọng của nỗ lực phát triển vì người dùng sử dụng giao diện chủ yếu là hệ thống. Các công cụ phần mềm có thể tạo ra mã bằng cách kết hợp các thành phần môđun có sẵn nên có thể nhanh chóng cung cấp các chương trình với hành vi mong muốn, với số lượng mã hóa thủ công tối thiểu.
Ứng dụng định nghĩa hoặc phần mềm mô phỏng. Một lớp mới của phần mềm được gọi là định nghĩa ứng dụng hoặc phần mềm mô phỏng cho phép người dùng nhanh chóng xây dựng các mô phỏng hoạt hình nhẹ, sống động của một chương trình máy tính khác mà không cần viết mã. Phần mềm mô phỏng ứng dụng cho phép cả người dùng kỹ thuật và phi kỹ thuật để trải nghiệm, thử nghiệm, hợp tác và xác nhận chương trình mô phỏng và cung cấp các báo cáo như chú thích, ảnh chụp màn hình và sơ đồ. Là một kỹ thuật đặc tả giải pháp, mô phỏng ứng dụng nằm giữa rủi ro thấp, nhưng giới hạn, văn bản hoặc bản vẽ dựa trên Mock-ups (hoặc wireframes) đôi khi được gọi là mẫu giấy dựa trên prototyping, và tốn nhiều thời gian, cho phép các chuyên gia phần mềm xác nhận các yêu cầu và lựa chọn thiết kế trước khi bắt đầu phát triển. Khi làm như vậy, rủi ro và chi phí liên quan đến việc triển khai phần mềm có thể được giảm đáng kể. Để mô phỏng các ứng dụng có thể sử dụng phần mềm mô phỏng để đào tạo trên máy tính, demo, và hỗ trợ khách hàng, ví dụ phần mềm Screencasting.
Ngoài ra còn có nhiều công cụ chuyên dụng khác.