Tải bản đầy đủ (.doc) (39 trang)

tìm hiểu ngôn ngữ uml (unified modeling language)

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 (657.27 KB, 39 trang )

Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
MỤC LỤC
Trang
Lời Mở Đầu 3
I. Quá trình hình thành và nguyên nhân ra đời 3
I.1. Quá trình hình thành UML 3
I.2. Nguyên nhân ra đời 4
II Khái quát về UML 4
II.1 Giới thiệu UML 4
II.2 Mô hình khái niệm của UML 5
II.2.1 Phần tử mô hình trong UML 5
II.2.2 Các quan hệ trong UML 8
II.2.3 Kiểu dữ liệu 11
II.3 Biểu đồ UML 11
II.3.1 Biểu đồ trường hợp sử dụng (Use case _ UC) 11
II.3.2 Biểu đồ trình tự (sequence) 12
II.3.3 Biểu đồ cộng tác (collaboration) 13
II.3.4 Biểu đồ lớp (class) 14
II.3.5 Biểu đồ chuyển trạng thái (State transition) 15
II.3.6 Biểu đồ thành phần (component) 16
II.3.7 Biểu đồ triển khai (deployment) 17
II.3.8 Biểu đồ đối tượng 18
II.3.9 Biểu đồ hoạt động 19
II.4 Kiến trúc hệ thống 19
II.4.1 Khung nhìn UC 20
II.4.2 Khung nhìn thiết kế 20
II.4.3. Khung nhìn cài đặt 20
II.4.4. Khung nhìn triển khai 21
II.4.5. Khung nhìn tiến trình 21
III Tiến trình phát triển ứng dụng với UML 21
III.1Các kỹ thuật mô hình hoá hợp nhất (Unified modeling) 21


III.1.1 Xây dựng lược đồ Use case 21
III.1.2 Xây dựng lược đồ lớp 22
III.1.3 Xây dựng lược đồ tuần tự 23
III.1.4 Xây dựng lược đồ cộng tác 24
III.1.5 Xây dựng lược đồ hoạt động 24
III.1.6 Xây dựng lược đồ trạng thái 25
III.1.7 Xây dựng lược đồ thành phần 26
III.2 Công cụ (case tool) mô hình hoá hệ thống Rational Rose 26
IV Xây dựng hệ thống quản lý thư viện trên Rational Rose 28
IV.1 Hệ thống quản lý thư viện 28
IV.1.1 Phát biểu bài toán 28
IV.1.2 Phân tích bài toán 28
IV.2 Xây dưng mô hình bài toán trên Rational Rose 29
IV.2.1 Lược đồ use case mức tổng thể 29
IV.2.2 Lược đồ lớp mức thô 30
IV.2.3 Lược đồ use case chi tiết và các lược đồ tuần tự mô tả các use case 31
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 1
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
Kết luận 38
38
Tài liệu tham khảo 39
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 2
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
Lời Mở Đầu
Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong đời sống
kinh tế, xã hội của nhiều quốc gia trên thế giới, là một phần không thể thiếu trong một
xã hội ngày càng hiện đại hoá. Nói đến công nghệ thông tin, chúng ta không thể không
nhắc đến công nghệ phần mềm, phần mềm đóng một vai trò cực kỳ quan trọng trong
lĩnh vực công nghệ thông tin. Hiện nay, việc phát triển công nghệ phần mềm thành
một lĩnh vực kinh tế mũi nhọn là mục tiêu quan tâm hàng đầu của nước ta.

Một trong những lĩnh vực quan trọng và có ảnh hưởng rất lớn đến sự thành công của
việc phát triển phần mềm là việc mô hình hoá phần mềm. Có rất nhiều ngôn ngữ mô
hình hoá hỗ trợ cho việc mô hình hoá phần mềm, nhưng nổi bật là ngôn ngữ UML
(Unified Modeling Language) từ hãng phần mềm Rational. UML không ngừng được
phát triển và ngày càng được sử dụng rộng rãi trên thế giới, đa số các công cụ hỗ trợ
phát triển phần mềm hiện nay đều có hỗ trợ ngôn ngữ UML. Ở đây em đã nghiên cứu
đề tài “nghiên cứu ngôn ngữ UML và ứng dụng ”. Với sự hướng dẫn tận tình của cô
giáo Tống Minh Ngọc cùng với sự tìm tòi nghiên cứu của bản thân em đã thu được
một số kết quả. Đó là tìm hiểu được các thành phần chính trong ngôn ngữ UML và
một số ứng dụng của nó. Tuy nhiên thời gian nghiên cứu còn hạn hẹp và sự hiểu biết
còn hạn chế của bản thân nên đề tài còn nhiều thiếu sót, em rất kính mong được sự
thông cảm và tận tình chỉ bảo của thầy cô.
I. Quá trình hình thành và nguyên nhân ra đời
I.1. Quá trình hình thành UML
Khái niệm hướng đối tượng hình thành từ ngôn ngữ lập trình Simula, nhưng nó trở
nên quen thuộc khi xuất hiện ngôn ngữ C++ và Small Talk vào cuối những năm 80 của
thế kỷ XX. Khi các ngôn ngữ hướng đối tượng được sử dụng rộng rãi, nhu cầu có
phương pháp phát triển phần mềm hướng đối tượng trở nên cấp bách. Vào đầu những
năm 90 của thế kỷ XX đã xuất hiện các phương pháp hướng đối tượng sau đây:
phương pháp Booch, OMT (object modeling Technique), OOSF …Mỗi phương pháp
có ký pháp, tiến trình và công cụ hỗ trợ riêng. Chúng đều có ưu điểm và nhược điểm
riêng. Người sử dụng rất khó khăn để chọn cho mình một phương pháp phù hợp. Do
nhận biết được các vấn đề này, vào năm 1994 các tác giả của các phương pháp này đã
hợp tác nhằm tạo ra phương pháp mới. Bắt đầu là sự thống nhất phương pháp Booch
với OMT-2 của Rumbaugh để hình thành Unified Method 0.8 tại Rational Rose
Corporation. Tháng 6 năm 1995, IvarJacobson (tác giả của OOSE / Objectory) ra nhập
với họ. Từ thời điềm này nhóm phát triển phương pháp hướng đối tượng nói trên cho
rằng nhiệm vụ của họ là tạo ra ngôn ngữ mô hình hoá thống nhất cho cộng đồng
hướng đối tượng. Do vậy họ đã đổi tên công việc của họ thành Unified Modeling
Language _UML (ngôn ngữ mô hình hoá thống nhất). Booch, Rumbaugh và Jacobson

