Chương 6<br />
<br />
Nắm bắt yêu cầu phần mềm<br />
6.1 Nhiệm vụ của phân tích yêu cầu chức năng<br />
6.2 Các artifacts cần tạo ra<br />
6.3 Các worker tham gia nắm bắt yêu cầu<br />
6.4 Qui trình nắm bắt yêu cầu phần mềm<br />
6.5 Tìm các actor và use-case<br />
6.6 Lập thứ tự ưu tiên các use-case<br />
6.7 Chi tiết hóa từng use-case<br />
6.8 Cấu trúc lại mô hình use-case<br />
6.9 Thiết kế prototype giao diện cho từng use-case<br />
6.10 Kết chương<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 1<br />
<br />
6.1 Nhiệm vụ của nắm bắt yêu cầu phần mềm<br />
<br />
<br />
<br />
<br />
Nhiệm vụ của nắm bắt yêu cầu phần mềm là xây dựng và duy trì<br />
mô hình use-case ₫ể ₫ặc tả góc nhìn từ ngoài vào hệ thống, cho<br />
ta thấy tất cả các chức năng mà phần mềm phải ₫áp ứng cho thế<br />
giới bên ngoài, ai là người thực hiện từng chức năng tương ứng.<br />
Các ₫iểm bắt ₫ầu cho hoạt ₫ộng nắm bắt yêu cầu có thể là :<br />
Từ mô hình nghiệp vụ (business model) cho các ứng dụng<br />
nghiệp vụ.<br />
Từ mô hình lĩnh vực (domian model) cho các ứng dụng nhúng.<br />
Từ ₫ặc tả yêu cầu phần mềm cần xây dựng nhưng ₫ược tạo rồi<br />
bởi nhóm khác và/hoặc dùng phương pháp ₫ặc tả khác, theo<br />
₫ịnh dạng khác.<br />
Từ 1 ₫iểm nào ₫ó nằm giữa các ₫iểm xuất phát trên.<br />
Từ không có gì.<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 2<br />
<br />
6.2 Các artifacts cần tạo ra<br />
<br />
<br />
Mô hình use-case = hệ thống các use-case, nó chứa :<br />
các package, nếu có, mỗi package chứa :<br />
à các lược ₫ồ use-case, mỗi lược ₫ồ chứa :<br />
à 1 số Actor : người/hệ thống ngoại/thiết bị ngoài tương tác<br />
với hệ thống phần mềm.<br />
à 1 số Use-case : các chức năng có nghĩa mà hệ thống<br />
cung cấp cho actor. Thông tin chi tiết kèm theo từng<br />
use-case có thể là bảng ₫ặc tả chi tiết, flow of events,<br />
các yêu cầu phi chức năng kèm theo.<br />
<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 3<br />
<br />
6.2 Các artifacts cần tạo ra<br />
các yêu cầu ₫ặc biệt của từng use-case, hay của toàn bộ<br />
các use-case<br />
Đặc tả kiến trúc hệ thống phần mềm theo góc nhìn use-case<br />
(view of use-case model)<br />
Bảng thuật ngữ chung.<br />
Các prototype giao diện với user (user-interface prototype)<br />
à<br />
<br />
<br />
<br />
<br />
<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 4<br />
<br />
6.2 Các artifacts cần tạo ra<br />
1<br />
Use-Case Model<br />
<br />
Use-Case System<br />
<br />
*<br />
Actor<br />
<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
*<br />
Use - Case<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 5<br />
<br />
6.2 Các artifacts cần tạo ra<br />
<br />
<br />
Ký hiệu miêu tả các phần tử trong lược ₫ồ use-case :<br />
Actor :<br />
<br />
<br />
<br />
Use-case :<br />
<br />
<br />
<br />
Note :<br />
<br />
<br />
<br />
Mối quan hệ giữa 2 phần tử :<br />
<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 6<br />
<br />
6.2 Các artifacts cần tạo ra<br />
<br />
<br />
Mỗi lược ₫ồ use-case sẽ chứa 1 số actor, 1 số use-case, 1 số note<br />
và mối quan hệ giữa chúng :<br />
Mối quan hệ actor − actor thường chỉ là tổng quát hóa, actor<br />
tổng quát sẽ chứa những tính chất chung mà các actor con ít<br />
nhất sẽ có.<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 7<br />
<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
6.2 Các artifacts cần tạo ra<br />
<br />
<br />
Mối quan hệ actor − use-case thường chỉ là quan hệ kết hợp<br />
(association).<br />
Actor và use-case 1 có quan<br />
hệ nhau, nhưng chưa cụ thể<br />
hóa mối quan hệ.<br />
<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
<br />
<br />
Actor chủ ₫ộng quan hệ với<br />
use-case 2 và không chờ ₫ợi<br />
kết quả hay phản ứng.<br />
<br />
<br />
<br />
use-case 3 chủ ₫ộng quan hệ<br />
với actor và không chờ ₫ợi kết<br />
quả hay phản ứng.<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 8<br />
<br />
6.2 Các artifacts cần tạo ra<br />
Mối quan hệ use-case − use-case thường là 1 trong 3 mối<br />
quan hệ : tổng quát hóa, include, extend :<br />
usecase 1 chứa những ₫iểm<br />
chung mà usecase 2 và các<br />
usecase con khác sẽ có.<br />
<br />
<br />
<br />
<br />
<br />
Trong thời gian thực hiện usecase<br />
1 có thể ta sẽ phải thực hiện<br />
usecase 3.<br />
<br />
<br />
<br />
Trong thời gian thực hiện usecase<br />
1 ta luôn phải thực hiện usecase<br />
4.<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 9<br />
<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
6.3 Các worker tham gia nắm bắt yêu cầu<br />
Customer<br />
<br />
Domain<br />
Expert<br />
<br />
Use-case<br />
Specifier<br />
<br />
System<br />
Analyst<br />
Chịu trách nhiệm về<br />
<br />
User-Interface<br />
Designer<br />
<br />
Chịu trách nhiệm về<br />
Chịu trách nhiệm về<br />
<br />
Chịu trách nhiệm về<br />
<br />
Use-Case<br />
Model<br />
<br />
Actor<br />
<br />
Khoa Khoa học & Kỹ thuật Máy tính<br />
Trường ĐH Bách Khoa Tp.HCM<br />
© 2010<br />
<br />
Glossary<br />
<br />
Architect<br />
<br />
Use-Case<br />
<br />
User Interface<br />
Prototype<br />
<br />
Architecture<br />
Description<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 6 : Nắm bắt yêu cầu phần mềm<br />
Slide 10<br />
<br />