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

Đồ án công nghệ thông tin phát triển ứng dụng J2EE với UML (Unified Modeling Language) và Rational Rose

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 (1.2 MB, 105 trang )

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
LỜI NÓI ĐẦU
Nếu như trước đây phần mềm (software) được bán kèm theo máy tính,
phần mềm coi như được cho không thì ngày nay hoàn toàn khác, giá cả phần
cứng hạ xuống và phần mềm dần dần trở nên thống lĩnh. Máy tính trở nên
hữu dụng trong mọi mặt của cuộc sống, sản xuất kinh doanh, khoa học kỹ
thuật, quản lý, giáo dục Để có thể áp dụng máy tính vào những nhu cầu của
đời sống xã hội ta phải có các chương trình điều khiển, quản lý, tính toán và
thực hiện các chức năng như mong muốn mà ta gọi đó là phần mềm. Quy
trình để sản xuất được một phần mềm gồm nhiều công đoạn từ phân tích thiết
kế, đặc tả yêu câu khách hàng cho tới lập trình, bảo trì Mỗi công đoạn là cả
quá trình đòi hỏi kỹ sư phần mềm phải khảo sát tỉ mỉ, chính xác trong từng
thao tác. Chất lượng phần mềm do khâu phân tich thiết kế quyết định là chủ
yếu, do vậy phân tích thiết kế và đặc tả các yêu cầu là giai đoạn quan trọng
nhất.
Nói đến công nghệ phần mềm chúng ta phải kể đến các hệ thống phân tán.
Trong thời kỳ phát triển mạnh của mạng toàn cầu – Internet, các ứng dụng
phân tán phát triển rất mạnh và mang tính cấp thiết. Nó đem lại lợi ích vô
cùng to lớn cho con người. Nhằm tìm hiểu theo hướng phát triển này, đồ án
của em tiếp cận một công nghệ xây dựng ứng dụng phân tán, đa tầng có tính
bảo mật cao. Đó là công nghệ J2EE- Java 2 Platform, Enterprise Edition, nó
tương đối mới. Cùng với công nghệ này, ngôn ngữ mô hình thuần nhất
(UML- Unified Modeling Language) là ngừời bạn đồng hành để mô hình hóa,
hiện thực hoá ứng dụng trong quá trình phân tích và thiết kế hướng đối tượng.
Trong đồ án tốt nghiệp em phát triển ứng dụng J2EE với UML (Unified
Modeling Language) và Rational Rose. Trong thời gian ngắn cũng như khả
năng, trong đồ án còn nhiều sai sót, rất mong sự chỉnh sửa của thầy hướng
Trang 1
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
dẫn và sự góp ý từ phía người đọc. Một lần nữa em xin cảm ơn thầy Nguyễn
Thanh Tùng đã tận tình hướng dẫn cho em hoàn thành đồ án này.



PHẦN I
GIỚI THIỆU CÔNG NGHỆ
CHƯƠNG 1
GIỚI THIỆU VỀ PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI
TƯỢNG VỚI UML
Mô hình hóa và thiết kế hướng đối tượng là một cách suy nghĩ về vấn đề
sử dụng các mô hình được tổ chức xung quanh các khái niệm thế giới thực.
Trang 2
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Cấu trúc nền tảng là đối tượng, nó kết hợp cả cấu trúc dữ liệu và hành vi vào
trong một thực thể đơn. Các mô hình hướng đối tượng là có ích cho việc hiểu
vấn đề, việc trao đổi với người dùng, mô hình hoá các tổ chức kinh doanh,
chuẩn bị tài liệu và thiết kế chương trình cùng cơ sở dữ liệu.
1.1. Các nguyên tắc cơ bản của OO-Object Orientation
1.1.1. Trừu tượng hóa (Abstraction)
Trừu tượng hóa bao gồm việc tập trung vào các khía cạnh bản chất cố hữu
của một thực thể và lờ đi các đặc tính phụ của nó. Trong phát triển hệ thống,
điều này có nghĩa là tập trung vào đối tượng là cái gì và làm cái gì, trước khi
quyết định nó được cài đặt như thế nào. Sử dụng trừu tượng hoá giữa quyền
thực hiện các quyết định lâu dài nhằm tránh các ràng buộc vội vã tới các chi
tiết. Việc sử dụng trừu tượng hóa trong khi phân tích có nghĩa là chỉ giải
quyết với các khái niệm lĩnh vực ứng dụng, không thực hiện các quyết định
thiết kế và cài đặt trước khi hiểu vấn đề. Sử dụng chính xác trừu tượng hoá
cho phép cùng một mô hình được sử dụng cho cả phân tích, thiết kế mức cao,
cấu trúc chương trình, cấu trúc dữ liệu và tài liệu.
1.1.2. Bọc kín (Encapsulation)
Bọc kín (che giấu thông tin) bao gồm việc phân tách các khía cạnh bên
ngoài của đối tượng, từ các chi tiết cài đặt bên trong của đối tượng. Bọc kín
ngăn ngừa một chương trình trở nên quá phụ thuộc lẫn nhau đến nỗi một thay