đã đưa ra nhiều phiên bản UML, trong đó phiên bản UML 0.9 xuất hiện năm 1995,
UML 1.0 xuất hiện vào năm 1997. Phần lớp UML được xây dựng trên nền tảng của
các phương pháp Booch, OMT va OOSE, nhưng UML còn bao gồm cả các khái niệm
có nguồn gốc từ các phương pháp khác nhau như David Harel, Gamma-Helm-
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 3
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
Johnson-Vlissides và Fusion. UML còn là kết quả của sự đóng góp từ các hãng lớn
như DEC, HP, IBM … Phiên bản UML 1.1 đã được đệ trình lên OMG và còn giờ đây
có nhiều phiên bản khác như UML 1.3, UML 1.4 …
I.2. Nguyên nhân ra đời
Hiện nay tồn tại rất nhiều phương pháp phân tích thiết kế hướng đối tượng như là
OOA (Object Oriented Analys) của Booch, OMT, (Object Modeling Technique) của
Dumbaugh… Mỗi một phương pháp tồn tại trong nó các đặc điểm mạnh và điểm yếu.
Do vậy bản thân mỗi phương pháp không đáp ứng được một cách đầy đủ đòi hỏi của
người sử dụng. Do đó việc ứng dụng 1 ngôn ngữ mô hình hoá chuẩn, tồn tại trong suốt
vòng đời phát triển là rất cần thiết. UML là ngôn ngữ mô hình hoá hợp nhất, được xem
như công cụ đồ học nhằm biểu diễn trực quan, đặc tả, xây dựng và lập tài liệu các
thành phần trong hệ thống. Nó cung cấp một cách thức chuẩn để tạo ra một sự mô tả
hệ thống, đề cập đến những cái mang tính quan niệm như các tiến trình kinh doanh và
chức năng hệ thống, đồng thời nó cũng đề cập đến những thứ cụ thể như là các lớp
được viết trong một ngôn ngữ lập trình … UML được tạo ra là sự tất yếu khách quan,
nó đáp ứng một cách khá đầy đủ các yêu cầu từ phía người dùng.
II Khái quát về UML
UML là ngôn ngữ mô hình hoá , trước hết nó là mô tả ký pháp thống nhất ngữ
nghĩa và các định nghĩa về metamodel(mô tả và định nghĩa chính ngôn ngữ mô hình
hoá), nó không mô tả về phương pháp phát triển UML được sử dụng để hiển thị, đặc
tả, xây dựng và làm tài liệu các vật phẩm của phân tích hình thức và thiết kế trong quá
trình xây dựng hệ thống phần mềm theo hướng đối tượng. UML được sử dụng cho
mọi tiến trình phát triển phần mềm, xuyên suốt vòng đời phát triển độc lập với các
công nghệ cài đặt hệ thống.

II.1 Giới thiệu UML
UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm. Nó phù hợp cho
việc mô hình hoá các hệ thống như: hệ thống thông tin doanh nghiệp, các ứng dụng
phân tán trên nền web, … nó không khó hiểu và dễ sử dụng. UML là ngôn ngữ mô
hình được cả con người và máy sử dụng. Cũng như mọi ngôn ngữ mô hình hoá khác,
UML có kí pháp và tập các luật sử dụng nó. Các luật bao gồm cú pháp, ngữ nghĩa và
luật hình thành câu(pragmatic). Để sử dụng UML có hiệu quả cần nắm được ba nội
dung chính:
 Các phần tử cơ bản của mô hình trong UML.
 Các quy định liên kết các phần tử mô hình.
 Một số cơ chế chung áp dụng cho ngôn ngữ này.
UML là ngôn ngữ và nó chỉ là một phần của tiến trình phát triển phần mềm, độc lập
với tiến trình. Tuy nhiên UML rất phù hợp với các tiến trình hướng trường hợp sử
dụng (Use case - UC).
-UML là ngôn ngữ:
Ngôn ngữ phải có từ vựng và quy tắc tổ hợp các từ vựng để giao tiếp .Ngôn ngữ
mô hình là ngôn ngữ có từ vựng và quy tắc tập trung vào biểu diễn về mặt vật lý và
khái niệm của hệ thống. UML là ngôn ngữ chuẩn công nghiệp để lập kế hoạch chi tiết
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 4
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
phần mềm. Từ vựng và quy tắc ngôn ngữ UML cho ta cách thức xây dựng mô hình
nào cần phải được lập và khi nào lập chúng.
-UML là ngôn ngữ hiển thị:
UML giúp ta xây dựng mô hình để dễ dàng giao tiếp. Một số công việc phù hợp
với mô hình hoá bằng văn bản, một số công việc khác lại phù hợp với mô hình hoá
bằng đồ hoạ. UML là ngôn ngữ đồ hoạ. Với nhiều hệ thống, mô hình trong ngôn ngữ
đồ hoạ dễ hiểu hơn so với ngôn ngữ lập trình. Sau mỗi biểu tượng đồ hoạ của UML là
ngữ nghĩa. Nên khi xây dựng mô hình trong UML thì người phát triển khác hay các
công cụ hỗ trợ mô hình hoá có thể hiểu mô hình một cách rõ ràng.
-UML là ngôn ngữ đặc tả:

Đặc tả là mô tả rõ ràng những điểm mấu chốt của vấn đề. UML cho phép mô tả
mô hình chính xác, không nhập nhằng và hoàn thiện. UML hướng tới đặc tả thiết kế,
phân tích và quyết định cài đặt trong quá trình phát triển và triển khai hệ thống phần
mềm.
-UML là ngôn ngữ để xây dựng:
Mô hình của UML có thể kết nối trực tiếp với các ngôn ngữ lập trình khác nhau.
Có nghĩa là có thể ánh xạ mô hình trong UML tới các ngôn ngữ lập trình khác nhau
như Java, C++ hay cá bảng CSDL quan hệ, CSDL hướng đối tượng. Ánh xạ này cho
khả năng biến đổi thuận từ UML sang ngôn ngữ lập trình và cho khả năng biến đổi
ngược lại. Có nghĩa là có thể làm việc với văn bản hay đồ hoạ một cách nhất quán.
-UML là ngôn ngữ làm tài liệu:
UML hướng tới làm tài liệu kiến trúc hệ thống và các chi tiết của nó. UML cho
khả năng biểu diễn yêu cầu, thử nghiệm, mô hình hoá các hoạt động lập kế hoạch và
quản lý sản phẩm.
 UML cho biết giới hạn của hệ thống và các chức năng chính của nó thông qua
UC và tác nhân.
 Trong UML ,các UC được mô tả bằng biểu đồ logic.
 Biểu diễn cấu trúc tĩnh của hệ thống nhờ biểu đồ lớp.
 Mô hình hoá các hành vi đối tượng bằng biểu đồ chuyển trạng thái.
 Phản ánh kiến trúc cài đặt vật lý bằng biểu đồ thành phần và biểu đồ triển khai.
 Mở rộng các chức năng bằng Stereotypes.
II.2 Mô hình khái niệm của UML
Để hiểu được UML ta cần được mô hình khái niệm của ngôn ngữ. Nó gồm ba vấn
đề chính sau:
 Các phần tử cơ bản để xây dựng mô hình
 Quy tắc liên kết các phần tử mô hình
 Một số cơ chế chung để sử dụng ngôn ngữ
II.2.1 Phần tử mô hình trong UML
Các khối để hình thành mô hình UML gồm ba loại sau: phần tử, quan hệ và biểu
đồ. Phần tử là trừu tượng căn bản trong mô hình; các quan hệ gắn với các phần tử này

lại với nhau; còn biểu đồ nhóm tập hợp các phần tử.
Trong UML có bốn loại phần tử mô hình: cấu trúc, hành vi, nhóm và chú giải.
Các phần tử này là các khối để xây dựng hướng đối tượng cơ bản của UML.
-Phần tử cấu trúc:
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 5
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
Phần tử cấu trúc là các danh từ trong mô hình UML. Chúng là bộ phận tĩnh của
mô hình để biểu diễn các thành phần khái niệm hay vật lý. Có bảng loại phần tử cấu
trúc: lớp, giao diện, phần tử cộng tác, trường hợp sử dụng, lớp tích cực, thành phần,
nút.
 Lớp: Mô tả các đối tượng cùng chung thuộc tính, thao tác, quan hệ và ngữ
nghĩa. Một lớp cài đặt một hay nhiều ghép nối. Lớp biểu diễn bằng hình chữ
nhật, gồm tên, thuộc tính và thao tác.

