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

Phân tích thiết kế hướng đối tượng hệ thống quản lý hồ sơ và kết quả học tập

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 (2.59 MB, 151 trang )

Mục lục

lời mở đầu ........................................................................................................ 3
Ch-ơng 1 ph-ơng pháp h-ớng đối t-ợng ............................................ 5
1.1. Quy trình chung để phát triển phần mềm h-ớng đối t-ợng ............................ 5
1.2 Công cụ hỗ trợ phát triển h-ớng đối t-ợng UML........................................... 8
1.3 Đặc tr-ng tiến trình phát triển phần mềm h-ớng đối t-ợng với UML............27
CHƯƠNG 2 GIỚI THIỆU GRASP - CÁC MẪU DÙNG CHO GÁN TRÁCH
NHIỆM ................................................................................................................ 31
2.1. Các khái niệm cơ bản ................................................................................. 31
2.2. Cỏc mu trongGRASP : .............................................................................. 37
Ch-ơng 3 Xây dựng hệ thống quản lý hồ sơ và kết quả
học tập bằng ph-ơng pháp tiếp cận h-ớng đối t-ợng......... 64
3.1. Mô tả nghiệp vụ ......................................................................................... 64
3.2. Phân tích ca sử dụng .................................................................................. 73
ch-ơng 4 phân tích và cài đặt ch-ơng trình quản lý hồ sơ
và kết quả học tập ................................................................................. 114
4.1. Kiến trúc hệ thống quản lý hồ sơ và điểm ................................................. 114
4.2. KiÕn tróc hƯ thèng .................................................................................... 114
4.3. Ph©n tÝch cài đặt hệ thống quản lý hồ sơ và điểm ...................................... 115
Kết luận ........................................................................................................ 143
Tài liệu tham khảo ................................................................................. 144

2


LỜI MỞ ĐẦU

Trong những năm gần đây việc ứng dụng và phát triển công nghệ phần
mềm là một phần quan trọng trong khâu sản xuất phần mềm. Nhiều dự án,
nhiều chương trình phần mềm đã được thực hiện nhưng chưa kết thúc hoặc


xây dựng xong vẫn không thực hiện được hoặc cịn nhiều lỗi khơng đáp ứng
được u cầu của người sử dụng. Vì vậy, để xây dựng một phần mềm tốt cần
phải chú ý tới các vấn đề chính sau:
- Dữ liệu đối tượng và cấu trúc của hệ thống
- Những hành vi thể hiện chức năng của hệ thống
- Điều khiển hành vi tổng thể của hệ thống.
Trên thực tế, cấu trúc dữ liệu của hệ thống phải thường xuyên thay đổi
theo yêu cầu của người sử dụng. Vì vậy, việc khảo sát, phân tích, thiết kế, hệ
thống là một công việc hết sức phức tạp, và quan trọng trong quá trình xây
dựng và phát triển phần mềm. Phân tích bài tốn, lựa chọn phương pháp phát
triển hệ thống có tính mở, dễ thích nghi, chất lượng cao, giúp cho việc bảo
trì hệ thống đỡ tốn kém.
Trong các giải pháp phát triển phần mềm hiện nay, giải pháp phát triển
phần mềm hướng đối tượng là một giải pháp tốt cho những hệ thống phần
mềm, nó có nhiều ưu điểm so với phương pháp hướng chức năng truyền
thống khác.
Do đó, việc nghiên cứu và vận dụng phương pháp phân tích, thiết kế
hướng đối tượng sử dụng UML (UML là ngơn ngữ mơ hình hố, ngơn ngữ
chuẩn thống nhất để viết ra bản kế hoạch chi tiết phần mềm) để phát triển
phần mềm, giải quyết những bài tốn lớn có dữ liệu phân tán là hết sức cần
thiết. Bài toán phát triển hệ thống quản lý hồ sơ và kết quả học tập là một
trong những bài toán ứng dụng công nghệ này. Tuy nhiên, hiện nay ở các

1


trường Đại học có quy mơ như trường Đại học Cơng đồn thì chưa có một
hệ thống quản lý hồ sơ và kết quả học tập hoàn chỉnh để đáp ứng được các
yêu cầu đặt ra do đó việc ứng dụng công nghệ thông tin vào công tác quản lý
trở nên hết sức cấp thiết. Với đề tài “ Phân tích hướng đối tượng hệ thống

quản lý hồ sơ và kết quả học tập” gồm những nội dung sau:
Chương 1 : Phương pháp hướng đối tượng
Chương 2: Grasp – Cỏc mẫu dựng cho gỏn trỏch nhiệm
Chương 3: Xây dựng hệ thống quản lý hồ sơ và kết quả học tập bằng
phương pháp tiếp cận hướng đối tượng.
Chương 4: Phân tích và cài đặt chương trình quản lý hồ sơ và kết quả
học tập
Nội dung của đề tài giới thiệu phương pháp hướng đối tượng, các công
cụ hỗ trợ phát triển hướng đối tượng. Đặc biệt, đề tài đã vận dụng các công
cụ thiết kế hướng đối tượng sử dụng UML – một ngơn ngữ mơ hình hố
thống nhất đang được sử dụng rộng rãi trên thế giới để ứng dụng vào việc
phân tích thiết kế hệ thống quản lý hồ sơ và kết quả học tập tại trường Đại
học Công đồn.
Hà nội, ngày