đổi nhỏ cũng có các hiệu ứng lớn. Việc cài đặt một đối tượng có thể bị thay
đổi mà không ảnh hưởng đến các ứng dụng có dùng đến nó. Việc bọc kín là
không duy nhất đối với các ngôn ngữ hướng đối tượng, nhưng khả năng kêt
hợp cấu trúc dữ liệu và hành vi trong một thực thể đơn thực hiện việc bọc kín
là kỳ diệu hơn so với các ngôn ngữ truyền thống.
1.1.3. Kết hợp dữ liệu và hành vi(data - behavior)
Nơi gọi một thao tác không cần xem xét việc thực hiện thao tác đã cho
tồn tại như thế nào. Đa hình đã di chuyển gánh nặng của việc quyết định sử
Trang 3
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
dụng cài đặt nào từ việc gọi mã tới phân cấp lớp. Trong một hệ thống hướng
đối tượng, phân cấp cấu trúc dữ liệu là đồng nhất với phân cấp kế thừa thao
tác.
1.1.4. Phân chia
Kỹ thuật hướng đối tượng đề xướng việc phân chia tại vài mức khác
nhau. Việc kế thừa cả cấu trúc dữ liệu và hành vi cho phép cấu trúc chung
được chia sẻ trong vài lớp con giống nhau mà không dư thừa. Việc phân chia
mã sử dụng kế thừa là một trong những tiến bộ chính của ngôn ngữ hướng đối
tượng.
Phát triển hướng đối tượng không chỉ cho phép chia sẻ thông tin trong
ứng dụng mà còn đưa ra triển vọng của việc sử dụng lại các thiết kế và mã
trong các đề án tượng lai. Phát triển hướng đối tượng cung cấp các công cụ
như là trừu tượng bọc kín, kế thừa để xây dựng các thư viện của các thành
phần có thể dùng lại được.
1.2. Các khái niệm cơ bản của hướng đối tượng
Khi nói về hướng đối tượng, các khái niệm cơ bản sau đây cần được hiểu
rõ:
• Đối tượng (Object)
• Lớp (Class)
• Thuộc tính (Atribute)

• Thao tác (Operation)
• Giao tiếp – đa hình (Interface - Polymorphism)
• Thành phần (Component)
• Đóng gói (Package)
Trang 4
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
• Hệ thống con (Subsystem)
• Quan hệ (Relationship)
Tất cả các khái niệm này được trình bày trong phần “tổng quan về UML”
ở phần sau.
1.3. Phát triển hướng đối tượng là gì?
Phát triển hướng đối tượng là một cách suy nghĩ mới về phần mềm đặt cơ
sở trên những khái niệm trừu tượng đang tồn tại trong thế giới thực. Bản chất
của việc phát triển hướng đối tượng là nhận biết và tổ chức các khái niệm
thuộc lĩnh vực ứng dụng.
1.3.1. Các khái niệm mô hình hoá
Các ngôn ngữ lập trình hướng đối tượng là có ích trong việc loại bỏ các
hạn chế do tính không mềm dẻo của các ngôn ngữ lập trình truyền thống.
Phát triển hướng đối tượng là quá trình nhận thức độc lập với ngôn ngữ
lập trình cho đến các bước cuối cùng. Phát triển hướng đối tượng là hướng
suy nghĩ mới và không là kỹ thuật lập trình. Lợi ích của vấn đề này là giúp
các chuyên gia, phát triển viên và khách hàng biểu lộ các khái niệm trừu
tượng một cách rõ ràng và truyền gởi chúng tới nơi khác. Nó có thể phục vụ
như là một trung gian cho việc xác định, phân tích, lập tài liệu và giao tiếp
cũng như việc lập trình.
1.3.2. Phương pháp hướng đốI tượng
Chúng ta đưa ra phương pháp phát triển hướng đối tượng và các ký hiệu
đồ họa cho việc biểu diễn các khái niệm hướng đối tượng. Phương pháp bao
gồm việc xây dựng một mô hình của lĩnh vực ứng dụng, sau đó thêm các chi
tiết vào nó trong khi thiết kế hệ thống.