tai khoan
so tai khoan
pin
so du
mo()
rut tien()
tru so du()
kiem tra so du()
Hình 1.1 Lớp
 Giao diện: Là tập hợp các thao tác làm dịch vụ của lớp hay thành phần. Giao
diện mô tả hành vi thấy được từ ngoài của thành phần. Giao diện biểu diễn toàn
bộ hay một hành vi của lớp. Giao diện định nghĩa tập đặc tính thao tác.
 Phần tử cộng tác: Mô tả ngữ cảnh của tương tác. Nó thể hiện một giải pháp thi
hành bên trong hệ thống, bao gồm các lớp, quan hệ và tương tác giữa chúng để
đạt được một chức năng mong đợi của UC.
 Trường hợp sử dụng (Use case): mô tả tập trình tự các hành động mà hệ thống

sẽ thực hiện để đạt được một kết quả cho tác nhân nào đó. Tác nhân là những gi
bên ngoài tương tác với hệ thống. Tập hợp các UC của hệ thống sẽ hình thành
các trường hợp mà hệ thống được sử dụng. Sử dụng UC để cấu trúc các phần tử
có tính hành vi trong mô hình. Nó được hiện thực hoá phần tử cộng tác.
Kí pháp đồ hoạ của UC:

UseCase
Hình 1.4 Use case
 Lớp tích cực (Active class): Lớp tích cực là lớp có đối tượng làm chủ một hay
nhiều tiến trình hay luồng. Lớp tích cực được xem như lớp thông thường nhưng
đối tượng của nó biểu diễn các thành phần có hành vi đang tương tranh với các
thành phần khác.
 Thành phần: Thành phần biểu diễn vật lý mã nguồn các tệp nhị phân trong quá
trình phát triển hệ thống.
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 6
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
Kí pháp đồ hoạ của nó:



myfile
.cpp

Hình1.6. Thành phần
 Nút (Mode): Nút là thành phần biểu hiện vật lý, tồn tại khi chương trình chạy
và biểu diễn các tài nguyên tính toán. Có thể đặt tập các thành phần trên nút và
chuyển từ nút này sang nút khác. Nút có thể là máy tính, thiết bị phần cứng.
Kí pháp đồ hoạ:

may

chu
Hình 1.7. Nút
-Phần tử hành vi:
Phần tử hành vi là bộ phận động của mô hình UML. Chúng là các động từ của mô
hình, biểu diễn hành vi theo thời gian và không gian. Có hai loại chính là: tương tác và
trạng thái:
 Tương tác: tương tác là hành vi bao gồm tập các thông điệp trao đổi giữa các
đối tượng trong ngữ cảnh cụ thể để thực hiện mục đích cụ thể.
Biểu diễn đồ hoạ của thông điệp được thể hiện trên hình sau, bao gồm mũi
tên và tên thao tác của nó.
 Máy trạng thái: máy trạng thái là hành vi chỉ ra trật tự các trạng thái mà đối
tượng hay tương tác sẽ đi qua để đáp ứng sự kiện. Hành vi của lớp hay cộng tác
của lớp có thể được xác định bằng máy trạng thái. Máy này kích hoạt nhiều
phần tử, bao gồm trạng thái, chuyển tiến, sự kiện và hoạt động.
-Phần tử nhóm:
Phần tử nhóm là bộ phận tổ chức của mô hình UML, chỉ có một phần tử thuộc
nhóm này có tên là gói (pakage). Gọi là cơ chế đa năng để tổ chức các phần tử vào
nhóm. Các phần tử cấu trúc, hành vi và ngay cả phần tử nhóm có thể cho vào gói.
Không giống thành phần (component), phần tử nhóm hoàn toàn là khái niệm, chúng
chỉ tồn tại vào thời điểm phát triển hệ thống chứ không tồn tại vào thời gian chạy
chương trình. Gói giúp ta quan sát hệ thống ở mức tổng quát hơn.
Kí pháp đồ hoạ của nhóm:
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 7
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)

cac luat
thuong mai
day la ghi
chu
Hình1.10. Nhóm và chú thích

-Chú thích (annotational):
Phần tử chú thích là bộ phận chú giải của mô hình UML. Đó là lời giải thích áp
dụng để mô tả các phần tử khác hay mô hình.

day la chu
thich

Hình1.11. Chú thích
II.2.2 Các quan hệ trong UML
Quan hệ trong UML đại diện cho sự liên hệ giữa các sự vật trong thế giới thực.
Quan hệ là sự kết nối giữa hai thành phần trong hệ thống. Có bốn loại quan hệ trong
UML bao gồm:
 Phụ thuộc (dependency)
 Tổng quát hoá (generalization)
 Kết hợp (association)
 Hiện thực hoá (realization)
-Phụ thuộc (dependency):
Phụ thuộc là quan hệ ngữ nghĩa giữa hai phần tử. Trong đó thay đổi phần tử độc
lập sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc.
Kí pháp đồ hoạ của nó thể hiện trên hình sau:
- - - - - - - - - - - - - - - - - ->
Hình 2.1.Quan hệ phụ thuộc
-Kết hợp (association):
Kết hợp là quan hệ cấu trúc để mô tả tập liên kết, một liên kết là kết nối giữa các
đối tượng. Khi đối tượng của lớp này gửu (nhận) thông điệp đến (từ) đối tượng của lớp
kia thì ta gọi chúng có quan hệ kết hợp.
Kí pháp đồ hoạ của nó thể hiện trên hình 2.2, chúng có thể chứa tên, nhiệm vụ và tính
nhiều (Multiplicity).
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 8
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)

Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 9
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
Hình 2.2.Quan hệ kết hợp


Tụ hợp (aggregation) là dạng đặc biệt của kết hợp, nó biểu diễn quan hệ cấu trúc giữa
toàn thể và bộ phận. Kí pháp đồ hoạ của nó thể hiện trên hình 2.3.

Hình 2.3.Tụ hợp

-Khái quát hoá (generalization)
Khái quát hoá là quan hệ đặc biệt hoá mà trong đó đối tượng cụ thể kế thừa các
thuộc tính và phương pháp của đối tượng tổng quát. Kí pháp đồ hoạ của khái quát hoá
thể hiện trên hình 2.4.
Hình 2.4.Khái quát hoá
-Hiện thực hoá (realization)
Là quan hệ ngữ nghĩa giữa giao diện và lớp (hay thành phần) hiện thực lớp; giữa
UC và hợp tác hiện thực UC. Biểu diễn đồ hoạ của nó được mô tả trên hình 2.5
- - - - - - - - - - - - - - - - ->
Hình 2.5.Hiện thực
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 10
University
Department
Person
1 *
+employee
*
1 *
+employer
*

Company
Vehicles
CarBicycle
Generalization
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
II.2.3 Kiểu dữ liệu
Kiểu dữ liệu không phải là phần tử mô hình trong UML. Kiểu dữ liệu cơ sở là
kiểu dữ liệu không có cấu trúc. UML có các kiểu dữ liệu sau:
 Boolean: là kiểu đếm với hai giá trị True và False.
 Biểu thức (expression): là xâu kí tự có cú pháp.
 Tính nhiều (multiplicity): là tập không rỗng của các số nguyên dương và kí hiệu
* (để biểu thị tính nhiều vô hạn ).
 Tên (name): là xâu kí tự cho khả năng đặc tả phần tử.
 Số nguyên (integer): là kiểu cơ bản và là phần tử của tập vô hạn các số nguyên
