Bài giảng Nhập môn Công nghệ phần mềm - Chương 7: Phân tích yêu cầu theo hướng đối tượng - Nguyễn Văn Hiệp

7.1 Nhiệm vụ của phân tích yêu cầu chức năng

7.2 Các artifacts cần tạo ra

7.3 Các worker tham gia phân tích yêu cầu

7.4 Qui trình phân tích yêu cầu

7.5 Phân tích kiến trúc

7.6 Phân tích từng use-case

7.7 Phân tích các package

7.8 Kết chương

pdf 16 trang yennguyen 1260
Bạn đang xem tài liệu "Bài giảng Nhập môn Công nghệ phần mềm - Chương 7: Phân tích yêu cầu theo hướng đối tượng - Nguyễn Văn Hiệp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn Công nghệ phần mềm - Chương 7: Phân tích yêu cầu theo hướng đối tượng - Nguyễn Văn Hiệp

Bài giảng Nhập môn Công nghệ phần mềm - Chương 7: Phân tích yêu cầu theo hướng đối tượng - Nguyễn Văn Hiệp
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 1
7.1 Nhiệm vụ của phân tích yêu cầu chức năng
7.2 Các artifacts cần tạo ra
7.3 Các worker tham gia phân tích yêu cầu
7.4 Qui trình phân tích yêu cầu
7.5 Phân tích kiến trúc
7.6 Phân tích từng use-case
7.7 Phân tích các package
7.8 Kết chương
Chương 7
Phân tích yêu cầu theo hướng ₫ối tượng
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 2
7.1 Nhiệm vụ của phân tích yêu cầu chức năng
‰ Phát họa sơ lược cách thức giải quyết chức năng tương ứng. Nếu
dùng kỹ thuật phân tích hướng ₫ối tượng, bản phát họa cách giải
quyết chức năng là các class ₫ối tượng cụ thể, mối quan hệ giữa
chúng và các thông tin kèm theo.
‰ 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
cách thứ giải quyết mọi yêu cầu chức năng của hệ thống phần
mềm.
‰ Toàn bộ các artifacts ₫ược tạo ra và duy trì trong workflow phân
tích yêu cầu ₫ược gọi là mô hình phân tích.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 3
7.1 Nhiệm vụ của phân tích yêu cầu chức năng
‰ Mô hình phân tích có 1 số tính chất sau :
ƒ dùng ngôn ngữ của nhà phát triển ₫ể miêu tả mô hình sao cho
dễ ₫ọc, dễ hiểu, ₫ơn nghĩa, rõ ràng(ngôn ngữ UML).
ƒ Thể hiện góc nhìn từ bên trong hệ thống ở mức ₫ộ vĩ mô.
ƒ Được cấu trúc từ các class phân tích và, nếu cần, các package 
phân tích.
ƒ Được dùng chủ yếu bởi người phát triển ₫ể hiểu cách thức tạo
hình dạng vĩ mô cho hệ thống phần mềm.
ƒ Cố gắng loại trừ mọi chi tiết dư thừa, không nhất quán.
ƒ phát họa cách hiện thực từng chức năng của hệ thống phần
mềm.
ƒ Định nghĩa các dẫn xuất use-case, mỗi dẫn xuất use-case cấp
phân tích miêu tả kết quả việc phân tích cho use-case ₫ó.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 4
7.2 Các artifacts cần tạo ra
‰ Mô hình phân tích = hệ thống các kết quả phân tích, nó chứa :
ƒ các package phân tích, nếu có, mỗi package chứa :
o các dẫn xuất use-case ở cấp phân tích, mỗi dẫn xuất chứa :
à các lược ₫ồ class ở cấp phân tích.
à các lược ₫ồ tương tác giữa các ₫ối tượng cấp phân tích.
à 'flow of events' ở cấp phân tích
à các yêu cầu ₫ặc biệt của từng use-case, hay của toàn
bộ các use-case
ƒ Đặc tả kiến trúc hệ thống phần mềm theo góc nhìn phân tích
(view of analysis model)
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 5
7.2 Các artifacts cần tạo ra
Analysis 
Model
Analysis 
System
Use-Case Realization - 
Analysis
Analysis Class
Analysis Package
* *
**
*
*1
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 6
7.2 Các artifacts cần tạo ra
‰ Mỗi lược ₫ồ class ở cấp phân tích sẽ chứa nhiều class phân tích, 
nhưng chúng chỉ thuộc 1 trong 3 loại sau : 
ƒ Class biên (boundary class) : mô hình sự tương tác giữa actor 
với hệ thống phần mềm. Nó miêu tả ₫ối tượng giao tiếp giữa hệ
thống phần mềm với thế giới bên ngoài, thí dụ như các ₫ối
tượng giao diện với người dùng phần mềm.
ƒ Class thực thể (entity class) : mô hình thông tin cần dùng. Nó
miêu tả ₫ối tượng chứa dữ liệu phục vụ cho chức năng tương
ứng hoạt ₫ộng. Đối tượng này có ₫ời ₫ống tương ₫ối lâu dài và
tầm vực sử dụng tương ₫ối lớn trong hệ thống phần mềm.
ƒ Class ₫iều khiển (control class) : mô hình việc xử lý, cộng tác
giữa các ₫ối tượng. Nó chứa các thuật giải xử lý hầu phục vụ
chức năng tương ứng.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 7
7.2 Các artifacts cần tạo ra
‰ Ký hiệu miêu tả các class phân tích : 
ƒ Class biên (boundary class) :
ƒ Class thực thể (entity class) :
ƒ Class ₫iều khiển (control class) :
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 8
7.2 Các artifacts cần tạo ra
‰ Mỗi lược ₫ồ tương tác (trình tự, cộng tác) ở cấp phân tích sẽ chứa
nhiều ₫ối tượng ở cấp phân tích, nhưng chúng chỉ thuộc 1 trong 3 
loại sau : 
ƒ Đối tượng class biên (boundary class) :
ƒ Đối tượng class thực thể (entity class) :
ƒ Đối tượng class ₫iều khiển (control class) :
name:classname
name:classname
name:classname
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 9
7.3 Các worker tham gia phân tích yêu cầu
Analysis 
Model
Use-Case
Engineer
Component
EngineerArchitect
Architecture 
Description
Use-Case 
Realization -
Analysis
Analysis 
class
Analysis 
package
Chịu trách nhiệm về Chịu trách nhiệm về Chịu trách nhiệm về
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 10
7.4 Qui trình phân tích yêu cầu
Architect
Use-Case
Engineer
Architectural 
Analysis
Analyze a 
Use-Case
Analyze a 
Class
Analyze a 
PackageComponentEngineer
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 11
7.5 Phân tích kiến trúc
‰ Kiến trúc của 1 phần mềm nhỏ thì ₫ơn giản, không có gì ₫ể nói
(kiến triến căn chòi trẻ em chơi), tuy nhiên kiến trúc của 1 phần
mềm lớn, phức tạp sẽ ₫óng vai trò rất quan trọng trong việc xây
dựng và duy trì phần mềm theo thời gian (kiến trúc tòa nhà tháp
hoa sen ở Q.1).
‰ Nhiệm vụ của hoạt ₫ộng phân tích kiến trúc là phát họa mô hình
phân tích và kiến trúc của hệ thống phần mềm thông qua các
công việc cụ thể sau :
ƒ Nhận dạng các package phân tích
ƒ Nhận dạng các class phân tích dễ thấy
ƒ Nhận dạng các yêu cầu ₫ặc biệt, các yêu cầu phi chức năng
chung cho toàn bộ hệ thống phần mềm.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 12
7.5 Phân tích kiến trúc
‰ Các package phân tích giúp ta tổ chức hệ thống thành những ₫ơn
vị nhỏ hơn theo cấu trúc cây phân cấp ₫ể dễ quản lý hế thống.
‰ Mỗi package chứa 1 số artifacts phân tích các use-case tương
ứng. Các use-case trong từng package nên có những tính chất
sau :
ƒ Chúng hỗ trợ cùng 1 qui trình nghiệp vụ xác ₫ịnh
ƒ Chúng hỗ trợ cùng 1 actor
ƒ Chúng có quan hệ mật thiết với nhau : tổng quát hóa, include, 
extend.
‰ Theo thời gian, khi việc phân tích tiến triển, ta sẽ tính chế cấu trúc
của các package ₫ể ngày càng hợp lý hơn.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 13
7.5 Phân tích kiến trúc
‰ Dựa vào thông tin về lĩnh vực và nghiệp vụ cần giải quyết trong
workflow nắm bắt yêu cầu, ta dễ dàng nhận dạng và ₫ề nghị 1 số
class thực thể quan trọng nhất. Thí dụ trong phần mềm quản lý
₫iểm SV, ta dễ dàng nhận dạng các class thực thể như class miêu
tả SV, class miêu tả bảng ₫iểm cho từng SV,
‰ Các class phân tích còn lại sẽ ₫ược nhận dạng trong hoạt ₫ộng
phân tích từng use-case cụ thể.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 14
7.5 Phân tích kiến trúc
‰ Các yêu cầu ₫ặc biệt và phi chức năng quan trọng nhất cũng nên
₫ược nhận dạng ₫ể ₫ược lưu ý xử lý trong các bước sau. Chúng
gồm :
ƒ Yêu cầu về mức ₫ộ bền vững
ƒ Yêu cầu về sự phân tán các thành phần và sự thi hành ₫ồng
thời giữa chúng.
ƒ Yêu cầu về an toàn dữ liệu.
ƒ Yêu cầu về mức ₫ề kháng với lỗi
ƒ Yêu cầu về quản lý giao tác (transaction)
‰ Sau này, tính chất và mức ₫ộ của các yêu cầu ₫ặc biệt và phi 
chức năng sẽ ₫ược cân nhắc lại trong từng class chức năng và
từng dẫn xuất use-case. 
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 15
7.6 Phân tích từng use-case
‰ Nhiệm vụ phân tích use-case là ₫ể :
ƒ Nhận dạng các class phân tích có ₫ối tượng của mình tham
gia vào việc thực hiện các hoạt ₫ộng tồn tại trong “flow of 
events” của use-case tương ứng.
ƒ Thể hiện sự tương tác giữa các ₫ối tượng phân tích trong việc
thực hiện use-case thông qua các lược ₫ồ ₫ộng như lược ₫ồ
trình tự, lược ₫ồ cộng tác, lược ₫ồ hoạt ₫ộng, lược ₫ồ trạng
thái.
ƒ Nhận dạng thêm 1 số yêu cầu ₫ặc biệt và phi chức năng cho
việc thực hiện use-case tương ứng. Cân nhắc lại tính chất và
mức ₫ộ của các yêu cầu ₫ặc biệt và phi chức năng chung ₫ã
nhận dạng ₫ược trong hoạt ₫ộng phân tích kiến trúc.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 16
7.6 Phân tích từng use-case
Nhận dạng các class phân tích thực hiện 1 use-case
‰ Ở bước này, ta sẽ :
ƒ nhận dạng các class biên, thực thể, ₫iều khiển cần thiết ₫ể
thực hiện use-case tương ứng. 
ƒ Phát họa tên, trách nhiệm, thuộc tính của từng class tìm ₫ược.
ƒ Nhận dạng các mối quan hệ giữa các class phân tích.
ƒ Tập hợp các class tìm ₫ược thành 1 hay nhiều lược ₫ồ class. 
Các lược ₫ồ class này sẽ là nội dung thiết yếu ₫ể xây dựng
dẫn xuất use-case tương ứng.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 17
7.6 Phân tích từng use-case
‰ Ta sẽ dùng các hướng dẫn sau ₫ây ₫ể thực hiện phân tích từng
use-case :
ƒ nhận dạng các class thực thể bằng cách chú ý các thông tin 
trong ₫ặc tả use-case và trong mô hình lĩnh vực cần giải quyết
của hệ thống phần mềm. 
ƒ Nhận dạng class biên cho mỗi class thực thể vừa tìm ₫ược.
ƒ Ứng với mỗi actor là người dùng, hãy nhận dạng class biên
trung tâm phục vụ cho sự tương tác người-chương trình.
ƒ Ứng với mỗi actor là hệ thống ngoài hay thiết bị I/O, hãy nhận
dạng class biên trung tâm phục vụ cho sự tương tác chương
trình-actor ₫ó.
ƒ Nhận dạng class ₫iều khiển có trách nhiệm xử lý các chức
năng liên quan ₫ến use-case tương ứng.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 18
7.6 Phân tích từng use-case
Payment Request UI
Order Configmation
Order Handler
Payment Request
Payment Scheduler
Invoice
Buyer
(f rom Use-Case Model)
Lược ₫ồ class phân tích
thực hiện use-case “Pay 
Invoice” :
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 19
7.6 Phân tích từng use-case
Xây dựng các lược ₫ồ ₫ộng
‰ Cần chú ý các ₫iểm sau trong việc xây dựng các lược ₫ồ tương tác
giữa các ₫ối tượng :
ƒ Đối tượng actor thường sẽ gởi thông báo ₫ến class biên ₫ể
kích hoạt use-case. 
ƒ Mỗi class phân tích trong lược ₫ồ class phải có ít nhất 1 ₫ối
tượng tham gia vào lược ₫ồ ₫ộng nào ₫ó. Tương tự, mỗi ₫ối
tượng tham gia trong 1 lược ₫ồ ₫ộng phải thuộc 1 class phân
tích nào ₫ó trong lược ₫ồ class phục vụ use-case.
ƒ Chưa vội kết hợp ngay 1 tác vụ cụ thể cho từng thông báo.
ƒ Các mối quan hệ giữa các ₫ối tượng trong lược ₫ồ ₫ộng thường
là “instance” của mối quan hệ kết hợp giữa các class tương
ứng.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 20
7.6 Phân tích từng use-case
Xây dựng các lược ₫ồ ₫ộng
‰ Cần chú ý các ₫iểm sau trong việc xây dựng các lược ₫ồ tương tác
giữa các ₫ối tượng (tt) :
ƒ Chưa vội tập trung vào thứ tự thời gian xảy ra các thông báo
giữa các ₫ối tượng, nghĩa là lược ₫ồ trình tự chưa cần thiết
trong workflow phân tích.
ƒ Lược ₫ồ cộng tác nên xử lý tất cả mối quan hệ giữa các ₫ối
tượng trong việc thực hiện use-case tương ứng.
ƒ Cần bổ sung ₫ặc tả dạng văn bản cho lược ₫ồ cộng tác, ₫ặc tả
này nên ₫ược ₫ể vào artifact “flow of events ở cấp phân tích”.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 21
7.6 Phân tích từng use-case
‰ Trong trường hợp cần xác ₫ịnh rõ thứ tự xảy ra các thông báo giữa
các ₫ối tượng, ta nên dùng các qui ₫ịnh sau :
ƒ Các thông báo ₫ược ₫ánh số theo cấu trúc phân cấp :
à 3.4.2 xảy ra sau 3.4.1 và cả 2 sẽ xảy ra trong lúc thực hiện
thông báo 3.4.
à 3.4.3a và 3.4.3b xảy ra ₫ồng thời và ₫ược lồng trong thông
báo 3.4
ƒ Dùng cú pháp tổng quát sau ₫ây ₫ể miêu tả 1 thông báo :
[precedessor] [guard-condition] [sequence-expression] [return-
value :=] message-name argument-list
ƒ Ví dụ : 
2/ 1.3.1: p := find(specs)
1.1, 4.2/ 3.2 *[i:=1..6]: invert(x, color)
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 22
7.6 Phân tích từng use-case
Lược ₫ồ cộng tác thực
hiện use-case “Pay 
Invoice” :
 : Buyer
 : Payment Scheduler
 : Payment Request UI
 : Invoice
 : Order Confirmation
 : Order Handler
 : Payment Request
