8/24/2011
Nội dung
Bộ môn Công nghệ Phần mềm
Viện CNTT & TT
Trường Đại học Bách Khoa Hà Nội
1.
2.
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Bài 09. Tổng quan về UML và PTTK
HĐT
3.
4.
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
2
Nội dung
1.
2.
3.
4.
1.1 Mơ hình hóa là gì?
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
3
4
1.2. Sự quan trọng của mơ hình hóa
1.2. Sự quan trọng của mơ hình hóa (2)
Mức độ quan trọng thấp
Mức độ quan trọng cao hơn
Mơ hình hóa là một con đường dẫn đến
thành công của dự án.
Máy bay giấy
Máy bay phản lực
6
1
8/24/2011
1.4. u cầu khi biểu diễn mơ hình
1.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.
…
accurate
consistent
understandable
changeable
7
8
Nội dung
2.1. UML là gì?
1.
2.
3.
4.
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
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
9
10
UML là ngôn ngữ để đặc tả
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 xây dựng các mơ hình chính xác, rõ
ràng và đầy đủ.
2
8/24/2011
UML là ngôn ngữ để xây dựng HT
UML là ngôn ngữ để tài liệu hóa
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
Deployment Diagram
éằờ ẩ ổ ầ ầẽ àồ ỵắ ợ ạ ì ì ặđ ữá Ã ẻ ầ Ô á ẵ ẵ ơ ỏ á àă
- âààỡ 95 : ơảúè ắ ặđ
- âààỡ NT:
ởẳ ư ạ ử
- éẵ á ể ẵ : ở ẳ ư ạ ử ạ ì àƠè á ẳ ư ạ ử, ởẵ ẳ ư ạ ử
- I BM á ịẻ ầÃ ạ ể : àƠè á ẳ ư ạ ử, ởẵ ẳ ư ạ ử
Windows95
Window95
Windows95
Use Case 1
ạ đẳ ư ỹá đ
ơảúè ắ ặđ. EXE
ạ đẳ ư ỹá đ ắ ệ ầ á
Windows
NT
Actor A
Actor B
Use Case 2
Solar is
ạ đẳ ư ỹá đ Ê ứ. E XE
Alpha
UNI X
ởẳ ư ạ ử. EXE
Windows
NT
I BM
Use Case 3
M ainf r am e
àƠè á Êè ẵ ẳ ư ạ ử
Docum ent List
mainWnd
fileMgr :
doc ument :
gFile
repos itory
Docum ent
FileM gr
FileMgr
us er
Doc ument
add( )
nam e : int
delet e( )
f et chDoc( )
docid : int
sor t ByNam e(
)
num Field : int
ặÔạ đẳ ư Ă ởầ ẹ á õá Ư
1: Doc view
get ( )
r equest ( )
ằỗở Ă ọ ằầ ẹ .
r ead( ) f il t he
open( )
code. .
close( )
2: f et chDoc( )
r ead( )
FileList
sor t FileList (
f List
)
cr eat e( )
3: cr eat e ( )
f ilDocum ent (
)
add( )
delet e( )
1
4: cr eat e ( )
5: r eadDoc ( )
ẩư ẽ ỹá đ éắ ợ
6: f ilDocum ent
( )
ạ đẳ ư ầ Ô á á Ư ầỉ ỗ ạ đẳ ư
ẳ Ă ẳ Ô ằ ọ ằ Ç Ñ ´ Ù.
r ep
7: r eadFile ( )
File
Reposit or y
8: f ilFile ( )
( f r om Per sist ence)
r ead( )
ẩư á ộ ẳ éắ ợ à ộẻ
9: sor t ByNam e ( )
G r pFile
nam e : char * = 0
° ´ ü àộ Ă ởầỉ è á Đ Ã ẻ
ÔÃ ằ ẵ ẹ ẩư á ộĂ
r ead( )
á â ÁØ ´Ù.
r eadDoc( )
open( )
r eadFile(
)
cr eat e( )
f ilFile(
Sequence Diagram
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, CoadYourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis,
COMMA, HOOD, Ooram, DOORS …
)
Class Diagram
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ọ
vào năm 1994:
Cần chuẩn hóa và thống nhất các phương pháp
UML là một ngôn ngữ hợp nhất
Rumbaugh
Booch
UML là một ngôn ngữ thống nhất
Jacobson
Meyer
Fusion
Before and after
conditions
Operation descriptions,
message numbering
Harel
Embley
Singleton classes,
High-level view
State charts
Gamma, et.al
Wirfs-Brock
Responsibilities
Frameworks, patterns,
notes
Shlaer- Mellor
Selic, Gullekson, Ward
Odell
Object lifecycles
ROOM (Real-Time
Object-Oriented Modeling)
Classification
3
8/24/2011
2.3. Các khung nhìn của UML
2.2. Lịch sử phát triển của UML (3)
UML 2.0
(2004)
UML 1.5
(March, ‘03)
Không đơn giản để mô hình hóa hệ thống
phức tạp
UML 1.1
UML
Partners’
Expertise
(Sept. ‘97)
UML 1.0
(Jan. ‘97)
UML 0.9 and UML 0.91
(June ‘96)
(Oct. ‘96)
Unified Method 0.8
(OOPSLA ’95)
Booch ’93
OOSE
Other
Methods
Public
Feedback
OMT - 2
Booch ‘91
OMT - 1
20
2.4. Các biểu đồ UML
2.3. Các khung nhìn của UML (2)
4 + 1 Architectural View
Logical View
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.
Implementation View
Analysts/Designers
Programmers
Structure
Software management
Use-Case View
End-user
Functionality
Process View
Deployment View
System engineering
System integrators
Performance, scalability, throughput
System topology, delivery,
installation, communication
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 (Interaction Diagrams)
a. Biểu đồ use case
Biểu đồ trình tự (Sequence Diagram)
Biểu đồ giao tiếp/cộng tác (Communication/Collaboration Diagram)
Biểu đồ thực thi (Implementation Diagrams)
Biểu đồ thành phần (Component Diagram)
Biểu đồ triển khai (Deployment Diagram)
24
4
8/24/2011
b. Biểu đồ lớp (Class Diagram)
c. Biểu đồ đối tượng
25
d. Biểu đồ trạng thái (State Diagram)
26
e. Biểu đồ hoạt động (Activity Diagram)
27
28
g. Biểu đồ cộng tác (Collaboration
Diagram)
f. Biểu đồ trình tự (Sequence Diagram)
29
30
5
8/24/2011
h. Biểu đồ thành phần
(Component Diagram)
i. Biểu đồ triển khai (Deployment
Diagram)
31
32
2.5. Quy trình và UML
2.5. Quy trình và UML (2)
"Rational Unified
Process" - quy
trình phát triển
cho UML
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
Nội dung
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)
1.
2.
3.
4.
35
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
36
6
8/24/2011
3.1. Tầm quan trọng của OOAD
3.1. Tầm quan trọng của OOAD (2)
“Phân tích” và “Thiết kế” cần được coi trọng
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
37
38
3.2. Mục đích của OOAD
3.3. Phương pháp 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
OOAD được chia thành 2 giai đoạn
(OOA)
(OOD)
39
40
3.3. Phương pháp OOAD (2)
Nội dung
1. Use case modeling to define
requirements
6. External Specification Design
2. Object extraction and message
sequence design between objects
5. Normalization of the data
structure using E-R diagram
1.
2.
3.
3. Class design
4. E-R modeling for persistent data
41
4.
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
42
7
8/24/2011
4. 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
SmartDraw...
43
8