tháng

năm 2006

Dương Chí Thiện

2


CHƢƠNG 1
PHƢƠNG PHÁP HƢỚNG ĐỐI TƢỢNG
1.1. QUY TRÌNH CHUNG ĐỂ PHÁT TRIỂN PHẦN MỀM HƢỚNG ĐỐI TƢỢNG

Nội dung cơ bản của tiến trình phát triển phần mềm hướng đối tượng là
tiến trình thực hiện một bước lặp bao gồm: xác định yêu cầu của hệ thống,

phân tích, thiết kế, triển khai và kiểm thử. Trong đó, hoạt động phân tích và
thiết kế có nhiều vấn đề nan giải hơn cả. Đặc điểm của phân tích và thiết kế
hướng đối tượng coi hệ thống như một tập các đối tượng tương tác với nhau
để tạo ra các hành động, từ đó cho ra kết quả cao. Để đạt được điều đó ta
phải sử dụng hệ thống mơ hình các đối tượng với những đặc trưng sau:
Tính trừu tượng hóa cao.
Tính bao gói thơng tin.
Tính modul hóa.
Tính kế thừa.
1.1.1. Lập mơ hình nghiệp vụ
Mơ hình nghiệp vụ là một mơ tả chức năng nghiệp vụ của một tổ chức
và những mối quan hệ bên trong các chức năng đó cũng như các quan hệ của
chúng với mơi trường bên ngồi. Vì thế, để có thể nắm bắt được yêu cầu của
hệ thống trước hết phải nắm và hiểu được hệ thống nghiệp vụ. Việc mô tả
các yêu cầu của hệ thống nghiệp vụ đầy đủ là cần thiết để đạt được sự nhất
trí giữa khách hàng và người phát triển hệ thống cần làm và không nên làm
những điều kiện ràng buộc đặt ra cho chúng. Mục tiêu của bước này là để
hiểu đúng và đầy đủ về hệ thống mà ta cần phải tin học hóa thuần túy về mặt
nghiệp vụ. Bên cạnh đó cần tìm các ca sử dụng nghiệp vụ từ các chức năng
của hệ thống mà qua đó con người và các hệ thống khác sử dụng chúng [1].

3


1.1.2. Xác định yêu cầu hệ thống
Nhiệm vụ chính trong xác định u cầu phát triển mơ hình hệ thống cần
xây dựng bằng cách dùng các ca sử dụng. Bởi vì các yêu cầu về chức năng
được cấu trúc thành các ca sử dụng và do phần lớn các yêu cầu phi chức
năng đều là riêng đối với một ca sử dụng đơn nên chúng cũng được xử lý
trong các ca sử dụng đó. Để mơ tả các u cầu nghiệp vụ dưới góc độ phát

triển phần mềm ta cần tìm các tác nhân và các ca sử dụng để chuẩn bị một
phiên bản đầu tiên của mơ hình ca sử dụng. Sau đó ta sẽ xác định các ca sử
dụng có ý nghĩa về mặt kiến trúc và sắp xếp thứ tự ưu tiên các ca sử dụng sẽ
được triển khai trong bước lặp hiện thời.
1.1.3. Phân tích
Nhiệm vụ của pha phân tích là làm mịn các yêu cầu đã nhận được từ
pha trước và tạo cấu trúc cho chúng. Thơng qua đó, các u cầu được hiểu
chính xác hơn, từ đó đưa ra cấu trúc cho tồn bộ hệ thống.
Nhiệm vụ của pha phân tích là tìm ra cách thức để thực hiện yêu cầu
của hệ thống đã được xác định trong các ca sử dụng. Cụ thể là, cần phân tích
mơ hình ca sử dụng bằng cách tìm ra cách tổ chức các thành phần bên trong
của hệ thống để thực hiện mỗi ca sử dụng. Những thành phần cấu trúc bên
trong của hệ thống ở đây là ba loại lớp phân tích. Cơng việc xác định các lớp
không phải làm tùy tiện mà thực hiện theo từng ca sử dụng, trước hết cho
các ca sử dụng theo thứ tự ưu tiên được sắp. Sau đó, cấu trúc lại cách tổ
chức lại các thành phần này của hệ thống. Để đạt được mục tiêu ấy cần tiến
hành các hoạt động sau:
Phân tích kiến trúc hệ thống.
Phân tích một ca sử dụng.
Phân tích một lớp.

4


Phân tích một gói.
Trong q trính phân tích ta sẽ liên tục tìm ra các gói, các lớp phân
tích mới và các yêu cầu chung khi tiếp tục làm mịn mơ hình bằng cách phân
tích các gói và duy trì các gói đó.
1.1.4. Thiết kế
Trong thiết kế, chúng ta định hình hệ thống và tìm hình thức thể hiện về