âm và dương .
 Xâu (string): là trật tự của các kí tự , được sử dụng làm tên .
 Thời gian (time): xâu kí tự biểu diễn giá trị tuyệt đối hay khoảng tương đối.
 Không lí giải (uninterpreted): là cái gì đó mà ý nghĩa của nó phụ thuộc vào lĩnh
vực.
II.3 Biểu đồ UML
Biểu đồ là biểu diễn đồ hoạ tập các phần tử mô hình, vẽ biểu đồ để biểu diễn hệ
thống đang xây dựng dưói các góc độ quan sát khác nhau. UML cho khả năng xây
dựng các loại biểu đồ sau:
 Biểu đồ trường hợp sử dụng
 Biểu dồ trình tự
 Biểu đồ cộng tác
 Bểu đồ lớp
 Biểu đồ thành phần
 Biểu đồ triển khai
 Biểu đồ chuyển trạng thái

 Biểu đồ đối tượng
 Biểu đồ hoạt động.
II.3.1 Biểu đồ trường hợp sử dụng (Use case _ UC)
Biểu đồ này chỉ ra tương tác giữa các UC và tác nhân. UC biểu diễn các chức năng
của hệ thống. Tác nhân là con người hay hệ thống khác cung cấp hay thu nhận thông
tin từ hệ thống đang được xây dựng. Biểu đồ UC tập trung vào quan sát trạng thái tĩnh
của các UC trong hệ thống. Nó rất quan trọng trong việc tổ chức và mô hình hoá hệ
thống. Vì UC biểu diễn yêu cầu hệ thống từ góc độ người dùng, cho nên UC là chức
năng mà hệ thống phải có. Biểu đồ này chỉ ra tác nhân nào khởi động UC và khi nào
tác nhân nhận thông tin từ hệ thống.
Ví dụ: Biểu đồ UC của ATM, chỉ ra tương tác của UC và tác nhân của hệ thống rút
tiền Trong đó:
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 11
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
chuyen tien
gui tien
rut tien
xem so du
khach hang
thanh toan
he thong tin
dung
nhan vien ngan
hang
thay doi pin
Hình 2.3 Biểu đồ UC của ATM
 Khách hàng (tác nhân) : có khả năng khởi động một số UC như rút tiền, gửu
tiền, chuyển tiền, xem số dư tài khoản, thay đổi số căn cước cá nhân và thanh
toán.
 Nhân viên ngân hàng (tác nhân) : có khả năng khởi động UC thay đổi số căn

cước cá nhân.
 Trường hợp sử dụng thanh toán có có mũi tên đi đến tác nhân hệ thống tín dụng
cho biết UC trả lại thông tin cho tác nhân.
II.3.2 Biểu đồ trình tự (sequence)
Biểu đồ nà chỉ ra luồng chức năng xuyên qua các UC. Nó là biểu đồ mô tả tương
tác giữa các đối tượng và tập trung vào mô tả trật tự các thông điệp theo thời gian.
Biểu đồ trình tự trên đã mô tả toàn bộ luồng xử lý cho UC rút tiền thông qua ví dụ
trường hợp ông Văn rút 100.000đ. Khách hàng có thể thấy được tiến trình tác nghiệp
cụ thể của hệ thống qua biểu đồ. Phân tích viên thấy được luồng tiến trình, người phát
triển thấy được các đối tượng cần xây dựng và các thao tác cho các đối tượng này, kỹ
sư kiểm tra chất lượng có thể thấy chi tiết của tiến trình để xây dựng quy trình thử
nghiệm, kiểm tra. Nói chung biểu đồ này có ích với mọi người tham gia dự án.
Ví dụ về biểu đồ trình tự của hệ thống ATM được thể hiện trên hình 2.6
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 12
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
17: day the ra
VAN :
khachhang
may doc the man hinh
ATM
tai khoan
ong VAN
may tra tien
mat
1: chap nhan the
2: doc so the
3: khoi dong man hinh
4: mo tai khoan
5: yeu cau pin
6: nhap pin (1234)

7: kiem tra pin
8: yeu cau giao dich
9: chon giao dich rut tien (100000d)
10: yeu cau nhap so tien
11: nhap so tien (100000d)
12: rut tien (100000d)
13: kiem tra tai khoan
14: giam tai khoan (100000d)
15: tra tien (100000d)
16: tra bien nhan
Hình 2.6.Biểu đồ trình tự của hệ thống ATM
II.3.3 Biểu đồ cộng tác (collaboration)
Biểu đồ này chỉ ra các thông tin như biểu đồ trình tự nhưng theo cách khác, nó tập
trung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp. Biểu đồ cộng tác
và biểu đồ trình tự thuộc loại biểu đồ tương tác và có thể biến đổi qua lại. Trong biểu
đồ cộng tác, đối tượng đặt trong hình chữ nhật, tác nhân là người hình cây. Trong khi
biểu đồ trình tự biểu diễn tương tác đối tượng và tác nhân theo thời gian thì biểu đồ
cộng tác không quan tâm đến thời gian.
Ví dụ biểu đồ cộng tác ông Văn rút 100.000 đ
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 13
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
may doc
the
man hinh
ATM
tai khoan
ong VAN
may tra
tien mat
2: doc so the

7: kiem tra pin
12: rut tien (100000d)
13: kiem tra tai khoan
14: giam tai khoan (100000d)
15: tra tien (100000d)
16: tra bien nhan
3: khoi dong man hinh
4: mo tai khoan
17: day the ra
VAN :
khachhang
5: yeu cau pin
8: yeu cau giao dich
10: yeu cau nhap so tien
6: nhap pin (1234)
9: chon giao dich rut tien (100000d)
11: nhap so tien (100000d)
1: chap nhan the

Hình 2.7.Sơ đồ cộng tác ông Văn rút 100.000 đ
Tuy cùng chỉ ra các thông tin như biểu đồ trình tự, nhưng biểu đồ cộng tác sử dụng vì
mục đích khác. Kỹ sư kiểm tra chất lượng và kiến trúc sư hệ thống thấy được việc
phân bổ tiến trình giữa các đối tượng thông qua biểu đồ này.
II.3.4 Biểu đồ lớp (class)
Biểu đồ chỉ ra tương tác giữa các lớp trong hệ thống. Các lớp được xem như kế
hoạch chi tiết của các đối tượng. Người phát triển sử dụng biểu đồ lớp để xây dựng các
lớp. Các công cụ phần mềm như Rose phát sinh mã trình xương sống cho các lớp, sau
đó người phát triển phải chi tiết hoá nó bằng ngôn ngữ lập trình. Kiến trúc sư quan sát
thiết kế hệ thống thông qua biểu đồ lớp.
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 14

Tìm hiểu ngôn ngữ UML (Unified Modeling Language)

tai khoan
so tai khoan
pin
so du
mo()
rut tien()
kiem tra so du()
may doc the
sothe
chap nhan the()
tra the()
doc the()
man hinh ATM
nhap dau vao()
dau nhac()
may tra tien
so du tai khoan
tra tien()
Hình 2.8.Biểu đồ lớp của UC rút tiền
Biểu đồ này chỉ quan hệ giữa các lớp hình thành nên UC rút tiền. Nó gồm bốn lớp:
máy đọc thẻ, tài khoản, màn hình ATM và máy trả tiền. Mỗi lớp trong biểu đồ được
biểu diễn bằng hình chữ nhật chia làm ba phần:
 Tên lớp (ví dụ trên lớp tài khoản )
 Thuộc tính (lớp tài khoản chứa ba thuộc tính: số tài khoản, số căn cước cá nhân-
PIN và cân đối tài khoản )
 Thao tác (ví dụ lớp tài khoản có bốn thao tác: mở tài khoản, rút tiền, trừ tiền
trong tài khoản và kiểm tra số tiền trong tài khoản ).
Đường nối giữa các phần tử biểu đồ lớp là quan hệ giao tiếp giữa chúng. Phía trái