1: Browse Invoice
4: Get
5: Get
6: Schedule InVoice for payment
8: New
2: Browse
9: setStatus(scheduled)
7: Schedule payment
3: Check Invoice
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 23
7.6 Phân tích từng use-case
Phân tích class
‰ Nhiệm vụ của việc phân tích từng class là :
ƒ Nhận dạng và duy trì các nghĩa vụ, trách nhiệm của class dựa
vào vai trò của nó trong dẫn suất use-case.
ƒ Nhận dạng và duy trì các thuộc tính và các mối quan hệ của
class với các phần tử khác.
ƒ Nhận dạng các yêu cầu ₫ặc biệt và phi chức năng liên quan
₫ến việc thực hiện class.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 24
7.6 Phân tích từng use-case
Nhận dạng các nghĩa vụ, trách nhiệm của class
‰ Khi phân tích 1 class nào ₫ó, lưu ý rằng nó có thể tham gia vào
nhiều lược ₫ồ class, lược ₫ồ ₫ối tượng thuộc nhiều dẫn suất use-
case khác nhau. Do ₫ó, ta phải nghiên cứu tất cả lược ₫ồ class và
lược ₫ồ tương tác giữa các ₫ối tượng trong các dẫn suất use-case 
mà có class tương ứng tham gia, từ ₫ó tổng hợp tất cả nghĩa vụ, 
trách nhiệm của class và ₫ối tượng thuộc class này trong các dẫn
xuất use-case khác nhau.
‰ Đôi khi cần nghiên cứu “flow of events” ở cấp phân tích của nhiều
dẫn xuất use-case khác nhau ₫ể tìm thêm nghĩa vụ và trách
nhiệm của class tương ứng.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 25
7.6 Phân tích từng use-case
Nhận dạng các thuộc tính của 1 class
‰ Mỗi nghĩa vụ, trách nhiệm thường cần 1 số thuộc tính, ta dùng các
hướng dẫn sau ₫ể nhận dạng thuộc tính của 1 class :
ƒ Tên thuộc tính nên là danh từ.
ƒ Kiểu thuộc tính ở cấp phân tích nên ở mức ý niệm, chưa cần cụ
thể hóa, nên dùng lại kiểu ₫ã có khi ₫ặc tả kiểu cho thuộc tính
mới.
ƒ Nếu class phân tích quá phức tạp, nên tách 1 số thuộc tính
phức tạp ra thành class riêng (class thực thể).
ƒ Thuộc tính của class thực thể thường dễ thấy hơn sơ với các
class biên và ₫iều khiển.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 26
7.6 Phân tích từng use-case
Nhận dạng các thuộc tính của 1 class (tt)
‰ Mỗi nghĩa vụ, trách nhiệm thường cần 1 số thuộc tính, ta dùng các
hướng dẫn sau ₫ể nhận dạng thuộc tính của 1 class :
ƒ Thuộc tính của class biên giao tiếp với người dùng thường
miêu tả các thông tin ₫ược xử lý trực tiếp bởi người dùng, thi dụ
field text, 
ƒ Thuộc tính của class biên giao tiếp với hệ thống ngoài thường
miêu tả các tính chất của sự giao tiếp này, thí dụ
ConnectionString miêu tả các thông tin ₫ể kết nối với database 
server.
ƒ Riêng các class ₫iều khiển thì ta khó thấy thuộc tính của nó ở
mức ₫ộ phân tích.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 27
7.6 Phân tích từng use-case
Nhận dạng các tương tác giữa các ₫ối tượng
‰ Các lược ₫ồ tương tác sẽ miêu tả các tương tác giữa các ₫ối
tượng. Các tương tác này thường là ‘instance’ của mối quan hệ kết
hợp giữa các class của chúng. Thí dụ trong lược ₫ồ class, class A 
có 1 mối quan hệ kết hợp với class B thì trong lược ₫ồ cộng tác
(hay trình tự) nào ₫ó, ₫ối tượng class A sẽ phải tương tác với ₫ối
tượng class B.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 28
7.6 Phân tích từng use-case
Nhận dạng các tương tác giữa các ₫ối tượng
‰ Các mối quan hệ kết hợp có thể ám chỉ nhu cầu về sự gộp nhiều
₫ối tượng thành một. 
‰ Mối quan hệ bao gộp nên ₫ược dùng khi các ₫ối tượng miêu tả :
ƒ Các khái niệm chứa vật lý khái niệm khác (xe chứa tài xế và
khách).
ƒ Các khái niệm ₫ược xây dựng từ các khái niệm khác (xe gồm
các bánh xe, ₫ộng cơ,).
ƒ Các khái niệm tạo thành tập hợp ý nhiệm nhiều ₫ối tượng (gia
₫ình gồm cha, mẹ, con).
‰ Ta có thể rút trích các hành vi chung của nhiều class rồi ₫ịnh
nghĩa class tổng quát hóa, ₫ặt các hành vi chung vào class tổng
quát hóa của chúng.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 29
7.7 Phân tích các package
‰ Nhiệm vụ của việc phân tích các package là :
ƒ Đảm bảo từng package có tính ₫ộc lập với các package khác
nhiều như có thể.
ƒ Đảm bảo từng package hoàn thành nhiệm vụ của mình là hiện
thực ₫úng các class thuộc lĩnh vực liên quan hay các use-case 
liên quan.
ƒ Miêu tả các phụ thuộc sao cho có thể ước lượng ảnh hưởng
của các thay ₫ổi trogn tương lai.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 30
7.7 Phân tích các package
‰ Dùng các hướng dẫn sau trong việc phân tích các package :
ƒ Đảm bảo từng package chứa ₫úng class phù hợp, cố gắng ₫ể
tính kết dính cao (cohesion) bằng cách gộp các class có nhiều
mối quan hệ chức năng lại với nhau. 
ƒ Hạn chế tối ₫a sự phụ thuộc giữa các package, di dời các class 
quá phụ thuộc vào package khác ₫ến package liên quan.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Nhập môn Công nghệ phần mềm
Chương 7 : Phân tích yêu cầu theo hướng ₫ối tượng
Slide 31
7.8 Kết chương
‰ Chương này ₫ã giới thiệu các thông tin cơ bản về workflow phân
tích yêu cầu chức năng như nhiệm vụ, các artifact cần tạo ra, các
worker tham gia, qui trình thực hiện. Chương này còn giới thiệu
chi tiết về hoạt ₫ộng phân tích kiến trúc phần mềm và hoạt ₫ộng
phân tích từng use-case chức năng.

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_7_phan_tich_yeu.pdf