Có nhiều phương pháp phân tích và thiết kế hướng đối tượng khác nhau –
tiêu biểu là các phương pháp Booch của Grady Booch, phương pháp OMT
(Object Modeling Technique) của James Rumbaugh, phương pháp OOSE
Trang 5
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
(Object Oriented Software Engineering) của Ivar Jacobson. Nhìn chung, một
cách chắc chắn rằng các phương pháp này đều bao gồm các bước: phân tích,
thiết kế hệ thống, thiết kế đối tượng, cài đặt. Mặc dù vậy, mỗi phương pháp
có cách thức mô hình hoá khác nhau.
Trong đồ án này, em sẽ trình bày phương pháp hướng đối tượng với việc
sử dụng ký pháp của UML để mô hình hoá.
1.4. Lợi ích và sức mạnh của OO
•Cách tiếp cận hướng chức năng
Trước kia chúng ta thường hay sử dụng phương pháp hướng chức năng để
xây dựng hệ thống. Với phương pháp này, dữ liệu và chức năng(hành vi hay
xử lý) được tách ra riêng rẽ. Ở đó, chức năng được coi như là những hành vi
có tính chủ động, còn dữ liệu là bộ phận nắm giữ thông tin một cách bị động
và được tác động bởi các chức năng. Hệ thống được chia thành các chức năng
nhỏ dần cho tới khi nó có thể dễ dàng cho việc mã hoá, còn dữ liệu được gửi
giữa các chức năng này. Một hệ thống được phát triển theo cách này thường
trở nên khó bảo trì. Một vấn đề quan trọng với phương pháp hướng chức năng
là tất cả các chức năng phải biết làm thế nào dữ liệu được lưu trữ, cấu trúc dữ
liệu của nó. Các kiểu khác nhau của dữ liệu có những định dạng khác nhau, vì
thế việc mã hoá chương trình trở nên rắc rối. Hơn nữa, khi ta thay đổi cấu trúc
dữ liệu, dẫn đến ta phải thay đổi tất cả các chức năng liên quan đến cấu trúc
này. Hệ thống được phát triển theo phương pháp này trở nên có tính ổn định
kém. Một chút thay đổi sẽ gây nên hậu quả nghiêm trọng.
Một vấn đề khác đối với phương pháp hướng chức năng là chúng ta
thường không có những tư duy một cách tự nhiên về cấu trúc của vấn đề nó
được cấu tạo như thế nào. Do vậy việc xây dựng hệ thống trở nên khó khăn

hơn.
Trang 6
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Một nguyên nhân khác đối với phương pháp hướng chức năng là hệ thống
rất khó để sửa đổi, tính khả chuyển kém, nhạy cảm với sự thay đổi, vì dữ liệu
và hành vi bị tách riêng.
•Cách tiếp cận hướng đối tượng
Việc phát triển hệ thống theo cách tiếp cận hướng đối tượng sẽ mang lại
cho ta nhiều lợi ích, tiêu biểu là:
- Giảm chi phí bảo trì: bởi vì hầu hết các xử lý trong hệ thống được bọc
kín - dữ liệu và hành vi được gom chung lại, các hành vi có thể được sử dụng
lại và kết hợp thành các hành vi mới.
- Mô hình thế giới thực: hệ thống hướng đối tượng là định hướng để mô
hình thế giới thực. Các đối tượng được tổ chức thành các lớp đối tượng, và
các đối tượng được kết hợp với các hành vi. Mô hình dựa trên đối tượng hơn
là dựa trên dữ liệu và xử lý. Cách thức này gần gũi với tư duy con người, do
vậy việc xây dựng dễ dàng hơn.
- Tính tin cậy cao: bởi vì các hành vi mới được xây dựng từ các đối tượng
đã có sẵn.
- Khả năng sử dụng lại mã nguồn cao: bởi cơ chế kết hợp dữ liệu với hành
vi vào một đối tượng riêng biệt, cơ chế đóng gói, cơ chế bọc kín. Do vậy, dễ
dàng cho việc kế thừa, hay sử dụng lại.
1.5. Tổng quan về UML
UML được viết tắt của cụm từ Unified Modeling Language, tạm dịch là
ngôn ngữ mô hình hợp nhất.
UML là thế hệ kế vị của làn sóng phân tích và thiết kế hướng đối tượng
(OOA & D) xuất hiện trong những năm đầu 80 và cuối những năm 90. UML
phát triển trên sự hợp nhất trong các phương pháp của tác giả Booch,
Rumbaugh (OMT) và Jacopson, và đã được chuẩn hóa bởi OGM.
Trang 7

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
UML được gọi là một ngôn ngữ mô hình hóa dùng để đặc tả, trực quan
hóa dùng để xây dựng và làm sưu liệu cho các hệ thống phần mềm
• Mô hình hóa : giúp cho chúng ta hiểu được thế giới thực, mô hình hóa
thế giới thực để có thể hiểu được những đặc trưng, tính toán các thông số và
dự đoán kết quả sẽ đạt được.
• Ngôn ngữ : Chức năng của UML như là một phương tiện để bày tỏ và
trao đổi tri thức (giao tiếp)
• Trực quan hóa hệ thống : được sử dụng để diễn tả hệ thống một cách
trực quan trước khi nó được thực hiện.
• Xây dựng hệ thống : được sử dụng để hiện thực hóa hệ thống.
• Làm sưu liệu : được sử dụng để nắm bắt kiến thức về hệ thống thông qua
vòng đời của nó.
UML không phải là :
• Một ngôn ngữ lập trình trực quan, mà nó là một ngôn ngữ mô hình.
• Một công cụ, mà nó là một ngôn ngữ đặc tả mô hình
• Một xử lý, mà nó cho phép xử lý
Trang 8
Hình 1.1: sự hợp nhất của UML
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
UML thích hợp với việc giải quyết vấn đề hướng đối tượng. Bất kì ai quan
tâm đến UML đều quen thuộc với nguyên lý cơ bản về việc giải quyết vấn đề
hướng đối tượng, bắt đầu với việc xây dựng mô hình. Mô hình (model ) là sự
trừu tượng hoá vấn đề cơ bản. Phạm vi (domain ) là thế giới thực mà vấn đề
đó mang đến.
Mô hình chứa các đối tượng (objects) tác động lẫn nhau bằng cách gởi các
thông tin (messages) khác nhau. Nếu một đối tượng đang tồn tại thì đối tượng
đó có thuộc tính (attributes) và có các hành vi (behaviors hoặc operations).
Giá trị của các thuộc tính trong đối tượng được xác định bởi trạng thái của nó
(state).