mặt vật lý của nó để thực hiện mọi yêu cầu được đặt ra cho hệ thống. Một
đầu vào cho thiết kế là mơ hình phân tích. Khi thiết kế ta sẽ cố gắng bảo tồn
được càng nhiều càng tốt cấu trúc của hệ thống được định hình từ mơ hình
phân tích. Kết quả của thiết kế là mơ hình thiết kế và mơ hình triển khai
được thể hiện dưới dạng một loạt các mơ hình cụ thể. Mơ hình thiết kế thực
thi mơ hình phân tích khi tính đến các điều kiện của môi trường để thực thi
hệ thống. Để nhận được mơ hình thiết kế ta cần thực hiện các công việc sau:
Thiết kế kiến trúc.
Thiết kế một ca sử dụng.
Thiết kế một lớp.
Thiết kế một hệ thống con.
Mô hình thiết kế là một mơ hình đối tượng mơ tả sự thực thi các ca sử
dụng về mặt vật lý bằng cách tập trung vào việc xác định các yêu cầu chức
năng và phi chức năng, cũng như các ràng buộc khác liên quan đến môi
trường triển khai và ảnh hưởng của nó lên hệ thống.
1.1.5 Các ƣu điểm của tiếp cận hƣớng đối tƣợng
Những đối tượng được thiết kế tốt trong hệ thống hướng đối tượng là cơ
sở để kết hợp các đơn thể được sử dụng lại thành hệ thống có chất lượng cao
hơn. Cơ chế tương tác bằng cách truyền thông điệp giữa các đối tượng đảm

5


bảo cho việc mô tả các giao diện giữa các modul bên trong hệ thống và bên
ngoài hệ thống trở nên dễ dàng hơn.
Việc phân tích và thiết kế theo cách phân bài toán thành các đối tượng
là hướng tới lời giải của thế giới thực là tự nhiên hơn so với cách phân rã
theo chức năng từ trên xuống.
Nguyên lý che dấu thông tin hỗ trợ cho việc xây dựng các hệ thống
thơng tin an tồn.

Tiếp cận hướng đối tượng cung cấp cho ta công cụ để làm giảm bớt độ
phức tạp của bài toán bằng việc phân rã thành các thực thể độc lập tương đối
với nhau.
Hệ thống hướng đối tượng dễ dàng mở rộng thành các hệ thống có quy
mơ lớn hơn nhờ tương tác giữa các đối tượng thông qua việc gửi thông báo.
Việc phát triển và bảo trì hệ thống đơn giản hơn.
Xóa bỏ ngăn cách giữa các bước phát triển, thiết kế và cài đặt trong q
trình phát triển phần mềm. [2]
1.2 CƠNG CỤ HỖ TRỢ PHÁT TRIỂN HƢỚNG ĐỐI TƢỢNG UML

UML (Unified Modeling Language) là ngơn ngữ mơ hình hóa, trước hết
nó là mô tả ký pháp thống nhất, ngữ nghĩa và định nghĩa về mơ hình hóa, 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, 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 q 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 và độc lập với các công nghệ cài đặt hệ thống.

6


1.2.1. Khái quát về UML
1.2.1.1. UML là một ngôn ngữ chuyên dụng
UML được đưa vào sử dụng từ năm 1997 và nhanh chóng được cơng
nghiệp phần mềm chấp nhận là ngôn ngữ đồ họa chuẩn để đặc tả, xây dựng
và làm tài liệu cho các hệ thống phần mềm chuyên sâu. UML là ngơn ngữ
mơ hình hóa, ngơn ngữ chuẩn thống nhất để viết ra bản kế hoạch chi tiết
phần mềm. Nó mơ tả ký pháp thơng nhất, ngữ nghĩa và các định nghĩa chính
mơ hình hóa. Các khung nhìn ngơn ngữ cho phép nhìn nhận hệ thống phát
triển ở các mức độ khác nhau, dễ sử dụng, dễ hiểu. UML có các ký pháp và

tập các qui tắc sử dụng để mơ hình hóa các hệ thống. [1]
1.2.1.2. UML là một ngơn ngữ
UML có từ vựng là các quy tắc tổ hợp các từ vựng nhằm mục đích giao
tiếp. Ngơn ngữ mơ hình là ngơn ngữ có từ vựng và quy tắc tập trung thể hiện
về mặt vật lý và khái niệm của hệ thống. Vì vậy UML là ngôn ngữ chuẩn
công nghiệp để lập kế hoạch chi tiết phần mềm.
1.2.1.3. UML là ngôn ngữ để biểu diễn đồ họa
Với nhiều lập trình viên, khơng có khoảng cách giữa ý tưởng cài đặt mã
trình và chuyển nó thành mã, họ suy nghĩ mã trình và viết ngay mã trình cho
nó. Tuy nhiên, việc giao tiếp giữa mơ hình khái niệm với những cái khác
trong vòng đời phát triển phần mềm sẽ gặp khó khăn khi mọi người khơng
sử dụng chung một ngơn ngữ cho dự án. Đặc biệt có những dự án và tổ chức
phát triển phần mềm đưa ra ngơn ngữ riêng của họ thì người mới tham gia
dự án sẽ gặp nhiều khó khăn. Hơn nữa một vấn đề của hệ thống phần mềm
sẽ được hiểu rõ hơn thơng qua mơ hình, nếu người viết mã khơng bao giờ
viết thành các mơ hình thì thơng tin có thể mất hoặc viết lại một cách đầy đủ
nếu chỉ xem mã lệnh trong khi người viết mã lệnh chuyển đi nơi khác.

