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.
k o?sqìmg?g ︰mf?I。h?s ︸mf
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
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
4
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.
Máy bay giấy
Máy bay phản lực
6
1
8/24/2011
1.4. Yê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
Nội dung
1.
2.
3.
4.
8
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
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
9
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
10
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 đủ.
2
8/24/2011
UML l ngụn ngxõy dng HT
UML l ngụn ngti liu húa
Cỏc mụ hỡnh UML cú thkt ni trc tip vi
rt nhiu ngụn nglp 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 si
ạ đẳ ư ỹá đ Ê ứ. 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
FileMgr
us er
Doc ument
Fie
l M gr
add( )
nam e : n
it
delet e( )
f et chDoc( )
docid : n
it
sor t ByNam e(
)
num Fied
l : n
it
ặ Ôạ đẳ ư Ă ởầ ẹ á õá Ư
1: Doc view
get ( )
r equest ( )
ằỗở Ă ọ ằầ ẹ .
r ead( ) f li t he
open( )
code. .
close( )
2: f et chDoc( )
r ead( )
Fie
l List
sor t Fie
l List (
f List
)
cr eat e( )
3: cr eat e ( )
fD
li ocum ent (
)
add( )
delet e( )
1
4: cr eat e ( )
5: r eadDoc ( )
ẩưẽ ỹá đ éắ ợ
6: f D
li ocum ent
( )
ạ đẳ ư ầ Ô á á Ư ầỉ ỗ ạ đẳ ư
ẳ Ă ẳ Ô ằ ọ ằ ầ ẹ .
r ep
7: r eadFie
l ( )
Fie
l
Reposit or y
8: f F
li e
li ( )
( f r om Per sist ence)
r ead( )
ẩưá ộ ẳ éắ ợ à ộẻ
9: sor t ByNam e ( )
G r pFie
l
nam e : char * = 0
ẳ àộ Ă ởầỉ è á Đ ã ẻ
Ôã ằ ẵ ẹ ẩưá ộĂ
r ead( )
á â ỉ .
r eadDoc( )
open( )
r eadFie
l(
)
cr eat e( )
fF
li e
li (
Sequence Diagram
2.2. L
ch sphỏt trin ca UML
Vo 1994, cú hn 50 phng phỏp mụ hỡnh húa hng i
tng:
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 sphỏt trin ca UML (2)
UML c 3 chuyờn gia hng i
tng hp nht cỏc kthut ca h
vo nm 1994:
Cn chun húa v thng nht cỏc phng phỏp
UML l mt ngụn nghp nht
Rumbaugh
Booch
UML l mt ngụn ngthng nht
Jacobson
Meyer
Fusion
Before and after
conditions
Operation descriptions,
message numbering
Harel
Embley
Singleton classes,
High-level view
State charts
Wirfs-Brock
Gamma, et.al
Responsibilities
Frameworks, patterns,
notes
Shlaer- Mellor
Selic, Gullekson, Ward
Odell
Object lifecycles
ROOM (Real-Time
Object-Oriented Modeling)
Classification
3
8/24/2011
2.2. Lị
ch sửphát triển của UML (3)
UML 2.0
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
(2004)
UML 1.5
(March, ‘03)
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
2.3. Các khung nhìn của UML (2)
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.
4 + 1 Architectural View
Logical View
20
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
a. Biểu đồuse case
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)
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)
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
"Rational Unified
Process" - quy
trình phát triển
cho 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
1.
(Information System)
(Technical System)
(Embeded System)
( Distributed System)
(Business System)
(System Software)
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)
40
39
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