Tải bản đầy đủ (.pdf) (45 trang)

Bài giảng chương 2 mô hình hóa hệ thống thông tin theo hướng đối tượng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.93 MB, 45 trang )

Vũ Chí Cường, 2017







Giới thiệu về UML
Các biểu đồ trong UML
Giới thiệu các phần mềm







Lịch sử phát triển
Ngôn ngữ UML
Các khái niệm cơ bản trong UML




Giai đoạn (1960s – 1970s)
 Cobol, Fortran, C
 Structed analysis and design technique




Giai đoạn (1980s – đầu 1990s)
 Smalltalk, Ada, C#, Visual Basic
 Early generation – OO methods



Giai đoạn (cuối 1990)

 Ngơn ngữ lập trình Java
 UML (Unified Modelling Language) (tháng

11/1997)
 Unified Process


UML là ngơn ngữ mơ hình hóa tởng qt được xây dựng để
đặc tả, phát triển và viết tài liệu cho các khía cạnh (viewhướng nhìn) trong phát triển phần mềm hướng đối tượng.
 UML giúp người phát triển hiểu rõ và ra quyết định liên quan
đến phần mềm cần xây dựng.
 UML bao gồm tập các khái niệm, ký hiệu, các biểu đồ và
hướng dẫn.
 UML hỗ trợ xây dựng hệ thống hướng đối tượng dựa trên
việc nắm bắt khía cạnh cấu trúc tĩnh và các hành vi đợng của
hệ thống.


 Các cấu trúc tĩnh định nghĩa các kiểu đối tượng quan trọng của hệ

thống, nhằm cài đặt và chỉ ra mối quan hệ giữa các đối tượng.
 Các hành vi động (dynamic behavior) định nghĩa các hoạt động của

các đối tượng theo thời gian và tương tác giữa các đối tượng
hướng tới đích.




Khái niệm mơ hình
 Mơ hình (model) là mợt biểu diễn của sự vật, đối

tượng hay một tập các sự vật trong một lĩnh vực
ứng dụng nào đó theo một quan điểm nhất định.
 Mục đích của mơ hình là nhằm nắm bắt các khía
cạnh quan trọng của sự vật mà mình quan tâm và
biểu diễn theo mợt tập ký hiệu hoặc quy tắc nào
đó.
 Các mơ hình thường được xây dựng sao cho có
thể vẽ được thành các biểu đồ dựa trên tập ký
hiệu và quy tắc đã cho.




Kiến trúc hệ thống
 Kiến trúc hệ thống là trừu tượng hóa các khía

cạnh quan trọng nhất của hệ thống. Cung cấp
khung trong đó thiết kế được xây dựng
 Thể hiện phần mềm sẽ được tổ chức như thế nào
và cung cấp các giao thức trao đổi dữ liệu và giao
tiếp giữa các modul.

 Là vật phẩm quan trong nhất, được sử dụng để
quản lý các hướng nhìn (view) khác nhau và điều
khiển hệ thống tăng dần và lặp trong suốt chu kỳ
sống




Các hướng nhìn
 Hướng nhìn user case ( user case view)
▪ Miêu tả chức năng của hệ thống sẽ phải cung cấp

 Hướng nhìn logic ( logic view)
▪ Miêu tả phương thức mà các chức năng của hệ thống sẽ
được cung cấp

 Hướng nhìn thành phần ( component view)
▪ Miêu tả việc thực thi của các modul cũng như sự phụ
tḥc giữa chúng

 Hướng nhìn song song ( concurrency view)
▪ Nhằm tới việc chia hệ thống thành các qui trình
(process) và các bợ xử lí (processor)




Các phần tử của mơ hình
 Phần tử cấu trúc (lớp, giao diện, phần tử cộng tác, ca sử


dụng, thành phần, nút)
 Phần tử hành vi (tương tác, trạng thái)
 Phần tử nhóm (gói)
 Chú thích



Các dạng quan hệ







Quan hệ phụ thuộc (dependency)
Quan hệ liên kết (association)
Quan hệ kết hợp (aggregation)
Quan hệ hợp thành (composittion)
Khái quát hóa (generalization)
Hiện thực hóa (realization)


Tên quan hệ

Ý nghĩa

Quan hệ phụ
thuộc
(dependency)


