Bài giảng Phân tích thiết kế hướng đối tượng - Chương 2: Ngôn ngữ mô hình hóa thống nhất (UML) - Lê Thị Minh Nguyện

Nội dung

1. Giới thiệu UML

2. Unified modeling language (uml)

3. UML và các giai đoạn của chu trình phát triển phần mềm

Giới thiệu UML

1.1. UML là gì?

1.2. Sơ lược lịch sử phát triển của UML

1.3. Các khung nhìn của UML

pdf10 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: yen2110 | Lượt xem: 297 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Phân tích thiết kế hướng đối tượng - Chương 2: Ngôn ngữ mô hình hóa thống nhất (UML) - Lê Thị Minh Nguyện, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
s e( )
read( )
s ortFi leL is t( )
c reate( )
fi l lDoc um ent( )
fL is t
1
Fi leL ist
add( )
de lete( )
Fi le
read( )
read() fi l the 
c ode..
Sequence Diagram
user
mainWnd fileMgr : 
FileMgr
repositorydocument : 
Document
gFile
1: Doc view reques t ( )
2 : fe tchDoc( )
3 : c reate ( )
4 : c reate ( )
5 : readDoc ( )
6 : fi l lDoc ument ( )
7 : readFi le ( )
8 : fi l lFile ( )
9 : s ortBy Name ( )
ƯÁ¤¹®¼ ¿¡ ´ëÇÑ º¸±â¸ ¦ 
»ç ¿ëÀÚ°¡ ¿äûÇÑ´Ù.
ÈÀÏ°ü¸®ÀÚ´Â Àо î¿Â 
¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´ ü ¿¡ ¼ ³Á¤À» ¿äûÇÑ´Ù.
È¸é °´ ü ´Â ÀоîµéÀÎ 
°´ ü µé¿¡ ´ëÇØ À̸§º°·Î 
Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡ 
º¸¿©ÁØ´Ù.
Deployment Diagram
Window95
¹®¼ °ü¸® 
Ŭ¶óÀ̾ðÆ®.EXE
Windows
NT
¹®¼ °ü¸® ¿£Áø.EXE
Windows
NT
Windows95
Solaris
ÀÀ¿ë¼ ¹ö.EXE
Alpha
UNIX
IBM 
M ainfram e
µ¥ÀÌŸº£À̽º¼ ¹ö
Windows95
¹®¼ °ü¸® ¾ ÖÇø´
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹×³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ ºÅÛ ¿¬°á ¸ðµ¨
- À©µµ¿ì 95 : Ŭ¶óÀ̾ ðÆ®
- À©µµ¿ì NT: ÀÀ¿ë¼¹ö
- À¯ ´Ð½ º ¸Ó½Å: ÀÀ¿ë ¼¹ö ¹×µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼¹ö
- IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö
Các biểu đồ khác
nhau, các ghi chú, 
ràng buộc được đặc
tả trong tài liệu
8/30/2017
3
3.2. Lịch sử phát triển của UML
 Vào 1994, có hơn 50 phương pháp mô hình hóa hướng đối 
tượng:
◦ Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock, Coad-
Yourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA, 
HOOD, Ooram, DOORS 
 “Meta-models” tương đồng với nhau
 Các ký pháp đồ họa khác nhau
 Quy trình khác nhau hoặc không rõ ràng
 Cần chuẩn hóa và thống nhất các phương pháp
9
3.2. Lịch sử phát triển của UML
Phân tích thiết kế hướng đối tượng 10
• UML được 3 chuyên gia hướng đối
tượng hợp nhất các kỹ thuật của họ
vào năm 1994:
• Booch91 (Grady Booch): Conception, 
Architecture
• OOSE (Ivar Jacobson): Use cases
• OMT (Jim Rumbaugh): Analysis
• Thiết lập một phương thức thống
nhất để xây dựng và “vẽ” ra các yêu
cầu và thiết kế hướng đối tượng
trong quá trình PTTK phần mềm 
UML được công nhận là chuẩn chung
vào năm 1997.
3.2. Lịch sử phát triển của UML
Phân tích thiết kế hướng đối tượng 11
UML
Partners’ 
Expertise
UML 1.0
(Jan. ‘97)
UML 1.1
(Sept. ‘97)
UML 1.5
(March, ‘03)
UML 2.0
(2004)
Other 
Methods
Booch ‘91 OMT - 1OOSE
Booch ’93 OMT - 2
Public 
FeedbackUnified Method 0.8
(OOPSLA ’95)
UML 0.9
(June ‘96)
UML 0.91
(Oct. ‘96)
and
3.3. Khung nhìn của UML
Phân tích thiết kế hướng đối tượng 12
Khung nhìn của mô hình có ý nghĩa với những người tham gia nào đó
4 + 1 Architectural View
Process View
Logical View
Implementation View
Programmers
Software management
Performance, scalability, throughput
System integrators
Analysts/Designers
Structure
Deployment View
System topology, delivery, 
installation, communication
System engineering
Use-Case View
End-user
Functionality
8/30/2017
4
Khung nhìn Use case
• Nắm bắt các chức năng của hệ thống
• Cần thiết cho các hoạt động phân tích, thiết kế và kiểm thử
• Hợp đồng giữa khách hàng và người phát triển
• Hành vi của hệ thống – các chức năng mà hệ thống cần cung
cấp – được lưu trong một mô hình use case
• Biểu đồ use case
• Luồng sự kiện use case
• Biểu đồ hoạt động
• Các tài liệu phụ trợ
13
Khung nhìn Logic
Cấu phần chính là mô hình thiết kế
◦ Cung cấp mô tả cụ thể về hành vi chức năng của hệ thống.
◦ Xuất phát từ mô hình phân tích
 Mô tả vắn tắt về hành vi của hệ thống dựa trên mô hình use case