Lớp (Classes) là bảng thiết kế cho các đối tượng. Lớp bao gồm các thuộc
tính (dữ liệu) và các hành vi (phương thức hoặc hàm) trong một thực thể riêng
biệt đơn giản. Các đối tượng là các thể hiện (instance) của các lớp.
1.5.1. Các đặc điểm của UML
Bốn đặc điểm chính của UML để có thể phân biệt với các ngôn ngữ mô
hình khác :
• Đa năng (general-purpose)
• Khả năng ứng dụng rộng rãi (broadly applicable)
• Được hỗ trợ bởi các công cụ (tool- supported)
• Là một chuẩn công nghiệp (industrial standerdized)
1.5.2 Kiến trúc tổng quát của UML
a)Các mô hình .
Xét về đặc điểm tĩnh, các mô hình nắm bắt một số đặc điểm và hành vi của
hệ thống.
Xét về đặc điểm động, nắm bắt các đặc điểm của hệ thống, về cơ bản
chúng lưu trữ các tri thức về mặt ngữ nghĩa.
b) Cấu trúc View
Trang 9
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Ngày nay các hệ thống phần mềm càng trở nên phức tạp, khó khăn do vậy
ta không thể mô hình hóa chúng chỉ bằng một lược đồ hay mô hình. Hệ thống
phải được phân tích dưới nhiều góc độ khác nhau. UML đưa ra định nghĩa về
cấu trúc View. Mỗi View là một thể hiện của hệ thống dưới một khía cạnh
nào đó. Mỗi View có thể bao gồm nhiều loại lược đồ khác nhau (xem hình
1.2)
• Use Case View hay còn gọi là Use model view thể hiện các vấn đề
về giải pháp liên quan đến chức năng tổng quát của hệ thống.
• Logical View hay còn gọi là Structure Model view hoặc Static
view: thể hiện các vấn đề liên quan đến cấu trúc thiết kế hệ thống.
Hình 1.2 : cấu trúc View trong UML