Là quan hệ ngữ nghĩa giữa 2 phần tử trong đó
thay đổi của phần tử độc lập sẽ tác động đến ngữ
nghĩa của phần tử phụ thuộc

Quan hệ liên kết
(association)

Là quan hệ cấu trúc để mô tả tập liên kết (kết nối
giữa các đối tượng). Đối tượng của lớp này có thể
gửi/nhận thơng điệp đến/từ lớp kia

Quan hệ kết hợp Là dạng đặc biệt của quan hệ liên kết, nó biểu diễn
(aggregation)
quan hệ giữa cấu trúc và bộ phận
Quan hệ hợp
thành
(composittion)

Là dạng đặc biệt của tập hợp, nếu đối tượng tồn
thể bị hủy bỏ thì các đối tượng bộ phận của nó
cũng bị hủy bỏ

Khái quát hóa
(generalization)

Đối tượng cụ thể sẽ kế thừa các thuộc tính và
phương thức của đối tượng tổng qt

Hiện thực hóa

(realization)

Là quan hệ ngữ nghĩa giữa giao diện và lớp

Ký hiệu






Biểu đồ cấu trúc








Biểu đồ lớp (class diagram)
Biểu đồ đối tượng (object diagram)
Biểu đồ thành phần (component diagram)
Biểu đồ gói (package diagram)
Biểu đồ triển khai (deployment diagram)
Biểu đồ cấu trúc phức hợp (composite structure diagram)
Biểu đồ gói mở rộng (profile package)










Biểu đồ ca sử dụng (use case diagram)
Biểu đồ hoạt động (activity diagram)
Biểu đồ tuần tự (sequence diagram)
Biểu đồ cộng tác (collaboration diagram)
Biểu đồ trạng thái (state diagram)
Biểu đồ bao quát tương tác (interaction overview diagram)
Biểu đồ thời khắc (timing diagram)

Biểu đồ hành vi




Ý nghĩa
 Biểu đồ ca sử dụng (use case diagram) biểu diễn

các chức năng của hệ thống
 Biểu đồ ca sử dụng chỉ ra sự tương tác giữa các
tác nhân (actor) và hệ thống thông qua các ca sử
dụng (use case)
 Bao gồm một tập hợp các tác nhân (actor), các ca
sử dụng (use case) và các mối quan hệ
(relationship) giữa các ca sử dụng
 Đi kèm với biểu đồ ca sử dụng là các kịch bản

(scenario) nhằm mô tả chi tiết quá trình thực hiện
ca sử dụng đó.


Tên gọi

Ý nghĩa

Hệ thống
(system)

biểu diễn ranh giới bên trong và bên
ngoài của phần mềm đang xây dựng

Tác nhân
(actor)

là người dùng của hệ thống, một actor
có thể là một người dùng thực hoặc
các hệ thống máy tính khác giữ vai trò
nào đó trong hoạt động của hệ thống

Các ca sử là thành phần cơ bản trong biểu đồ use
dụng (use case, mô tả các chức năng xác định
case)
của hệ thống

Ký hiệu
System


Customer

System Shutdown


Tên gọi

Ý nghĩa

Bao hàm
(Include)

use case này sử dụng lại chức
năng của use case kia.

Mở rộng
(Extend)

use case này mở rộng từ use
case kia bằng cách thêm vào một
chức năng cụ thể

Đặc biệt hóa
(Specialization)

Đặc biệt hóa (Specialization):
use case này kế thừa các chức
năng từ use case kia, use case
sau được gọi là Tổng quát hóa
(Generalization) của use case

đầu

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

Ký hiệu
<<include>>

<<extend>>


System
System Startup

Operator

System Shutdown

Invalid PIN

Session
Customer

<<extend>>
<<include>>
Transaction
Bank

Withdrawal


Deposit

Transfer

Inquiry




Ý nghĩa
 Biểu đồ lớp là một biểu đồ mô tả cách nhìn

tĩnh về mợt hệ thống bằng các khái niệm lớp,
các tḥc tính, phương thức của lớp và mối
quan hệ giữa chúng.


Ký hiệu
 Lớp (class): được biểu diễn bởi hình chữ nhật

gồm 3 phần: tên lớp, các tḥc tính và các
phương thức.


Phạm_vi Tên_thuộc_tinh: Kiểu[Số_đối_tượng] = Mặc_định
(Giá_trị_giới_hạn)


