Bài giảng Lập trình hướng đối tượng - Bài 9: Tổng quan về UML và PTTK HĐT giới thiệu tới sinh viên các nội dung: Mô hình hóa, tổng quan về UML, phân tích thiết kế hướng đối tượng, công cụ phát triển OOAD. Đây là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin và những ai quan tâm đến lĩnh vực này dùng làm tài liệu học tập và nghiên cứu.
Trang 1Bộ môn Công nghệ Phầ n mề m
Việ n CNTT & TT Trư ờ ng Đạ i họ c Bách Khoa Hà Nộ i
k o?sqìmg?g ︰mf?I。h?s ︸mf
Bài 09 Tổ ng quan về UML và PTTK
HĐT
Nộ i dung
1 Mô hình hóa
2 Tổ ng quan về UML
3 Phân tích thiế t kế hư ớ ng đố i tư ợ ng
4 Công cụ phát triể n OOAD
2
Nộ i dung
2 Tổ ng quan về UML
3 Phân tích thiế t kế hư ớ ng đố i tư ợ ng
4 Công cụ phát triể n OOAD
3
1.1 Mô hình hóa là gì?
4
1.2 Sự quan trọ ng củ a mô hình hóa
Mứ c độ quan trọ ng thấ p Mứ c độ quan trọ ng cao hơ n
1.2 Sự quan trọ ng củ a mô hình hóa (2)
Mô hình hóa là mộ t con đư ờ ng dẫ n đế n thành công củ a dự án.
Trang 21.3 Vai trò củ a mô hình hóa hệ thố ng
Chỉ rõ cấ u trúc hoặ c ứ ng xử củ a hệ thố ng.
…
7
1.4 Yêu cầ u khi biể u diễ n mô hình accurate
consistent understandable changeable
8
Nộ i dung
1 Mô hình hóa
3 Phân tích thiế t kế hư ớ ng đố i tư ợ ng
4 Công cụ phát triể n OOAD
9
2.1 UML là gì?
Ngôn ngữ mô hình hóa thố ng nhấ t UML (Unified Modeling Language)
4 mụ c tiêu củ a UML vớ i cấ u phầ n (artifact)
củ a mộ t hệ thố ng phầ n mề m
10
UML 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
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 đủ
Trang 3UML 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 Use Case Diagram
Actor A Use Case 1
Use Case 2
Use Case 3 Actor B
Class Diagram
G r pFile
cr eat e( )
f illFile( )
r ep Reposit or y
nam e : char * = 0
r eadDoc( ) ( f r om Per sist ence)
FileM gr
f et chDoc( )sor t ByNam e( ) Docum ent List add( ) Docum ent
get ( ) sor t FileList ( )
f List
FileList
r ead( )
r ead( ) f ill t he code
Sequence Diagram
user mainWndfileMgr : document : repository Document gFile
1: Doc view r equest ( ) 2: f et chDoc( )
4: cr eat e ( )
6: f illDocum ent ( ) 7: r eadFile ( )
9: sor t ByNam e ( )
Ư¯ ¤¹ ®¼ ¿¡ ´ ịÌ Ñ º ¸ ±đ¸ ¦
»ì¿ị Ă Ú °
Ỉ ĂÏ °ü¸ ®Ă Ú ´ Đ Ăо î ¿Đ
¹ ®¼ Ă Ì Â ¤º ¸ ¸ ¦ ÌØ ´ ì ¹ ®¼
Ỉ ¸ ĩ °´ ʼ ´ Đ Ăо î µ ĩĂÎ
°´ ʼ µĩ ¿¡ ´ ịÌØ ĂÌ ¸ §º °· Π¤· ÔĂ» ½ ÊÔÑ Ỉ ¸ ĩ¿¡
º ¸ ¿© Ẩ ´Ù
Deployment Diagram
Window95
¹ ®¼ °ü¸ ®Ơ¬¶óĂÌ ¾ ðƯ® EXE
¹ ®¼ °ü¸ ® ¿£ Âø E XE
Windows95
Solar is
ĂĂ¿ị¼ ¹ ö EXE Alpha
I BMM ainf r am e
µ¥ĂÌ Ơ¸ º £ĂÌ ½ º ¼ ¹ ö
Windows95
¹ ®¼ °ü¸ ® ¾ Ö Ì Ê¸ ´
º лí Ỉ ¯ °ưĂ Ì ÌÏ µơ¿ þ¾ î ¹ × ³× Ư® ¿ ÷ø · Î ĂÌ Â ¤º ¸ ½ ʽ º Ơ Û ¿ ¬ °â ¸ ðµ¨
- Ă©µµ¿ì 95 : Ơ¬¶óĂÌ ¾ ðƯ®
- Ă©µµ¿ì NT: ĂĂ¿ị¼ ¹ ö- Ă¯ ´ н º ¸ Ó ½ Ơ: ĂĂ ¿ị ¼ ¹ ö ¹ × µ¥ĂÌ Ơ¸ ¼ ¹ ö, Ơị½ Ơ ¼ ¹ ö
- I BM ¸ ÞĂÎ Ì· ¹ Ẳ : µ¥ĂÌ Ơ¸ ¼ ¹ ö, Ơị½ Ơ ¼ ¹ ö
UML lă ngôn ngữ để tăi liệ u hóa
2.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 …
Cầ n chuẩ n hóa vă thố ng nhấ t câc phư ơ ng phâp
2.2 Lị ch sử phât triể n củ a UML (2)
UML đư ợ c 3 chuyín gia hư ớ ng đố i
tư ợ ng hợ p nhấ t câc kỹ thuậ t củ a họ
UML lă mộ t ngôn ngữ hợ p nhấ t
Fusion
Operation descriptions, message numbering Before and after
conditions
Meyer
Booch Rumbaugh Jacobson
UML lă mộ t ngôn ngữ thố ng nhấ t
Trang 42.2 Lị ch sử phát triể n củ a UML (3)
UML
Partners’
(Jan ‘97)
UML 1.1
( Sept ‘97)
UML 1.5 (March, ‘03)
UML 2.0 (2004)
Other
OOSE
Booch ’93 OMT - 2
Public Feedback
Unified Method 0.8 (OOPSLA ’95)
UML 0.9
(June ‘96) UML 0.91
(Oct ‘96) and
2.3 Các khung nhìn củ a UML
Không đơ n giả n để mô hình hóa hệ thố ng phứ c tạ p
20
2.3 Các khung nhìn củ a UML (2)
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
2.4 Các biể u đồ UML
Mộ t mô hình hệ thố ng thư ờ ng có nhiề u loạ i biể u
đồ , mỗ i loạ i có nhiề u biể u đồ khác nhau.
22
2.4 Các biể u đồ UML
Biể u đồ use case (Use Case Diagram)
Biể u đồ cấ u trúc tĩnh (Static Structure Diagrams)
Biể u đồ lớ p (Class Diagram)
Biể u đồ đố i tư ợ ng (Object Diagram)
Biể u đồ trạ ng thái (Statechart Diagram)
Biể u đồ hoạ t độ ng (Activity Diagram)
Biể u đồ tư ơ ng tác (I nteraction Diagrams)
Biể u đồ trình tự (Sequence Diagram)
Biể u đồ giao tiế p/ cộ ng tác (Communication/ Collaboration Diagram)
Biể u đồ thự c thi (I mplementation Diagrams)
Biể u đồ thành phầ n (Component Diagram)
Biể u đồ triể n khai (Deployment Diagram)
a Biể u đồ use case
24
Trang 5b Biể u đồ lớ p (Class Diagram)
25
c Biể u đồ đố i tư ợ ng
26
d Biể u đồ trạ ng thái (State Diagram)
27
e Biể u đồ hoạ t độ ng (Activity Diagram)
28
f Biể u đồ trình tự (Sequence Diagram)
g Biể u đồ cộ ng tác (Collaboration Diagram)
Trang 6h Biể u đồ thành phầ n
(Component Diagram)
31
i Biể u đồ triể n khai (Deployment Diagram)
32
2.5 Quy trình và UML
"Rational Unified
Process" - quy
trình phát triể n
cho UML
2.5 Quy trình và UML (2)
RUP là quy trình công nghệ phầ n
mề m phát triể n bở i hãng Rational Phát triể n song song
vớ i UML
2.6 Ứ ng dụ ng củ a UML trong phân tích
thiế t kế hệ thố ng
UML đư ợ c sử dụ ng để phân tích nhiề u loạ i hệ
thố ng
(Information System)
(Technical System)
(Embeded System)
( Distributed System)
(Business System)
(System Software)
35
Nộ i dung
1 Mô hình hóa
2 Tổ ng quan về UML
tư ợ ng
4 Công cụ phát triể n OOAD
36
Trang 73.1 Tầ m quan trọ ng củ a OOAD
“Phân tích” và “Thiế t kế ” cầ n đư ợ c coi trọ ng
37
3.1 Tầ m quan trọ ng củ a OOAD (2)
Cầ n thiế t lậ p mộ t cơ chế hiệ u quả để nắ m
bắ t yêu cầ u, phân tích thiế t kế OOAD
38
3.2 Mụ c đích củ a OOAD
Cung cấ p cho ngư ờ i dùng, khách hàng, kỹ sư phân
tích, thiế t kế nhiề u cái nhìn khác nhau về cùng mộ t
hệ thố ng
39
3.3 Phư ơ ng pháp OOAD
OOAD đư ợ c chia thành 2 giai đoạ n
(OOA) (OOD)
40
3.3 Phư ơ ng pháp OOAD (2)
1 Use case modeling to define
requirements
2 Object extraction and message 5 Normalization of the data
structure using E-R diagram
6 External Specification Design
Nộ i dung
1 Mô hình hóa
2 Tổ ng quan về UML
Trang 84 Công cụ UML – OOAD
Công cụ mã nguồ n mở :
EclipseUML
UmlDesigner
ArgoUML
Công cụ thư ơ ng mạ i:
Enterprise Architect
IBM Rational Software Architect
Microsoft Visio
Visual Paradigm for UML