• Process View hay còn gọi là bihavioral model view, Dynamic hay
Collaboration View thể hiện các vấn đề liên quan đến xử lý giao tiếp và
đồng bộ trong hệ thống.
• Deployment View hay còn gọi là Environment model View : thể hiện
các vấn đề liên quan đến việc triển khai hệ thống.
• Một số model View khác có thể được sử dụng khi cần thiết.
c) Các lược đồ. Lược đồ miêu tả các tri thức về mặt cú pháp được miêu tả
quanh cấu trúc, Hình 1.3
Trang 10
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Hình 1.3 : Các lược đồ của UML
♦ Use Case View
Lược đồ người sử dụng (Use Case Diagram) : Mô tả các chức năng của hệ
thống. Lược đồ Use Case diễn tả các Use Case trong hệ thống và các quan hệ
ràng buộc…
♦ Logical View
Lược đồ lớp (Class Diagram) : mô tả cấu trúc tĩnh của hệ thống thể hiện
các phần mà hệ thống có thể xử lý được.
Lược đồ đối tượng (Object Diagram): mô tả cấu trúc tĩnh của hệ thống tại
một thời điểm, nó có thể xem như một thể hiện của lược đồ lớp.
♦ Process View
Trang 11
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Lược đồ tuần tự ( Sequence Diagram ) :Mô tả sự tương tác giữa các thành
phần trong hệ thống theo thời gian.
Lược đồ cộng tác (Collaboration Diagram) : mô tả sự tương tác giữa các
thành phần trong hệ thống theo thời gian và không gian.
Lược đồ trạng thái (State Diagram) : mô tả trạng thái, sự hồi đáp của một
thành phần trong hệ thống khi có những tác động vào nó.
Lược đồ hoạt động (Activity Diagram) : mô tả sự hoạt động của các thành

phần trong hệ thống.
♦ Implementation View
Lược đồ thành phần (Component) : mô tả tổ chức của các thành phần thực
thi trong hệ thống.
♦ Invironmen View
Lược đồ triển khai (Deployment Diagram) : mô tả cấu hình của các thành
phần môi trường và trình tự của các thành phần thực thi trên đó.
1.5.3. Các lược đồ trong UML
Trọng tâm của việc giải quyết vấn đề hướng đối tượng là xây dựng một mô
hình. Mô hình trừu tượng hóa các chi tiết cần thiết của vấn đề cơ bản về thế
giới thực. Trọng tâm của UML được thể hiện qua 8 loại lược đồ khác nhau :
• Use case diagrams (Lược đồ Use case)
• Class diagrams (Lược đồ lớp)
• Sequence diagrams (Lược đồ tuần tự)
• Collaboration diagrams (Lược đồ cộng tác)
• Statechart diagrams (Lược đồ trạng thái)
• Activity diagrams (Lược đồ hoạt động)
• Component diagrams (Lược đồ thành phần)
Trang 12
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
• Deployment diagrams (Lược đồ triển khai)
1.5.3.1. Use case diagrams (Lược đồ use case)
Use case diagrams mô tả hệ thống làm gì từ quan điểm của người quan
sát tổng quan. Điều quan trọng là nhấn mạnh hệ thống làm gì hơn là làm như
thế nào.
Lược đồ Use case quan hệ gần gũi đến các sự kiện. Sự kiện (scenario) là
những gì xảy ra khi ai đó tương tác với hệ thống. Đây là sự kiện về một khoa
y học: một bệnh nhân gọi phòng khám để hẹn gặp cho việc kiểm tra hàng
năm. Người tiếp tân tìm thời gian trống gần nhất trong sổ hẹn gặp và lịch hẹn
gặp cho thời qian đó.

