Tải bản đầy đủ

tài liệu học tập phân tích thiết kế hệ thống hướng đối tượng

BIỂU ĐỒ LỚP

1. Khái niệm
Các lớp (bao gồm các thuộc tính và thao tác) cùng với các mối quan hệ giữa chúng tạo thành biểu đồ lớp. Ngoài ra trong biểu đồ lớp có thể có gói các lớp, các
giao diện, phần tử cộng tác.

2. Mục đích



Chỉ ra các lớp đối tượng trong hệ thống, các thuộc tính và phương thức của từng lớp và các mối quan hệ giữa những lớp đó, để mô tả hướng nhìn tĩnh về
một hệ thống.



Làm nền tảng cho biểu đồ thành phần và biểu đồ triển khai.


3. Các phần tử của biểu đồ lớp




Lớp



Thuộc tính



Phương thức



Quan hệ:





Liên kết (Associations)



Tổng quát hóa (Generalization)



Phụ thuộc (Dependency)



Thực hiện (Realization)

Các luật ràng buộc và ghi chú


4. Tập ký hiệu uml cho biểu đồ lớp
4.1. Biểu diễn lớp

Là hình chữ nhật có có các đường thẳng ngang chia làm các phần riêng biệt:


+ tên lớp ghi ở phần trên cùng;
+ các thuộc tính của lớp ghi ở phần thứ hai;
+ các phương thức ghi phần thứ ba.

Tên lớp: là các danh từ, bắt đầu bằng chữ cái in hoa.
Ví dụ: «HóaĐơn», «KháchHàng», «NhânViên», «NgườiQuảnlý», «VănPhòng».


Thuộc tính của lớp



Các thuộc tính biểu diễn các dữ liệu được bao gói trong các đối tượng của lớp để phục vụ việc che
giấu thông tin của phương phap hướng đối tượng.




Trong UML cho phép sử dụng các ký hiệu “phạm vi hiển thị” để đặc tả các thuộc tính đó.
Mỗi thuộc tính có thể được biểu diễn dạng sau:

: = mặc định (giá trị giới hạn)

Tên thuộc tính: phải bắt đầu bằng chữ in thường.


Phạm vi hiển thị : cho biết phạm vi truy cập của thuộc tính (mức độ hiển thị).
Gồm các ký hiệu:

‘+’: hàm xác định tính công khai (public), đứng trước tên thuộc tính nghĩa là mọi đối tượng
trong hệ thống đều nhìn thấy được.
‘#’: hàm xác định tính được bảo vệ (protected) đứng trước tên thuộc tính nghĩa là chỉ những
đối tượng có quan hệ kế thừa với nhau nhìn thấy được (nhìn thấy được từ trong lớp đang xét
hoặc các lớp con cháu của lớp đó).
‘-’: hàm xác định tính sở hữu riêng (private) đứng trước tên thuộc tính nghĩa là chỉ các đối
tượng trong cùng một lớp mới nhìn thấy được.
‘~’: thuộc tính được phép truy nhập tới từ các lớp trong cùng package.


Kiểu: kiểu của giá trị thuộc tính.
Kiểu thông thường: integer, real, boolean …
Kiểu rời rạc: ví dụ: kiểu thuộc tính giới tính (nam, nữ),
Thuộc tính điểm học phần: 0,1,2,3,4,5,6,7,8,9,10
Mặc định: là giá trị khởi đầu mặc định (nếu có) của thuộc tính.
Giá trị giới hạn: là giới hạn các giá trị cho thuộc tính (nếu có).


Phương thức

Trong uml các thao tác được khai báo như sau:
tên[danh sách các tham số]:kiểu trả về.
Trong đó:
Phạm vi hiển thị: cũng tương tự như đối với thuộc thính, biểu diễn phạm vi cho thao tác cũng bao gồm:
‘+’: kiểu public;
‘#’: kiểu protected;
‘-’: kiểu private;
‘~’: phương thức đượ phép truy nhập tới từ các lớp trong cùng package.
Danh sách tham số: các tham số khai báo của thao tác.
Kiểu trả về: chỉ ra kiểu giá trị trả về của thao tác.


4.2. Các mối quan hệ trong biểu đồ lớp

Quan hệ kết hợp.



Một kết hợp (association) là một sự kết nối giữa các lớp, cũng có nghĩa là sự nối kết giữa các đối tượng của lớp này.



Quan hệ kết hợp được biểu diễn bởi đoạn thẳng nối 2 đối tượng và có thể kèm theo ngữ nghĩa của quan hệ tại 2 đầu của
đoạn thẳng.

BạnĐọc

Đưa cho

sách
Mượn

BạnĐọc

Thẻ


Quan hệ kết hợp có thể có dạng một chiều


Các dạng đặc biệt của quan hệ kết hợp:



