• 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[r]
Trang 1Chương 2.
Ngôn ngữ mô hình hóa
thống nhất (UML)
GV: Lê Thị Minh Nguyện Email: nguyenltm@huflit.edu.vn
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
1.1 UML là gì?
• “Three Amigos”: Ivar Jacobson, Grady Booch và Jim Rumbaugh đã hợp nhất các phương pháp OO và tạo ra ngôn ngữ mô hình hóa chuẩn UML
• Là ngôn ngữ dùng để
• Trực quan hóa (Visualizing)
• Xác định rõ (Đặc tả - Specifying)
• Xây dựng (Constructing)
• Tài liệu hóa (Documenting) Cho các kết quả (artifacts) của quá trình thực hiện phần mềm.
Trang 2UML lă ngôn ngữ trực quan
UML lă ngôn ngữ thống nhất trực quan
giúp công việc được xử lý nhất quân, giảm
thiểu lỗi xảy ra
◦ Có những thứ mă nếu không mô hình hóa thì
không hoặc khó có thể hiểu được
◦ Mô hình trợ giúp hiệu quả trong việc liín lạc,
trao đổi
Trong tổ chức
Bín ngoăi tổ chức
UML lă ngôn ngữ để đặc tả
• UML xđy dựng câc mô hình chính xâc, rõ răng vă đầy đủ
UML lă ngôn ngữ để xđy dựng HT
• Câc mô hình UML có thể kết nối trực tiếp với rất nhiều ngôn
ngữ lập trình
• Ânh xạ sang Java, C++, C#, Visual Basic…
• Câc bảng trong RDBMS hoặc kho lưu trữ trong OODBMS
• Cho phĩp câc kỹ nghệ xuôi (chuyển UML thănh mê nguồn)
• Cho phĩp kỹ nghệ ngược (xđy dựng mô hình hệ thống từ mê nguồn)
UML lă ngôn ngữ để tăi liệu hóa
UML giúp tăi liệu hóa về kiến trúc, yíu cầu, kiểm thử, lập kế hoạch dự ân, vă quản lý việc băn giao phần mềm
Use Case Diagram
Actor A Use Case 1 Use Case 2 Use Case 3 Actor B
Class Diagram
Grp Fi l e
re p
Re p o s i to ry
n a m e : ch ar * = 0
re a d Do c( ) (fro m Pe rsi ste nce )
Fi l e M g r
fe tc h Doc ( )
Do c u m en tL ist
a d d ( )
Do c u m en t
n a m e : i nt
n u m Fi el d : int
g e t( )o p e n ( )
s o rtFi l eL is t( )
c re a te ( )fi l l Do c um ent( )
fL i s t
Fi l e L i st
Fi l e
re a d ( )
re a d () fi ll th e
c o d e
Sequence Diagram
us er mainWnd fileMgr : doc ument : repos itory Doc ument gFile
1 : Do c vi ew req ues t ( )
2 : fe tch Doc( )
4 : c re ate ( )
6 : fi l l Doc umen t ( )
7 : re a dFi le ( )
9 : s o rtBy Name ( )
Ư¯ ¤ ¹®¼ ¿¡ ´ịÌÑ º¸±đ¸¦
» ì ¿ị ĂÚ°¡ ¿ôÊ»ÌÑ´Ù.
ỈĂϰü¸®ĂÚ´Đ Ăо î¿Đ
¹®¼ ĂÌ Â¤ º¸¸¦ ÌØ´ì ¹®¼
°´Ê¼ ¿¡ ¼ ³Â¤Ă» ¿ôÊ»ÌÑ´Ù.
Ỉ¸ĩ °´Ê¼ ´Đ ĂоîµĩĂÎ
°´Ê¼ µĩ¿¡ ´ịÌØ Ă̸§º°·Î ¤ ·ÔĂ» ½ÊÔÑ Ỉ¸ĩ¿¡
º¸¿©Ẩ´Ù.
Deployment Diagram
Wi n d o w95
¹®¼°ü¸® Ơ¬¶ ó Ă̾ð Ư®.EXE
Wi n d o wsNT
°ü¸® ¿£Âø.EXE
Wi n d o wsNT
Wi n d o ws9 5
So l a ri s ĂĂ¿ị ¼ ¹ö EXE
Al p h aUNIX IBM M a i n fram e µ¥ ĂÌƠ¸º£ Ă̽º¼ ¹ö
Wi n d o ws9 5
¹®¼°ü¸® ¾ ÖÌʸ´
ºÐ» í Ỉ¯°ưĂÌ Ìϵơ¿þ¾î¹×³×Ư®¿÷ø·ÎĂÌ Â¤º¸ ½Ê½ ºƠÛ ¿¬°â ¸ðµ¨
- Ă©µµ¿ì 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
Trang 33.2 Lịch sử phát triển của UML
tượng:
◦ Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock,
Coad-Yourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA,
HOOD, Ooram, DOORS …
9
3.2 Lịch sử phát triển của UML
• 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
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 - 1 OOSE
Booch ’93 OMT - 2
Public Feedback
Unified Method 0.8
(OOPSLA ’95)
UML 0.9
(Oct ‘96)
and
3.3 Khung nhìn của UML
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
Trang 4Khung nhìn Use case
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
◦ 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)
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…)
15
Khung nhìn tiến trình (process)
thời và đồng bộ của hệ thống
◦ Đồ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
trạng thái
16
Trang 5Khung nhìn triển khai (deployment)
chúng cho các cấu hình nền tảng điển hình nhất
• Triển khai
• Cài đặt
• Bảo trì
17
3.U NIFIED M ODELING L ANGUAGE (UML)
18
UML defines 13 diagrams that describe 4+1 architectural views
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
Activity Diagrams Models
Static Diagrams
Sequence Diagrams
Communication Diagrams
State Machine Diagrams
Deployment Diagrams
Component Diagrams
Object Diagrams
Class Diagrams Use-Case
20
Trang 6Use Case Diagram
Use Case Diagram
• 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
Class Diagram
Name Attributes
Operations
Trang 7Class Diagram
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
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ớianonymousobject, ta khôngcần xác định tên của đối tượng
State Diagram
• 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
Tính chất:
• Class diagrams và Object diagrams đặc trưng chodạng thông tin tĩnh (static information)
• Trong thực tế, các objects luôn tương tác với nhau theothời gian
• Sequence diagrams giúp thể hiệncác hành vi động theo thời gian