Use case là tập hợp các sự kiện về một công việc đơn giản hoặc mục đích
của nó. actor là người tham gia vào các sự kiện trong phiên làm việc. Actor
đóng vai trò là người hoặc đối tượng hoạt động. Hình dưới là mô tả use case
là Make Appointment, actor là Patient. Mối liên hệ giữa use case và actor là
mội quan hệ kết hợp ( communication association ) (gọi tắt là
communication ).
Hình 1.4: actor và use case
Actor có hình que, Use case có hình bầu dục, mối quan hệ là đường thẳng
liên kết giữa actor và use case.
Lược đồ use case là tập hợp các actor, các use case, các mối quan hệ giữa
chúng. Hình vẽ dưới cho ta 4 use case và 4 actor. Chú ý rằng một use case
đơn giản có thể có nhiều actor.
Trang 13
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Hình 1.5: lược đồ use case
Lược đồ Use case hổ trợ 3 phạm vi sau :
• Xác định các đặc trưng : Use case mới thường thường phát sinh các
yêu cầu mới khi hệ thống phân tích và đưa ra các mô hình.
• Giao tiếp với clients : các kí hiệu đơn giản giúp cho lược đồ use case
có thể giao tiếp với client.
• Phát sinh các trường hợp test : tập hợp các sự kiện cho một use case
có thể đề nghị các trường hợp cho các sự kiện này.
Chi tiết lược đồ Use case
Lược đồ Use case phát hoạ tổng quan của hệ thống. Mỗi lược đồ Use case
có các actor, các use case, các quan hệ. Một lược đồ Use case đơn giản được
mở rộng với các đặc trưng thêm vào để hiển thị thông tin hơn (hình 1.6).
Các đặc trưng của lược đồ Use case
• system boundaries (kết hợp hệ thống)
Trang 14

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
• generalizations (tổng quát hoá)
• includes (bao hàm)
• extensions (mở rộng)
Hình 1.6: lược đồ use case mở rộng
Lược đồ Use case mở rộng lược đồ với các đặc trưng thêm vào.
Hình chữ nhật kết hợp hệ thống ( system boundary ) phân chia hệ thống
từ các actor mở rộng.
Tổng quát hoá (generalization) use case biểu diễn rằng một use case là
một loại đặc biệt đơn giản khác.Pay Bill là use case cha và Bill Insurance là
use case con .Use case con được thay thế bởi use case cha bất cứ khi nào cần
thiết. Sự tổng quát hoá xuất hiện như một dòng với mũi tên hình tam giác ở
đầu hướng về use case cha.
Quan hệ bao hàm ( Include ) quản lý use case thành use case thêm
vào.Quan hệ bao hàm hữu ích khi cùng use case được phân chia thành hai use
case khác nhau. Cả Make Appointment và Request Medication quan hệ bao
hàm với như công việc con. Trong lược đồ, kí hiệu bao hàm là đường gạch
Trang 15
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
đứt, bắt đầu ở use case cơ sở và kết thúc với mũi tên đến use case bao hàm.
Đường gạch đứt được gán nhãn <<include>>.
Quan hệ mở rộng (extend) chỉ ra một use case là một biến đổi của use case
khác. Kí hiệu quan hệ mở rộng là đường gạch đứt, có nhãn là <<extend>> và
một mũi tên hướng về use case cơ sở. Điểm mở rộng (extension point) được
xác định khi use case mở rộng là thích hợp và được viết bên trong use case cơ
sở.
1.5.3.2. Class diagrams (Lược đồ lớp)
Class diagram đưa ra tổng quan hệ thống bằng cách hiển thị các lớp và
quan hệ giữa chúng.
Lược đồ lớp là lược đồ tĩnh, hiển thị những gì tác động nhưng không xảy ra

những gì khi chúng tác động.
Lược đồ lớp dưới đây mô tả một khách hàng đặt hàng. Lớp chính là
Order, kết hợp với nó là Customer và Payment. Payment là một trong 3
loại : Cash, Check, hoặc Credit. Order chứa OrderDetails và kết hợp với
Item.
Hình 1.6:lược đồ lớp
Lược đồ lớp có 3 loại quan hệ :
Trang 16
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
• association (quan hệ kết hợp) một quan hệ giữa các thể hiện của 2
lớp. Đây là một quan hệ kết hợp giữa hai lớp nếu một thể hiện của một lớp
phải biết đến thể hiện khác làm việc với nó. Trong một lược đồ, một quan hệ
kết hợp là một liên kết, kết nối đến hai lớp.
• aggregation (quan hệ thu nạp) mối kết hợp trong một lớp thuộc về
một tập hợp. Một quan hệ thu nạp có một hình thoi cuối điểm được xem là
toàn thể. Trong lược đồ này,Order có một tập hợp là OrderDetails.
• generalization (quan hệ tổng quát hoá) mối liên kết kế thừa diển tả
một lớp là một lớp cha (superclass) của lớp khác. Quan hệ tổng quát hoá có
một hình tam giác biểu diễn lớp cha. Payment là lớp cha của Cash, Check,
và Credit.
Một mối kết hợp có hai đầu giới hạn. Một đầu có thể có một tên vai trò
(role name) để lọc ra tính tự nhiên của mối kết hợp. Ví dụ,OrderDetail là
một đường mẫu của Order.
navigability (tính định hướng) : mũi tên trong quan hệ kết hợp hiển thị
hướng quan hệ có thể xem xét và truy vấn. OrderDetail có thể truy vấn về
mẫu (Item) của nó nhưng không thông qua cách khác. Trong trường hợp này,
OrderDetail có Item. Quan hệ kết hợp có mũi tên có tính định hướng .
multiplicity (bản số ) của một đầu quan hệ là số thể hiện của lớp kết hợp
với một đầu khác. Bản số là một số hoặc một dãy số. Ví dụ : một Order chỉ
có một Customer, nhưng một Customer có nhiều Orders.