7


Để khắc phục những nhược điểm trên ta sử dụng ngơn ngữ UML để xây
dựng các mơ hình khác nhau:
- Mỗi ký pháp trong UML mang một ngữ nghĩa rõ ràng.
- Các cấu trúc mơ tả dưới dạng mơ hình đồ họa.
- Mơ hình rõ ràng sẽ làm cho việc trao đổi, giao tiếp dễ dàng hơn.
1.2.1.4. 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ả chính xác, rõ ràng và hồn thiện. UML tập trung đặc tả thiết kế, phân
tích và cài đặt quan trọng trong quá trình phát triển và triển khai hệ thống

phần mềm.
1.2.1.5. UML là ngôn ngữ để tạo mã
UML không phải là ngơn ngữ lập trình trực quan, nhưng mơ hình của nó
có thể kết nối trực tiếp với các ngơn ngữ lập trình khác. Điều đó có nghĩa là
có thể ánh xạ mơ hình trong UML sang một ngơn ngữ lập trình khác như
Java, C++ hay các bảng CSDL quan hệ hoặc CSDL hướng đối tượng. Đồng
thời cho khả năng biến đổi ngược lại từ cài đặt về mơ hình UML có nghĩa
rằng nó cho khả năng làm việc với văn bản hay đồ họa một cách nhất quán. [1]
1.2.1.6. 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 nhỏ của nó.
UML cho khả năng biểu diễn yêu cầu, thử nghiệm, mơ hình hóa 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 của nó thơng qua
các ca sử dụng và các tác nhân.
- Trong UML các ca sử dụng đượ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.

8


- Mơ hình hóa các hành vi của đố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 khả năng mô tả các chức năng và hành vi hệ thống bằng khuôn
mẫu (stereotypes). [5]
1.2.2. Kiến trúc trong UML
Kiến trúc phần mềm cho ta một cái nhìn khái quát nhất về hệ thống phần
mềm ở các góc độ khác nhau. Mỗi khung nhìn phản ánh về một khía cạnh
của tổ chức và cấu trúc của hệ thống, tập trung vào từng mặt cụ thể giúp ta
hiểu và sử dụng hệ thống tốt nhất.

- Khung nhìn UC (Use Case) cho ta cách sử dụng chức năng để mơ tả
hành vi của hệ thống khi nhìn nhận hệ thống dưới góc độ người dùng cuối
cùng và các nhà phát triển.
Nó chứa các tác nhân, UC, các biểu đồ UC.
- Khung nhìn thiết kế 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, nó bao gồm các lớp, các 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.
- Khung nhìn tiến trình của hệ thống gồm các luồng và các tiến trình cơng
việc tạo nên cơ chế hoạt động tương tranh.
- Khung nhìn triển khai của hệ thống bao gồm các thành phần và các file
được kết hợp lại cho ra các hệ thống vật lý. Khung nhìn này hướng đến việc
quản lý cấu hình của hệ thống.
- Khung nhìn cài đặt bao gồm các nút tạo nên kết cấu phần cứng mà trên
đó hệ thống vận hành. Khung nhìn này chủ yếu hướng đến sự phân tán và
cài đặt cụ thể của hệ thống.
Khung nhìn thiết kế

Khung nhìn tiến trình

Khung nhìn triển khai
Khung nhìn
UC
9

Khung nhìn cài đặt


Hình 1.1. Mơ hình hố kiến trúc hệ thống
1.2.2.1. Mơ hình khái niệm của UML
Để hiểu được UML ta phải hình dung được mơ hình khái niệm của ngơn

ngữ. Nó địi hỏi phải nắm được ba vấn đề chính, bao gồm 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 và một số cơ chế
chung sử dụng cho ngôn ngữ. Khi nắm vững được các vấn đề này thì ta có
thể đọc được mơ hình UML và tạo ra một vài mơ hình cơ bản. Các khối để
hình thành mơ hình UML gồm 3 loại sau: Phần tử, quan hệ và biểu đồ.

Các khối xây dựng

Quan hệ

Phần tử

Phần
tử
cấu
trúc

Ca sử dụng
Lớp
Lớp hoạt
động
Giao diện

Phần
tử
hành
vi

Tương
tác

Máy
trạng
thái

Phần
tử
nhóm
gộp

Phụ thụơc

Ca sử dụng

Liên kết

Lớp

Tổng
qt hóa

Phần
tử
chú
thích

Đối tượng

Ghi
chú


Gói

Biểu đồ

Mơ hình

Tuần tự
Cộng tác
Trạng thái
Hoạt động

Hệ thống
con

Thành phần

Khung
Thành phần Hình 1.2. Xác định cấu trúc thành phần của UML
làm việc
Sự cộng tác
Nút

10

Cài đặt


1.2.2.2. Các khối xây dựng
Các phần tử là các trìu tượng hóa, là phần tử lớp đầu tiên để xây dựng
nên các mơ hình trong UML. Các quan hệ gắn kết các phần tử này lại với

