Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 9: Giai đoạn phân tích yêu cầu
Nội dung:
? Khái quát chung
? Khởi động việc phân tích yêu cầu
? Các kỹ thuật phân tích yêu cầu
? Nhân tố con ng-ời
? Sử dụng định khung nhanh để đặc tả
? Sử dụng lại mô hình định khung nhanh
Huỳnh Xuân Hiệp - CNPM 110 P h ầ n 2 Các giai đoạn trong chu trình sống của phần mềm (THE PHASES OF THE SOFTWARE LIFE CYCLE) Huỳnh Xuân Hiệp - CNPM 111 9 giai đoạn phân tích yêu cầu(REQUIREMENTS PHASE) Nội dung: Khái quát chung Khởi động việc phân tích yêu cầu Các kỹ thuật phân tích yêu cầu Nhân tố con ng−ời Sử dụng định khung nhanh để đặc tả Sử dụng lại mô hình định khung nhanh Huỳnh Xuân Hiệp - CNPM 112 9.1 Khái quát chung (overview) Xác định cái mà khách hàng cần (needs) chứ không phảI cái mà khách hàng muốn (wants) Phân tích càng chính xác càng tốt thực trạng hiện nay của khách hàng Nhận biết những khả năng, những cái cần có trong sản phẩm Không có khái niệm phân tích yêu cầu h−ớng đối t−ợng Một số khó khăn chính khi thực hiện: thông th−ờng khách hàng không biết họ cần gì ngay cả khi khách hàng biết rõ mình cần gì thi cũng sẽ khó khăn khi chuyển tải những thông tin này cho nhà phát triển theo h−ớng tin học hóa ! Huỳnh Xuân Hiệp - CNPM 113 9.2 Khởi động việc phân tích yêu cầu (initialisation of requirements) Bắt đầu khi các thành viên của nhóm phân tích yêu cầu (requirements analysis team - RAT) tiếp xúc với khách hàng Thông th−ờng thì khách hàng sẽ sắp xếp những buổi phỏng vấn đầu tiên (initial interviews) Các buổi phỏng vấn thêm sẽ đ−ợc xếp lịch trong tiến trình phỏng vấn (interview process) Tiến trình phỏng vấn kết thúc khi nhóm RAT nhận thấy đã nắm bắt đ−ợc các thông tin liên quan từ : khách hàng những ng−ời sử dụng t−ơng lai của sản phẩm Huỳnh Xuân Hiệp - CNPM 114 9.3 Các kỹ thuật phân tích yêu cầu (requirements analysis techniques) Phỏng vấn theo cấu trúc (structered interview) chuẩn bị sẵn các câu hỏi cụ thể dạng đóng (specific preplanned close-ended questions) để nêu ra VD: khách hμng có thể đ−ợc hỏi nh−: có bao nhiêu nhân viên bán hàng trong công ty ? khoảng thời gian giới hạn cho một đáp ứng yêu cầu là bao nhiêu ? ng−ời đi phỏng vấn víêt một báo cáo (report) cho biết các nội dung chính của buổi phỏng vấn và gửi một bản sao cho khách hàng để hiệu chỉnh Phỏng vấn không theo cấu trúc (unstructered interview) đặt các câu hỏi dạng mở (open-ended questions) nhằm khuyến khích khách hàng nói rõ các thông tin Huỳnh Xuân Hiệp - CNPM 115 VD: bằng cách hỏi khách hàng tại sao không vừa ý với sản phẩm hiện hiện nay có thể co biết đ−ợc nhiều khía cạnh trong cách thức kinh doanh của khách hàng với ng−ời phỏng vấn nhiều kinh nghiệm có thể đặt các câu hỏi mở rộng sau khi đã lắng nghe cẩn thận và dẫn dắt cuộc nói chuyện đi xa hơn, do đó sẽ có nhiều thông tin tốt ng−ời đi phỏng vấn víêt một báo cáo cho biết các nội dung chính của buổi phỏng vấn và gửi một bàn sao cho khách hàng để hiệu chỉnh Gửi bản câu hỏi (send a questionnaire) gửi một bản câu hỏi đến các thành viên liên quan trong cơ quan khách hàng rất hữu dụng vì tập hợp đ−ợc ý kiến của hàng trăm cá nhân khác nhau các ý kiến phản hồi sẽ đ−ợc suy nghĩ cẩn thận và xác đáng hơn khuyết điểm: khó mở rộng các câu hỏi và ít thông tin mở rộng Khảo sát các biểu bảng (examine the various forms) th−ờng đ−ợc sử dụng trong môi tr−ờng kinh doanh Huỳnh Xuân Hiệp - CNPM 116 khảo sát toàn bộ các biểu bảng đ−ợc khách hàng sử dụng VD: khảo sát một mẫu biểu đ−ợc in trong một cửa hàng, Có thể phản ánh: - số trang in - kích th−ớc khổ giấy - độ ẩm - nhiệt độ mực in - áp lực trên giấy Các tr−ờng khác nhau trang mẫu biểu sẽ chỉ rõ: - sự chuyển tiếp giữa các tác vụ in - các giai đoạn t−ơng đối quan trọng thấu hiểu các thông tin qua việc quan sát cách thức kinh doanh của khách hàng là cách cực kỳ hữu ích nhằm xác định những cái mà khách hàng cần Quay phim video (set up video cameras) là ph−ơng pháp mới đ−ợc sử dụng gần đây đ −ợc tiến hành tại nơi làm việc nhằm ghi lại chính xác mọi diễn biến nhóm RAT phải có đ−ợc sự hợp tác của tất cả các thành viên Huỳnh Xuân Hiệp - CNPM 117 Chú ý: sẽ cực kỳ khó khăn để nắm bát các thông tin cần thiết khi ng−ời đ−ợc quay phim cảm thấy mình: - bị xâm phạm đời t− - lo sợ - bị quấy rầy dự kiến tr−ớc các rủi ro tr−ớc khi giới thiệu máy quay phim vì có thể việc này sẽ gây ra những tức giận cho thành viên đ−ợc quay phim Sử dụng các kịch bản (scenarios) kịch bản : là cách thức mà ng−ời sử dụng có thể tiến hành trên sản phẩm nhằm hòan thành một số mục tiêu nào đó VD: kế hoạch làm giảm cân. - chuyên gia dinh d−ỡng nhập tuổi, giống, khối l−ợng và các dữ liệu cá nhân khác của một bệnh nhân béo phì - sản phẩm in ra thực đơn cho bệnh nhân - kịch bản đ−ợc đ−a ra cho ng−ời sử dụng t−ơng lai của sản phẩm - chuyên gia dinh d−ỡng chỉ ra các điểm không phù hợp cho một bệnh nhân phải sử dụng các thức ăn đặc biệt đ−ợc chỉ định nh− Huỳnh Xuân Hiệp - CNPM 118 ng−ời bị bệnh tiểu đ−ờng, ng−ời ăn chay hay ng−ời bị bệnh đ−ờng huyết - nhà phát triển cập nhật lại kịch bản trong đó ng−ời sử dụng đ−ợc hỏi về chế độ ăn uống đặc biệt cần có tr−ớc khi thực đơn đ−ợc in cho phép ng−ời sử dụng t−ơng tác với chính bản thân họ và nhóm RAT sẽ ghi nhận lại các thông tin này một số cách mô tả kịch bản: - liệt kê các hành động có trong kịch bản - tạo một bản tình tiết l−u trữ chuỗi các sự kiện (chẳng hạn nh− một mẫu giấy trong đó co một chuỗi các biểu bảng, mỗi biểu bảng liên quan đến một màn hình và trả lời của ng−ời sử dụng) −u điểm: - thể hiện cách đối xử của sản phẩm mà ng−ời sử dụng có thể hiểu và cảm nhận đ−ợc - ng−ời sử dụng hiểu đ−ợc kịch bản do đó sẽ đóng vai trò tích cực trong quá trình phân tích yêu cầu - nguồn thông tin về cái cần thực sự (real needs) của khách hàng sẽ do chính khách hàng và ng−ời sử dụng cung cấp Huỳnh Xuân Hiệp - CNPM 119 - đóng vai trò quan trọng trong việc phân tích h−ớng đối t−ợng (chính là các tr−ờng hợp sử dụng - use cases) Định khung nhanh (rapid prototyping) xây dựng mô hình càng nhanh càng tốt đ−ợc xây dựng dành cho các thay đổi phản ánh chức năng mà khách hàng thấy nh−: các màn hình nhập, các báo cáo,... bỏ qua các khía cạnh nh−: cập nhật tập tin,... khách hàng, ng−ời sử dụng t−ơng lai và nhóm phát triển sẽ cùng nhau xem xét và ghi nhận các dữ kiện các nhà phát triển sẽ liên tục thay đổi mô hình cho đến khi mô hình đã chứa đựng mọi cái cần có quá trình định khung nhanh sẽ đ−ợc sử dụng cho giai đoạn đặc tả rất hiệu quả khi phát triển giao diện ng−ời dùng, h−ớng đối t−ợng [Capper, Colgate, Hunter và James, 1994] Huỳnh Xuân Hiệp - CNPM 120 9.4 Nhân tố con ng−ời (human factors) Điều quan trọng là khách hàng và ng−ời sử dụng t−ơng lai t−ơng tác với mô hình định khung nhanh thông qua giao diện ng−ời dùng Thân thiện với ng−ời dùng (user friendliness): dễ dàng giao tiếp với sản phầm phần mềm Sử dụng các nhân tố sau để tăng sự hấp dẫn ng−ời dùng đồ họa, cửa sổ, biểu t−ợng, thực đơn pop-up chỉ và chọn (point and click) quan hệ với nhiều ng−ời dùng khác giảm thời gian đào tạo để sử dụng cung cấp nhiều thông tin Huỳnh Xuân Hiệp - CNPM 121 9.5 Sử dụng định khung nhanh để đặc tả (rapid ptototyping as a specification technique) Định khung nhanh Thay đổi các yêu cầu Thẩm tra Thẩm tra Giai đoạn đặc tả Thẩm tra Giai đoạn thiết kế Thẩm tra Giai đoạn cài đặt Kiểm thử Giai đoạn tích hợp Kiểm thử Đ−a vào hoạt động Phát triển Bảo trì Kết thúc hoạt động Hình 9.1 Mô hình định khung nhanh nh− là một kỹ thuật phân tích yêu cầu Huỳnh Xuân Hiệp - CNPM 122 Định khung nhanh Thay đổi yêu cầu Thẩm tra Thẩm tra Giai đoạn thiết kế Thẩm tra Giai đoạn cài đặt Kiểm thử Giai đoạn tích hợp Kiểm thử Đ−a vào hoạt động Phát triển Bảo trì Kết thúc hoạt động Hình 9.2 Định khung nhanh cho đặc tả Tốt nhất lμ nên sử dụng định khung nhanh nh− một kỹ thuật để phân tích yêu cầu Huỳnh Xuân Hiệp - CNPM 123 9.6 Sử dụng lại mô hình định khung nhanh (reusing the rapid prototype) Định khung nhanh Thay đổi yêu cầu Thẩm tra Thẩm tra Chọn lọc việc định khung Kiểm thử Đ−a vào hoạt động Phát triển Bảo trì Kết thúc hoạt động Hình 9.3 Mô hình định khung nhanh với việc phát triển không thận trọng Phát triển thật nhanh sản phẩm phần mềm Không có đặc tả và thiết kế → khó bảo trì Huỳnh Xuân Hiệp - CNPM 124 9.7 Thiết kế ứng dụng chung (joint application design - JAD) Là dạng mở rộng của mô hinh định khung nhanh Các thành viên trong cơ quan khách hàng sẽ đóng vai trò tích cực hơn Các vấn đề cần quan tâm kỹ thuật áp dụng cho các giai đoạn phân tích yêu cầu và đặc tả các nhà phát triển và khách hàng làm việc nh− một nhóm chung và có trách nhiệm chung đối với kết quả đầu ra nhóm làm việc sẽ thảo luận các yêu cầu cần có, thiết kế các màn hình và báo cáo, xây dựng mô hình định khung nhanh, rút ra các đặc tả chủ yếu dựa trên sự đồng thuận (consensus) Huỳnh Xuân Hiệp - CNPM 125 9.8 Kiểm thử trong giai đoạn phân tích yêu cầu (testing during the requirements phase) Do nhóm SQA tiến hành đảm bảo các cá nhân trong cơ quan khách hàng có t−ơng tác với mô hình định khung nhanh phân tích các đề xuất Có thể thành lập một hội đồng của khách hàng có trách nhiệm phân tích các đề xuất của khách hàng 9.9 Đánh giá giai đoạn phân tích yêu cầu (metrics for the requirements phase) Tần xuất thay đổi các yêu cầu (phỏng vấn, kịch bản) Số l−ợng các yêu cầu thay đổi trong các giai đoạn còn lại (áp dụng cho toàn bộ các kỹ thuật) → phân tích lại khi có quá nhiều thay đổi Số lần mỗi đặc điểm đ−ợc xây dựng (định khung nhanh)
File đính kèm:
- Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 9 Giai đoạn phân tích yêu cầu.pdf