Phạm vi: cho biết phạm vi truy nhập của tḥc tính











+: tḥc tính kiểu public
#: tḥc tính kiểu protected
-: tḥc tính kiểu private.
~: tḥc tính được phép truy nhập tới từ các lớp trong cùng package

Tên_tḥc_tính: là xâu ký tự biểu diễn tên tḥc tính.
Kiểu: là kiểu dữ liệu của tḥc tính.
Số_đối_tượng: chỉ ra số đối tượng khai báo cho tḥc tính ứng với
mợt 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 tḥc tính (thơng tin này
khơng bắt ḅc).

Ví dụ: purchaseDate:Date[1] =”01-01-2000” (Saturday)


Phạm_vi Tên_phương_thức(danh_sách_tham_sớ):
Kiểu_trả_lại {Kiểu_phương thức}
 Phạm_vi: giống tḥc tính
 Tên_phương thức: là xâu ký tự xác định tên của
phương thức
 Kiểu_trả_lại: chỉ ra kiểu giá trị trả về của phương thức

 danh_sách_tham_số: biểu diễn danh sách các tham số.
Mỗi tham số có dạng Tên_tham_số: Kiểu_giá_trị =
Giá_trị_mặc_định.
 Kiểu_phương_thức: cho biết kiểu phương thức
 abstract: phương thức kiểu trừu tượng
 query: phương thức kiểu truy vấn
Ví dụ: generatePurchaseList(prodID:int): String


Tên gọi

Ý nghĩa

Lớp thực thể
(entity class)

là lớp đại diện cho các thực thể chứa
thông tin về các đối tượng xác định nào
đó. Ví dụ, lớp Khách hàng, Hóa đơn.

Lớp biên
(boundary class)

là lớp nằm ở ranh giới giữa hệ thống
với môi trường bên ngoài nhằm thực
hiện vai trò nhận yêu cầu trực tiếp từ
các tác nhân và chuyển các yêu cầu đó
cho các lớp bên trong hệ thống.

Lớp điều khiển

(controller class)

thực hiện các chức năng điều khiển
hoạt động của hệ thống tương ứng với
các chức năng cụ thể nào đó của một
nhóm các lớp biên hoặc nhóm các lớp
thực thể.

Ký hiệu


Tên quan hệ
Quan hệ liên kết
(association)
Kế thừa
(inheritance)

Quan hệ kết hợp
(aggregation)

Ví dụ


Tên quan hệ
Quan hệ hợp thành
(composition)
Quan hệ phụ thuộc
(dependency)
Quan hệ thực thi
(realization)


Ví dụ



Balances

Money

Message

Log

Status
1

Receipt

1
1

1

1

1

1
EnvelopAcceptor


CashDispenser

NetworkToBank
1

1

CustomConsole

1

1
ATM

1
1
1

CardReader
1

1

1
1
1

Session

1


ReceiptPrinter

1
1

*

OperatorPanel

1

*
*

Transaction

Card
Withdrawal

Deposit

Transfer

AccountInformation

Inquiry





Ý nghĩa
 Biểu đồ trạng thái được sử dụng để biểu diễn các trạng

thái và sự chuyển tiếp giữa các trạng thái của các đối
tượng trong một lớp xác định.
 Mỗi lớp có một biểu đồ trạng thái (trừ trường hợp là lớp
không có đối tượng).
 Biểu đồ trạng thái biểu diễn dưới dạng máy trạng thái hữu
hạn với các trạng thái và sự chuyển tiếp giữa các trạng
thái đó.



Có hai dạng biểu đồ trạng thái:

 Biểu đồ trạng thái cho một use case
 Biểu đồ trạng thái hệ thống mô tả tất cả các trạng thái của

các đối tượng trong toàn bộ các hoạt động của hệ thống.


Tên gọi

Ý nghĩa

Trạng thái
(state)

Biểu diễn một trạng thái của đối

tượng trong vòng đời của đối
tượng

Trạng thái
khởi đầu
(initial state)

Trạng thái đầu tiên khi kích hoạt
đối tượng

Trạng thái kết
thúc (final
state)

Kết thúc vòng đời đối tượng

Chuyển tiếp
(transition)

Biểu diễn các chuyển đổi giữa các
trạng thái

Sự kiện
(Event)

Sự kiện tác động gây ra sự
chuyển đổi trạng thái.

Ký hiệu



×