nhau, các biểu đồ nhóm các phần tử .
a. Các phần tử cấu trúc: Bao gồm:
* Lớp (Class): mô tả một tập hợp các đối tượng cùng chung thuộc
tính thao tác quan hệ và ngữ nghĩa. Lớp được biểu diễn bằng hình chữ
nhật bên trong có tên, thuộc tính và thao tác. Tên lớp là danh từ. Ví dụ
Sinh viên
Sinh viên

Tên

Tên: text
Thuộc tính

Địa chỉ:text

Thao tác
Tạo()

Hình
Thêm()

1.3. Lớp
- Đối tượng: là khái niệm dùng để mơ hình hóa một vật hoặc một khái
niệm trong thế giới thực, có thể là một phần của bất kỳ loại hệ thống nào
như máy móc hay một tổ chức.
Trong UML đối tượng được thể hiện bằng một hình chữ nhật với tên bên
trong, tên đối tượng được gạch chân.
Tên đối tượng
Tên giao diện
Hình 1.4. Đối tượng


Hình 1.5. Giao diện

* Giao diện: là một tập hợp các tác vụ đặc tả một dịch vụ của một lớp
hoặc một thành phần. Một giao diện biểu diễn bằng một hình trịn với tên
của nó.

11


* Sự cộng tác: xác định các hoạt động bên trong hệ thống và là một bộ
các nguyên tắc. Các phần tử khác nhau cùng làm việc để cung cấp một hành
vi hợp tác lớn hơn tổng hành vi của tất cả các phần tử. Sự cộng tác được biểu
diễn bằng một hình elip với đường nét đứt và thường chỉ gồm có tên.

Hình 1.7. Ca sử dụng

Hình 1.6. Cộng tác

* Ca sử dụng (Use Case): Mô tả một chuỗi các hành động mà hệ thống sẽ
thực hiện để đạt được kết quả có ý nghĩa đối với một tác nhân. Use case
được biểu diễn bằng hình elíp nét liền, tên Use case được đặt bên trong hoặc
bên dưới.
+ Tác nhân (Actor): Thể hiện một tập hợp các vai trò mà các thực thể
ngồi có thể thực hiện khi sử dụng hệ thống. Nó thể hiện một nhóm người
một bộ phận, một tổ chức hoặc các hệ thống khác có tương tác với hệ thống
đó. Tương tác của tác nhân với hệ thống có thể là:
- Cung cấp thơng tin cho hệ thống.
- Lấy thông tin từ hệ thống.
- Nhận thông tin từ hệ thống và cung cấp thông tin cho hệ thống.

Một số đặc điểm của tác nhân:
- Tác nhân có tên và tên đó phản ánh vai trị của tác nhân chứ không
phản ánh chức năng của tác nhân.
- Tác nhân tương tác với hệ thống bằng cách gửi và nhận thơng báo
với hệ thống như nó thực hiện với các ca sử dụng.

12


- Các tác nhân tương tác trực tiếp với hệ thống gọi là tác nhân chính
(tác nhân trực tiếp) tác nhân còn lại gọi là tác nhân thứ yếu.
Để xác định các tác nhân, ta đi tìm câu trả lời cho các câu hỏi sau:
- Ai là người sẽ dùng hệ thống này để nhập thông tin ?
- Ai là người sẽ dùng hệ thống này để nhận thông tin ?
- Các hệ thống nào tương tác với hệ thống này ?

Tên tác nhân

Tác nhân được biểu diễn bằng hình tượng sau:
+ Xác định ca sử dụng:
Để tìm ra các Use case ta trả lời các câu hỏi sau:
- Tác nhân yêu cầu hệ thống thực hiện chức năng nào ?
- Tác nhân cần đọc, tạo lập, bãi bỏ, lưu trữ, sửa đổi các thông tin nào
trong hệ thống ?
- Có cần thơng báo cho tác nhân về sự kiện xảy ra trong hệ thống ?
Có cần tác nhân thơng báo cái gì đó cho hệ thống ?
- Hệ thống cần vào/ra nào ? Vào/ra đi đến đâu hay từ đâu ?
* Thành phần (Component): Là một bộ phận vật lý. Một thành phần
biểu diễn một gói vật lý các phần tử logic khác nhau như các lớp, các giao
diện và sự cộng tác. Nó được biểu diễn bằng một hình chữ nhật với các

bảng, một thành phần thường bao gồm chỉ có tên của nó.
Sinh viên
Masv:string
Tên thành

Tênsv:string
phần

Nhập()

Hình 1.8. Thành phần

Hinh 1.9. Lớp hoạt động
Xóa()

13


* Lớp hoạt động (Active class): Là lớp có đối tượng làm chủ một hay
nhiều tiến trình hoặc một dãy các thao tác. Bởi vậy nó có thể khởi động
hoạt động điều khiển. Một lớp chủ động được biểu diễn như một lớp
thơng thường nhưng có đường viền đậm.
* Nút (Node): Thể hiện thành phần vật lý, tồn tại khi chương trình
chạy và biểu diễn các tài ngun tính tố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. Nó được biểu diễn bằng một hình hộp thường bao gồm tên của
nó.

Tên nút
Hình 1.10. Nút

b. Các phần tử hành vi (Behavioral thinks)
Là bộ phận động của mơ hình UML, mơ tả hành vi của hệ thống 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 (Interaction): 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ể.
Một thơng báo được biểu diễn bằng một đường thẳng có hướng và tên thao
tác của nó.