◦ Tập hợp lớp, tổ chức vào các hệ thống con
◦ Bao gồm:
 Biểu đồ lớp, biểu đồ tương tác, biểu đồ trạng thái
 Hệ thống con và giao diện của chúng
14
Khung nhìn thực thi (implementation)
• Tổ chức các mô-đun phần mềm tĩnh (mã nguồn, tệp dữ liệu, 
các thành phần thực thi, tài liệu) trong môi trường dưới
dạng:
- Chia thành các package và phân lớp (layer)
- Quản lý cấu hình (quyền sở hữu, kế hoạch bàn giao)
• Được mô hình hóa trong các biểu đồ thành phần
15
Khung nhìn tiến trình (process)
 Bao gồm các thread và các process tạo nên các cơ chế đồng
thời và đồng bộ của hệ thống
 Giải quyết về các vấn đề:
◦ Đồng thời và song song (đồng bộ, deadlock)
◦ Dung thứ lỗi (cô lập chức năng và lỗi, độ tin cậy)
◦ Khởi động và tắt hệ thống
◦ Phân phối đối tượng và dữ liệu
◦ Hiệu năng (thời gian đáp ứng, thông lượng) và tính co dãn
 Không cần thiết đối với môi trường xử lý đơn lẻ
 Mô hình hóa bằng biểu đồ lớp, biểu đồ tương tác và biểu đồ