một số thuộc tính và thao tác có gắn biểu tượng khoá, có nghĩa là đó là các thuộc tính
và thao tác riêng.
II.3.5 Biểu đồ chuyển trạng thái (State transition)
Biểu đồ này mô tả vòng đời của đối tượng, từ khi nó được sinh ra cho đến khi bị
phá huỷ. Biểu đồ chuyển trạng thái cung cấp cách thức mô hình hoá các trạng thái
khác nhau của đối tượng. Nó được sử dụng để mô hình hoá các hành vi động của hệ
thống.

Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 15
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
mo
rut qua
dong
kiem tra so du[ so du <0 va > 30 ngay ]
rut tien[ so du <0 ]
khach hang yeu cau dong tai khoan
Hình 2.9.Biểu đồ trạng thái của lớp tài khoản
Biểu đồ chuyển trạng thái chỉ ra hành vi của đối tượng. Ví dụ đối tượng tài khoản
trong ngân hàng có thể có một vài trạng thái như: mở, đóng hay rút quá mức. Tài
khoản sẽ ứng xử khác nhau với mỗi trạng thái khác nhau.
Biểu đồ ở hình 2.9 cho thấy các trạng thái và quá trình chuyển trạng thái của tài
khoản. Ví dụ khi tài khoản đang mở và khách hàng yêu cầu đóng tài khoản thì nó
chuyển sang trạng thái đóng. Yêu cầu của khách hàng gọi là sự kiện. Sự kiện là cái gây
ra các biến đổi từ trạng thái này sang trạng thái khác. Nếu tài khoản đang mở và khách
hàng rút tiền thì có thể dẫn tới trạng thái rút quá. Trạng thái này xảy ra khi khách hàng
còn nợ ngân hàng hay tài khoản < 0. Điều kiện này gọi là điều kiện gác. Điều kiện gác
điều khiển việc xảy ra hay không xảy ra của biến đổi trạng thái. Các tiến trình xảy ra
khi đối tượng đang trong trạng thái nào đó gọi là hành động. Ví dụ tài khoản bị rút quá
thì thông báo được gửi tới khách hàng, việc gửi này gọi là hành động .
Thông thường chỉ tạo lập biểu đồ chuyển trạng thái cho các lớp phức tạp. Biểu đồ

này chỉ dành cho việc làm tài liệu. Rose không phát sinh mã trình từ biểu đồ này.
II.3.6 Biểu đồ thành phần (component)
Biểu đồ này cho ta cái nhìn vật lý của mô hình. Cho thấy các thành phần mềm
trong hệ thống và quan hệ giữa chúng. Hai loại thành phần trong biểu đồ: thành phần
khả thực và thành phần thư viện. Trong Rose, mỗi lớp trong mô hình được ánh xạ đến
một thành phần mã nguồn. Có thể có nhiều biểu đồ thành phần cho một hệ thống, số
lượng này phụ thuộc vào các hệ thống con của chúng. Mỗi hệ thống con là gói thành
phần, gói là tập hợp các đối tượng.
Bất kỳ ai có trách nhiệm dịch chương trình đều quan tâm đến biểu đồ này. Nó cho
thấy trình tự dịch của các mođun trong hệ thống. Đồng thời nó cũng cho biết rõ thành
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 16
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
phần nào được tạo ra khi chạy chương trình. Biểu đồ thành phần chỉ ra ánh xạ của lớp
vào các thành phần cài đặt.
Dưới đây là một số ví dụ về biểu đồ thành phần:
tai khoan
tai khoan
NewTaskSpec

Hình 2.10.Biểu đồ thành phần của máy chủ ATM
may doc the
may doc the
man hinh ATM
may tra tien
ATM.exe
may tra tien
man hinh ATM

Hình 2.11.Biểu đồ thành phần của ATM client
II.3.7 Biểu đồ triển khai (deployment)

Biểu đồ này chỉ ra bố trí vật lý của mạng và các thành phần hệ thống sẽ đặt ở đâu.
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 17
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
may in
CSDL
ngan hang
may chu
ATM vung
so 1 trang
tien
so 2 doi
can

Hình 2.12.Biểu đồ triển khai của hệ thống ATM
Biểu đồ này cho thấy máy trạm ATM sẽ chạy trên nhiều địa điểm khác nhau. chúng
giao tiếp với máy chủ ATM thông qua mạng riêng. Máy chủ ATM sẽ giao tiếp với
máy chủ CSDL thông qua mạng LAN. Như vậy hệ thống ATM có kiến trúc ba tầng:
tầng CSDL, tầng máy chủ và tầng máy trạm.
II.3.8 Biểu đồ đối tượng
Biểu đồ đối tượng mô hình hoá các thể hiện của các phần tử có trong biểu đồ lớp.
Nó chỉ ra một tập các đối tượng và các mối quan hệ giữa chúng trong một thời điểm
nhất định.
Ta sử dụng biểu đồ đối tượng để mô hình khung nhìn thiết kế tĩnh và kkhung nhìn
tiến trình động của một hệ thống. Điều này liên quan đến việc mô hình hoá một ảnh
tạm thời của hệ thống và biểu diễn tập đối tượng, trạng thái và quan hệ của chúng.
Trong UML ta sử dụng biểu đồ lớp để mô hình hoá sắc thái tĩnh của các khối cấu
trúc của hệ thống. Ta cũng sử dụng biểu đồ tương tác để mô hình hoá sắc thái động
của hệ thống, bao gồm tập các thể hiện của các khối trên và các thông báo hình thành
giữa chúng. Biểu đồ đối tượng do đó diễn tả phần tĩnh của biểu đồ tương tác, bao gồm
các đối tượng và kết nối giữa chúng nhưng không chứa các thông báo như ở biểu đồ

tương tác.
Thông thường ta mô hình hoá với biểu đồ đối tượng trong khía cạnh của các thể
hiện thực và nguyên mẫu. Điều đó có nghĩa là cách nhìn này hỗ trợ các yêu cầu về
chức năng hay là dịch vụ mà hệ thống cung cấp tới người sử dụng. Biểu đồ đối tượng
cho phép ta mô hình các cấu trúc dữ liệu tĩnh.
Khi ta mô hình khung nhìn thiết kế tĩnh hoặc khung nhìn tiến trình tĩnh, cách thức ta
sử dụng biểu đồ là mô hình các cấu trúc đối tượng. Mô hình cấu trúc đối tượng liên
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 18
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
quan đến việc nhận được một ảnh của các đối tượng trong hệ thống tại một thời điểm
nhất định. Biểu đồ đối tượng biểu diễn một khung ảnh trong một bộ phim được biểu
diễn bởi biểu đồ tương tác.
II.3.9 Biểu đồ hoạt động
Biểu đồ hoạt động mô tả luồng từ hoạt động đến hoạt động. Một hoạt động là một
sự thực hiện đang diễn ra ở trong máy trạng thái. Các hoạt động cuối cùng tạo ra kết
quả ở một số hành động. Mỗi hành động tạo thành một sự tính toán nguyên tố có thể
thực thi. Một sự tính toán nguyên tố có đặc điểm là làm thay đổi trạng thái của hệ
thống hoặc của giá trị trả về. Các hành động bao gồm việc gọi các thao tác khác, gửi
một tín hiệu, tạo hoặc phá huỷ một đối tượng hoặc là một vài sự tính toán khác như là
đánh giá một biểu thức. Biểu diễn của biểu đồ hoạt động là một đồ thị gồm có các
cung và nút .