Tên thơng điệp

Tên trạng thái

Hình 1.11. Thơng điệp

Hình 1.12. Trạng thái

* Máy trạng thái (state machine): 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

14


lớp có thể được xác định bằng máy trạng thái. Một máy trạng thái gồm một
số các phần tử biểu diễn các trạng thái, các dịch chuyển, các sự kiện. Nó
được biểu diễn bằng một hình chữ nhật góc trịn trong đó có tên trạng thái và
các trạng thái con của nó (nếu có).
c. Các phần tử nhóm gộp (grouping thinks)
Có một phần tử thuộc nhóm này có tên là gói (package) nó là cơng cụ tổ
chức các thành phần của một mơ hình thành các nhóm một mơ hình có thể
được phân chia vào trong các gói. Gói cung cấp một số cơ chế nhóm gộp để:

- Chỉ ra một bức tranh lớn không quá đi sâu vào chi tiết.
- Chỉ ra sự phụ thuộc giữa các lớp.
- Chỉ ra chi tiết các tập hợp con cô lập.
Thông thường một gói là một tập hợp các lớp nhưng nó cũng có thể chứa
các gói khác. Một lớp chỉ thuộc vào duy nhất một gói. Một gói có thể tham
chiếu đến các gói khác hoặc phụ thuộc vào các gói các lớp khác. Tham chiếu
của một gói chỉ ra rằng có một số lớp thuộc gói đó phụ thuộc vào một số lớp
thuộc vào gói mà nó tham chiếu đến .
Một gói được biểu diễn như một bảng, thường chỉ gồm có tên và đơi khi
có nội dung của nó.

Hình 1.13. Chú thích

Hình 1.14. Gói

d. Các phần tử chú thích (Annotational):
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 trong mơ hình. Phần tử chú thích được gọi là lời chú

15


thích (note). Nó được biểu diễn như một hình chữ nhật với một nếp quăn ở
góc cùng với chú giải bằng văn bản hoặc đồ hoạ bên trong.
1.2.2.3. Các quan hệ trong UML
a. Quan hệ giữa ca sử dụng và tác nhân
Quan hệ này thường gọi là quan hệ tương tác vì nó thể hiện sự tương tác
giữa tác nhân và ca sử dụng. Thông thường đây là quan hệ 1-1 khơng có
hướng để chỉ ra rằng tác nhân có thể liên lạc với ca sử dụng theo cả hai
hướng. Quan hệ này thể hiện bằng một đường thẳng nối giữa tác nhân và ca

sử dụng.
b. Quan hệ giữa ca sử dụng với ca sử dụng
Các ca sử dụng quan hệ với nhau theo ba kiểu quan hệ là: mở rộng, bao
gồm và tổng quát hoá.
* Quan hệ mở rộng (Extends): Quan hệ này cho phép Use case mở rộng
tuỳ ý chức năng do Use case khác cung cấp. Nó chỉ ra rằng trong một điều
kiện nào đó một Use case được mở rộng bằng Use case khác, nghĩa là khả
năng gộp vài hành vi của Use case tổng quát hơn để sử dụng lại.
<<extend>>
UC mở rộng

UC được
mở rộng

Hình 1.15. Quan hệ mở rộng

* Quan hệ bao gồm (Include): Quan hệ này cho phép một Use case sử
dụng một chức năng của Use case khác. Nó thường được sử dụng để mơ
hình hố một vài chức năng sử dụng lại, dùng chung cho hai hay nhiều Use
case.

16


* Quan hệ tổng quát hoá (Generalization): Khi một số các ca sử dụng
kiểm soát các chức năng tương tự nhau có liên hệ với nhau theo một cách
nào đó, chúng có thể được gói lại thành một gói trong UML. Các nhóm gói
liên hệ với các phần tử mơ hình có thể được mở rộng hoặc thu bớt lại thành
một biểu tượng cho phép người phát triển nhìn một gói tại một thời điểm.
Gói dùng để tập hợp các ca sử dụng có các chức năng tương tự hoặc có các

liên hệ với nhau.
c. Quan hệ giữa các lớp.
Trong UML gồm có 4 quan hệ chính sau: quan hệ phụ thuộc, kết hợp,
khái quát hoá và hiện thực hoá.
* Quan hệ phụ thuộc (Dependency): 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 để ngữ nghĩa của
phần tử phụ thuộc.
Quan hệ phụ thuộc được dùng trong các trường hợp sau:
- Lớp sử dụng một biến toàn cục là đối tượng của lớp khác.
- Trong phương thức của một lớp có khai báo một biến cục bộ là
đối tượng của lớp khác.
- Trong phương thức của một lớp có tham số là đối tượng của một
lớp khác.
Hình 1.16. Quan hệ phụ thuộc

* Quan hệ kết hợp (Association): Là quan hệ cấu trúc để mô tả tập liên
kết. Khi đối tượng của lớp này gửi / nhận thông điệp đến từ thơng điệp đối
tượng của lớp kia. Chúng có thể chứa tên nhiệm vụ và tính nhiều
(multiplicity). Tính nhiều cho biết số lượng các thể hiện của lớp ở đầu bên
kia của kết hợp so với một thể hiện của lớp ở đầu bên này của kết hợp.