trạng thái
16
8/30/2017
5
Khung nhìn triển khai (deployment)
• Mô tả các nút vật lý khác nhau và các kết nối lẫn nhau giữa
chúng cho các cấu hình nền tảng điển hình nhất
• Giải quyết các vấn đề:
• Triển khai
• Cài đặt
• Bảo trì
• Được mô hình hóa bằng biểu đồ triển khai
17
3.UNIFIED MODELING LANGUAGE (UML)
Phân tích thiết kế hướng đối tượng 18
18
UML defines 13 diagrams that describe 4+1 architectural views
UNIFIED MODELING LANGUAGE (UML)
Phân tích thiết kế hướng đối tượng 19
Things
Relationship 
Diagram 
Structural Things
Behavior things
Group things
Annotation things
Class, interface, collaboration, 
use case, components, nodes
Interaction, State machine 
Package
Note
Structural Relationship Dependency, Aggregation, 
Association, Generalization
Behavior Relationship
Communication, Includes, 
Extends, Generalizes
Structural Diagram
Behavioral Diagram
-Class diagram
-Object diagram
-Component diagram
-Deployment diagram
- Use case diagram
- Activity diagram
- Interaction diagram
- State machine diagram
UNIFIED MODELING LANGUAGE (UML)
Dynamic 
Diagrams
Activity
Diagrams
Models
Static 
Diagrams
Sequence
Diagrams
Communication
Diagrams
State Machine
Diagrams
Deployment
Diagrams
Component
Diagrams
Object
Diagrams
Class
DiagramsUse-Case
Diagrams
20
8/30/2017
6
Use Case Diagram
Phân tích thiết kế hướng đối tượng 21
Use Case Diagram
Phân tích thiết kế hướng đối tượng 22
• Mô tả hành vi hệ thống dưới góc nhìn của 
người dùng
• Với developer, đây là công cụ vô cùng hữu 
ích trong việc thể hiện yêu cầu hệ thống
Class Diagram
Phân tích thiết kế hướng đối tượng 23
Class Diagram
Phân tích thiết kế hướng đối tượng 24
Name
Attributes
Operations
8/30/2017
7
Class Diagram
Phân tích thiết kế hướng đối tượng 25
25
Một số lưu ý
• Tên class nếu có từ 
2 từ trở lên thì viết 
hoa đầu mỗi từ và 
không có khoảng 
trắng
• Tên thuộc tính và tên 
phương thức cũng 
tuân theo qui tắc trên 
nhưng không viết 
hoa chữ đầu
Object Diagram
Phân tích thiết kế hướng đối tượng 26
Một số lưu ý
• Tên được gạch dưới
• Tên của thực thể nằm phía trái dấu hai chấm, tên
lớp nằm phía phải
• Với anonymous object, ta không cần xác định tên
của đối tượng
State Diagram
Phân tích thiết kế hướng đối tượng 27
• Tại bất kì thời điểm nào, 
mỗi object đều đang ở 
một trạng thái (state) 
nhất định
• Hình bên cho thấy sự 
dịch chuyển (transition)
về trạng thái của một đối 
tượng máy giặt
• Lưu ý kí hiệu của trạng 
thái bắt đầu và kết thúc
Sequence Diagram
Phân tích thiết kế hướng đối tượng 28
Tính chất:
• Class diagrams và Object diagrams đặc trưng
cho dạng thông tin tĩnh (static information)
• Trong thực tế, các objects luôn tương tác với
nhau theo thời gian
• Sequence diagrams giúp thể hiện các hành vi 
động theo thời gian
8/30/2017
8
Sequence Diagram
Phân tích thiết kế hướng đối tượng 29
Sequence Diagram
Phân tích thiết kế hướng đối tượng 30
Ví dụ:
• Giả sử timer, water pipe và drum là các objects. 
Mỗi object có một hoặc nhiều operations
• Các objects cùng làm việc thông qua việc gửi
thông điệp (messages) cho nhau
• Mỗi message là một yêu cầu đi từ đối tượng gửi
(sender-object) đến đối tượng nhận (receiver-
object) 
• Đối tượng nhận sẽ thực thi phương thức đó
Sequence Diagram
Phân tích thiết kế hướng đối tượng 31
Ví dụ:
• Các tác vụ của Timer: timeSoak()
• Các tác vụ của WaterPipe: sendWater(), stopFlow()
• Các tác vụ của Drum: storeWater() 
• Trình tự:
1. Tại thời điểm soaking, nước di chuyển vào Drum 
thông qua WaterPipe
2. Drum ổn định trong khoảng 5 phút
3. Tại thời điểm kết thúc, nước ngừng di chuyển vào
Drum
Activity Diagram
Phân tích thiết kế hướng đối tượng 32
Tính chất:
• Biểu diễn các hành vi theo từng bước
• Hỗ trợ lựa chọn, lặp và song song
• Cho thấy dòng điều khiển một cách tổng quan
• VD:
1. Vào thời điểm bắt đầu “Washing”, Drum 
xoay tròn trong 15 phút
2. Tại thời điểm kết thúc “Washing”, Drum xả
nước xà phòng
3. Drum ngừng xoay
8/30/2017
9
Activity Diagram
Phân tích thiết kế hướng đối tượng 33
Communication Diagram
Phân tích thiết kế hướng đối tượng 34
Tính chất:
• Thể hiện sự tương tác giữa các đối tượng
• Cũng gửi thông điệp như biểu đồ tuần tự nhưng
không có đường life line
• Thứ tự các thông điệp được đánh số
• Nhấn mạnh sự giao tiếp của các đối tượng hơn là
yếu tố thời gian
Communication Diagram
Phân tích thiết kế hướng đối tượng 35
Component Diagram
Phân tích thiết kế hướng đối tượng 36
Thể hiện kiến trúc vật lý của quá trình hiện thực
8/30/2017
10
Deployment Diagram
Phân tích thiết kế hướng đối tượng 37
Thể hiện kiến trúc vật lý hệ thống
2. UML và các giai đoạn phát triển hệ thống
Giai đoạn Mô tả
Preliminary 
Investigation
Use cases thể hiện các yêu cầu của người dùng
- Use case xác định các yêu cầu
- Diagram thể hiện mối quan hệ và giao tiếp với hệ thống
Analysis Trừu tượng hóa và tìm hiểu các cơ cấu có trong phạm vi bài toán
Class diagrams trên bình diện trừu tượng hóa các thực thể ngoài đời thực
được sử dụng. Chỉ những lớp (class) nằm trong phạm vi bài toán mới đáng
quan tâm
Design Các lớp được mô hình hóa chi tiết để cung cấp hạ tầng kỹ thuật như giao diện, 
nền tảng cho database
Development Mô hình Design được chuyển thành code
Testing Có 4 hình thức kiểm tra hệ thống
- Unit testing (class diagrams & class specifications)
- Integration testing (integration diagrams & collaboration diagrams)
- System testing (use-case diagrams)
- Acceptance testing
Phân tích thiết kế hướng đối tượng 38
Phân tích thiết kế hướng đối tượng 39

File đính kèm:

  • pdfbai_giang_phan_tich_thiet_ke_huong_doi_tuong_chuong_2_ngon_n.pdf
Tài liệu liên quan