Hình 2.13. Biểu đồ hoạt động
Các phần tử đặc trưng cho biểu đồ hoạt động bao gồm:
 Các trạng thái hoạt động (activity state) và trạng thái hành động (action state)
 Chuyển dịch (transition)
 Đối tượng
II.4 Kiến trúc hệ thống
Kiến trúc hệ thống là trừu tượng hoá các khía cạnh quan trọng nhất của hệ thống.

Nó cung cấp khung trong đó thiết kế sẽ được xây dựng. Nó mô tả tầm cỡ, sức mạnh
của hệ thống, thu thập các UC quan trọng nhất và các yêu cầu ứng dụng. Nó thể hiện
phần mềm sẽ được tổ chức như thế nào và cung cấp các giao thức trao đổi dữ liệu và
giao tiếp giữa các mođun. Kiến trúc hệ thống là vật phẩm quan trọng nhất, được sử
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 19
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
dụng để quản lý các điểm nhìn khác nhau để điều khiển phát triển hệ thống tăng dần
và lặp trong suốt chu kỳ sống.
Kiến trúc là tập các quyết định về:
 Tổ chức của hệ thống phần mềm
 Lựa chọn các phần tử cấu trúc và giao diện cho hệ thống
 Hành vi của chúng thể hiện trong hợp tác giữa các phần tử
 Tổ hợp các phần tử cấu trúc và hành vi của con lớn hơn.
Kiến trúc phần mềm không chỉ liên quan đến cấu trúc và hành vi mà cả chức năng,
tính sử dụng lại, dễ hiểu, ràng buộc công nghệ …
Kiến trúc hệ thống được mô tả bằng các khung nhìn. Các khung nhìn ánh xạ vào tổ
chức và cấu trúc hệ thống, mỗi khung nhìn tập trung vào khía cạnh cụ thể của hệ
thống.
Có 5 khung nhìn sau:
 Khung nhìn trường hợp sử dụng (Use case view)
 Khung nhìn logic (logical view)
 Khung nhìn cài đặt (implennentation view)
 Khung nhìn triển khai (deployment view)
 Khung nhìn tiến trình (process view)
II.4.1 Khung nhìn UC
Khung nhìn này đứng trước mọi khung nhìn khác. Nó được hình thành từ giai đoạn
phân tích yêu cầu và thúc đẩy phần việc còn lại của thiết kế. Nó mô tả các hành vi của
hệ thống theo cách nhìn của khách hàng, phân tích viên và kỹ sư kiểm tra, thử nghiệm:
Khung nhìn UC chứa các tác nhân, UC, biểu đồ UC trong hệ thống. Chúng cũng có thể
bao gồm vài biểu đồ trình tự, biểu đồ cộng tác và gói. Khung nhìn UC tập trung vào

mức cao của các hệ thống sẽ làm, không quan tâm đến hệ thống làm như thế nào.
II.4.2 Khung nhìn thiết kế
Rose gọi khung nhìn này là khung nhìn logic. Nó biểu diễn tổ chức của các lớp có ý
nghĩa nhất và các quan hệ của chúng với nhau. Khung nhìn logic tập trung vào hệ
thống cài đặt hành vi trong UC như thế nào. Nó bao gồm các lớp, biểu đồ lớp, biểu đồ
đối tượng, biểu đồ tương tác, biểu đồ biến đổi trạng thái và các gói.
Thông thường đội ngũ phát triển phần mềm tiếp cận khung nhìn logic theo hai bước:
 Bước 1: Là nhận ra các lớp phân tích (analysis class). Các lớp này độc lập với
ngôn ngữ.
 Bước 2: Sau khi đã nhận ra các lớp phân tích thì đội ngũ phát triển phần mềm
chuyển chúng sang lớp thiết kế.
Khung nhìn logic tập trung vào cấu trúc logic của hệ thống. Từ khung nhìn này giúp ta
nhận ra các bộ phận hệ thống, khảo sát thông tin và hành vi cho lớp, nhóm các lớp …
khảo sát quan hệ giữa các lớp và gói để đảm bảo khả năng sử dụng lại.
II.4.3. Khung nhìn cài đặt
Rose gọi khung nhìn này là khung nhìn thành phần (component view). Thành phần
là mođun vật lý hay tệp mã trình để lắp ráp thành hệ thống vật lý. Khung nhìn thành
phần bao gồm: thành phần, biểu đồ thành phần và gói.
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 20
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
Người quan tâm nhất đến khung nhìn thành phần là người có trách nhiệm quản lý mã
trình, dịch chương trình và triển khai ứng dụng. Một vài thành phần là thư viện, một số
khác là mã trình khả thực (.exe) và thư viện (.dll).
II.4.4. Khung nhìn triển khai
Khung nhìn này tập trung vào phân bổ vật lý của tài nguyên và phân bổ nhiệm vụ
giữa các tài nguyên. Khung nhìn triển khai liên quan đến triển khai vật lý của hệ
thống, khác với kiến trúc logic. Thí dụ, hệ thống có kiến trúc ba tầng logic, bao gồm
giao diện, logic tác nghiệp và logic CSDL tách biệt nhau. Nhưng triển khai có thể chỉ
có hai tầng, trong đó logic tác nghiệp và logic CSDL trên cùng một máy. Khung nhìn
triển khai bao gồm tiến trình (luồng thực hiện trong vùng nhớ riêng), bộ xử lý và thiết

bị .
Khung nhìn triển khai chỉ ra các tiến trình và thiết bị trên mạng và các kết nối vật lý
giữa chúng. Biểu đồ triển khai cũng hiển thị tiến trình và chỉ ra tiến trình nào chạy trên
máy nào.
II.4.5. Khung nhìn tiến trình
Khung nhìn tiến trình biểu diễn phân tách các luồng thực hiện chương trình (tiến
trình - process, luồng – thread, nhiệm vụ - task …), đồng bộ giữa các luồng, phân bổ
các đối tượng và lớp cho các luồng thực hiện khác nhau. Khung nhìn tiến trình tập
trung vào các nhiệm vụ tương tranh tương tác với nhau như thế nào trong hệ thống đa
nhiệm. Trong biểu đồ của phần mềm công cụ Rose 2000 không có khung nhìn này.
III Tiến trình phát triển ứng dụng với UML
III.1Các kỹ thuật mô hình hoá hợp nhất (Unified modeling)
Trong kỹ nghệ phần mềm có một số cách để tiếp cận một mô hình. Hai cách phổ
biến trong số này là mô hình hoá hướng chức năng và hướng đối tượng.
Mô hình hoá hướng chức năng thể hiện ở chỗ phần tử mô hình cơ bản là các chức
năng. Quan điểm này dẫn đến việc xây dựng hệ thống chú trọng vào yếu tố điều khiển
và quá trình phân chia các chức năng lớn thành các chức năng nhỏ hơn. Nhược điểm
của phương pháp mô hình này là khi yêu cầu về hệ thống thay đổi thì hệ thống phần
mềm rất khó bảo trì.
Mô hình hoá hướng đối tượng xem các lớp và đối tượng là các phần tử mô hình cơ bản
của hệ thống. Các đối tượng là khái niệm được phát hiện từ không gian vấn đề và giải
pháp. Thông thường các yếu tố này rất ít thay đổi khi hệ thống phát sinh các đòi hỏi
mới. Trong phần này các kỹ thuật mô hình hoá hướng đối tượng được giới thiệu nhằm
mục đích xây dựng các mô hình của hệ thống trên UML.
III.1.1 Xây dựng lược đồ Use case
Việc xây dựng lược đồ use case đòi hỏi các kỹ thuật mô hình hoá sau:
- Mô hình hoá ngữ cảnh của hệ thống
Ngữ cảnh của hệ thống bao gồm tất cả các yếu tố bên ngoài tương tác với hệ
thống. Ngữ cảnh xác định môi trường tồn tại của hệ thống. Để mô hình ngữ cảnh của
hệ thống ta tiến hành các công việc sau:

Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 21
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
 Nhận biết các tác nhân bao quanh hệ thống bằng cách xác định xem các nhóm