17


Lớp A

Lớp B
Hình 1.17. Quan hệ kết hợp

+ Kết tập (Aggregation): được dùng để cho biết một thể hiện của một

lớp bao gồm hoặc chứa các thể hiện của lớp khác, nó biểu diễn mối quan
hệ tồn thể-bộ phận.

Hình 1.18. Quan hệ hợp thành

Hình 1.19. Quan hệ kết tập

+ Hợp thành (composition): Giống quan hệ kết tập, tuy nhiên quan hệ
hợp thành còn hàm ý cùng gắn kết.
* Quan hệ khái quát hoá (Generalization): Là quan hệ đặc biệt hoá
mà trong đó đối tượng cụ thể sẽ kế thừa các thuộc tính và các phương
thức của đối tượng tổng qt.
Hình 1.20. Quan hệ khái qt hố

Hình 1.21. Quan hệ hiện thực hoá

* Quan hệ hiện thực hoá (Realization): Là quan hệ ngữ nghĩa giữa giao
diện và lớp (thành phần) hiện thực lớp, giữa Use case và sự cộng tác để
thực hiện Use case .
1.2.2.4. Các biểu đồ trong 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. Có thể
biểu đồ là ánh xạ của hệ thống. Một phần tử có thể xuất hiện trong một hay
nhiều biểu đồ. Biểu đồ bao gồm tổ hợp các phần tử đồ họa và các quan hệ.
UML có khả năng xây dựng một vài biểu đồ trực quan để biểu diễn các khía

18


cạnh khác nhau của hệ thống. Bao gồm: biểu đồ ca sử dụng (use case

diagram), biểu đồ trình tự (sequence diagram), biểu đồ lớp (class diagram),
biểu đồ cộng tác (collaboration diagram), biểu đồ biến đổi trạng thái (state
transition diagram), biểu đồ hoạt động (activity diagram), biểu đồ thành
phần (component diagram), biểu đồ triển khai (deployment diagram).
a. Biểu đồ ca sử dụng (Use case diagram):
Chỉ ra tương tác giữa các ca sử dụng và tác nhân. Ca sử dụng biểu diễn
các chức năng 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 đồ ca sử dụng
tập trung vào quan sát trạng thái tĩnh của các ca sử dụng trong hệ thống. Nó
đặc biệt quan trọng trong việc tổ chức và mơ hình hố hệ thống. Biểu đồ loại
này chỉ ra tác nhân nào khởi động ca sử dụng và khi nào tác nhân nhận thông
tin từ hệ thống.
Biểu đồ ca sử dụng dùng để:
- Mô hình hố các chuỗi hành động mà hệ thống sẽ thực hiện, nhằm
cung cấp một kết quả có ý nghĩa cho một người dùng nào đó hoặc một hệ
thống bên ngồi.
- Cung cấp một cái nhìn tổng thể về những gì mà hệ thống sẽ làm và ai
sẽ dùng nó.
- Đưa ra cơ sở để xác định giao tiếp người - máy đối với hệ thống.
- Dùng để mơ hình hoá các kịch bản cho một ca sử dụng.
- Để người dùng cuối có thể hiểu được và có thể giao tiếp với hệ thống ở
mức tổng thể.
- Làm cơ sở cho việc phác thảo ra các đặc tả kiểm tra.
UC1
UC1

Tác nhân

Tác nhân


19

Hình 1.22. Biểu đồ ca sử dụng


b. Biểu đồ lớp (Class diagram):
Biểu đồ lớp chỉ ra tương tác giữa các lớp trong hệ thống. Người ta sử
dụng biểu đồ lớp để mơ hình hố khung nhìn thiết kế tĩnh của hệ thống. Các
lớp biểu diễn cho sự vật được xử lý bên trong hệ thống. Ta thường sử dụng
biểu đồ lớp để:
- Mơ hình hố bảng từ vựng của hệ thống.
- Mơ hình hóa các sự cộng tác đơn giản.
- Mơ hình hố CSDL logic.
Các lớp có thể có quan hệ với nhau theo một số cách như sau:
- Liên kết (lớp nọ nối với lớp kia).
- Phụ thuộc (một lớp này sử dụng hay phụ thuộc lớp kia)
- Đặc biệt hóa (lớp nay là một phần tử chuyên biệt của lớp kia).
- Đóng gói (nhiều lớp gộp lại).
Một hệ thống có nhiều biểu đồ lớp và ngược lại một biểu đồ lớp có mặt ở
nhiều hệ thống.
Quan hệ
Lớp A

Lớp B

Hình 1.23. Biểu đồ lớp

c. Biểu đồ đối tƣợng (Object diagram)
Biểu đồ đối tượng chỉ ra tập hợp các đối tượng và các mối quan hệ của
chúng. Người ta sử dụng biểu đồ đối tượng để minh họa các câu trúc dữ liệu,

các thực thể của lớp trong biểu đồ lớp. Có thể coi biểu đồ đối tượng là một

20