Quan hệ kết tập (Aggregation): là dạng quan hệ mô tả một lớp A là một phần của lớp B và lớp A có thể tồn tại độc lập. Quan hệ kết tập được biểu
diễn bằng một mũi tên gắn hình thoi rỗng ở đầu hướng về lớp bao hàm.



Quan hệ gộp (Composition): biểu diễn một quan hệ kiểu tổng thể-bộ phận. Quan hệ này được biểu diễn bởi một mũi tên gắn hình thoi đặc ở đầu.

Quyển sách
Phòng Học
1

1
0..1

1

MỞ đầu

1

Chương 1

1

Chương 2

0..*
Chương 3

Bàn

0..1

0..1

0..*
Ghế

0..1
Projector


Quan hệ phụ thuộc (dependency).



Phụ thuộc là mối quan hệ giữa hai lớp đối tượng, trong đó một lớp đối tượng có tính độc lập và một lớp đối tượng kia mang tính phụ
thuộc.



Được biểu diễn bằng mũi tên đứt nét.


Khái quát hóa



Khái quát hóa (generalization): là mối quan hệ giữa một lớp mang tính khái quát cao hơn và một lớp mang tính chuyên
biệt hơn.




Mối quan hệ khái quát chính là sự kế thừa của một lớp từ lớp khác.
Được biểu diễn bằng một mũi tên có tam giác rỗng gắn ở đầu.

Ví dụ:
Người

+tên: String
-địaChỉ: String
-ngàySinh: Date

Lớp Người gồm các thuộc tính: tên, địaChỉ, ngàySinh; lớp BạnĐọc
có quan hệ kế thừa từ lớp Người sẽ có tất cả các thuộc tình trên và bổ
sung thêm các thuộc tính mới gồm: mãBạnđọc, lớp, khóa.

BạnĐọc

-mãBạnđọc: String
+lớp: String
+khóa: String

ThủThư

-mãThủthư: String
#password: String
+vaitrò: String


Quan hệ thực hiện (realization).



Quan hệ thực hiện hóa thể hiện sự kết nối giữa các lớp và giao diện.



Quan hệ này thường được sử dụng với các giao diện và những lớp làm nhiệm vụ cài đặt các dịch vụ (phương thức) đã
được khai báo trong các giao diện.



Quan hệ hiện thực hóa được ký hiệu là mũi tên đứt nét.


Stereotype của lớp

Ba stereotype lớp cơ sở sử dụng trong pha phân tích là



Boundary

 Dành cho lớp nằm trên biên hệ thống với thế giới còn lại
 Chúng có thể là form, report, giao diện với phần cứng như máy in, scanner...
 Khảo sát biểu đồ UC để tìm kiếm lớp biên


BoundaryClass

Entity

 Lớp thực thể là lớp lưu trữ thông tin sẽ ghi vào
bộ nhớ ngoài

 Thông thường phải tạo ra bảng CSDL cho lớp loại này


EntityClass

Control

 Có trách nhiệm điều phối hoạt động của các lớp khác
 Thông thường mỗi UC có một lớp điều khiển
 Nó không thực hiện chức năng nghiệp vụ nào
 Các lớp điều khiển khác: điều khiển sự kiện liên quan
đến an ninh và liên quan đến giao dịch CSDL

ControlClass


BIỂU ĐỒ USE CASE

Khái niệm ca sử dụng

- UC (use case) mô tả ai đó sử dụng hệ thống như thế nào, mô tả tương tác giừa người sử dụng với hệ thống
phần mềm để thực hiện các thao tác giải quyết công việc cụ thể nào đó. UC không cho biết hệ thống làm việc
bên trong như thế nào.
- UC là nền tảng của phân tích hệ thống. Việc tìm ra đầy đủ các UC đảm bảo rằng hệ thống sẽ xây dựng đáp
ứng mọi nhu cầu của người sử dụng.
- UC là tập hành động, mỗi hành động là cái gì đó mà hệ thống làm, nó là hạt nhân được hệ thống thực hiện
hoàn toàn hay không được thực hiện phần nào.


Mục đích của ca sử dụng

- Hình thành quyết định và mô tả yêu cầu chức năng hệ thống. Là kết quả của thỏa thuận giữa khách hàng và người
phát triển hệ thống phần mềm.
- Cho phép mô tả rõ ràng và nhất quán cái hệ thống sẽ làm, sao cho mô hình có khả năng được sử dụng xuyên suốt
quá trình phát triển.
- Cung cấp cơ sở để kiểm tra, thử nghiệm hệ thống.
- Cho khả năng dễ thay đổi hay mở rộng yêu cầu hệ thống.

Ca sử dụng và tiến trình phát triển


Phương pháp xác định ca sử dụng

