You are on page 1of 8

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. Mô hình hóa
2. Tổng quan về UML
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 3. Phân tích thiết kế hướng đối tượng
Bài 09. Tổng quan về UML và PTTK 4. Công cụ phát triển OOAD
HĐT

Nội dung 1.1 Mô hình hóa là gì?

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

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ô hình hóa là một con đường dẫn đến


thành công của dự án.
Mức độ quan trọng thấp Mức độ quan trọng cao hơn

Máy bay giấy


Máy bay phản lực

1
8/24/2011

1.3. Vai trò của mô hình hóa hệ thống 1.4. Yêu cầu khi biểu diễn mô hình

 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ì?


 Ngôn ngữ mô hình hóa thống nhất UML
(Unified Modeling Language)
1. Mô hình hóa  4 mục tiêu của UML với cấu phần (artifact)
2. Tổng quan về UML của một hệ thống phần mềm
3. Phân tích thiết kế hướng đối tượng
4. Công cụ phát triển OOAD

9 10

UML là ngôn ngữ trực quan UML là ngôn ngữ để đặc tả


 UML là ngôn ngữ thống nhất trực  UML xây dựng các mô hình chính xác, rõ
quan giúp công việc được xử lý nhất ràng và đầy đủ.
quán, giảm thiểu lỗi xảy ra

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 Deployment Diagram
Diagram - À©µµ¿ì NT: ÀÀ¿ë¼ ­ ¹ ö
º лê È ¯ °æ À Ç ÇÏ µå¿ þ¾ î ¹ × ³× Æ® ¿ ÷À¸ · Î ÀÇ Á ¤º ¸ ½ ý º Å Û ¿ ¬ ° á ¸ ðµ¨
- À©µµ¿ì 95 : Ŭ¶óÀÌ ¾ ðÆ®

- À¯´ н º ¸ Ó ½ Å: ÀÀ ¿ë ¼ ­ ¹ ö ¹ × µ¥ÀÌ Å¸ ¼ ­ ¹ ö, Åë½ Å ¼ ­ ¹ ö


- 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

us er FileMgr Doc ument


add( )
nam e : int

f et chDoc( ) delet e( )
docid : int
sor t ByNam e( )
num Field : int

1: Doc view r equest ( ) get ( )


ƯÁ¤¹ ®¼ ­ ¿¡ ´ ëÇ Ñ º ¸ ±â¸ ¦
»ç¿ë À Ú °¡ ¿äà »Ç Ñ ´ Ù. 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( ) G r pFile

È­ ¸ é ° ´ ü ´  Àо î µ éÀÎ 9: sor t ByNam e ( ) nam e : char * = 0


° ´ ü µé ¿¡ ´ ëÇØ ÀÌ ¸ §º ° · Î
Á¤· ÄÀ» ½ ÃÄÑ È­ ¸ é¿¡
r ead( )
º ¸ ¿© ÁØ Ù́. r eadDoc( )
open( )
r eadFile( )
cr eat e( )

f ilFile( )

Sequence Diagram Class Diagram

2.2. Lịch sử phát triển của UML 2.2. Lịch sử phát triển của UML (2)

 Vào 1994, có hơn 50 phương pháp mô hình hóa hướng đối  UML được 3 chuyên gia hướng đối
tượng: tượng hợp nhất các kỹ thuật của họ
 Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock, Coad- vào năm 1994:
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

UML là một ngôn ngữ hợp nhất UML là một ngôn ngữ thống nhất

Rumbaugh Booch Jacobson

Meyer Fusion
Before and after Operation descriptions,
conditions message numbering

Harel Embley
State charts Singleton classes,
High-level view

Gamma, et.al Wirfs-Brock


Frameworks, patterns, Responsibilities
notes

Shlaer- Mellor Selic, Gullekson, Ward Odell


Object lifecycles ROOM (Real-Time Classification
Object-Oriented Modeling)

3
8/24/2011

2.2. Lịch sử phát triển của UML (3) 2.3. Các khung nhìn của UML
UML 2.0
(2004)
 Không đơn giản để mô hình hóa hệ thống
UML 1.5
(March, ‘03)
phức tạp
UML UML 1.1
(Sept. ‘97)
Partners’
Expertise UML 1.0
(Jan. ‘97)

UML 0.9 and UML 0.91


(June ‘96) (Oct. ‘96)

Public
Unified Method 0.8
(OOPSLA ’95) Feedback

Booch ’93 OMT - 2

OOSE Other Booch ‘91 OMT - 1


Methods 20

2.3. Các khung nhìn của UML (2) 2.4. Các biểu đồ UML
 4 + 1 Architectural 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.

Logical View Implementation View

Analysts/Designers Programmers
Structure Software management
Use-Case View
End-user
Functionality

Process View Deployment View


System engineering
System integrators System topology, delivery,
Performance, scalability, throughput 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 26

d. Biểu đồ trạng thái (State Diagram) e. Biểu đồ hoạt động (Activity Diagram)

27 28

g. Biểu đồ cộng tác (Collaboration


f. Biểu đồ trình tự (Sequence Diagram) Diagram)

29 30

5
8/24/2011

h. Biểu đồ thành phần i. Biểu đồ triển khai (Deployment


(Component Diagram) Diagram)

31 32

2.5. Quy trình và UML 2.5. Quy trình và UML (2)


 "Rational Unified  RUP là quy trình
Process" - quy công nghệ phần
trình phát triển mềm phát triển bởi
hãng Rational
cho UML
 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) 1. Mô hình hóa
 (Technical System) 2. Tổng quan về UML
 (Embeded System) 3. Phân tích thiết kế hướng đối
 ( Distributed System) tượng
 (Business System)
 (System Software)
4. Công cụ phát triển OOAD

35 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  OOAD được chia thành 2 giai đoạn
tích, thiết kế nhiều cái nhìn khác nhau về cùng một  (OOA)
hệ thống  (OOD)

39 40

3.3. Phương pháp OOAD (2) Nội dung


1. Use case modeling to define
6. External Specification Design
requirements

1. Mô hình hóa
2. Object extraction and message
sequence design between objects
5. Normalization of the data
structure using E-R diagram
2. Tổng quan về UML
3. Phân tích thiết kế hướng đối tượng
3. Class design 4. E-R modeling for persistent data
4. Công cụ phát triển OOAD

41 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

You might also like