biến thể của biểu đồ lớp, nó dùng các biểu diễn giống biểu đồ lớp. Biểu đồ
đối tượng chỉ ra một số thể hiện đối tượng của lớp.
d. Biểu đồ trình tự (Sequence diagram)
Biểu đồ trình tự chỉ ra sự 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. Mỗi mũi tên trong biểu đồ thể
hiện thông điệp truyền giữa tác nhân và đối tượng hay đối tượng với đối
tượng để thực hiện chức năng cụ thể. Chú ý rằng biểu đồ trình tự hiển thị
phần tử mơ hình đối tượng chứ không phải lớp.

Tác nhân

Đối tượng 2

Đối tượng 1

Thông điệp

Thơng điệp

Hình 1.24. Biểu đồ trình tự

e. Biểu đồ cộng tác (Collaboration diagram)
Biểu đồ cộng tác 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. Trong biểu đồ cộng tác các đối tượng giao tiếp trực tiếp với nhau

được thể hiện bằng đường nối.
Thơng điệp

Đối tượng 1

Tác nhân

Đối tượng 2

21

Hình 1.25. Biểu đồ cộng tác


f. Biểu đồ 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 dến khi
nó bị phá hủy. Biểu đồ chuyển trạng thái cung cấp cách thức mơ hình hóa
các trang thái khác nhau của đối tượng. Trong khi biểu đồ lớp cung cấp bức
tranh tĩnh về các lớp và quan hệ của chúng thì biểu đồ chuyển trạng thái
dùng để mơ hình hóa các hành vi của hệ thống. Biểu đồ trạng thái chỉ ra
hành vi của đối tượng.
Trạng thái 1

Trạng thái 2

Hình 1.26. Biểu đồ trạng thái

g. Biểu đồ hoạt động (Activity diagram)
Biểu đồ này là một phương tiện mơ tả các dịng cơng việc và được dùng
theo nhiều cách khác nhau, nó bao gồm việc mơ hình hóa các bước tuần tự

trong một tiến trình xử lý. Biểu đồ trạng thái và biểu đồ hoạt động biểu diễn
khía cạnh động của hệ thống. Chúng có thể dùng cho việc mơ hình hóa vịng
đời của một đối tượng. Ta sử dụng biểu đồ hoạt động để:
- Mơ hình hóa luồng cơng việc (có thể rẽ nhánh, phân nhánh )
- Mơ hình hóa một tác vụ ( một thủ tục tính tốn)
h. Biểu đồ thành phần (Component diagram)
Biểu đồ thành phần chỉ ra tập hợp các thành phần và các mối quan hệ
của chúng. Người ta sử dụng biểu đồ này để mô tả cấu trúc phần mềm, các
thành phần thực thi tĩnh của hệ thống. Các thành phần có thể là : tập tin,

22


chương trình thi hành, tài liệu, thư viện, bảng dữ liệu. Chúng được liên kết
với nhau bằng các mối quan hệ. Mục đích của biểu đồ thành phần là:
- Mơ hình vật lý các phần cứng và các kênh liên lạc giữa chúng.
- Lập kiến trúc của hệ thống.
- Lập tài liệu việc triển khai các thành phần phần mềm trên các nút
phần cứng.

Thành phần1

Thành phần 2

Hình 1.27. Biểu đồ thành phần

23


i. Biểu đồ triển khai ( Deployment diagram):

Biểu đồ triển khai mơ hình hóa các khía cạnh vật lý của một hệ thống
hướng đối tượng. Nó biểu diễn cấu hình các nút xử lý đang vận hành và các
thành phần đang hoạt động trên nó. Nó bao gồm các nút và các ràng buộc.
Nó hướng vào mơ hình hóa sự phân tán, gửi đi và cài đặt các phần tạo nên
hệ thông vật lý. Sử dụng biểu đồ triển khai để:
- Mơ hình hóa các hệ thống nhúng
- Mơ hình hóa hệ thống máy khách, máy phục vụ
- Mơ hình hóa các hệ thống phân tán đầy đủ.
1.2.3. Các quy tắc của UML
Mơ hình hóa một hệ thống khơng đơn giản là lắp ghép các khối xây
dựng trong UML một cách ngẫu nhiên. Giống như mọi ngôn ngữ khác,
UML cũng có một số quy tắc chỉ ra rằng một mơ hình được xây dựng tốt là
mơ hình có một ngữ nghĩa chắc chắn và đồng bộ với tất cả các mơ hình có
quan hệ với nó. UML đưa ra các quy tắc ngữ nghĩa sau:
- Tên gọi: Là các sự vật, các mối quan hệ và các biểu đồ.
- Phạm vi: Là khuôn khổ cho ý nghĩa cụ thể đối với một tên gọi.
- Tính trực quan: Có thể nhìn thấy và được phần tử khác sử dụng.
- Tính tích hợp: Các sự vật có thể liên kết với các sự vật khác.
- Tính thực hiện được: Có ý nghĩa để vận hành và mơ phỏng một mơ
hình động.
Những ngun tắc cần biết để xây dựng tốt các mơ hình:
- Sự lược đi: Một số phần tử được dấu đi làm đơn giản việc nhìn nhận
mơ hình
- Sự khơng đầy đủ: Một số phần tử có thể bỏ qua
- Sự khơng chắc chắn: Sự tích hợp của mơ hình chưa đảm bảo

24



×