Tìm kiếm UC như thế nào?
- Cách tốt nhất để tìm kiếm UC là phỏng vấn người sử dụng và khảo sát tài liệu của họ. Việc phỏng vấn người sử dụng phải bằng khái
niệm, ngôn từ của lĩnh vực vấn đề và của chính người sử dụng.
- Khi phân tích lĩnh vực ứng dụng, phân tích viên còn phải hợp tác chặt chẽ với với các chuyên gia lĩnh vực và người quản lý dự án.
Chất lượng phân tích bị ảnh hưởng nhiều từ các chuyên gia lĩnh vực, do vậy, phải ưu tiên việc giao tiếp, trao đổi kỹ lưỡng với họ.
Kết quả của bước xác định UC: tác nhân và UC mức cao (mô tả yêu cầu chức năng hệ thống ) được bộc lộ


Một trong các kỹ thuật tìm kiếm tác nhân là trả lời các câu hỏi sau đây:
Ai sẽ sử dụng các chức năng chính của hệ thống?
Ai quản trị, bảo dưỡng để hệ thống làm việc liên tục?
Hệ thống quản lý thiết bị phần cứng nào?
Hệ thống đang xây dựng tương tác với hệ thống khác nào?
Ai hay cái gì quan tâm đến kết quả hệ thống cho lại?


Sau khi có tác nhân, hãy trả lời các câu hỏi sau đây để tìm ra các UC:
Tác nhân yêu cầu hệ thống thực hiện chức năng gì?
Tác nhân cần đọc, tạo lập, bãi bỏ, lưu trữ, sửa đổi các thông tin nào trong hệ thống?
Có cần thông báo cho tác nhân về sự kiện xảy ra trong hệ thống? có cần tác nhân thông báo cái gì đó cho hệ thống?
Hệ thống cần vào / ra nào? Vào / ra đi đến đâu hay từ đâu?


Biểu đồ ca sử dụng

1. Khái niệm.



Biểu đồ ca sử dụng (use case) là một hợp các tác nhân, các ca sử dụng và các mối quan hệ giữa chúng.



Ca sử dụng mô tả tập các hoạt động của hệ thống theo quan điểm của các tác nhân (actor). Những ca sử dụng
phức tạp sẽ được mô tả chi tiết thông qua các kịch bản.



Biểu đồ ca sử dụng chỉ ra hệ thống cần thực hiện điều gì để thỏa mãn các yêu cầu của người dùng hệ thống
đó.

Use-Case Model


2. Mục đích



Mô tả các yêu cầu chức năng của hệ thống.



Làm cơ sở để người phân tích hiểu các công việc của hệ thống, người thiết kế xây dựng các kiến trúc và
người lập trình cài đặt các chức năng của hệ thống.



Xác định các yếu tố bên trong và bên ngoài ảnh hưởng tới hệ thống.



Chỉ ra mối quan hệ giữa các tác nhân và các ca sử dụng trong hệ thống.


3. Tập ký hiệu uml cho biểu đồ ca sử dụng

Một biểu đồ use case thể hiện những phần tử:

 Hệ thống.
 Tác nhân.
 Ca sử dụng.
 Mối quan hệ giữa các tác nhân và các ca sử dụng.


Hệ thống
Hệ thống có vai trò là thành phần của biểu đồ use case, nó biểu diễn ranh giới giữa bên trong và bên ngoài của chủ
thể trong phần mềm cần xây dựng. Hệ thống trong biểu đồ use case có thể là một hệ thống phần mềm, một hệ thống thực:
doanh nghiệp, trường học, v.v.


Tác nhân (actor): là những thực thể bên ngoài có tương tác với hệ thống, bao gồm người, vật, thiết bị hay các hệ
thống khác có trao đổi thông tin với hệ thống.

Ký hiệu: hình người tượng trưng cùng với tên gọi.
Tên gọi của tác nhân được mô tả bằng các danh từ và thường phải nêu được vai trò của nó với hệ thống.
Tác nhân sẽ cung cấp hoặc sử dụng các thông tin của hệ thống thông qua các ca sử dụng.
Ví dụ:

Người quản lý


Các ca sử dụng (use case):
là thành phần cơ bản của biểu đồ ca sử dụng, tên của nó thể hiện một chức năng xác định của hệ thống.
Ký hiệu: hình elip và có chứa tên của ca sử dụng.

Mượn sách

Rút tiền

Gửi tiền

Tên của ca sử dụng là một hoạt động biểu hiện chức năng, nhiệm vụ hay gọi chung là dịch vụ của hệ thống và
nó thường được mô tả bằng các động từ, hay mệnh đề động từ đơn, ngắn gọn và mô tả đúng nhiệm vụ mà hệ thống cần
thực hiện.


Mối quan hệ giữa các ca sử dụng

Quan hệ mở rộng (extend):




Ca sử dụng này mở rộng từ ca sử dụng kia bằng cách thêm vào một chức năng mới.
Sử dụng để mô hình hóa một vài chức năng dùng chung, sử dụng lại giữa hai hay nhiều UC.

<>
B

A

Chức năng A thỉnh thoảng gọi chức năng B.

Rút tiền

<>

 
<>

Rút nhanh

 

Xử lý vượt mức


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×