yếu tố nào đòi hỏi sự giúp đỡ của hệ thống để thực hiện công việc của chúng,
các nhóm nào thực hiện các chức năng của hệ thống, các nhóm nào tưong tác
với các hệ thống phần cứng hoặc phần mềm khác và các nhóm nào là thực hiện
các chức năng phụ như là bảo trì và quản trị .
 Tổ chức các tác nhân theo quan hệ tổng quát hoá
 Cung cấp các stereotype cho các tác nhân
 Nhận biết lược đồ use case với các tác nhân này và xác định đường truyền
thông giữa các tác nhân và use case của hệ thống.
-Mô hình hoá các đòi hỏi của hệ thống
Xác định xem hệ thống làm gì chứ không phải là nó làm như thế nào. Kỹ thuật mô
hình hoá được mô tả như sau:
 Thiết lập ngữ cảnh của hệ thống bằng các xác định các tác nhân tồn tại xung
quanh hệ thống.
 Với mỗi tác nhân, xác định các hành vi mà các tác nhân đó đòi hỏi ở hệ thống.
 Đặt tên cho các hành vi này và xem chúng như là các use cases
 Phân chia các hành vi chung thành các use case mới như là một trình cung cấp
tính năng.
III.1.2 Xây dựng lược đồ lớp
- Mô hình từ điển hệ thống
Ta sử dụng các lớp để mô hình hoá phần lớn các trừu tượng tồn tại trong không
gian bài toán và giải pháp (phạm vi công nghệ sử dụng để giải quyết vấn đề). Mỗi trừu
tượng là một phần tử của từ điển hệ thống. Nó biểu diễn các yếu tố quan trọng đối với
khách hàng và nhà phát triển. Để mô hình hoá từ điển ta tiến hành các công việc sau:
 Nhận biết các yếu tố mà khách hàng và phát triển viên dùng để mô tả vấn đề và
giải pháp.Ta sử dụng kỹ thuật CRC cards và phân tích dựa trên use case để thực
hiện công việc này.
 Đối với mỗi trừu tượng, tiến hành nhận biết các nhiệm vụ gắn với nó. Các lớp

phải được xác định một cách sinh động và các nhiệm vụ được phân tán cân
bằng giữa các lớp.
 Cung cấp các thuộc tính và thao tác để thực hiện các nhiệm vụ của lớp.
- Mô hình hoá các quan hệ
- Quan hệ phụ thuộc
Nhận biết quan hệ phụ thuộc bằng cách nhận biết các thao tác trong lớp mà tham
số của các thao tác có chứa các lớp khác.
- Quan hệ tổng quát hoá
Trong quá trình mô hình từ điển hệ thống, xuất hiện các lớp có cấu trúc và hành vi
hầu như là giống nhau. Cách tốt nhất để tổ chức các lớp này là trích các đặc điểm cấu
trúc và hành vi chung và đặt chúng trong các lớp tổng quát hơn. Để mô hình quan hệ
thừa kế ta tiến hành:
 Tìm kiếm các điểm chung giữa các lớp như là nhiệm vụ, thuộc tính và thao tác.
 Đặt các đặc tính chung đó vào một lớp tổng quát hơn. Nếu cần thiết có thể tạo
một lớp mới (số mức thừa kế không nên nhiều quá).
 Xác định các quan hệ tổng quát giữa các lớp tổng quát và các lớp thừa kế nó.
- Quan hệ cấu trúc hay liên kết
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 22
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
Quan hệ liên kết xác định cấu trúc tương tác
Trong khi quan hệ phụ thuộc là quan hệ là quan hệ sử dụng, quan hệ tổng quát hoá
là quan hệ “là một loại của” thì quan hệ liên kết xác định cấu trúc tưong tác giữa các
đối tượng của các lớp. Để mô hình quan hệ cấu trúc ta tiến hành công việc sau:
 Đối với mỗi cặp lớp, ta xác định một quan hệ cấu trúc giữa chúng nếu ta có thể
xác định một lớp này từ lớp kia. Đây là khung nhìn hướng dữ liệu của quan hệ
cấu trúc.
 Đối với mỗi cặp lớp mà nếu các đối tượng của một lớp cần tương tác với các
đối tượng của lớp kia như là các tham số trong thao tác. Ta xác định quan hệ
cấu trúc giữa cặp lớp này. Đây là khung nhìn hướng hành vi của quan hệ cấu
trúc.

 Với mỗi liên kết trên, xác định multiplicity và vai trò ở mỗi đầu của liên kết
 Xác định quan hệ kết tập (aggregation) giữa hai lớp nếu quan hệ giữa chúng là
toàn thể - bộ phận.
- Mô hình các cộng tác đơn giản
Khi ta mô hình một lược đồ lớp, ta chỉ mô hình các yếu tố tạo nên khung nhìn thiết
kế của hệ thống. Các yếu tố này bao gồm các phần tử và quan hệ giữa chúng. Với lý
do này mỗi một lược đồ lớp nên đặt trọng tâm vào một cộng tác tại một thời điểm. Để
mô hình hoá một cộng tác:
 Nhận biết cơ cấu cần mô hình. Một cơ cấu biểu diễn chức năng hoặc hành vi
của một phần của hệ thống cần mô hình. Cơ cấu này được thực hiện bởi một
cộng tác bao gồm tập các lớp, giao diện và các phần tử khác.
 Với mỗi cơ cấu, nhận biết các lớp, giao diện và cộng tác tham gia vào cơ cấu
Nhận biết mối quan hệ giữa chúng .
 Sử dụng kịch bản để đánh giá tính đúng đắn và đầy đủ của cộng tác này.
 Xác định nội dung của các phần tử trong cộng tác.
- Mô hình hoá lược đồ cơ sở dữ liệu quan niệm
 Nhận biết các lớp mà trạng thái của nó phải vượt quá thời gian sống của ứng
dụng.
 Tạo một lược đồ lớp chứa các lớp này và đánh dấu chúng như là persístent
(một giá trị nhãn chuẩn).
 Mở rộng các chi tiết cấu trúc của các lớp này. Điều này nghĩa là ta chỉ định chi
tiết các thuộc tính, chú trọng liên kết giữa các lớp.
 Xem xét các mẫu phổ biến tạo nên sự phức tạp trong thiết kế các cơ sở dữ liệu
vật lý. Khi cần có thể tạo các trừu tượng trung gian để đơn giản hoá cấu trúc
logic.
 Xem xét hành vi của các lớp này bằng cách mở rộng các thao tác của chúng.
Điều này rất quan trọng đối với sự truy nhập và tính toàn vẹn dữ liệu.
 Sử dụng các công cụ để biến đổi thiết quan niệm thành thiết kế vật lý nếu cần.
III.1.3 Xây dựng lược đồ tuần tự
Để xây dựng lược đồ tuần tự ta phải xác định các tương tác theo thứ tự thời gian.

