ỦY BAN NHÂN DÂN TỈNH AN GIANG
TRƯỜNG CAO ĐẲNG NGHỀ AN GIANG
GIÁO TRÌNH
MƠN HỌC: UML
NGHỀ: LẬP TRÌNH MÁY TÍNH
TRÌNH ĐỘ: CAO ĐẲNG
(Ban hành theo Quyết định số:
/QĐ-CĐN, ngày tháng
của Hiệu trưởng trường Cao đẳng nghề An Giang)
An Giang, năm 2020
năm 20
TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thơng tin có thể đƣợc
phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh
thiếu lành mạnh sẽ bị nghiêm cấm.
LỜI NÓI ĐẦU
Phƣơng pháp luận phát triển các hệ thống thông tin luôn là một trong những chủ
đề quan trọng nhất của công nghệ thông tin. Trải qua một giai đoạn tiến hoá lâu dài,
phát triển theo cách tiếp cận hƣớng đối tƣợng đã dần dần chiếm ƣu thế và ngày càng
trở nên phổ biến và đã đƣợc chuẩn hố trong cơng nghiệp phần mềm.
Cùng với sự ra đời của ngơn ngữ mơ hình hố thống nhất UML và nhiều công cụ
hỗ trợ nhƣ Rational Rose, AgroUML…phƣơng pháp luận phát triển phần mềm hƣớng
đối tƣợng đã đƣợc áp dụng rộng rãi trong công nghiệp phần mềm trên khắp thế giới.
Ngôn ngữ UML hiện thời vẫn đang đƣợc phát triển để đáp ứng cho nhiều yêu cầu và
nhiều dạng hệ thống khác nhau nhƣ hệ phân tán, hệ nhúng…
Tài liệu này nhằm giới thiệu cho sinh viên các khái niệm cơ bản của hƣớng đối
tƣợng và UML, sau đó trình bày các bƣớc phân tích thiết kế hệ thống thông tin dựa
trên UML và công cụ Rational Rose. Nội dung của tài liệu gồm 4 chƣơng:
Chƣơng 1: Mở đầu. Giới thiệu các dạng hệ thống thông tin và các khái niệm cơ
bản của cách tiếp cận hƣớng đối tƣợng; vòng đời phát triển hệ thống và
so sánh các cách tiếp cận phát triển hệ thống.
Chƣơng 2: UML và Cơng cụ phát triển hệ thống. Trình bày các khái niệm cơ
bản của UML, các biểu đồ, các ký hiệu UML và các bƣớc phát triển hệ
thống sử dụng các biểu đồ đó. Chƣơng này cũng giới thiệu cơng cụ
Rational Rose cho phân tích thiết kế hệ thống thơng tin.
Chƣơng 3: Phân tích hƣớng đối tƣợng. Trình bày các bƣớc phân tích hệ thống
theo các biểu đồ UML bao gồm: xây dựng mơ hình usecase, xây dựng
mơ hình lớp và biểu đồ trạng thái. Tài liệu cũng đƣa ra những gợi ý
cho từng bƣớc và hƣớng dẫn sử dụng cơng cụ Rational Rose cho các
bƣớc đó.
1
Chƣơng 4: Thiết kế hƣớng đối tƣợng. Trình bày các bƣớc thiết kế hệ thống bao
gồm: xây dựng các biểu đồ tƣơng tác, biểu đồ lớp chi tiết, thiết kế chi
tiết và xây dựng biểu đồ triển khai hệ thống. Tài liệu cũng có những
gợi ý cho từng bƣớc của pha thiết kế.
Tài liệu này đƣợc xây dựng nhằm đáp ứng nhu cầu học tập của sinh viên. Do
thời gian có hạn nên phiên bản đầu tiên này chắc chắn cịn nhiều hạn chế và thiếu
sót. Rất mong nhận đƣợc những đóng góp ý kiến của các đồng nghiệp và sinh
viên.
2
MỤC LỤC
Đề mục
Trang
LỜI NÓI ĐẦU .............................................................................................................. 1
CHƢƠNG 1: MỞ ĐẦU ................................................................................................ 6
I. CÁC HỆ THỐNG THÔNG TIN ............................................................................ 6
II. KHÁI QUÁT VÕNG ĐỜI PHÁT TRIỂN HỆ THỐNG THÔNG TIN ................ 7
III. CÁC CÁCH TIẾP CẬN PHÂN TÍCH THIẾT KẾ HỆ THỐNG ...................... 10
IV. CÁC KHÁI NIỆM CƠ BẢN CỦA HƢỚNG ĐĨI TƢỢNG ............................ 13
V. CÁC BƢỚC PHÂN TÍCH THIẾT KẾ HƢỚNG ĐỐI TƢỢNG ........................ 14
TỔNG KẾT CHƢƠNG 1 ........................................................................................ 15
CÂU HỎI VÀ BÀI TẬP .......................................................................................... 16
CHƢƠNG 2 UML VÀ CÔNG CỤ PHÁT TRIỂN HỆ THỐNG .............................. 17
I. GIỚI THIỆU VỀ UML ......................................................................................... 17
II. CÁC BIỂU ĐỒ UML .......................................................................................... 21
III. GIỚI THIỆU CÔNG CỤ RATIONAL ROSE .................................................. 42
TỔNG KẾT CHƢƠNG 2 ........................................................................................ 45
CÂU HỎI – BÀI TẬP .............................................................................................. 46
CHƢƠNG 3: PHÂN TÍCH HƢỚNG ĐỐI TƢỢNG .................................................. 47
I. TỔNG QUAN VỀ PHÂN TÍCH HƢỚNG ĐỐI TƢỢNG ................................... 47
II. MƠ HÌNH USECASE VÀ KỊCH BẢN .............................................................. 49
III. MƠ HÌNH LỚP .................................................................................................. 63
IV. MƠ HÌNH ĐỘNG DỰA TRÊN BIẺU ĐỒ TRẠNG THÁI ............................. 71
TỔNG KẾT CHƢƠNG 3 ........................................................................................ 77
CÂU HỎI – BÀI TẬP .............................................................................................. 78
CHƢƠNG 4: THIẾT KẾ HƢỚNG ĐỐI TƢỢNG ..................................................... 79
I. TỔNG QUAN VỀ THIẾT KẾ HƢỚNG ĐỐI TƢỢNG ...................................... 79
II. CÁC BIỂU ĐỒ TƢƠNG TÁC ........................................................................... 80
3
III. BIỂU ĐỒ LỚP CHI TIẾT .................................................................................. 87
III. THIẾT KẾ CHI TIẾT ......................................................................................... 91
IV. BIỂU ĐỒ THÀNH PHẦN VÀ BIỂU ĐỒ TRIỂN KHAI ................................. 95
TỔNG KẾT CHƢƠNG 4 ......................................................................................... 99
CÂU HỎI – BÀI TẬP ............................................................................................ 100
TÀI LIỆU THAM KHẢO ......................................................................................... 101
4
GIÁO TRÌNH MƠN HỌC
Tên mơn học: UML
Mã số mơn học: MH 21
Thời gian môn học: 60 giờ; (Lý thuyết: 20h; Thực hành: 38h; Kiểm tra:2h)
Số tín chỉ: 3
I. VỊ TRÍ, TÍNH CHẤT CỦA MƠN HỌC:
1. Vị trí: Mơn học đƣợc bố trí sau khi học xong các mơđun mơn học Phân tích
thiết kế hệ thống, Cơ sở dữ liệu , Lập trình nâng cao, Thiết kế hƣớng đối tƣợng.
2.Tính chất: Là môn học lý thuyết chuyên ngành tự chọn.
II. MỤC TIÊU MƠN HỌC:
* Về mặt kiến thức
Trình bày đƣợc các nguyên tắc phân tích thiết kế hƣớng đối tƣợng (OOAD) và
vai trị của ngơn ngữ mơ hình hợp nhất (UML).
* Về mặt kỹ năng:
Phân tích đƣợc các yêu cầu của hệ thống với các usecase, phân tích các lớp từ
một tập hợp ban đầu các yêu cầu hệ thống, biết mô tả rõ sự tƣơng tác đối tƣợng trong
UML và xác định các mối liên kết và sự thừa kế giữa các lớp, biết áp dụng các
nguyên tắc chính của thiết kế và thực hiện một mơ hình hƣớng đối tƣợng qua sử
dụng Rational Rose.
* Về năng lực tự chủ và trách nhiệm
Rèn luyện thái độ làm việc cẩn thận, nghiêm túc khi thiết kế chƣơng trình.
5
CHƢƠNG 1: MỞ ĐẦU
Giới thiệu:
Chƣơng này tập trung trình bày các nội dung sau đây:
- Các hệ thống thông tin và vấn đề phát triển hệ thống thông tin
- Khái qt vịng đời phát triển hệ thống thơng tin
- Các cách tiếp cận phân tích và thiết kế hệ thống
- Các khái niệm cơ bản của hƣớng đối tƣợng
Mục tiêu:
- Phân biệt giữa phân tích và thiết kế.
- Giải thích tầm quan trọng quá trình chu trình cuộc sống phần mềm.
- Liệt kê đƣợc các ƣu thế của việc sử dụng hƣớng đối tƣợng.
- Mơ tả vai trị của UML trong phân tích và thiết kế.
- Liệt kê các giai đoạn và thành phần tiến trình của tiến trình Objectory.
Nội dung chính:
I. CÁC HỆ THỐNG THƠNG TIN
Ngày nay, hệ thống thông tin đã đƣợc ứng dụng trong mọi lĩnh vựa khác
nhau của đời sống xã hội. Tuỳ theo quan điểm mà có thể phân loại các hệ thống
thơng tin theo các tiêu chí khác nhau. Xét về mặt ứng dụng, hệ thống thơng tin có
thể đƣợc phân chia thành một số dạng nhƣ sau:
Hệ thống thông tin quản lý: Bao gồm các hệ thống thông tin hỗ trợ các hoạt
động nghiệp vụ và quản lý của các doanh nghiệp, các tổ chức. Ví dụ các hệ
thống quản lý nhân sự, hệ thống kế tốn, hệ thống tính cƣớc và chăm sóc
khách hàng, hệ thống quản lý thƣ viện, hệ thống đào tạo trực tuyến ...
Các hệ thống Website: là các hệ thống có nhiệm vụ cung cấp thơng tin cho
ngƣời dùng trên môi trƣờng mạng Internet. Các hệ thống Website có đặc
điểm là thơng tin cung cấp cho ngƣời dùng có tính đa dạng (có thể là tin tức
hoặc các dạng file đa phƣơng tiện) và đƣợc cập nhật thƣờng xuyên.
Hệ thống thương mại điện tử: Là các hệ thống website đặc biệt phục vụ việc
trao đổi mua bán hàng hố, dich vụ trên mơi trƣờng Internet. Hệ thống
6
thƣơng mại điện tử bao gồm cả các nền tảng hỗ trợ các giao thức mua bán,
các hình thức thanh toán, chuyển giao hàng hoá ...
Hệ thống điều khiển: là các hệ thống phần mềm gắn với các thiết bị phần
cứng hoặc các hệ thống khác nhằm mục đích điều khiển và giám sát hoạt
động của thiết bị hay hệ thống đó.
Mỗi loại hệ thống thơng tin có những đặc trƣng riêng và cũng đặt ra những yêu
cầu riêng cho việc phát triển hệ thống. Ví dụ, các hệ thống điều khiển địi hỏi những
u cầu về mơi trƣờng phát triển, hệ điều hành và ngơn ngữ lập trình riêng; các hệ
website thực thi các chức năng trên mội trƣờng mạng phân tán địi hỏi cách phát
triển riêng...Do vậy, khơng có một phƣơng pháp luận chung cho tất cả các dạng hệ
thống thông tin.
Phạm vi của tài liệu này nhằm giới thiệu một số khái niệm cơ bản của UML cho
phát phiển các hệ thống và để dễ dàng minh hoạ chúng ta sẽ xem xét vấn đề phát
triển dạng hệ thống thông tin phổ biến nhất là hệ thống thông tin quản lý.
II. KHÁI QUÁT VÕNG ĐỜI PHÁT TRIỂN HỆ THỐNG THƠNG TIN
Việc phát triển các hệ thống thơng tin khơng chỉ đơn giản là lập trình mà ln
đƣợc xem nhƣ một tiến trình hồn chỉnh.
Tiến trình phần mềm là phương cách sản xuất ra phần mềm với các thành phần
chủ yếu bao gồm: mơ hình vịng đời phát triển phần mềm, các công cụ hỗ trợ cho
phát triển phần mềm và những người trong nhóm phát triển phần mềm.
Nhƣ vậy, tiến trình phát triển phần mềm nói chung là sự kết hợp cả hai khía cạnh
kỹ thuật (vịng đời phát triển, phƣơng pháp phát triển, các công cụ và ngơn ngữ sử
dụng, …) và khía cạnh quản lý (quản lý dự án phần mềm).
Mơ hình vịng đời phần mềm là các bƣớc phát triển một sản phẩm phần mềm cụ
thể. Một vòng đời phát triển phẩn mềm thƣờng có các pha cơ bản sau:
Pha xác định yêu cầu: khám phá các khái niệm liên quan đến việc phát
triển phần mềm, xác định chính xác yêu cầu và các ràng buộc của khách
hàng với sản phẩm phần mềm đó.
Pha phân tích: mơ tả chức năng của sản phẩm, các input của sản phẩm và
các output đƣợc yêu cầu; khám phá các khái niệm trong miền quan tâm của
sản phẩm và bƣớc đầu đƣa ra giải pháp xây dựng hệ thống.
7
Pha thiết kế: xác định cụ thể phần mềm sẽ đƣợc xây dựng nhƣ thế nào. Pha
thiết kế bao gồm hai mức là thiết kế kiến trúc và thiết kế chi tiết.
Pha cài đặt tích hợp: cài đặt chi tiết và tích hợp hệ thống phần mềm dựa
trên kết quả của pha thiết kế.
Pha bảo trì: tiến hành sửa chữa phần mềm khi có các thay đổi. Đây là pha
rất quan trọng, tiêu tốn nhiều thời gian và chi phí nhất trong tiến trình phát
triển phần mềm. Pha loại bỏ: thực hiện loại bỏ phần mềm hoặc thay thế
phần mềm bởi một phần mềm hồn tồn mới.
Thơng thƣờng hai q trình khơng thể thiếu đƣợc trong vịng đời phát triển phần
mềm là viết tài liệu và kiểm thử. Các quá trình này khơng trở thành một pha riêng
biệt mà đƣợc tiến hành song song với tất cả các pha khác trong tiến trình phần mềm
nghĩa là tất cả các pha đều phải viết tài liệu và kiểm thử với các mức độ khác nhau.
Có rất nhiều mơ hình vịng đời phần mềm nhƣng hai mơ hình đơn giản và đƣợc
sử dụng rộng rãi nhất là mơ hình thác nƣớc và mơ hình làm bản mẫu nhanh.
1. Mơ hình thác nƣớc
Theo mơ hình thác nƣớc, sau khi u cầu của hệ thống đã đƣợc xác định và kiểm
tra bởi nhóm SQA, pha phân tích sẽ đƣợc tiến hành để xây dựng tài liệu. Sau khi tài
liệu phân tích đƣợc khách hàng chấp nhận, nhóm phát triển sẽ tiến hành lập kế
hoạch và lịch biểu cho các quá trình phát triển tiếp theo. Sau đó, các pha thiết kế,
cài đặt và tích hợp sẽ lần lƣợt đƣợc tiến hành; mỗi pha này đều có phần kiểm tra để
khi cần có thể quay lại sửa đổi tài liệu của pha trƣớc đó. Khi phần mềm đã đƣợc
triển khai và chuyển sang pha bảo trì; nếu có lỗi hoặc thay đổi xảy ra, nhóm thiết kế
sẽ phải quay trở lại sửa đổi tài liệu cho một trong các pha trƣớc đó và nếu cần có
thể quay trở lại thay đổi một số yêu cầu ban đầu của hệ thống.
Vì các pha cứ nối tiếp nhau một cách liên tục nhƣ một thác nƣớc nên mơ hình
này đƣợc gọi là mơ hình thác nƣớc. Tiến trình phần mềm theo mơ hình thác nƣớc
đƣợc biểu diễn nhƣ trong Hình 1.1. Mơ hình thác nƣớc có một số ƣu điểm nhƣ sau:
- Có vịng lặp, cho phép trở về pha trƣớc trong vòng đời phần mềm để sữa
chữa khi phát hiện lỗi hoặc khi có thay đổi.
- Hƣớng tài liệu: tất cả các pha trong vòng đời phần mềm theo mơ hình thác
nƣớc đều đƣợc viết tài liệu cẩn thận và đƣợc kiểm tra bởi nhóm SQA
8
trƣớc khi chuyển sang pha tiếp theo. Do vậy, hệ thống sẽ dễ dàng bảo trì
khi có những thay đổi.
Tuy nhiên, mơ hình thác nƣớc cũng có nhƣợc điểm là sản phẩm phần mềm
cuối cùng có thể khơng thỏa mãn nhu cầu thực sự của khách hàng. Lý do là khách
hàng chỉ đƣợc trao đổi một lần duy nhất và chƣa đƣợc hình dung sản phẩm nên rất
có thể các pha tiếp theo sẽ khơng thực hiện đúng những gì khách hàng cần.
Hình 1.1: Tiến trình phần mềm theo mơ hình thác nƣớc
2. Mơ hình làm bản mẫu nhanh
Trong mơ hình làm bản mẫu nhanh, bƣớc đầu tiên là nhóm phát triển sẽ xây
dựng một bản mẫu và giao cho khách hàng và ngƣời sử dụng hệ thống dùng thử.
Khi khách hàng đồng ý chấp nhận bản mẫu thì nhóm phát triển mới tiếp tục tiến
hành các pha khác của vòng đời phần mềm. Trong các pha tiếp theo, do đã có bản
mẫu nên các pha sẽ đƣợc tiến hành liên tục và khơng có bƣớc quay về pha trƣớc đó.
Chỉ khi hệ thống đã triển khai và chuyển sang pha bảo trì, nếu có thay đổi hay phát
hiện lỗi thì nhóm phát triển mới quay lại một trong những pha trƣớc đó, nhƣng
khơng quay lại pha làm bản mẫu vì bản mẫu đã đƣợc chấp nhận.
9
Ƣu điểm chính của mơ hình này là “nhanh” và hơn nữa do sản phẩm phần mềm
đƣợc tạo ra từ mơ hình làm bản mẫu nên có khả năng cao là đảm bảo thỏa mãn yêu
cầu thực sự của khách hàng. Tuy nhiên, mơ hình làm bản mẫu nhanh cũng có nhƣợc
điểm do các pha đƣợc tiến hành liên tục mà khơng đƣợc viết tài liệu. Mơ hình làm
bản mẫu nhanh đƣợc biểu diễn nhƣ trong Hình 1.2.
Hình 1.2: Vịng đời phát triển phần mềm theo mơ hình làm bản mẫu
nhanh
III. CÁC CÁCH TIẾP CẬN PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Trong những năm 70 - 80, phƣơng pháp hƣớng cấu trúc đƣợc coi là phƣơng
pháp chuẩn để phát triển phần mềm. Tuy nhiên, phƣơng pháp này tỏ ra không phù
hợp trong phát triển các hệ phần mềm lớn và đặc biệt là kém hiệu quả trong sử dụng
lại - một yêu cầu quan trọng trong công nghiệp phần mềm. Thập niên 90 chứng kiến
sự nở rộ trong nghiên cứu và xây dựng phƣơng pháp luận phát triển phần mềm
10
hƣớng đối tƣợng và nhanh chóng trở thành phổ biến trong công nghiệp phần mềm
ngày nay. Để hiểu rõ phần nào sự khác biệt này phần này dành so sánh một số khác
biệt giữa hai phƣơng pháp này.
1. Phƣơng pháp hƣớng cấu trúc
Đặc trƣng của phƣơng pháp hƣớng cấu trúc là phân chia chƣơng trình chính
thành nhiều chƣơng trình con, mỗi chƣơng trình con nhằm đến thực hiện một cơng
việc xác định.
Trong phƣơng pháp hƣớng cấu trúc, phần mềm đƣợc thiết kế dựa trên một trong
hai hƣớng: hƣớng dữ liệu và hƣớng hành động. Cách tiếp cận hƣớng dữ liệu xây
dựng phần mềm dựa trên việc phân rã phần mềm theo các chức năng cần đáp ứng
và dữ liệu cho các chức năng đó. Cách tiếp cận hƣớng dữ liệu sẽ giúp cho những
ngƣời phát triển hệ thống dễ dàng xây dựng ngân hàng dữ liệu.
Cách tiếp cận hƣớng hành động lại tập trung phân tích hệ phần mềm dựa trên
các hoạt động thực thi các chức năng của phần mềm đó.
Cách thức thực hiện của phƣơng pháp hƣớng cấu trúc là phương pháp thiết kế
từ trên xuống (top-down). Phƣơng pháp này tiến hành phân rã bài toán thành các
bài toán nhỏ hơn, rồi tiếp tục phân rã các bài tốn con cho đến khi nhận đƣợc các
bài tốn có thể cài đặt đƣợc ngay sử dụng các hàm của ngơn ngữ lập trình hƣớng
cấu trúc.
Phƣơng pháp hƣớng cấu trúc có ƣu điểm là tƣ duy phân tích thiết kế rõ ràng,
chƣơng trình sáng sủa dễ hiểu. Tuy nhiên, phƣơng pháp này có một số nhƣợc điểm
sau:
- Khơng hỗ trợ việc sử dụng lại. Các chƣơng trình hƣớng cấu trúc phụ thuộc chặt
chẽ vào cấu trúc dữ liệu và bài tốn cụ thể, do đó khơng thể dùng lại một modul
nào đó trong phần mềm này cho phần mềm mới với các yêu cầu về dữ liệu
khác.
- Không phù hợp cho phát triển các phần mềm lớn. Nếu hệ thống thơng tin lớn,
việc phân ra thành các bài tốn con cũng nhƣ phân các bài toán con thành các
modul và quản lý mối quan hệ giữa các modul đó sẽ là không phải là dễ dàng và
dễ gây ra các lỗi trong phân tích và thiết kế hệ thống, cũng nhƣ khó kiểm thử và
bảo trì.
11
2. Phƣơng pháp hƣớng đối tƣợng
Khác với phƣơng pháp hƣớng cấu trúc chỉ tập trung hoặc vào dữ liệu hoặc vào
hành động, phƣơng pháp hƣớng đối tƣợng tập trung vào cả hai khía cạnh của hệ
thống là dữ liệu và hành động.
Cách tiếp cận hƣớng đối tƣợng là một lối tƣ duy theo cách ánh xạ các thành
phần trong bài tốn vào các đối tƣợng ngồi đời thực. Với cách tiếp cận này, một hệ
thống đƣợc chia tƣơng ứng thành các thành phần nhỏ gọi là các đối tượng, mỗi đối
tƣợng bao gồm đầy đủ cả dữ liệu và hành động liên quan đến đối tƣợng đó.
Các đối tƣợng trong một hệ thống tƣơng đối độc lập với nhau và phần mềm sẽ
đƣợc xây dựng bằng cách kết hợp các đối tƣợng đó lại với nhau thơng qua các mối
quan hệ và tƣơng tác giữa chúng. Các nguyên tắc cơ bản của phƣơng pháp hƣớng
đối tƣợng bao gồm :
• Trừu tượng hóa (abstraction): trong phƣơng pháp hƣớng đối tƣợng, các
thực thể phần mềm đƣợc mơ hình hóa dƣới dạng các đối tƣợng. Các đối
tƣợng này đƣợc trừu tƣợng hóa ở mức cao hơn dựa trên thuộc tính và phƣơng
thức mơ tả đối tƣợng để tạo thành các lớp. Các lớp cũng sẽ đƣợc trừu tƣợng
hóa ở mức cao hơn nữa để tạo thành một sơ đồ các lớp đƣợc kế thừa lẫn
nhau. Trong phƣơng pháp hƣớng đối tƣợng có thể tồn tại những lớp khơng có
đối tƣợng tƣơng ứng, gọi là lớp trừu tượng. Nhƣ vậy, nguyên tắc cơ bản để
xây dựng các khái niệm trong hƣớng đối tƣợng là sự trừu tƣợng hóa theo các
mức độ khác nhau.
• Tính đóng gói (encapsulation) và ẩn dấu thơng tin: các đối tƣợng có thể có
những phƣơng thức hoặc thuộc tính riêng (kiểu private) mà các đối tƣợng
khác không thể sử dụng đƣợc. Dựa trên nguyên tắc ẩn giấu thông tin này, cài
đặt của các đối tƣợng sẽ hoàn toàn độc lập với các đối tƣợng khác, các lớp
độc lập với nhau và cao hơn nữa là cài đặt của hệ thống hoàn toàn độc lập với
ngƣời sử dụng cũng nhƣ các hệ thống khác sử dụng kết quả của nó.
• Tính modul hóa (modularity): các bài tốn sẽ đƣợc phân chia thành những
vấn đề nhỏ hơn, đơn giản và quản lý đƣợc.
• Tính phân cấp (hierarchy): cấu trúc chung của một hệ thống hƣớng đối
tƣợng là dạng phân cấp theo các mức độ trừu tƣợng từ cao đến thấp.
12
Ƣu điểm nổi bật của phƣơng pháp hƣớng đối tƣợng là đã giải quyết đƣợc các
vấn đề nảy sinh với phƣơng pháp hƣớng cấu trúc:
• Hỗ trợ sử dụng lại mã nguồn : Chƣơng trình lập trình theo phƣơng pháp
hƣớng đối tƣợng thƣờng đƣợc chia thành các gói là các nhóm của các lớp đối
tƣợng khác nhau. Các gói này hoạt động tƣơng đối độc lập và hồn tồn có
thể sử dụng lại trong các hệ thống thông tin tƣơng tự.
• Phù hợp với các hệ thống lớn: Phƣơng pháp hƣớng đối tƣợng khơng chia bài
tốn thành các bài tốn nhỏ mà tập trung vào việc xác định các đối tƣợng, dữ
liệu và hành động gắn với đối tƣợng và mối quan hệ giữa các đối tƣợng. Các
đối tƣợng hoạt động độc lập và chỉ thực hiện hành động khi nhận đƣợc yêu
cầu từ các đối tƣợng khác. Vì vậy, phƣơng pháp này hỗ trợ phân tích, thiết kế
và quản lý một hệ thống lớn, có thể mơ tả các hoạt động nghiệp vụ phức tạp
bởi q trình phân tích thiết kế không phụ thuộc vào số biến dữ liệu hay số
lƣợng thao tác cần thực hiện mà chỉ quan tâm đến các đối tƣợng tồn tại trong
hệ thống đó.
IV. CÁC KHÁI NIỆM CƠ BẢN CỦA HƢỚNG ĐÓI TƢỢNG
Một số khái niệm cơ bản trong hƣớng đối tƣợng bao gồm:
• Đối tƣợng (object): một đối tƣợng biểu diễn một thực thể vật lý, một thực
thể khái niệm hoặc một thực thể phần mềm. Có thể định nghĩa một đối tƣợng
là một khái niệm, sự trừu tƣợng hoặc một vật với giới hạn rõ ràng và có ý
nghĩa với một ứng dụng cụ thể.
• Lớp (Class): là mơ tả của một nhóm đối tƣợng có chung các thuộc tính, hành
vi và các mối quan hệ. Nhƣ vậy, một đối tƣợng là thể hiện của một lớp và
một lớp là một định nghĩa trừu tƣợng của đối tƣợng.
• Thành phần (component): là một phần của hệ thống hoạt động độc lập và
giữ một chức năng nhất định trong hệ thống.
• Gói (package): là một cách tổ chức các thành phần, phần tử trong hệ thống
thành các nhóm. Nhiều gói có thể đƣợc kết hợp với nhau để trở thành một hệ
thống con (subsystem).
• Kế thừa: Trong phƣơng pháp hƣớng đối tƣợng, một lớp có thể có sử dụng lại
các thuộc tính và phƣơng thức của một hoặc nhiều lớp khác. Kiểu quan hệ
này gọi là quan hệ kế thừa, đƣợc xây dựng dựa trên mối quan hệ kế thừa
13
trong bài tốn thực tế. Ví dụ, giải sử ta có lớp Người gồm các thuộc tính : tên,
ngày sinh, q qn, giới tính ; Lớp Nhân Viên có quan hệ kế thừa từ lớp
Người sẽ có tất cả các thuộc tính trên và bổ sung thêm các thuộc tính mới
gồm : chức vụ, lương.
Vòng đời phát triển phần mềm hƣớng đối tƣợng cũng có các pha tƣơng tự nhƣ
các vịng đời phát triển phần mềm nói chung, bao gồm:
• Phân tích hƣớng đối tƣợng: xây dựng một mơ hình chính xác để mơ tả hệ
thống cần xây dựng là gì. Thành phần của mơ hình này là các đối tƣợng gắn với
hệ thống thực.
• Thiết kế hƣớng đối tƣợng: Là giai đoạn tổ chức chƣơng trình thành các tập
hợp đối tƣợng cộng tác, mỗi đối tƣợng trong đó là thực thể của một lớp. Kết
quả của pha thiết kế cho biết hệ thống sẽ đƣợc xây dựng nhƣ thế nào qua các
bản thiết kế kiến trúc và thiết kế chi tiết.
• Lập trình và tích hợp: Thực hiện bản thiết kế hƣớng đối tƣợng bằng cách sử
dụng các ngôn ngữ lập trình hƣớng đối tƣợng (C++, Java, …).
V. CÁC BƢỚC PHÂN TÍCH THIẾT KẾ HƢỚNG ĐỐI TƢỢNG
Các bƣớc phân tích thiết kế hƣớng đối tƣợng đƣợc xây dựng dựa trên biểu đồ
các ký hiệu UML. Đó là ngơn ngữ mơ hình hố thống nhất đƣợc xây dựng để mơ
hình hố q trình phát triển hệ thống phần mềm hƣớng đối tƣợng.
Biểu đồ usecase
Biểu đồ lớp
Biểu đồ trạng thái
Biểu đồ tuần tự
Pha
phân
tích
Biểu đồ cộng tác
Biểu đồ hoạt động
Pha
Biểu đồ thành phần
thiết
kế
Biểu đồ triển khai HT
Hình 1.3: Các bƣớc phát triển hệ thống hƣớng đối tƣợng
14
Pha phân tích
Xây dựng Biểu đồ usecase: Dựa trên tập yêu cầu ban đầu, ngƣời phân tích
tiến hành xác định các tác nhân, usecase và các quan hệ giữa các usecase để
mô tả lại các chức năng của hệ thống. Một thành phần quan trọng trong
biểu đồ usecase là các kịch bản mô tả hoạt động của hệ thống trong mỗi
usecase cụ thể.
Xây dựng Biểu đồ lớp: Xác định tên các lớp, các thuộc tính của lớp, một số
phƣơng thức và mối quan hệ cơ bản trong sơ đồ lớp.
Xây dựng biểu đồ trạng thái: Mô tả các trạng thái và chuyển tiếp trạng thái
trong hoạt động của một đối tƣợng thuộc một lớp nào đó.
Trong Pha thiết kế
Xây dựng các biểu đồ tƣơng tác (gồm biểu đồ cộng tác và biểu đồ tuần tự):
mô tả chi tiết hoạt động của các usecase dựa trên các scenario đã có và các lớp đã
có và các lớp đã xác định trong pha phân tích.
Xây dựng biểu đồ lớp chi tiết: tiếp tục hoàn thiện biểu đồ lớp bao gồm bổ
sung các lớp còn thiếu, dựa trên biểu đồ trạng thái để bổ sung các thuộc tính, dựa
trên biểu đồ tƣơng tác để xác định các phƣơng thức và mối quan hệ giữa các lớp.
Xây dựng biểu đồ hoạt động: mô tả hoạt động của các phƣơng thức phức tạp
trong mỗi lớp hoặc các hoạt động hệ thống có sự liên quan của nhiều lớp. Biểu đồ
hoạt động là cơ sở để cài đặt các phƣơng thức trong các lớp.
Xây dựng biểu đồ thành phần: xác định các gói, các thành phần và tổ chức
phần mềm theo các thành phần đó.
Xây dựng biểu đồ triển khai hệ thống: xác định các thành phần và các thiết bị
cần thiết để triển khai hệ thống, các giao thức và dịch vụ hỗ trợ.
TỔNG KẾT CHƢƠNG 1
Chƣơng này đã trình bày các nội dung mở đầu cho phân tích thiết kế hệ thống
hƣớng đối tƣợng. Các nội dung cơ bản cần nhớ gồm :
• Có nhiều loại hệ thống thông tin khác nhau nhƣ : hệ thống thông tin quản lý,
các Website, các hệ thống thƣơng mại, các hệ thống điều khiển ... Mỗi loại hệ
thống thông tin sẽ tƣơng ứng với một phƣơng pháp phát triển riêng.
15
• Việc phát triển các hệ thống thơng tin nói chung đƣợc xem nhƣ một vòng đời
với các pha : Xác định yêu cầu, đặc tả, thiết kế, cài đặt tích hợp, bảo trì và
loại bỏ. Có hai mơ hình vịng đời đơn giản và hay dùng nhất là mơ hình thác
nƣớc và mơ hình làm bản mẫu nhanh.
• Phƣơng pháp phát triển phần mềm hƣớng đối tƣợng tỏ ra có nhiều ƣu điểm
hơn so với phƣơng pháp hƣớng cấu trúc. Các pha đặc trƣng trong vòng đời
phát triển phần mềm hƣớng đối tƣợng là phân tích hƣớng đối tƣợng, thiết kế
hƣớng đối tƣợng và lập trình hƣớng đối tƣợng.
• Các bƣớc phát triển phần mềm hƣớng đối tƣợng đƣợc xây dựng dựa trên các
biểu đồ trong ngôn ngữ mô hình hố thống nhất UML. Chƣơng 2 sẽ trình bày
chi tiết về UML và tập ký hiệu cho các bƣớc phát triển hệ thống.
CÂU HỎI VÀ BÀI TẬP
1.
2.
3.
4.
Kể tên một số ví dụ cho các loại hệ thống thơng tin: hệ thống thông tin
quản lý, hệ thống website thƣơng mại điện tử, hệ thống điều khiển ...
Vì sao nói tiến trình phần mềm là sự kết hợp khía cạnh kỹ thuật và
khía cạnh quản lý.
So sánh ƣu, nhƣợc điểm của phƣơng pháp phát triển phần mềm hƣớng
cấu trúc và hƣớng đối tƣợng.
Trình bày các khái niệm trong hƣớng đối tƣợng : lớp, đối tƣợng, gói,
thành phần, kế thừa. Cho ví dụ.
16
CHƢƠNG 2 UML VÀ CÔNG CỤ PHÁT TRIỂN HỆ THỐNG
Giới thiệu:
Chƣơng này nhằm giới thiệu về ngơn ngữ mơ hình hố thống nhất UML và cơng
cụ phát triển phần mềm hƣớng đối tƣợng. Nội dung cụ thể bao gồm:
- Giới thiệu UML
- Các biểu đồ trong UML
- Các bƣớc phân tích thiết kế hƣớng đối tƣợng sử dụng UML
- Giới thiệu bộ cơng cụ Rational Rose
Mục tiêu:
- Trình bày đƣợc lịch sử của UML.
- Giải thích đƣợc các loại biểu đồ trong UML
- Mơ tả q trình khảo sát hệ thống
- Mơ tả mục đích của việc phát biểu vấn đề.
- Sử dụng đƣợc phần mềm RATIONAL ROSE
Nội dung chính:
I. GIỚI THIỆU VỀ UML
1. Lịch sử ra đời của UML
Việc áp dụng rộng rãi phƣơng pháp hƣớng đối tƣợng đã đặt ra yêu cầu cần phải
xây dựng một phƣơng pháp mơ hình hóa để có thể sử dụng nhƣ một chuẩn chung cho
những ngƣời phát triển phần mềm hƣớng đối tƣợng trên khắp thế giới. Trong khi các
ngôn ngữ hƣớng đối tƣợng ra đời khá sớm, ví dụ nhƣ Simula-67 (năm 1967),
Smalltalk (đầu những năm 1980), C++, CLOS (giữa những năm 1980)…thì những
phƣơng pháp luận cho phát triển hƣớng đối tƣợng lại ra đời khá muộn. Cuối những
năm 80, đầu những năm 1990, một loạt các phƣơng pháp luận và ngơn ngữ mơ hình
hóa hƣớng đối tƣợng mới ra đời, nhƣ Booch của Grady Booch, OMT của James
Rambaugh, OOSE của Ivar Jacobson, hay OOA and OOD của Coad và Yordon.
Mỗi phƣơng pháp luận và ngơn ngữ trên đều có hệ thống ký hiệu riêng,
phƣơng pháp xử lý riêng và công cụ hỗ trợ riêng. Chính điều này đã thúc đẩy những
ngƣời tiên phong trong lĩnh vực mơ hình hố hƣớng đối tƣợng ngồi lại cùng nhau để
tích hợp những điểm mạnh của mỗi phƣơng pháp và đƣa ra một mô hình thống nhất
17
chung. Nỗ lực thống nhất đầu tiên bắt đầu khi Rumbaugh gia nhập nhóm nghiên cứu
của Booch tại tập đồn Rational năm 1994 và sau đó Jacobson cũng gia nhập nhóm
này vào năm 1995.
James Rumbaugh, Grady Booch và Ivar Jacobson đã cùng cố gắng xây dựng
đƣợc một Ngôn Ngữ Mô Hình Hố Thống Nhất và đặt tên là UML (Unifield
Modeling Language) đầu tiên đƣợc đƣa ra năm 1997 và sau đó 1.0. Hiện nay chúng
ta đang sử dụng UML đƣợc chuẩn hoá để trở thành phiên bản ngữ UML phiên bản
2.0.
2. UML – Ngơn ngữ mơ hình hố hƣớng đối tƣợng
UML (Unified Modelling Language) là ngơn ngữ mơ hình hố tổng quát đƣợc
xây dựng để đặc tả, phát triển và viết tài liệu cho các khía cạnh trong phát triển phần
mềm hƣớng đối tƣợng. UML giúp ngƣời phát triển hiểu rõ và ra quyết định liên quan
đến phần mềm cần xây dựng. UML bao gồm một tập các khái niệm, các ký hiệu, các
biểu đồ và hƣớng dẫn.
UML hỗ trợ xây dựng hệ thống hƣớng đối tƣợng dựa trên việc nắm bắt khía
cạnh cấu trúc tĩnh và các hành vi động của hệ thống.
Các cấu trúc tĩnh định nghĩa các kiểu đối tƣợng quan trọng của hệ thống,
nhằm cài đặt và chỉ ra mối quan hệ giữa các đối tƣợng đó.
Các hành vi động (dynamic behavior) định nghĩa các hoạt động của các
đối tƣợng theo thời gian và tƣơng tác giữa các đối tƣợng hƣớng tới đích.
Các mục đích của ngơn ngữ mơ hình hố thống nhất UML:
Mơ hình hố các hệ thống sử dụng các khái niệm hƣớng đối tƣợng.
Thiết lập sự liên hệ từ nhận thức của con ngƣời đến các sự kiện cần mơ
hình hố.
Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp với
nhiều ràng buộc khác nhau.
Tạo một ngơn ngữ mơ hình hố có thể sử dụng đƣợc bởi ngƣời và máy.
UML quy định một loạt các ký hiệu và quy tắc để mơ hình hố các pha trong
q trình phát triển phần mềm hƣớng đối tƣợng dƣới dạng các biểu đồ.
18
3. Các khái niệm cơ bản trong UML
a) Khái niệm mơ hình
Mơ hình là một biểu diễn của sự vật hay một tập các sự vật trong một lĩnh vực
áp dụng nào đó theo một cách khác. Mơ hình nhằm nắm bắt các khía cạnh quan trọng
của sự vật, bỏ qua các khía cạnh khơng quan trọng và biểu diễn theo một tập ký hiệu
và quy tắc nào đó. Các mơ hình thƣờng đƣợc xây dựng sao cho có thể vẽ đƣợc thành
các biểu đồ dựa trên tập ký hiệu và quy tắc đã cho.
Khi xây dựng các hệ thống, mơ hình đƣợc sử dụng nhằm thoả mãn các mục
đích sau:
Nắm bắt chính xác yêu cầu và tri thức miền mà hệ thống cần phát triển
Thể hịên tƣ duy về thiết kế hệ thống
Trợ giúp ra quyết định thiết kế dựa trên việc phân tích yêu cầu
Tổ chức, tìm kiếm, lọc, kiểm tra và sửa đổi thông tin về các hệ thống
lớn.
Làm chủ đƣợc các hệ thống phức tạp
Các thành phần trong một mơ hình bao gồm:
Ngữ nghĩa và biểu diễn: Ngữ nghĩa là nhằm đƣa ra ý nghĩa, bản chất và
các tính chất của tập các ký hiệu. Biểu diễn là phƣơng pháp thể hiện mơ
hình theo cách sao cho có thể nhìn thấy đƣợc.
Ngữ cảnh: mô tả tổ chức bên trong, cách sử dụng mơ hình trong tiến
trình phần mềm …
b )Các hƣớng nhìn (View) trong UML
Các mơ hình trong UML nhằm mục đích hỗ trợ phát triển các hệ thống phần
mềm hƣớng đối tƣợng. Trong phƣơng pháp luận hƣớng đối tƣợng khơng có sự phân
biệt rạch rịi giữa các pha hay các bƣớc. Tuy nhiên, thông thƣờng UML vẫn đƣợc
chia thành một số hƣớng nhìn và nhiều loại biểu đồ.
Một hƣớng nhìn trong UML là một tập con các biểu đồ UML đƣợc xây dựng
để biểu diễn một khía cạnh nào đó của hệ thống.
Sự phân biệt giữa các hƣớng nhìn là rất linh hoạt. Có thể có những biểu đồ
UML có mặt trong cả hai hƣớng nhìn. Các hƣớng nhìn cùng các biểu đồ tƣơng ứng
đƣợc mơ tả trong bảng sau:
19
Bảng 2.1: Các hƣớng nhìn trong UML
c) Các phần tử mơ hình và các quan hệ
Một số ký hiệu để mơ hình hƣớng đối tƣợng thƣờng gặp trong UML đƣợc biểu
diễn trong Hình 2.2. Đi kèm với các phần tử mơ hình này là các quan hệ. Các quan hệ
này có thể xuất hiện trong bất cứ mơ hình nào của UML dƣới các dạng khác nhau
(nhƣ quan hệ giữa các usecase, quan hệ trong biểu đồ lớp …) (Hình 2.3).
20
NewPackage
NewUseCase
Hình 2.2: Một số phần tử mơ hình thƣờng gặp trong UML
Hình 2.3: Một số dạng quan hệ trong UML
Ý nghĩa của các phần tử mơ hình và các quan hệ sẽ đƣợc giải thích cụ thể hơn
trong các chƣơng sau.
II. CÁC BIỂU ĐỒ UML
Thành phần mơ hình chính trong UML là các biểu đồ:
Biểu đồ usecase biểu diễn sơ đồ chức năng của hệ thống. Từ tập yêu cầu
của hệ thống, biểu đồ usecase sẽ phải chỉ ra hệ thống cần thực hiện điều
gì để thoả mãn các yêu cầu của ngƣời dùng hệ thống đó. Đi kèm với
biểu đồ usecase là các kịch bản.
Biểu đồ lớp chỉ ra các lớp đối tƣợng trong hệ thống, các thuộc tính và
phƣơng thức của từng lớp và các mối quan hệ giữa những lớp đó.
Biểu đồ trạng thái tƣơng ứng với mỗi lớp sẽ chỉ ra các trạng thái mà đối
tƣợng của lớp đó có thể có và sự chuyển tiếp giữa những trạng thái đó.
21
Các biểu đồ tƣơng tác biểu diễn mối liên hệ giữa các đối tƣợng trong hệ
thống và giữa các đối tƣợng với các tác nhân bên ngồi. Có hai loại biểu
đồ tƣơng tác:
Biểu đồ tuần tự: Biểu diễn mối quan hệ giữa các đối tƣợng và giữa các
đối tƣợng và tác nhân theo thứ tự thời gian.
Biểu đồ cộng tác: Biểu diễn mối quan hệ giữa các đối tƣợng và giữa các
đối tƣợng và tác nhân nhƣng nhấn mạnh đến vai trò của các đối tƣợng
trong tƣơng tác.
Biểu đồ hoạt động biểu diễn các hoạt động và sự đồng bộ, chuyển tiếp
các hoạt động, thƣờng đƣợc sử dụng để biểu diễn các phƣơng thức phức
tạp của các lớp.
Biểu đồ thành phần định nghĩa các thành phần của hệ thống và mối liên
hệ giữa các thành phần đó.
Biểu đồ triển khai mơ tả hệ thống sẽ đƣợc triển khai nhƣ thế nào, thành
phần nào đƣợc cài đặt ở đâu, các liên kết vật lý hoặc giao thức truyền
thơng nào đƣợc sử dụng.
Dựa trên tính chất của các biểu đồ, UML chia các biểu đồ thành hai lớp mơ
hình:
- Biểu đồ mơ hình cấu trúc (Structural Modeling Diagrams): biểu diễn các cấu
trúc tĩnh của hệ thống phần mềm đƣợc mơ hình hố. Các biểu đồ trong mơ hình tĩnh
tập trung biểu diễn khía cạnh tĩnh của hệ thống, liên quan đến cấu trúc cơ bản cũng
nhƣ các phần tử chính trong miền quan tâm của bài tốn. Các biểu đồ trong mơ hình
tĩnh bao gồm:
Biểu đồ gói
Biểu đồ đối tƣợng và lớp
Biểu đồ thành phần
Biểu đồ triển khai
-Biểu đồ mơ hình hành vi (Behavioral Modeling Diagrams): Nắm bắt đến các
hoạt động và hành vi của hệ thống, cũng nhƣ tƣơng tác giữa các phần tử bên trong và
bên ngoài hệ thống. Các dạng biểu đồ trong mơ hình động bao gồm:
Biểu đồ usecase
22
Biểu đồ tƣơng tác dạng tuần tự
Biểu đồ tƣơng tác dạng cộng tác
Biểu đồ trạng thái
Biểu đồ động
Chúng ta sẽ lần lƣợt xem xét chi tiết các biểu đồ UML, mỗi biểu đồ sẽ đƣợc
trình bày ý nghĩa của nó, tập kí hiệu UML cho biểu đồ đó và một ví dụ.
1. Biểu đồ usecase
a) Ý nghĩa
Biểu đồ usecase biểu diễn sơ đồ chức năng của hệ thống. Từ tập yêu cầu của hệ
thống, biểu đồ usecase sẽ phải chỉ ra hệ thống cần thực hiện điều gì để thoả mãn các
yêu cầu của ngƣời dùng hệ thống đó. Đi kèm với biểu đồ usecase là các kịch bản
(scenario). Có thể nói, biểu đồ usecase chỉ ra sự tƣơng tác giữa các tác nhân và hệ
thống thông qua các usecase.
Mỗi usecase mô tả một chức năng mà hệ thống cần phải có xét từ quan điểm
ngƣời sử dụng. Tác nhân là con ngƣời hay hệ thống thực khác cung cấp thông tin hay
tác động tới hệ thống.
Một biểu đồ usecase là một tập hợp các tác nhân, các usecase và các mối quan
hệ giữa chúng. Các usecase trong biểu đồ usecase có thể đƣợc phân rã theo nhiều
mức khác nhau.
b) Tập ký hiệu UML cho biểu đồ usecase
Một biểu đồ Usecase chứa các phần tử mô hình biểu thị hệ thống, tác nhân
cũng nhƣ các trƣờng hợp sử dụng và các mối quan hệ giữa các Usecase. Chúng ta sẽ
lần lƣợt xem xét các phần tử mơ hình này:
Hệ thống: Với vai trị là thành phần của biểu đồ usecase, hệ thống biểu diễn
ranh giới giữa bên trong và bên ngoài của một chủ thể trong phần mềm chúng ta đang
xây dựng. Chú ý rằng một hệ thống ở trong biểu đồ usecase không phải bao giờ cũng
nhất thiết là một hệ thống phần mềm; nó có thể là một chiếc máy, hoặc là một hệ
thống thực (nhƣ một doanh nghiệp, một trƣờng đại học, …).
Tác nhân (actor): là ngƣời dùng của hệ thống, một tác nhân có thể là một ngƣời
dùng thực hoặc các hệ thống máy tính khác có vai trị nào đó trong hoạt động của hệ
thống. Nhƣ vậy, tác nhân thực hiện các usecase. Một tác nhân có thể thực hiện nhiều
usecase và ngƣợc lại một usecase cũng có thể đƣợc thực hiện bởi nhiều tác nhân.
23
Các usecase: Đây là thành phần cơ bản của biểu đồ usecase. Các usecase đƣợc
biểu diễn bởi các hình elip. Tên các usecase thể hiện một chức năng xác định của hệ
thống.
Mối quan hệ giữa các usecase: giữa các usecase có thể có các mối quan hệ nhƣ
sau:
Include: usecase này sử dụng lại chức năng của usecase kia.
Extend: usecase này mở rộng từ usecase kia bằng cách thêm vào một
chức năng cụ thể.
Generalization: usecase này đƣợc kế thừa các chức năng từ usecase kia.
Các phần tử mô hình usecase cùng với ý nghĩa và cách biểu diễn của nó đƣợc
tổng kết trong bảng 2.2.
Phần tử mơ
hình
Usecase
Ý nghĩa
Cách biểu diễn
Biểu diễn một chức
Hình ellip chứa
tên của usecase
năng xác định của hệ
thống
Ký hiệu trong biểu
đồ
Usecase name
Là một đối tƣợng bên Biểu diễn bởi một
ngoài hệ thống tƣơng
lớp kiểu actor
tác trực tiếp với các
(hình ngƣời tƣợng
Tác nhân
usecase
trƣng)
Mối quan hệ
giữa các use
case
Extend và include có
dạng các mũi tên đứt
Tùy từng dạng quan hệ nét
Generalization có
dạng mũi tên tam giác.
Biên của hệ
thống
Tách biệt phần bên Đƣợc biểu diễn
trong và bên ngoài hệ bới một hình chữ nhật
thống
rỗng
Bảng 2.2: Các phần tử mơ hình trong biểu đồ usecase
24