Bản số Giải thích
0 1 0 hoặc 1 thể hiện.
0 * hoặc *
Không giới hạn số thể
hiện
1 Chính xác 1 thể hiện
Trang 17
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
1 * Ít nhất 1 thể hiện
Hình 1.7: bản số trong lược đồ lớp
Mỗi lược đồ lớp có các lớp, các quan hệ, và các bản số. Tính định hướng
và các vai trò là các mẫu tuỳ chọn đặt trong lược đồ để làm sáng tỏ.
Chi tiết lược đồ lớp Lược đồ lớp gồm các lớp, các liên kết, các bản số. Lược
đồ lớp có thể biểu diễn nhiều thông tin.
• compositions (thành phần)
• class member visibility and scope (phạm vi và tầm vực của lớp thành
viên)
• dependencies and constraints (phụ thuộc và ràng buộc)
• interfaces (giao diện)
Composition and aggregation (Thành phần và thu nạp)
Quan hệ kết hợp trong đối tượng là phần mở rộng của quan hệ thu nạp.
Thành phần (Composition ) là quan hệ kết hợp với phần (part) thuộc về toàn
bộ (whole), phần không tồn tại nếu không có toàn bộ. Thành phần được hiển
thị bởi hình thoi đặc ở phía cuối toàn bộ.
Trong lược đồ này biểu diễn rằng, một BoxOffice thuộc về một
MovieTheater.Nếu bỏ MovieTheater thì sẽ huỷ BoxOffice. T
Hình 1.8:lược đồ thành phần và thu nạp
Trang 18
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Lớp thông tin: tầm vực (visibility) và phạm vi (scope)

Chú thích lớp là một hình chữ nhật gồm 3 phần : tên lớp, thuộc tính
(attributes) và phương thức (operations). Thuộc tính và phương thức được
gán theo phương thức truy xuất và phạm vi.
Hình 1.9 : lớp thông tin tầm vự và phạm vi
Ví dụ minh hoạ cách sử dụng theo qui ước UML.
• Thành viên tĩnh được gạch dưới. Thành viên làm ví dụ thì không.
• Phương thức được trình bày như sau :
<access specifier> <name> ( <parameter list>) : <return type>
• Danh sách thông số (parameter list) hiển thị mỗi kiểu thông số sau dấu
hai chấm
Dependencies and constraints (Phụ thuộc và ràng buộc)
Phụ thuộc (dependency ) là mối quan hệ giữa hai lớp mà thay đổi lớp này
có thể ảnh hưởng đến lớp khác. Phụ thuộc được vẽ như đường gạch đứt.
Trang 19
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Trong lược đồ lớp Co op dưới đây phụ thuộc vào Company. Nếu thay đổi
Company thì phải thay đổi Co op.
Hình 1.10: quan hệ phụ thuộc và ràng buộc trong lược đồ lớp
Ràng buộc ( constraint ) là điều kiện mà mỗi thực thi về thiết kế phải
hoàn thành. Ràng buộc được biểu diễn dưới hai dấu ngoặc mốc {}. Ràng buộc
trong lược đồ trên chỉ ra rằng một Section có thể là một phần của
CourseSchedule

Interfaces (Giao diện) và stereotypes (Khuôn mẫu)
Giao diện (interface) là một tập hợp các kí hiệu hoạt động. Trong C++,
giao diện được thực hiện như các lớp trừu tượng với các thành viên ảo. Trong
Java chúng được thực hiện trực tiếp.
Lược đồ lớp dưới đây là một mô hình về hội nghị nghề nghiệp. Lớp liên
quan đến hội nghị là SessionTalk (một bảng trình bày đơn giản) và Session
(tập hợp liên quan đến SessionTalk). ShuttleSchedule với danh sách các