- Mô hình hoá luồng điều khiển theo trình tự thời gian.
 Thiết lập ngữ cảnh cho một tương tác, xem xét nó trong toàn bộ hệ thống, trong
một lớp, một thao tác, một kịch bản của use case hay là một cộng tác.
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 23
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
 Thiết lập giai đoạn cho tương tác bằng cách nhận biết các đối tượng nào tham
gia một vai trò trong tương tác. Đặt các đối tượng này vào trong lược đồ tương
tác từ trái qua phải, đối tượng quan trọng hơn đạt ở bên trái sau đó là các đối
tượng gần gũi với nó.
 Xác định đường sống cho mỗi đối tượng. Phần lớn các trường hợp một đối
tượng tồn tại trong toàn bộ một tương tác. Với các đối tượng có thời gian sống
nằm trong một tương tác thì ta phải xác định các đường sống của chúng, chỉ
định thời điểm sinh và phá huỷ của đối tượng với các stereotype thích hợp.
 Bắt đầu cùng với một thông báo khởi tạo tương tác. Xếp các thông báo tiếp theo
theo thứ tự từ trên xuống dưới giữa các đường sống, chỉ ra các thuộc tính của
thông báo (tham số) để giải thích ngữ nghĩa của một tương tác.
 Thêm vào lược đồ tam điều khiển nếu cần phảibiểu diễn trực quan các thông
báo lồng nhau.
 Thêm vào lược đồ các ràng buộc về thời gian và không gian thich hợp nếu cần.
 Thêm vào lược đồ các điều kiện trước và sau cho mỗi thông báo nếu cần.
III.1.4 Xây dựng lược đồ cộng tác
Mục đích sử dụng lược đồ tương tác là biểu diễn quá trình truyền các thông báo
trong ngữ cảnh của cấu trúc đối tượng.
- Mô hình hoá luồng điều khiển theo tổ chức các đối tượng
 Thiết lập ngữ cảnh cho một tương tác, xem xét nó trong toàn bộ hệ thống, trong
một lớp, một thao tác, một kịch bản của use case hay là một cộng tác.
 Thiết lập giai đoạn cho tương tác.
 Thiết lập đặc tính ban đầu cho mỗi đối tượng.
 Xác định các kết nối giữa các đối tượng, và các thông báo truyền trên các kết
nối đó:

• Xếp các kết nối cấu trúc đầu tiên, đây là các kết nối quan trọng nhất
bởi vì chúng biểu diễn các quan hệ cấu trúc.
• Kế tiếp là xếp các kết nối khác vào trong lược đồ với các streotype thích
hợp (global hay local).
• Bắt đầu cùng với một thông báo khởi tạo tương tác, gắn mỗi thông báo
kế tiếp vào một kết nối thích hợp, thiết lập số thứ tự của thông báo.
• Gắn vào mỗi thông báo các ràng buộc về không gian và thời gian nếu
cần.
• Gắn vào mỗi thông báo các điều trước và điều kiện sau nếu cần. Áp
dụng kỹ nghệ tiến đối với lược đồ tương tác: Ta có thể tạo mã từ các
lược đồ tương tác (cả tuần tự lẫn cộng tác) đặc biệt là trong ngữ cảnh của
một thao tác.
III.1.5 Xây dựng lược đồ hoạt động
Lược đồ hoạt động được có thể được gắn vào bất kỳ một phần tử mô hình nào
nhằm biểu diễn trực quan, đặc tả, xây dựng và lập tài liệu cho hành vi của phần tử đó.
Ta có thể gắn lược đồ hoạt động vào các lớp, giao diện, thành phần, use case và cộng
tác. Thành phần phổ biến nhất sử dụng lược đồ hoạt động là thao tác.
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 24
Tìm hiểu ngôn ngữ UML (Unified Modeling Language)
- Mô hình hoá một thao tác
 Xác định các trừu tượng liên quan đến thao tác, bao gồm các tham số thao tác
(bao gồm kiểu giá trị trả về), các thuộc tính và các lớp liên quan.
 Nhận biết các điều kiện trước tại trạng thái khởi đầu của thao tác và điều sau tại
trạng thái cuối cùng của thao tác.
 Xuất phát từ trạng thái ban đầu của thao tác, xác định các hoạt động và hành
động lần lượt xảy ra, sau đó biểu diễn chúng bằng các trạng thái hành động và
hoạt động.
 Sử dụng cấu trúc rẽ nhánh nếu cần thiết để chỉ định các đường điều kiện và
vòng lặp.
 Nếu thao tác được sở hữu bởi các lớp active, sử dụng cơ chế phân chia và hợp

nhất để xác định các luồng điều khiển song song.
III.1.6 Xây dựng lược đồ trạng thái
Mục đích sử dụng lược đồ trạng thái là để mô hình hoá các hành vi của các đối
tượng tương tác, đặc bịêt là các thể hiện của lớp, use case và toàn bộ hệ thống. Trong
khi các tương tác mô hình hoá hành vi của tập các đối tượng tương tác với nhau thì
lược đồ trạng thái mô hình hành vi của một đối tượng riêng lẻ trong thời gian sống của
nó. Trong khi lược đồ hoạt động mô hình hoá luồng điều khiển từ hoạt động đến hoạt
động thì lược đồ trạng thái mô hình luồng điều khiển từ từ sự kiện đến sự kiện. Khi ta
mô hình hành vi phản ứng của đối tượng riêng lẻ thì ta phải xác định ba phần tử cơ bản
sau: các trạng thái ổn định, các sự kiện gây nên sự dịch chuyển trạng thái và các hành
động xảy ra mỗi khi có sự thay đổi trạng thái. Mô hình hoá hành vi của đối tượng đơn
lẻ cũng liên quan đến việc mô hình hoá thời gian sống của đối tượng, bắt đầu từ khi
đối tượng được tạo ra đến khi đối tượng bị phá huỷ.
- Mô hình hoá các đối tượng phản ứng (reactive object)
 Chọn lựa ngữ cảnh cho máy trạng thái, xem nó là một lớp use case hay là toàn
bộ hệ thống.
 Chọn trạng thái ban đầu và kết thúc của đối tượng. Sau đó lần lượt xác định
điều kiện trước và sau của của trạng thái ban đầu và trạng thái kết thúc.
 Xác định các trạng thái ổn định của đối tượng bằng cách xem xét các điều kiện
tồn tại đối tượng trong khoảng thời gian. Bắt đầu với các trạng thái mức cao,
sau đó xem xét các trạng thái con.
 Xác định trình tự các trạng thái trong khoảng thời gian sống của đối tượng.
 Xác định các sự kiện có thể kích hoạt sự chuyển trạng thái. Mô hình hoá những
sự kiện này như là các kích thích đối với sự chuyển dịch trạng thái.
 Gắn các hành động vào các chuyển dịch này hoặc là bản thân các trạng thái.
 Xem xét các cách để đơn giản hoá máy trạng thái bằng cách sử dụng các trạng
thái con, nhánh, phân chia và hợp nhất và trạng thái lịch sử.
 Kiểm tra rằng tất cả các trạng thái đều có thể đi đến được từ bất kỳ một trạng
thái nào.
 Kiểm tra xem không có trạng thái nào là trạng thái chết. Trạng thái chết là trạng

thái không thể đi đến từ bất kỳ một trạng thái nào hoặc là chuyển tới một trạng
thái không thuộc trạng thái của đối tượng.
 Kiểm tra các trình tự của các trạng thái và phản ứng mong đợi của nó bằng các
công cụ.
Sinh viên thực hiện: Nguyễn Thị Thanh Thủy-CNTT-46 25

×