Tải bản đầy đủ (.pdf) (82 trang)

(Luận văn thạc sĩ) ngôn ngữ UML và ngôn ngữ SDL luận văn ths công nghệ thông tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (28.72 MB, 82 trang )

Đ Ạ I H Ọ C Q U Ố C G IA H À N Ộ I

KHOA CÔNG NGHỆ

TRỊNH THỊ TH GIANG

NGƠN NGỮUML VÀ NGƠN NGỮ SDL
C hun ngành: Cơng nghệ thông tin
M ã số:

LUÂN VÃN THAC SỸ KHOA HOC

Người hướng dản khoa học:
PGS Nguyễn Quốc Toản



V õ Ỉ-ÕJ

H à N ộ i, năm 2001

;


MỤC LỤC
\1ỊX IẠiC:............................................................................................................ 2
PHÂN 1..................................................................................................................................4

C ơ SO THỰC TĨỀN CÜA ĐỂ T À I............................................................................. 4
PHẤN I I ....................................................................................................................... 6
(ỴK ) 丨


THIỆU VỂ N(ỈÔN NGỮUML...........................................................................6
I. L ịc h sử ra đ ờ i..............................................................................................................6

II. Khái quát về U M L ...........................................................................................6
2.1. Báng từ vựng trong U M L: Gồm 3 khối ch ín h ........................................ 8
2.2. Các luật và các cơ chế trong Ư M L :....................................................... 16
2.3. Các khung nhìn (V ie w ) trong U M L : ......................................................... 19
2.4. M ị hình hố vớ i U M L .................................................................................. 20

PHẨN 丨
I I ................................................................................................................... 27
NGÔN N(;
ỮĐẶC TẢ SDL CHUẨN

của

ISO..........................................................27

I. Lịch sử phát triển và các phạm vi ứng dụng của SDL..................................27
II. Tổng quát về S D L .......................................................................................... 28
2 . 1• Các thành phần của S D L .............................................................................. 28

2.2. M ơ hình chung của SDL (General Model o f SDL)..............................32
2.3. Các luật thông thường (General Rules)................................................34
2.4. Structure (cấu trú c )..................................................................................36
2.5. Hành vi (Behaviour)................................................................................39
PHẨN I V ............................................................................................................................. 44

SO SÁNH VẢ CHUYỂN Đ ổ i (ĨĨỮA UML VÀ SI)L...................................................44
I. So sánh giữa U M L và SDL..............................................................................44

1.1. Tổng quát..................................................................................................44
1.2. Phát tricn phần mềm dựa trên U M L và S D L ........................................... 46

II. Chuyên đổi từ U M L sang S D L .................................................................... 48
2.1. Á n h xạ các biểu đồ lớ p từ U M L sang S D L ............................................. 48


2.2. Ánh xạ các biêu đổ trạng thái (Statcchart Diagram)...........................53
2.3. Ánh xạ biếu đồ tuần tự (Sequence Diagram).......................................54
III. D ịch từ SD L sang U M L ...................................................................................... 54

3.1. Cách tiếp cận........................................................................................... 54
3.2. The Rational Rose RealTime U M L P rofile.........................................56
3.3. Mơ hình hố cấu trúc (Structure M odeling)........................................ 61
3.4. Mơ hình hố hành vi (Behavior M od eling )......................................... 67
PHẤN V .............................................................................................................................. 75
MỘ ! SỐ VÍ DỤ M IN H H O Ạ ........................................................................................... 75

i. Ví dụ dịch chuyển từ U M L sang S D L ........................................................75
1.1. Chuyển dịch các cấu trúc tĩnh (Static structure) - Biểu đồ lớp........... 75
1.2. Biểu đồ trạ n g thái (State D iagram ) ........................................................... 77

II. Dịch chuyển từ SDL sang U M L ..................................................................77
PHẨN V I ...................................................................................................................80
KẾT L U Ậ N ........................................................................................................................ 80

TÀ 丨

JỆU THAM KHẢO.......................................................................................... 82



PH Ầ N I
C ơ SỞ THỤC T IỄ N C Ủ A ĐỂ TÀI
H iện nay trcn thế g iớ i, cồng ng hiệp phần m ềm đang bùng nổ và phát

triển mạnh mẽ, các nhà phát triển phần mềm gọi đây là những "cơn sốt phần
mểm". Những cơn sốt phần mềm này là do trên thực tế có nhiều dự án phần
mém đã bị đổ vỡ hoặc là nó vượt q thời gian, ngân sách cho phép. Chính vì
vậy mà lập trình hướng đối tượng, lập trình ảo đã ra đời giúp cho việc phát
tricn Cổng nghiệp phần mểm. Phấn ỉớn các dự án phần mcm khi được thực
hiện người la thường bát tay vào việc viết mã chương trình (code). Đối với các

hệ thống lớn và phức tạp thì điều này gây ra rất nhiều khó khăn trong quá
trình phát triển phần mềm. Các dự án phần mềm sẽ trở nên khó thực hiện khi
các nhà lập trinh gặp khó khăn trong việc viết mã chương trình.
Các nhà lập trình cảm thấy chắc chắn hơn khi họ viết một chương trình
mà hệ thống cần tạo lập đã được mơ tá trước bời một mồ hình irừu tượng. M ơ
hình thơng Ihường được xây dựng bằng một ngơn ngữ ảo, có nghĩa rằng hầu
hết các thơng tin trong mơ hình được đưa ra bởi các biểu tượng và mối quan
hệ giữa chúng. Người ta thường nói: “ Một bức tranh bằng trăm nghìn lời nói” ,
điểu này giống như việc mơ hình hố.
Lập trình hướng đối tượng ra đời vào giữa những nãm bảy mươi đến cuối
những năm tám mươi những ngơn ngữ lập trình hướng đối tượng mới ra đời và
được mớ rộng trên các ứng dụng phức tạp, ban đầu chỉ mới là các tiếp cận cho
giai đoạn phân tích và thiết kế. Có q nhiều các phương pháp hướng đối
tượng được đưa ra vào những nãm từ 1989 đến 1994. K hi lập trình hướng đối
tượng trơ nèn phổ biến, nó địi hỏi phiìi có những phương pháp trợ giúp cho
phát triến phần mềm. Trước những vấn đề nêu ra ở trên, một số nhà phát triển
phần mcm đã kết hợp cùng với nhau để đưa ra một ngơn ngữ mơ hình hố
thống nhấl í rợ giúp cho lập trình hưởng đối tượng, với mục đích là tạo ra được

một ngơn ngữ có thể mơ hình cho tất cá mọi thứ kể cả những cái không phải là


phần mém,... Trong khuôn khổ cua luận án này tôi xin được trình bày về
ngơn ngữ mơ hình hố thống nhất U M L (Unified Modeling Language) và so
sánh nó với một ngơn ngừ đặc tả trước đó.


PHẦN II
GIỚI THIỆU VỂ NGÔN N G Ữ U M L

(UNIFIED MODELLING LANGUAGE)
I. LỊCH SỬ RA ĐỜI
Năm 1994 hai nhà phái triển phầm mềm hướng đối tượng Grady Booch
và James Rumbaugh đã kết hợp cùng nhau xây dựng U M L tại công ty phần
mềm Rational. Version 0.8 của Unified Method ra đời vào 10/1995, nó là
phương pháp mởi dựa trẽn phương pháp của Booch và OTM (Object Modeling
Technique) của Rumbaugh. Cùng thời gian này Ivar Jacobson gia nhập
Rational và dự án U M L đã dược mở rộng nó kết hợp thêm phươnc pháp OOSE
(Object-Orient Software Engineering), U M L version 0.9 ra đời vào tháng
06/1996 [3]. Phương pháp của Booch chủ yếu thực hiện trong giai đoạn thiết
kẽ và xây dựng các dự án. OOSE cung cấp sự trợ giúp cho các use case để
nắm bắt các yêu cầu, phân tích, thiết kế ở mức cao và O TM được dùng trong
q trình phân tích và tập trung vào các hệ thông tin dữ liệu.
Version 1.0 của U M L được đưa ra năm 1997. v ề cơ bản Ư M L dựa trên
Booch. OM T, OOSE nhưng họ cũng kết hợp một vài ý tướng của các phương
pháp khác như StatcCharts của David Harel và chuyển nó thành biểu đồ trạng
thái (Stale Diagram) trong U M L. Sử dụng thao tác đánh dấu trong chú thích
cua Fusion trong biểu đồ cộng tác (collaboration diagram) [4].
II. KHÁI QUÁT VÊ UML

U M L là một ngơn ngữ mơ hình hố, nó là một ngơn ngữ đã được nhiều
cơng ty coi là chuẩn đê xây dựng các bản thiết kế cho phần mềm.
-

Các khái niệm của U M L cho phép xây dựng được các hệ thống mơ

hình (kể ca không phải phẩn mềm) sử dụng khái niệm hướng đối tượng.


-

U M L thiết lập dược mối quan hệ rõ ràng giữa các khái niệm bới các

thực hiện giả.
-

U M L tạo ra một ngơn ngữ mị hình hố mà có khả năng được sử dụng

hứi Cii con người và máy móc.
Khi thiết lập U M L, những nhà phát triển của Rational thực sự muốn tạo
ra một ngòn ngữ mà có giá trị cho tất cả các nhà phát triển phần mềm. Ngôn
ngữ này không độc quyển sử dụng mà nó có lính chất mở cho tất cả các cơng
ty. Các cồng ty có thể tự do sử dụng nó cùng với các phương pháp, cơng cụ
riens của họ đê tạo lập ra những bộ công cụ CASE cho nó.
U M L Là ngơn ngữ mơ hình đê thực hiện mọi chức năng của hoạt động
làm phần mềm: Làm trực quan lioá (visualizing), đặc tả (specifying), xâỵ

dựng (constructing), làm tải liệu (documenting) cho thiết kế phần mềm. Như
vậy, U M L về cơ bán định nghĩa một siêu mô hình và khơng mơ tả "kỹ thuật
phát triển".

U M L trợ giúp cho cả 5 giai đoạn trong phát triển hệ thống:
■ Phán tích u cầu: Ư M L có các khái niệm tính huống sử dụng (use
case) dùng để nắm bắt các yêu cầu của khách hàng. Thông qua mơ hình usecase, các tác nhân bên ngồi tham gia vào hệ thống được mơ hình cùng với
các chức năng mà nó địi hỏi từ hệ thống. M ỏi use-case mô tá cho một tập các
chuỗi tuần tự các hành động mà một hệ thống thực hiện và cho một kết quả có
thể quan sát được là giá trị cho một tác nhân.
■ Phân í ích: Giai đoạn phân tích liên quan tới các lớp, các đối tượng và
các cơ chế được mô tả trong phạm vi của một vấn đề. Trong U M L có các biểu
dồ lớp (Class Diagram) để mơ tả các lóp và mối quan hệ giữa chúng.
■ Thiết kế: Trong giai đoạn thiết kế, kết quả của phân tích được mở rộng
thành một giải pháp kỹ thuật.


_ Lập Ịrìnlĩ:Trong giai đoạn lập trình hoặc xây dựng, các lớp trong pha
(phase) thi ci kế được chuyến thành mã chương trình (codc) trong một ngơn
ngữ lập trình hướng đối urợng. U M L có các khái niệm cho phép xây dựng các
ngôn ngữ trợ giúp cho kỹ thuật dịch một mơ hình thành mã chương trình và
ngược lại.


Kiểm tlìír. U M L sử dụng các biểu đồ cho các loại kiểm thử (lest): biểu

dồ lớp và đặc tả lớp dùng cho unit tests; biểu đồ thành phần (component
diagram) và biêu đổ cộng tác (collaboration Diagram) dùng cho integration
lests; biếu đồ tình huống sử dụng (use-case diagram) dùng cho system tests,...
Trong Ư M L có 3 phần tử chính: Các Building blocks, các luật để có thể
gắn kết các Building blocks và một số cơ chế mớ rộng. Nó bao gồm bảng từ
vựng (ate biểu Irưng đổ thị), các cú pháp (ngun tắc để xây dựng mơ hình)

[9J

2.1. Bảng từ vựng trong Ư M L : (ỉồ m 3 khối chính

-

Các sự vật (things): Gồm 4 nhóm chính:
1. Sự vật có cấu trúc (structural things): Biểu diễn các phần tử vật lý
hay các cấu trúc tĩnh: Lớp, giao diện, sự cộng tác (collaboration),
usc-case, lớp hoạt động (class active), thành phần, nút (node).
Student
{persistent}

on ame : Name
ostudentlD : Number
Classes

Chain o f
Responssibilily
ISpelling

Interfaces

Collaborations

EventManager

Placeorder

♦suspend()
^flushO


o rd e rfo rm
java

Use cases
Active Classes

Com none n! s


Server

Nodes

Các sự vật được mỏ tả trong Rational Rose [10]
2. Sự vật hành vi (behavioral things): Biểu diễn hành vi trong không
gian, thời gian, là phần động của hệ thống: Sự tương tác (bao gồm
các phẩn tử, các message, dãy các hoạt động và các kết nối giữa
các đối tượng), máy trạng thái.
Displav
---------------------------------^
Messages

States

3. Sự vật nhóm gộp (Grouping things): Là phần tổ chức của UM L:
Có 1 kiểu thành phần nhóm gộp duy nhất trong U M L là hao gói
(packets). Có các biến thể của bao gói: Các Frame work, model,
Subsystem.

:


.j ------i

B usiness
Rules

Packages

4. Sự vật chú dẫn (annotational things): Là phần giải thích trong
Ư M L. Đó là những bình luận, chú thích để giải thích, minh hoạ
hay nhấn mạnh về một phần tử bấl kỳ nào đó trong mơ hình gọi
là: ghi chú (note).
re tu rn copy of
s e lf

Notes


-10-

Củc quaìì hệ (Relationships): Gồtn 4 loại:
1. Phụ thuộc (dependence): Là mối quan hệ ngữ nghĩa giữa 2 sự
vật, trong đó sự thay đổi của một vật có thể tác động lên sự thay
đổi ngữ nghĩa của vật kia.
C la ssA

: C la ssB

2. Kết hợp (assosiation): Là một mối quan hệ cấu trúc mô tả một
tập các mối liên kết đang kết nối các đối tượng với nhau.

Member of

n .... .
Politician

0 .
Party

3. Khái quát hoà(generalization): Là 1 mối quan hệ tổng qt hố
hay chun biệt hố, trong đó các đối tượng của phần tử chuycn
biệt hoá (con) được thay thế cho các đối tượng của phân tử được
tổng quát hoá (cha).
Person

Man

Woman


4. Sự hiện thực hoá (realization): Là một mối quan hệ ngữ nghĩa,
Irong đó mội phân loại xác định một hợp đồng mà một phân loại
khác phái đám báo thực hiện nó. Có loại:
■ G iao diện - các lớp, các thành phẩn
■ Sử dụng tình huống - sự cộng lác


-

Cí k bien dồ (D iagram s): Biểu diễn các phần tử cúa một hệ thống.


Trong U M L có các dạng biểu đổ khác nhau, bản thân các hiểu đồ thì lại bao
góm các phần tử đồ hoạ khác nhau. Biêu đổ trong U M L có thể mơ (ả cả hai
khía cạnh động và tĩnh cúa hệ thống.


Các biểu đồ tĩn h (Static Diagram s): Có 3 loại biểu đồ tĩnh
1. Biểu đồ lớp (Class diagram ): Biểu đồ lớp là quan trọng nhất và là
một biểu đồ chung nhất của UM L. Có thể sử dụng nó ớ hầu hết
mọi nơi. Biếu đồ lớp nhìn hệ thống theo hướng phân tích, thiết kế
và thực hiện. Biểu đồ lớp chi 1 tập các lớp, các giao diện và các
sự cơng tác và các mối quan hệ của nó.
Company 1

1

Department

Office

Location

^ a d d re s s : string
^ v o ic e : Number

■^>nam e : Name

0..1
member

generalization

Person
I ^ n a m e : Name
^e m p lo y e e lD : Integer
务 title : String
^getPhotoO
^getSoundBiteO
^getContactlnformation()
^getPersonalRecordsO

Headquarters

Contact 丨
nformation
I ^ a d d re s s : string

dependency

f — ----- ---------- -;

.


Personnel Records

^taxlD
»ậ>empỉoy mentHistory
冬 salary
ISecurelnfor
(nation



2. Biểu đổ thực hiện (implementation Diagram): Nhìn hệ thống theo
hướng phân tích và thiêì kế. Biểu đồ thực hiện mô tá cấu trúc phần
cứng và phần mềm của hộ thống. Trong U M L có hai loại biểu đồ
thực hiện:

^ Biếu đồ thành phần (Component diagram): Chí ra các tổ chức
và các phụ thuộc trong tập các thành phần, liên hệ với các sơ
đồ lớp trong đó một thành phần ánh xạ vào 1 hay 1 số các lớp,
các giao diện hoặc các cộng tác. Biểu đổ thành phần kết nối
giữa các modul phần mềm khác nhau.

Ị ~ '— Ị "page"
I

hom e.htm I

"document"
animiogo.doc

.•file"
animator, java

"document"
animator.doc

□ZD

y Biểu đồ triển khai (Deployment diagram): Chỉ ra cấu hình
của các nút xử lí thời gian thực và các thành phần hoạt động

trên nó. Chỉ ra cấu trúc vật lý của hệ thống.


Biểu đổ triển khai cho hệ thống báo động nhà.
2. Biểu đồ đối tượng (Object diagram): Chỉ một tập các đối tượng
và các mối quan hệ của chúng - nhìn hệ thống theo quan điểm
tiến trình ->làm mầu.
c:company
d1:department
(name = ,rsalen

i

—. . .. . . .. I

d3:Department
^name = "US Sales"

: d2:Department :
1 砍 name = "R&D"1

I ::

:::: 1

p: person

Các biểu đồ động (Behavioral Diagrams)
1. Biểu đồ tình huống sử dụng (Use case diagram): Nhìn hệ thống

theo hướng phân lích, thiết kế và kiểm thử. Chỉ ra sự tương tác
giữa các tác nhân và hệ thơng. Ví dụ về biểu đồ use-case xây
dựng cho hệ Ihống quán lý thư viện.


-14-

A dd T i t l e

MakeReservation

Update&R em oveTitle

Ad dltem
RemoveReservatỉon
L ỉ br ar ians
R emo veltem
Borrowers
Lendltem
AddBorrower

Retu rnltem

RemoveBorrower

2. Biểu đổ tương tác (Interaction Diagram): Nhìn hộ thống theo
hướng phân tích, thiết kế và thực hiện. Biểu đồ tương tác chí ra
các luống thông điệp giữa các đối tượng và hành vi thời gian của
hệ thống. Trong U M L có hai dạng biểu đổ tương tác:
^ Biểu đồ tuần tự (Sequence diagram): Cấu trúc hướng thời gian

với một số ít các lớp. (Biểu đồ tuần tự change message)
CliangctCustomerData)

.C u s t o m erW indow

_ _ i---------------------- — ------ ^

-Customer

U p d a t e C u s t o m er( (Cust om erData))

>
<


^

Biểu đồ cộng tác (Collaboration Diagram): Cáu trúc hướng
thời gian với một số ít các thơng điệp. Một ví dụ về hiểu đồ
cộng tác thực hiện chức năng trả lời của thủ thư khi có người
u cầu mượn khơng đặt trước.

.L ib ra ria n

1

Lending
W in d o w

findT 丨tie


;Title

:B o rro w e rln fo

.Loan

:ltem

2 find (string)

<
3: findltem O

4 find on Title

>

5 IdentifyB orrow erO

>

>

6: find(string)

>
7 C re a te (B o rrln fo , Item)

>


3. Biểu đồ trạng thái (State diagram): Nhìn hệ thống theo hướng
phân tích, thiết kế và thực hiện. Chỉ ra 1 máy trạng thái mô tả
các hành vi động, bao gồm các trạng thái, các chuyển đổi, các sự
kiện và các hoạt động:

^ Là cách nhìn HT theo quan điểm động.
^ Đặc biệt quan trọng khi mơ hình hố hành vi của 1 giao diện,
1 lớp hoặc một cộng tác

y Nhấn mạnh hành vi được sắp theo sự kiện.


#------------ >

On 1st
floor

GoUp (floor)

Moving up
do/moving to floor

Arrived
GoUp(floor)
arrived

Moving down
do/moving to floor


arrived

Idle

GoDown(floor)
Moving
1st floor

4. Biểu đồ hoạt động (A ctivity Diagram): Nhìn hệ thống theo
hướng phân tích, thiết kế. Biểu đồ hoạt động là một dạng đặc biệt
của biểu đồ trạng thái. Sử đụng đầy đủ hoặc chỉ ra các tiến trình
song song.

S a m p le r.R u n (channel, frequency)

Updating
Display

2.2. Các luật và các cơ chẽ trong UML:
/. Cúc luật ngữ nỊịhĩa chiiìỉg:
° Tèn gọi (Name)

0 Pliạm vi (Scope)

Initiate

Measuring


T ín h n h ìn Ihấv (V isib ility )


0 Tính tồn vẹn (Intergrily)
0 Tính hành xử (execution)

2. Các ngun tắc xây dựng mơ hình:
° Lược bỏ: M ột số phần tử có thổ dấu đi để làm đơn gián khung
nhìn
0 Tính khơng đầy đủ: Một số phần tử có thể bỏ qua
° Sự khơng chắc chắn: Tính chắc chắn của mỏ hình khơng đảm bảo

3. Các cơ cliếchn/ỉiị :
■ C á c c ơ chê c h u n g ( G e n e ra l M e c h a n is m s ):

° Các đặc tả (Specifications): Sau mỗi ký hiệu đổ thị là một đặc tả
cung cấp 1 phát biểu bằng lời về cú pháp và ngữ nghĩa cúa khối xây
dựng. Cách đặc tả này làm đầy đủ ngữ nghĩa cho mọi phân tử hệ thống
nếu cần. Trong các công cụ được xây dựng theo cơ chế của U M L để xem
đặc tả của mỗi phần tử kích đơi vào biểu lượng phần tử sẽ hiện lên một
cửa sổ đặc tả của nó.
°

Các bài trí (A dornm ents): Hầu hết các phần tử trong U M L có

biểu trưng (Symbol) đổ thị duy nhất cung cấp một trình diễn trực quan
theo một khía cạnh quan trọng của sự vật. V í dụ, một lớp hình chữ nhật
với tên bồi đậm miêu tả cho một lớp và tên gạch dưới miêu tả cho một
dối tượng.
c lass

Printer



° Phàn chia chung (C om m on d iv is io n ): Trong m ơ hình, m ọi thứ dcu

được phân chia ít nhất thành một cặp các cách thể hiện có ngữ nghĩa
bố sung tương phán nhau: lớp - đối tượng, G iao diện - sự cộng tác,
Giao diện - sự thực hiện.

■ C á c c ơ ch ê có k h ả m à rộ n g ( e x te n s ib ility m e c h a n is m s ):
Ư M L là ngôn ngữ mờ: cung cấp một cách thức mở rộng có kicm
sốt: Bao gồm:
° Khn mẫu (Stereotype) mở rộng bảng từ vựng của UML: Cho
phép tạo loại lừ vựng mới từ những cái đã có. M ột khn mẫu giống như
một từ vựng đã có, cộng thêm mộl số ngữ nghĩa phụ hoạ mà khơng có
trong từ vựng ban đầu. Khn mầu có thế áp dụng cho tất cả các dạng:
Lớp, nút, thành phần, và ghi chú. V í dụ một lớp Customer với ngun
mẫu « A c t o r » để mở rộng các user của hệ thống .

« A c t> >
C u s to m e r

°

C u sto m e r

C ustom er

Giá trị thẻ (tagged value) mở rộng thuộc tính của Ư M L cho phép tạo
thơng tin mới trong đó có đặc tả phần tử.


Ịnsirunìent
{Abstract}
{author=“ Mai” |
[Statusfsinglcj
value: Int


-19-

c Các ràng buộc (Constrains) mớ rộng ngữ nghĩa của khối được xây
dựng, cho phép thêm các luật mới hay cải biên luật hiện có.
S e n io r Citizen Group

{ p e rs o n .age > 6 0 Ị
o..n
Person

Các đặc trưng của Ư M L cho phép mọi thành phần liên quan đều có the
mang vào trong kiến trúc dự án cách nhìn khác nhau làm cho dự án có được
một sự hồn thiện tổng thể.

2.3. Các khung nhìn (View) trong UML:
View chí ra các khía cạnh khác nhau của hệ thống được mơ hình. Một
view khơng phái là một mơ tá đồ họa mà nó bao gồm một số lớn các biểu đồ
trừu tượng. Tổng hợp tất cá các View cho chúng ta một cái nhìn tổng quan về
hệ thống. Trong U M L có 5 loại View: use case view, design view, process
view, implementation view, deployment view.

chức năng


quản lý cấu hình

Design view

Use case
hành vi

Process view
hiệu năng, quy mơ vận hành

hình trạnẹ hệ thốrm, phân
bố,lắp đạt


- Uses case view bao gồm các use case mô tả hành vi của hệ thống
được xem bởi các user của nó, phán tích và kiểm thử. V iew này
khơng chỉ rõ tổ chức của một hệ thống phần mềm. Trong U M L khía
cạnh tĩnh của View này thể hiện trong các biểu đổ use case cịn khía
cạnh động thể hiện trong các biểu đồ tương tác, biểu đồ statechart và
các biểu đồ hoạt động.

-

Design view bao gồm các lớp, các giao diện và các cộng tác. View
này chủ yếu trợ giúp cho các yêu cầu chức năng của hệ thống, có
nghĩa ià các dịch vụ mà hệ thống sẽ cung cấp cho các user của nó.
V ới U M L mặt tĩnh của V iew này thể hiện trọng các biểu đồ lớp và
biểu đổ đối tượng; mặt động thể hiện trong các biểu đồ tương tác,
biểu đồ trạng thái và biểu đổ hoạt động.


-

Process view bao gồm các dịng (thread) và các tiến trình (process),
trong đó có các cơ chế lương tranh và động bộ của hệ thống. View
này chủ yếu nhằm vào sự thực hiện, khả năng và các tiến trình của hệ
thống.

-

Ỉmplcmentaỉion view bao gồm các thành phần và các file mà được sử
dụng để tập hợp và đưa ra hệ thống vật lý. V iew này chủ yếu tập trung
vào việc quán lý cấu hình của hệ thống đưa ra.

-

Deployment view bao gồm các node mô lả yêu cầu phần cứng k h i hệ
thống thực hiện. Nó chí ra việc triển khai hệ thống trong 1 kiến trúc
vật lý có dùng máy tính và các thiết bị (các nút). Nói cách khác là nó
mồ tả việc triển khai vật lý của hệ thống. V iew này dành cho người
phát tricn. tích hợp và kiểm thử.

2.4. Mơ hình hố với UML
K hi xây dựng một hệ thống sử dụng U M L thì khơng chỉ là việc xây dựng
một mơ hình đơn gián mà có rất nhiều mơ hình trong các pha (phase) khác


nhau của quá trình phát triển và mục tiêu của các mơ hình cũng khác nhau.
Trong pha phân tích, mục tiêu của mơ hình là để nắm bắt các u cầu của hệ
thốn 2 và đổ mơ hình các lớp cơ bán vé thế giới thực và các sự cộng tác. Trong
pha thiết kế mục tiêu là để mở rộng mơ hình, đưa mơ hình vào một giải pháp

kỹ thuật thực hiện công việc trong môi trường thực hiện. Trong pha thực hiện,
mị hình là các mã nguồn thực sự mà theo hình thức đã được lập trình và biên
dịch vào chương trình. Cuối cùng trong mơ hình triển khai là các mơ tá giải
ihích làm thế nào để hệ thống triển khai trong cấu trúc vật lý. Sự thay đổi givra

các pha và các mơ hình là dược duy trì qua các tính chất và các mối quan hệ
xác định trước giữa chúng.
U M L có khái niệm pha độc lập, có nghĩa rằng cùng một ngơn ngữ, cùng
các biểu đồ được sử dụng đế mơ hình cho các thứ khác nhau trong các pha
khác nhau, nó phụ thuộc vào người mơ hình hố quyết định chọn mục tiêu và
phạm vi của m ơ hình.

/• C á c c ô n g c ụ (T o o ls )
Các công cụ cung cấp các chức năng sau:
-

Dr a w diagram s: Các công cụ phải giúp biểu diễn dễ dàng các b ic ii đồ

trong ngơn ngữ mơ hình hố.
-

Act as a repository: Cơng cụ phải trợ giúp một kho chứa chung cho
các thơng tin của mơ hình để có thể tự lưu vào một vị trí. Nếu tên lớp
mà thay đổi thì phải có sự thay đổi tương ứng trong tất cả các biểu đồ
có sử dụng lớp đó.

-

Support navigation: Phải dỗ dàng liên kết giữa các mơ hình, để tìm ra
một phần tử từ một biểu đồ hoặc biểu đồ khác hoặc mở rộng mô tả

của phần lử.


-

Provide multiuser support: Phải trợ giúp cho nhiều user và chúng có
khá năng làm việc trên cùng một mơ hình mà không gây phicn phức
và rối loạn cho nhau.

-

Generate code: Một cơng cụ nâng cao có khả năng dịch ra mã chương
trình, tất cả các thơng tin trong mơ hình được dịch thành bộ khung mã
chương trình là cơ sở cho pha thực hiện.

-

Reverse engineer: M ộ t m ô hình có thể được tạo ra từ m ột mã chương

trình đã tồn tại.
-

Integrate with other tool: Một cơng cụ có khả năng tích hợp với các
cơng cụ khác, với môi trường phát triển như là một người soạn thảo,
biên dịch, gỡ lồi và với các công cụ để quán lý cấu hình, quản lý các
hệ thống điều khiển.

-

Cover the m odel at a ll abstraction levels: Dễ dàng đ i từ m ô tá ở mức

cao nhất của hệ thống (các package) đến mức thấp nhất là mã chương
trình.

-

Interchange models: M ộ t mơ hình hoặc m ột biểu đồ riêng của m ơ

hình có khả năng xuất ra một công cụ và nhập vào một công cụ khác.
2 . T r ợ g iú p c h o k ý h o ạ (D ra w in g S u p p o rt)

M ột công cụ phải tạo ra các biêu đồ một cách dễ dàng và nhanh chóng.
Cơng cụ khơng chi thực hiện việc lựa chọn, xác định vị trí, kết nối và định
nghĩa các phẩn tử trong biểu đồ mà nó cịn phải trợ giúp cho người mơ hình có
được một biểu đồ đúng.

3. K ho lưu g iữ của mơ h ìn h (M odel Repository)
Cơng cụ CASE phải có một kho lưu giữ mơ hình cung cấp một cơ sở dữ
liệu với tất cả các thông tin về các phần tử sử dụng trong mơ hình, (khơng chú


ý tới thông tin của biểu đổ đến từ đâu) và các nhiệm vụ mà cơng cụ có thể

thực hiện với sự trợ giúp của kho lưu giữ:
-

Ki ể m tra tính khơng vững chắc (C heeking lo r inconsistency): Nếu

một phần tử là được sử dụng không nhất quán trong các biểu đồ, công
cụ sẽ thông báo hoặc ngăn cấm. Nếu người mơ hình hố xố một
phần tử mà nó được sử dụng ở các biếu đồ khác thì sẽ có sự cảnh báo.

-

Sự phê phán (Critiquing): K hi mơ hình sử dụng thơng tin trong kho
lưu trữ, thì một cơng cụ có thổ phê phán mơ hình, chỉ ra những phần
ngồi khơng được chỉ rõ và áp dụng để tìm ra các lỗi có thể hoặc
những giải pháp khơng thích hợp.

-

Sự trình báo (R eporting):

Cơng cụ cố thể tự động dịch ra hoàn toàn

và mớ rộng tài liệu về tất cả các phần tử như lớp, biểu đồ trong một
mơ hình.
-

Sự dùng lại các phần tử và các biểu đồ (Reusing elements or
diagrams): M ột kho lưu trữ có thể trợ giúp cho việc dùng lại các giải
pháp mơ hình hoặc các phần của một giải pháp trong đó một đc án có
thể dễ dàng dùng lại từ một đề án khác. Trong U M L cả mô hình và
mã chương trình đều được dùng lại trong các dự án khác nhau.

4. S ự hướng đạo (Navigation)
Khi một số V IE W và biểu đồ được sử dụng cùng với nhau để mơ tả một
hệ thống, thì khi đó vấn để vơ cùng quan trọng là việc kết nối truyền thông
giữa chúng. Các công cụ phải trợ giúp cho việc truyền thông qua các View và
các hiếu đồ một cách dỗ dàng.
5. Trợ g iú p c h o đ a người d ù n g (M ultiuser Support)


Một cơng cụ có the cho phcp một số user cùng làm việc trên một mơ
hình mù khơng nhiễu hoặc gây phiền phức cho nhau.


6. S in h ra m ã c h ư ơ n g tr ìn h (C od e g e n e ra te )

Các công cụ hiện đại có trợ giúp cho việc sinh ra mã chương trình. Phần
này được thực hiện từ giai đoạn mơ hình và không được lặp lại khi giai đoạn
thực hiện bắt đầu. Những mã chương trình được sinh ra là những thơng tin tĩnh
và các khai báo lớp bao gồm các thuộc tính và các khai báo về các phương
pháp. Thân của các phương pháp chứa đựng các mã chương trình thực sự,
phần này sẽ do người lập trinh thực hiện.
Thông thường, các ngơn ngữ ỉập trình hướng đối tượng như c ++ hoặc Java
dược sử dụng để viết mã chương trình cho các mơ hình được sinh ra mã từ
những ngơn nsữ đặc tá dựa theo các khái niệm của U M L, những ngơn ngữ
như SQL hoặc 1DL cũng có ihc được dùng.
7. Kỹ th u ậ t sinh từ code ra mở hỉnh (Reverse E ngineering)

Chức năng sinh từ code ra mơ hình là đối lập với chức năng sinh từ mơ
hình ra code (code generation). Mã chương trình được đọc và phân tích bởi
cơng cụ và các biểu đồ được chỉ ra cấu trúc của mã chương trình. Các cấu trúc
biếu đồ tĩnh là các biểu đồ lớp được xây dựng từ mã chương trình: Thơng tin
tĩnh đưực trích ia từ mã chương trình.
8. Sụ tíc h h ọ p (In te g ra tio n )

Các công cụ mơ hình truycn thống trớ nên thích hợp hơn với các công cụ
khác sử dụng trong phát triển hệ thống.
-

Mơi trường phát triển: Với các cơng cụ này nó có thể đi trực tiếp từ

một mơ hình phần tử trong một biểu đồ đến một môi trường phát
triển, ở đó mã chương trinh được lập, sửa chữa và gỡ lỗi.

-

Câu hình và điểu khiể n version: Các cơng cụ này cung cấp m ột vài

CUU hình khác n hau củ a hệ thống và các version kh ác nhau của cả hệ

thống và các phần tử riêng lẻ. Version-control được dùng cho cả mơ
hình và mã chương trình.


-

Các công cụ làm tài liệu (Documentation tools): Các công cụ này có
thê tự động dịch ra tài liệu từ kho lưu giữ mơ hình.

-

Các cơng cụ kicm thử (Testing lools): Các công cụ kiếm thử là chủ
yếu dùng cho sự quản lý các tiến trình kiểm thử - sự lựa chọn và duy
Irì các báo cáo kiểm thử. Sự kiểm thử thực sự là sự xác nhận (Chúng
ta đã xây dựng tốt hệ thống chưa?) và sự thẩm tra (Chúng ta đã xây
dựng hệ thống hằng cách tốt chưa?) của q trình phát triển hệ thống.

-

Cơng cụ xây dựng đồ hoạ (G U I b u ild e r ):Có những liên kết từ các lớ p


irong mơ hình đến các mô tả đồ hoạ trong một GUT builder, ở đó tổ
chức của giao diện người sử dụng được lưu giữ. Nó có khả năng tự
động sinh ra các dạng đổ hoạ của các lớp trong mơ hình.
-

Các cơng cụ đặc tả yêu cầu (Requirement S pecification tools): U M L
có các uses case đê nắm bắt các yêu cầu chức năng của hệ thống. Tuy
nhiên, có những yêu cầu phi chức năng của hệ thống và chúng đều có
thể được mơ tả sử dụng các cơng cụ đặc tả yêu cầu.

-

Các công cụ quản lý dự án và trợ giú p quá trình (Project management
and process support tools): Một công cụ quản lý dự án được đặt ra để
giúp đỡ cho người quản lý dự án xác định các lịch thời gian, các kế
hoạch phân chia tài nguyên và các thực hiện tiếp theo trên sự phát
triển. Người quản lý dự án có thể dễ dàng kiểm tra được sự phát triển
của cơng việc mơ hình hố. Sự tích hợp với các cơng cụ trợ giúp tiến
trình hầu như chắc chắn là khơng có quyền ưu tiên cao nhất và thơng
thường sán phẩm của mơ hình là một phần đáng kể của bất kỳ một
phương pháp hoặc một quá trình nào.

9. S ự th a y th ế lẫ n n h a u c ủ a cá c m ò h ỉn h (in te rc h a n g e m o d e ls)

Khổng dễ dàng có thể tạo ra một mơ hình bằng một cơng cụ rồi sau đó
đưa nó vào một cơng cụ khác. Điểu kiện đầu tiên là phải chuẩn hố mơ hình


×