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

pdf16 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2065 | Lượt tải: 3download
Tóm tắt nội dung 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, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfBà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