Chương 7<br />
<br />
Phân tích yêu cầu theo hướng ₫ối tượng<br />
7.1 Nhiệm vụ của phân tích yêu cầu chức năng<br />
7.2 Các artifacts cần tạo ra<br />
7.3 Các worker tham gia phân tích yêu cầu<br />
7.4 Qui trình phân tích yêu cầu<br />
7.5 Phân tích kiến trúc<br />
7.6 Phân tích từng use-case<br />
7.7 Phân tích các package<br />
7.8 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 7 : Phân tích yêu cầu theo hướng ₫ối tượng<br />
Slide 1<br />
<br />
7.1 Nhiệm vụ của phân tích yêu cầu chức năng<br />
<br />
<br />
<br />
<br />
<br />
<br />
Phát họa sơ lược cách thức giải quyết chức năng tương ứng. Nếu<br />
dùng kỹ thuật phân tích hướng ₫ối tượng, bản phát họa cách giải<br />
quyết chức năng là các class ₫ối tượng cụ thể, mối quan hệ giữa<br />
chúng và các thông tin kèm theo.<br />
Workflow phân tích yêu cầu sẽ xây dựng tất cả các bản phát họa<br />
cách thứ giải quyết mọi yêu cầu chức năng của hệ thống phần<br />
mềm.<br />
Toàn bộ các artifacts ₫ược tạo ra và duy trì trong workflow phân<br />
tích yêu cầu ₫ược gọi là mô hình phân tích.<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 7 : Phân tích yêu cầu theo hướng ₫ối tượng<br />
Slide 2<br />
<br />
7.1 Nhiệm vụ của phân tích yêu cầu chức năng<br />
<br />
<br />
Mô hình phân tích có 1 số tính chất sau :<br />
dùng ngôn ngữ của nhà phát triển ₫ể miêu tả mô hình sao cho<br />
dễ ₫ọc, dễ hiểu, ₫ơn nghĩa, rõ ràng…(ngôn ngữ UML).<br />
Thể hiện góc nhìn từ bên trong hệ thống ở mức ₫ộ vĩ mô.<br />
Được cấu trúc từ các class phân tích và, nếu cần, các package<br />
phân tích.<br />
Được dùng chủ yếu bởi người phát triển ₫ể hiểu cách thức tạo<br />
hình dạng vĩ mô cho hệ thống phần mềm.<br />
Cố gắng loại trừ mọi chi tiết dư thừa, không nhất quán.<br />
phát họa cách hiện thực từng chức năng của hệ thống phần<br />
mềm.<br />
Định nghĩa các dẫn xuất use-case, mỗi dẫn xuất use-case cấp<br />
phân tích miêu tả kết quả việc phân tích cho use-case ₫ó.<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 7 : Phân tích yêu cầu theo hướng ₫ối tượng<br />
Slide 3<br />
<br />
7.2 Các artifacts cần tạo ra<br />
<br />
<br />
Mô hình phân tích = hệ thống các kết quả phân tích, nó chứa :<br />
các package phân tích, nếu có, mỗi package chứa :<br />
o các dẫn xuất use-case ở cấp phân tích, mỗi dẫn xuất chứa :<br />
à các lược ₫ồ class ở cấp phân tích.<br />
à các lược ₫ồ tương tác giữa các ₫ối tượng cấp phân tích.<br />
à 'flow of events' ở cấp phân tích<br />
à các yêu cầu ₫ặc biệt của từng use-case, hay của toàn<br />
bộ các use-case<br />
Đặc tả kiến trúc hệ thống phần mềm theo góc nhìn phân tích<br />
(view of analysis model)<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 7 : Phân tích yêu cầu theo hướng ₫ối tượng<br />
Slide 4<br />
<br />
7.2 Các artifacts cần tạo ra<br />
*<br />
<br />
1<br />
Analysis<br />
Model<br />
<br />
*<br />
Analysis<br />
System<br />
<br />
*<br />
<br />
Analysis Package<br />
<br />
*<br />
<br />
Analysis Class<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 />
*<br />
<br />
Use-Case Realization Analysis<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng<br />
Slide 5<br />
<br />
7.2 Các artifacts cần tạo ra<br />
<br />
<br />
Mỗi lược ₫ồ class ở cấp phân tích sẽ chứa nhiều class phân tích,<br />
nhưng chúng chỉ thuộc 1 trong 3 loại sau :<br />
Class biên (boundary class) : mô hình sự tương tác giữa actor<br />
với hệ thống phần mềm. Nó miêu tả ₫ối tượng giao tiếp giữa hệ<br />
thống phần mềm với thế giới bên ngoài, thí dụ như các ₫ối<br />
tượng giao diện với người dùng phần mềm.<br />
Class thực thể (entity class) : mô hình thông tin cần dùng. Nó<br />
miêu tả ₫ối tượng chứa dữ liệu phục vụ cho chức năng tương<br />
ứng hoạt ₫ộng. Đối tượng này có ₫ời ₫ống tương ₫ối lâu dài và<br />
tầm vực sử dụng tương ₫ối lớn trong hệ thống phần mềm.<br />
Class ₫iều khiển (control class) : mô hình việc xử lý, cộng tác<br />
giữa các ₫ối tượng. Nó chứa các thuật giải xử lý hầu phục vụ<br />
chức năng tương ứ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 7 : Phân tích yêu cầu theo hướng ₫ối tượng<br />
Slide 6<br />
<br />
7.2 Các artifacts cần tạo ra<br />
<br />
<br />
Ký hiệu miêu tả các class phân tích :<br />
Class biên (boundary class) :<br />
<br />
<br />
<br />
Class thực thể (entity class) :<br />
<br />
<br />
<br />
Class ₫iều khiển (control class) :<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng<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 />
7.2 Các artifacts cần tạo ra<br />
<br />
<br />
Mỗi lược ₫ồ tương tác (trình tự, cộng tác) ở cấp phân tích sẽ chứa<br />
nhiều ₫ối tượng ở cấp phân tích, nhưng chúng chỉ thuộc 1 trong 3<br />
loại sau :<br />
Đối tượng class biên (boundary class) :<br />
name:classname<br />
<br />
<br />
Đối tượng class thực thể (entity class) :<br />
<br />
<br />
<br />
Đối tượng class ₫iều khiển (control class) :<br />
<br />
name:classname<br />
<br />
name:classname<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 7 : Phân tích yêu cầu theo hướng ₫ối tượng<br />
Slide 8<br />
<br />
7.3 Các worker tham gia phân tích yêu cầu<br />
<br />
Chịu trách nhiệm về<br />
<br />
Analysis<br />
Model<br />
<br />
Component<br />
Engineer<br />
<br />
Use-Case<br />
Engineer<br />
<br />
Architect<br />
<br />
Chịu trách nhiệm về<br />
<br />
Architecture<br />
Description<br />
<br />
Chịu trách nhiệm về<br />
<br />
Analysis<br />
class<br />
<br />
Use-Case<br />
Realization Analysis<br />
<br />
Analysis<br />
package<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng<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 />
7.4 Qui trình phân tích yêu cầu<br />
<br />
Architect<br />
<br />
Architectural<br />
Analysis<br />
<br />
Use-Case<br />
Engineer<br />
<br />
Component<br />
Engineer<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 />
Analyze a<br />
Use-Case<br />
<br />
Analyze a<br />
Class<br />
<br />
Analyze a<br />
Package<br />
<br />
Môn : Nhập môn Công nghệ phần mềm<br />
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng<br />
Slide 10<br />
<br />