ShuttleStop là phần quan trọng để đăng kí ở tại khách sạn. Trong lược đồ có
một ràng buộc, ShuttleStop được phân cấp.
Trang 20
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Có ba giao diện trong lược đồ : IDated, ILocatable, và ITimed. Tên của
giao diện bắt đầu bằng kí tự I và đi kèm với các phương thức trừu tượng được
viết bằng chữ nghiêng.
Một lớp như lớp ShuttleStop, với các phương thức kết hợp trong giao diện
như ILocatable, là implementation ( hoặc realization ) của giao diện.
Lớp ShuttleStop có kiểu mẫu ( stereotype ) << place>>. Kiểu mẫu qui
định phương pháp mở rộng UML, là thành phần mô hình mới được tạo từ các
kiểu tồn tại. Tên kiểu mẫu được viết trên tên lớp. Giao diện là một loại đặc
biệt của kiểu mẫu.
Có hai cách kí hiệu giao diện trong UML : một là kí hiệu như trên, hai là
kí hiệu hình que hoặc hình tròn.
Trong hình tròn chú thích, giao diện là hình tròn với đường thẳng kết nối
đến lớp thi hành.
Hình 1.11:các lớp giao diện trong lược đồ.
Trang 21
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Hình 1.12: các lớp giao diện và khuôn mẫu
Packages (Gói) và objects (Đối tượng)
Để tổ chức các lược đồ lớp phức tạp, ta có thể nhóm các lớp phức tạp vào
trong các gói (packages). Một gói là một tập hợp các thành phần UML liên
quan. Lược đồ dưới đây là một mô hình nghiệp vụ với các lớp được nhóm vào
các gói. Các gói có dạng hình chữ nhật với các nhãn (tab)ở đầu. Tên gói trong
nhãn hoặc trong hình chữ nhật. Đường gạch nối là quan hệ phụ thuộc
(dependencies). Một gói phụ thuộc vào một gói khác nếu sự thay đổi của gói
khác có ảnh hưởng đến sự thay đổi ngay lúc đầu.
Trang 22

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Hình 1.13: lược đồ thành phần
1.5.3.3. Object diagrams (Lược đồ đối tượng) là một loại đặc biệt của lược
đồ lớp, biểu diễn các thể hiện thay vì các lớp. Chúng dùng để giải thích các
mối quan hệ phức tạp, đặc biệt là quan hệ đệ qui.
Lược đồ lớp dưới đây hiển thị một Department có thể chứa nhiều
Departments khác.
Hình 1.14: lược đồ lớp thể hiện quan hệ đệ qui
Lược đồ đối tượng dưới đây giải thích lược đồ lớp.
Trang 23
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Hình 1.15: lược đồ đốI tượng
Mỗi hình chữ nhật trong lược đồ tương ứng với một thể hiện. Tên thể hiện
được gạch dưới trong lược đồ UML. Tên lớp hoặc tên thể hiện có thể được
loại bỏ từ lược đồ đối tượng nhưng ý nghĩa lược đồ vẫn rõ.
1.5.3.4. Sequence diagrams (Lược đồ tuần tự)
Lược đồ lớp và lược đồ đối tượng là các cấu trúc (view) mô hình tĩnh.
Lược đồ tương tác (Interaction diagrams) là cấu trúc động, mô tả các đối
tượng cộng tác như thế nào.
Lược đồ tuần tự (sequence diagram ) là lược đồ tương tác diễn tả các
phương thức (operations ) hoạt động như thế nào, thông điệp nào được gởi
đến và khi nào. Lược đồ tuần tự được tổ chức theo thời gian. Các đối tượng
liên quan đến phương thức được liệt kê từ trái sang phải khi chúng tham gia
vào thông điệp tuần tự.
Dưới đây là lược đồ tuần tự cho việc đặt chổ khách sạn. Đối tượng bắt đầu
các thông điệp tuần tự là Reservation window.
Trang 24
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML
Hình 1.16: lược đồ tuần tự
Reservation window gởi một thông điệp makeReservation()đến

HotelChain. Sau đó HotelChain gởi một thông điệp makeReservation() đến
Hotel. Nếu Hotel có phòng, thì nó sẽ đặt chỗ (Reservation) thừa nhận việc
đặt chổ này (Confirmation ).
Đường nét đứt gọi là lifeline, biểu diễn thời gian mà đối tượng đang tồn
tại. Mỗi mũi tên là một thông điệp gọi. Mũi tên đi từ người gởi đến đỉnh
activation bar của thông điệp trong lifeline của người nhận. Activation bar
biểu diễn khoảng thời gian thực thi thông điệp.
Trong lược đồ ví dụ, Hotel sử dụng selfcall để quyết định nếu có phòng.
Khi đó Hotel tạo công việc đặt chổ (Reservation) và thừ nhận việc đặt chổ
này (Confirmation). Dấu hoa thị trong self call có nghĩa lặp lại ( iteration )
để chắc chắn rằng có phòng để ở mỗi ngày trong khách sạn. Biểu thức trong
dấu ngoặc đơn là điều kiện ( condition ).
Lược đồ có một thông báo (note) để giải thích, đó là đoạn văn bản ở trong
hình chữ nhật có nếp quăn ở góc. Thông báo có thể đặt vào trong bất kì lược
đồ UML nào.
1.5.3.5. Collaboration diagrams (Lược đồ cộng tác)
Collaboration diagrams cũng là lược đồ tương tác. Chúng chuyển thông
tin giống nhau như lược đồ tuần tự, nhưng chúng tập trung vào vai trò đối
tượng thay vì thời gian mà thông điệp đó gởi đến. Trong lược đồ tuần tự, vai
trò đối tượng là các đỉnh và thông điệp được kết nối.
Trang 25

×