Tải bản đầy đủ (.docx) (67 trang)

Tổng quan về ngôn ngữ UML và Thiết kế một bài toán cụ thể

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 (619.31 KB, 67 trang )

TỔNG QUAN VÊ UML
1.1. Khái quát về ngôn ngữ mô hình hóa thống nhất UML.
Mục tiêu của giai đoạn phân tích thiết kế hệ thống là sản xuất ra một mô hình tổng thể
của hệ thống cần xây dựng. Mô hình thường được mô tả trong ngôn ngữ trực quan, điều đó
có nghĩa là đa phần các thông tin được thể hiện bằng các ký hiệu đồ hoạ và các kết nối giữa
chúng, chỉ khi cần thiết một số thông tin mới được biểu diễn ở dạng văn bản. Tạo mô hình
cho các hệ thống phần mềm trước khi thực sự xây dựng nên chúng đã trở thành một chuẩn
mực trong việc phát triển phần mềm và được chấp nhận trong cộng đồng phần mềm giống
như trong bất kỳ một ngành khoa học kỹ thuật nào khác.
Mô hình hoá một hệ thống nhằm mục đích:
- Hình dung một hệ thống theo thực tế hay theo mong muốn của chúng ta.
- Chỉ rõ cấu trúc và hành vi của hệ thống.
- Tạo một khuôn mẫu hướng dẫn nhà phát triển trong suốt quá trình xây dựng hệ
thống.
- Ghi lại các quyết định của nhà phát triển để sử dụng sau này.
UML là một ngôn ngữ mô hình hoá thống nhất có phần chính bao gồm những ký hiệu
hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết
kế của một hệ thống. Nó là một ngôn ngữ để đặc tả, trực quan hoá, xây dựng và làm tài liệu
cho nhiều khía cạnh khác nhau của một hệ thống có độ phức tạp cao. UML có thể được sử
dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển
phần mềm.
1.2.1. UML là gì?
Ngôn ngữ mô hình hợp nhất UML (Unified Modeling Language) là một ngôn ngữ mô
hình hóa chuẩn để thiết kế phần mềm hướng đối tượng. Nó được hợp nhất từ nhiều thành
tựu và kinh nghiệm trong việc nghiên cứu và triển khai thuộc công nghệ thông tin của các
nhà khoa học, những chuyên gia nghiên cứu và triển khai, trong đó nổi bật nhất là Grady
Booch và Ivar Jacobson ( Object Oriented Software Engineering - OOSE), James Rumbaugh
(với Object Management Technique - OMT)
Để sử dụng UML có hiệu quả, đòi hỏi phải hiểu được ba vấn đề chính:
- Các phần tử cơ bản của mô hình trong UML
- Các quy định liên kết các phần tử mô hình


- Một số cơ chế chung áp dụng cho ngôn ngữ này.
UML là ngôn ngữ và nó chỉ là một phần của tiến trình phát triển phần mềm, độc lập
với tiến trình. Tuy nhiên UML rất phù hợp với các tiến trình hướng ca sử dụng, lấy kiến trúc
làm trung tâm, tương tác và tăng dần.
1.2.2. Các đặc trưng và khả năng của UML .

1

1


- UML là một ngôn ngữ mô hình đồ họa .
Một ngôn ngữ nói chung phải cung cấp một bảng từ vựng và các nguyên tắc để tổ
hợp các từ vựng với mục đích tạo nên những khối từ vựng có ngữ nghĩa để giao tiếp. Một
ngôn ngữ mô hình hóa là một ngôn ngữ mà các từ vựng và các nguyên tắc của nó tập trung
vào biểu diễn bằng mô hình các khái niệm và các thể hiện vật lý của hệ thống. UML là một
ngôn ngữ mô hình hóa chuẩn để tạo ra các thiết kế phần mềm.
Các biểu diễn mô hình trong UML là các biểu diễn bằng đồ họa. Sau mỗi biểu tượng
của UML là ngữ nghĩa hoàn toàn xác định. Nhờ vậy, một nhà phát triển có thể thiết kế một
mô hình trong UML, một nhà phát triển khác hay một công cụ khác có thể dịch nó sang một
dạng biểu diễn khác mà không nhầm lẫn. Tất cả những gì được biểu diễn tốt nhất bằng đồ
thị thì cũng được thực hiện tương tự trong UML, và những gì được thể hiện tốt bằng văn bản
trong các ngôn ngữ lập trình thì cũng được thể hiện tốt bằng văn bản ở đây. Vì vậy UML có
những mặt mạnh của cả ngôn ngữ đồ họa và ngôn ngữ văn bản.
- UML là một ngôn ngữ làm trực quan.
Bằng các ký hiệu đồ họa và các biểu diễn bằng sơ đồ, với các giải thích văn bản đi
kèm, UML cho ta nhìn thấy được tất cả những điều suy nghĩ và hình dung về một hệ thống
cần xây dựng từ các khía cạnh khác nhau.
- UML là ngôn ngữ đặc tả, có cấu trúc.
Đặc tả có nghĩa là xây dựng trên các mô hình một cách chính xác, không mù mờ và

đầy đủ. Trên thực tế, UML hướng đến đặc tả những phân tích, thiết kế và các quyết định triển
khai quan trọng mà cần phải làm khi phát triển một hệ thống phần mềm chuyên sâu.
UML không phải là một ngôn ngữ lập trình trực quan, nhưng các mô hình của nó có
thể ánh xạ vào một ngôn ngữ lập trình như : C++, Visual Basic, Java hoặc các bảng cho một
cơ sở dữ liệu quan hệ hoặc kho chứa của một cơ sở dữ liệu hướng đối tượng.
- UML là ngôn ngữ làm tài liệu.
Một tổ chức phần mềm mạnh thường tạo ra tất cả các loại chế phẩm khác nhau để
thêm vào chương trình thực hiện. Các chế phẩm thường bao gồm: Các yêu cầu, các kiến trúc,
các thiết kế, các chương trình nguồn, kế hoạch dự án và kiểm thử, các bản mẫu, các hướng
dẫn sử dụng,... UML hướng đến việc làm tài liệu về tất cả các sản phẩm đó của phần mềm.
UML cũng cung cấp một ngôn ngữ để in ấn và để kiểm thử. Cuối cùng, UML cung cấp một
ngôn ngữ để mô hình hóa các hoạt động lập kế hoạch dự án.
Với tất cả các đặc trưng trên, UML có những khả năng to lớn sau:
+ Trước hết UML là công cụ dành cho việc thiết kế các hệ thống phần mềm chuyên
sâu. Nó cũng được sử dụng hiệu quả cho việc thiết kế các lĩnh vực khác như: Các hệ thống
thông tin xí nghiệp, các dịch vụ tài chính và ngân hàng, viễn thông, quốc phòng, điện tử,
khoa học, các dịch vụ phân tán trên Web.

2

2


+ UML không hạn chế trong việc mô hình hóa phần mềm. Thực tế nó biểu diễn khá
tốt mô hình hóa các hệ thống không phải phần mềm như luồng công việc trong hệ thống
pháp luật, cấu trúc và hành vi của hệ thống sức khỏe bệnh nhân, các thiết kế phần cứng, ...
Riêng với các phần mềm hướng đối tượng, UML đặc biệt có khả năng:
+ Cho phép mô tả toàn bộ các sản phẩm phân tích và thiết kế.
+ Trợ giúp việc tự động hóa quá trình thiết kế trên máy tính.
+ Trợ giúp việc dịch xuôi và dịch ngược các thiết kế sang mã nguồn của ngôn ngữ lập

trình và cơ sở dữ liệu.
1.2.3. 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. Như minh họa ở hình 1.2 kiến trúc của hệ thống phần mềm chuyên sâu
được mô tả tốt nhất bằng năm loại khung nhìn tương tác với 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 mà tập trung vào từng mặt cụ thể
giúp cho ta hiểu và sử dụng hệ thống tốt nhất.

Khung nhìn thiết kế
Khung nhìn triển khai
Khung nhìn tiến trình
Khung nhìn bố trí.
Khung nhìn
ca sử dụng

Hình 1.2: Mô hình hóa kiến trúc hệ thống.
- Khung nhìn ca sử dụng: 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 độ của người dùng cuối cùng, của nhà phân tích và
kiểm thử.
- Khung nhìn thiết kế: bao gồm các lớp, các giao diện, các cộng tác tạo nên từ vựng
để đặc tả các vấn đề và các giải pháp cho nó. Khung nhìn này hỗ trợ cho việc xác định các
yêu cầu chức năng của hệ thống nghĩa là các dịch vụ mà hệ thống sẽ cung cấp cho người
dùng cuối cùng.
- Khung nhìn tiến trình của hệ thống: chứa đựng các luồng và tiến trình công việc tạo
nên cơ chế hoạt động tương tranh và đồng bộ của hệ thống. Khung nhìn này diễn đạt hiệu
năng, quy mô và năng lực thông qua của hệ thống.

3

3



- 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 và đưa ra các hệ thống vật lý. Khung nhìn này trước hết hướng đến việc quản lý cấu hình
hệ thống.
- Khung nhìn cài đặt bao gồm các nút của hệ thống 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.
Ngôn ngữ mô hình hoá UML có tính ứng dụng cao. Nó có thể được dùng cho việc mô
hình hoá nghiệp vụ, mô hình hoá phần mềm và mô hình hoá tổng kết cho bất kỳ kết cấu nào
bao gồm cấu trúc tĩnh và hành vi động. Để đạt tới những khả năng này, UML được định
nghĩa một cách mở rộng và tổng quát bao gồm các thành phần sau: Hướng nhìn (view), biểu
đồ (diagram), phần tử mô hình các cơ chế chung.
1.2.4- Mô hình khái niệm của UML.
Ba khối chính tạo nên UML là: Các khối xây dựng cơ bản của UML (hình 1.3), các quy
tắc ngữ nghĩa và một cơ chế chung được áp dụng cho việc mô hình hóa.

Các khối xây dựng
(Từ vựng)
Sự vật
Quan hệ
Biểu đồ
Sự vật cấu trúc
Sự vật hành vi
Sự vật nhóm gộp
Sự vật chú thích
Ca sử dụng
lớp
Lớp hoạt động
Giao diện

Thành phần
Sự cộng tác
nút
Tương tác Máy trạng _ thái
Gói
Mô hình
Hệ thống con
Khung làm việc
Ghi chú
Phụ thuộc
Liên kết
Tổng quát hóa
Sự thực hiện
Ca sử dụng lớp
Đối tượng tuần tự
Cộng tác
Trạng thái
Hoạt động

4

4


Thành phần
Bố trí

Hình 1.3: Cấu trúc các thành phần của UML

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

Các sự vật (things) là các trừu tượng hóa và là những phần tử lớp đầu tiên (những viên
gạch) để xây dựng lên các mô hình trong UML. Các quan hệ (relationship) gắn kết các sự vật
lại với nhau; các biểu đồ(diagrams) nhóm các sự vật được quan tâm lại tạo nên ngữ nghĩa của
nó (cho một mô hình).
1.2.4.1.1 Các sự vật cấu trúc .
- Lớp (class). Một lớp mô tả một tập hợp các đối tượng có chung các thuộc tính, các
tác vụ, các mối quan hệ và ngữ nghĩa. Một lớp có trách nhiệm thực hiện một hay nhiều giao
diện. Môt lớp được biểu diễn bằng một hình chữ nhật bên trong có tên, các thuộc tính, các
tác vụ hình 1.4.

Tác vụ (phương thức)
Thuộc tính
Tên lớp
Windows
oringin size

5

5


open()
close()
move()
display()

Hình 1.4 : Lớp
- Giao diện (interface): Một 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.


ISpelling
Hình 1.5 : Giao diện
- Sự cộng tác (collaboration): 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 và 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ử. Một sự cộng tác được ký hiệu 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.6).

Dãy các trách nhiệm

Hình 1.6: Sự cộng tác.
- Ca sử dụng (use case): Một ca sử dụng mô tả một tập hợp các dãy hành động mà hệ
thống thực hiện để cho kết quả có thể quan sát được có giá trị đối với một tác nhân. Một ca
sử dụng được ký hiệu bằng một hình elip nét liền, thường chỉ bao gồm có tên.

Xem điểm
Hình 1.7: Ca sử dụng
- Thành phần (component): Thành phần là một bộ phận vật lý có thể thay thế được
của một hệ thống được làm phù hợp với những điều kiện cụ thể và cung cấp phương tiện
(tác vụ) thực hiện một tập các giao diện. 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. Một thành phần được ký hiệu
bằng một hình chữ nhật với các bảng và thường bao gồm có tên của nó.
Orderform.java

Hình 1.8 : Các thành phần

6

6



- Lớp hoạt động (active class): Một lớp hoạt động là một lớp mà các đối tượng của nó
sở hữu một số các tiến trình hoặc các dãy thao tác. Bởi vậy nó có thể khởi động hoạt động
điều khiển. Một lớp hoạt động được ký hiệu như một lớp nhưng có đường đậm.

EventManager
Supend()
Fluhs()

Hình 1.9 : Lớp hoạt động
- Nút (node): Một nút là một phần tử vật lý tồn tại trong thời gian thực và biểu diễn
một nguồn lực tính toán, thường có ít nhất bộ nhớ và khả năng xử lý. Một nút được ký hiệu
bằng một hộp hình hộp thường bao gồm tên của nó.
Bo xu ly

Hình 1.10 : Nút
1.2.4.1.2 Các sự vật hành vi (behavioral things) .
Các sự vật hành vi là những 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 hành vi sơ cấp của sự vật:
- Sự tương tác (Interaction): Sự tương tác là một hành vi bao gồm một tập các thông
báo được trao đổi giữa một tập các đối tượng trong một khung cảnh cụ thể nhằm thực hiện
một mục tiêu xác định. Một thông báo được ký hiệu bằng một đường thẳng có hướng, gồm
tên của tác vụ.
Hiển thị

Hình 1.11 : Thông báo
- Máy trạng thái (State machine): Một máy các 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 chuyển dịch (từ một trạng thái sang một trạng thái khác), các sự kiện
(các sự vật kích hoạt một chuyển dịch). Một trạng thái được ký hiệu 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ó) .


7

7


Chờ

Hình 1.12: Trạng thái
1.2.4.1.3 Các sự vật nhóm gộp (grouping things)
Có một loại sự vật nhóm gộp duy nhất 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. Một gói đơn thuần là một khái niệm. Một gói được ký hiệu như một bảng thường chỉ
gồm có tên, và đôi khi có nội dung.

Các quy tắc nghiệp vụ

Hình 1.13: Gói
1.2.4.1.4 Sự vật giải thích (Annontional thing)
Sự vật giải thích là phần giải thích của mô hình UML. Nó có thể sử dụng để mô tả, giải
thích và đánh dấu một phần tử bất kì trong một mô hình. Sự giải thích thể hiện ra như một
ghi chú (note) và được kí hiệu bằng một hình chữ nhật có góc gấp cùng với một lời bình luận
bằng văn bản hay đồ thị ở bên trong.

T
r
Hình 1.14: Chú thích
1.2.4.1.5 Các quan hệ (relationships).
- Sự phụ thuộc (dependency): Sự phụ thuộc là một mối quan hệ ngữ nghĩa giữa hai sự
vật, trong đó thay đổi của một sự vật(sự vật độc lập) có thể tác động đến ngữ nghĩa của sự
vật khác (sự vật phụ thuộc) . Sự phụ thuộc được kí hiệu bằng một đường nét đứt, có thể có

hướng và tùy trường hợp có thể có nhãn.
Hình 1.15: Sự phụ thuộc
- Sự kết hợp(association): Sự kết hợp là một mối quan hệ cấu trúc mô tả một tập các
mối liên kết giữa một số các đối tượng. Sự kết hợp được kết hợp bằng đường liền nét,
có thể có hướng bao gồm một nhãn và thường chứa các bài trí khác nhau giải thích
vai trò của đối tượng tham gia vào liên kết và các bản số (số các đối tượng tham gia
liên kết) của chúng.

0..1
8

*
8


Hình 1.16: Liên kết
- Tổng quát hóa (generalization): Tổng quát hóa là một mối quan hệ tổng quát hóa
hay cá biệt hóa mà trong đó các đối tượng của phần tử cá biệt hóa (con) có thể thay thế
được cho các đối tượng của phần tử được tổng quát hóa (cha). Mối quan hệ tổng quát hóa
được kí hiệu bằng đường nét liền với mũi tên rỗng chỉ về phía cha.
Hình 1.17: Tổng quát hóa
- Sự thực hiện (realization): Sự thực hiện là một mối quan hệ ngữ nghĩa giữa các phân
lớp, trong đó xác định một hợp đồng sao cho những phân lớp khác nhau đảm nhiệm thực
hiện những trách nhiệm khác nhau. Mối quan hệ thực hiện được đưa vào hai vị trí: Giữa các
giao diện và các lớp hoặc các thành phần thực hiện nó. Một mối quan hệ thực hiện được
xem như một mối quan hệ nằm giữa mối quan hệ tổng quát và mối quan hệ phụ thuộc, và vì
thế được kí hiệu bằng một đường nét đứt có mũi tên trống.
Hình 1.18: Sự thực hiện
Bốn mối quan hệ này là các sự vật quan hệ cơ bản trong UML. Có thể có những biến
thể khác của chúng, chẳng hạn như làm mịn (refinement), lần vết (trace), bao hàm (include)

và mở rộng (extend).
1.2.4.1.6 Các biểu đồ trong UML
Một biểu đồ là một biểu diễn đồ thị của một tập các phần tử (các từ vựng) thường
được thể hiện như là một đồ thị liên thông với các đỉnh (là các sự vật) và các cung (là các mối
quan hệ).
- Biểu đồ lớp (class diagram): Biểu đồ lớp chỉ một tập các lớp, các giao diện và các sự
cộng tác và các mối quan hệ của chúng. Ta sử dụng biểu đồ lớp để mô hình hóa khung nhìn
thiết kế tĩnh của hệ thống. Ta thường sử dụng biểu đồ lớp để :
+ Mô hình hóa 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óa cơ sở logic.
- Biểu đồ đối tượng (object diagram): Biểu đồ đối tượng mô hình hóa các thể hiện của
các sự vật trong một biểu đồ lớp. Một biểu đồ đối tượng đưa ra một tập các đối tượng và các
mối quan hệ giữa chúng tại một thời điểm. Ta sử dụng biểu đồ đối tượng để mô hình hóa các
khía cạnh thiết kế tĩnh hoặc khía cạnh tiến trình tĩnh của hệ thống. Nó được sử dụng để mô
hình hóa cấu trúc của đối tượng.
- Biểu đồ ca sử dụng (use case diagram): Biểu đồ ca sử dụng để mô hình hóa các khía
cạnh động của hệ thống, một hệ thống con, một lớp. Mỗi biểu đồ chỉ ra một tập các ca sử

9

9


dụng, các tác nhân và các mối quan hệ giữa chúng. Biểu đồ ca sử dụng mô tả cách nhìn từ
bên ngoài để thấy được bối cảnh mà trong đó hệ thống đang tồn tại và những mối quan hệ
giữa nó và môi trường mô tả hoạt động của hệ thống từ bên ngoài không lệ thuộc vào việc
nó thực hiện những hoạt động đó như thế nào. Vì vậy, mô hình ca sử dụng là phương tiện để
mô tả các yêu cầu của hệ thống. Ta sử dụng biểu đồ ca sử dụng để :
+ Mô hình hóa ngữ cảnh của hệ thống.

+ Mô hình hóa các yêu cầu của hệ thống.

Gửi tiền
Rút tiền
Chuyển tiền

Hình 1.19: Mô hình ca sử dụng hệ thống giao dịch tín dụng
- Biểu đồ tương tác (interaction diagram): Biểu đồ tuần tự (sequence diagram) và biểu
đồ cộng tác (collaboration diagram) là hai dạng của biểu đồ tương tác. Chúng dùng để mô
hình hóa các khía cạnh động của hệ thống. Nó bao gồm một tập các đối tượng và mối quan
hệ truyền thông báo giữa chúng. Biểu đồ tuần tự nhấn mạnh tới trình tự thời gian của các
thông báo; còn biểu đồ cộng tác nhấn mạnh tới tổ chức cấu trúc của các đối tượng gửi và
nhận thông báo. Ta có thể sử dụng hai biểu đồ tương tác thay thế cho nhau và dùng để :
+ Mô hình hóa các luồng điều khiển (sự kiện ) theo trình tự thời gian.
+ Mô hình hóa luồng điều khiển của tổ chức.
- Biểu đồ sơ đồ trạng thái (statecchart diagram): Biểu đồ trạng thái biểu diễn một máy
trạng thái. Nó biểu diễn dòng điều khiển từ trạng thái này tới trạng thái khác. Nó nhấn mạnh
dòng điều khiển từ hoạt động này đến hoạt động khác đang xảy ra bên trong một máy trạng
thái.
- Biểu đồ hoạt động (activity diagram): Biểu đồ hoạt động là trường hợp đặc biệt của
biểu đồ trạng thái. Nó chỉ dòng điểu khiển chính từ hoạt động này tới hoạt động khác, nó
cũng bao gồm việc mô hình hóa các bước tuần tự (có thể là đồng thời) 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 công việc (có thể rẽ nhánh, phân nhánh, sát nhập).
+ Mô hình hóa một tác vụ (một thủ tục tính toán).

10


10


- Biểu đồ thành phần (componenent diagram): Các biểu đồ thành phần sử dụng để
mô hình hóa mặt vật lý của các hệ thống hướng đối tượng. Nó cho ta cách nhìn việc bố trí và
thực thi tĩnh của một hệ thống. Ta sử dụng biểu đồ thành phần để:
+ Mô hình hóa mã nguồn.
+ Mô hình hóa xuất phẩm có thể thực hiện được.
+ Mô hình hóa các cơ sở dữ liệu vật lý.
+ Mô hình hóa các hệ thống có thể làm thích ứng được.
- Biểu đồ bố trí (deployment diagram): Biểu đồ bố trí 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 hoạt động ở trên chúng. Nó có thể còn bao gồm các nút và các ràng buộc.
Nó cũng hướng vào việc 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ý. Ta sẽ xử dụng các biểu đồ bố trí để:
+ Mô hình hóa các hệ thống nhúng.
+ Mô hình hóa các hệ thống máy khách/ máy dịch vụ.
+ Mô hình hóa các hệ thống phân tán đầy đủ.
Mặc dù chín biểu đồ trên đã vượt xa nhu cầu chung nhất mà ta thường gặp trong thực
tế phát triển phần mềm hướng đối tượng. Tuy nhiên, UML còn cung cấp các loại biểu đồ khác
cho phép mô hình hóa những trường hợp tinh tế hơn.

1.2.4.2.

Các quy tắc của UML (rules of 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 của UML
một cách ngẫu nhiên. Giống như mọi ngôn ngữ, UML 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ả mô
hình có quan hệ với nó.

UML đưa ra các quy tắc ngữ nghĩa sau đây:
- Tên gọi: Là cái mà ta gọi các sự vật, các mối quan hệ và các biểu đồ.
- Phạm vi: Là khung khổ cho ý nghĩa cụ thể đối với một tên gọi.
- Tính trực quan: Các tên này có thể nhìn thấy những phần tử sử dụng.
- Tính tích hợp: Các sự vật có thể liên kết một cách đặc biệt và chắc chắn với các sự vật
khác như thế nào.
- Tính thực hiện được: Nó có ý nghĩa gì để vận hành và mô phỏng một mô hình động.
Những nguyên tắc khác cần biết để xây dựng tốt các mô hình là :
- 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ể tạm bỏ qua.
- Sự không chắc chắn: Sự tích hợp của mô hình có thể là chưa đảm bảo.
1.2.4.3 Các cơ chế chung trong UML

11

11


UML cung cấp bốn cơ chế chung để áp dụng trong khi mô hình hóa: Các đặc tả, các
bài trí, sự phân hoạch chung, các cơ chế mở rộng
- Đặc tả (specification): UML mạnh hơn một ngôn ngữ đồ họa: Vì rằng, bên cạnh các kí
hiệu đồ họa nó còn cung cấp một cách diễn tả vượt trội bằng văn bản theo cú pháp và ngữ
nghĩa của khối đồ họa sử dụng. Ví dụ như một tập đầy đủ các thuộc tính, các tác vụ và các
hành vi mà lớp đó chứa. Nhờ vậy ta dùng các kí hiệu đồ họa để làm trực quan hóa hệ thống,
dùng các đặc tả của UML để chỉ ra các chi tiết của hệ thống.
- Các bài trí (adornments): Hầu hết các phần tử trong UML đều có kí hiệu đồ họa duy
nhất, trực tiếp để cung cấp một sự thể hiện trực quan về các khía cạnh quan trọng nhất của
phần tử đó.
Ví dụ : Kí hiệu về lớp cũng đưa ra các khía cạnh quan trọng nhất của một lớp, như tên,
thuộc tính, các tác vụ của nó. Như hình 1.20 chỉ ra một lớp được bài trí cho biết lớp trừu

tượng này có hai tác vụ chung (public), một tác vụ được bảo vệ (protected) và một tác vụ
riêng (private).

Transaction
+ execute()
+ rollback()
# priority()
- timestamp()

Chung
Được bảo vệ
Riêng
Hình 1.20 : Bài trí
- Các phân hoạch chung (common divisions): Các khái niệm mô hình hóa trong UML
thường được phân thành cặp theo hai cách:
Cách 1: Đó là sự phân hoạch của lớp và đối tượng. Một lớp là một trừu tượng, một đối
tượng là một biểu hiện cụ thể của lớp đó. Hầu hết mọi khối xây dựng trong UML cùng một
loại đều thuộc lớp hay đối tượng. UML thường phân biệt lớp và đối tượng của lớp đó bằng
cách gạch chân tên của đối tượng.

Khách hàng
Tên
Địa chỉ
12

12


Số điện thoại
Jan: Khách hàng

: Khách hàng
Elvse

Hình 1.21: Lớp và đối tượng
Cách 2: Đó là sự phân chia giữa giữa giao diện và triển khai một giao diện khai báo
hợp đồng và sự thực thi hợp đồng để thể hiện việc thi hành cụ thể hợp đồng. Trong UML, ta
có thể mô hình hóa cả giao diện và sự triển khai như ở hình 22. Trong hình, có một thành
phần gọi là Spellingwizard.dll thực hiện giao diện IUnknow và ISpelling.

IUnknow
Spellingwizard.dll

ISpelling

Hình 1.22: Giao diện và sự triển khai

- Các cơ chế mở rộng (extensibility mechanisms): UML cung cấp ngôn ngữ chuẩn để
viết các bản thiết kế phần mềm, nhưng nó không đủ để diễn đạt mọi sắc thái có thể của các
mô hình trong mọi lĩnh vực và trong mọi thời điểm. Vì thế, UML được thiết kế mở cho phép
nó có khả năng mở rộng theo cách có thể quản lý được. Các cơ chế dùng để mở rộng là :
. Các khuôn mẫu (stereotypes)
. Các giá trị thẻ (tagged values)
. Các ràng buộc (constraints)
Sự mở rộng từ vựng của ngôn ngữ UML cho phép tạo ra các khối xây dựng mới từ các
khối có sẵn nhưng để cụ thể cho vấn đề của ta bằng cách thêm vào kí hiệu khuôn mẫu, giá
trị thẻ hay ràng buộc. Chẳng hạn, nếu ta đang làm việc với một ngôn ngữ lập trình C++, ta
thường muốn mô hình hóa sự loại trừ. Trong ngôn ngữ này, các sự loại trừ (exception) là các
lớp nhưng chúng được đối xử theo cách đặc biệt. Ta có thể tạo sự loại trừ là một phần tử của
mô hình, nghĩa là chúng được xem như là các khối cơ bản khi đánh dấu chúng bằng một dấu
thích hợp (“exception”) như đối với lớp Overflow ở hình 1.23.


13

13


Một ràng buộc mở rộng ngữ nghĩa của khối xây dựng trong UML cho phép thêm các
quy tắc mới hay sửa các quy tắc đã có.

Giá trị thẻ
EventQueue
(version = 3.2 author = egb )
Add()
Remove()
Flush()
“exception”
overflow
Được sắp

Hình 1.23: Cơ chế mở rộng từ lớp

14

14


PHÂN TÍCH THIẾT KẾ HỆ THỐNG PHẦN MỀM THI TRẮC NGHIỆM
2.1. Mô tả hoạt động nghiệp vụ.
2.1.1. Cấu trúc một phần mềm thi trắc nghiệm
2.1.1.1 Thông tin chung

- Luận cứ khoa học: Là những chứng cứ, những cơ sở có tính khoa học khẳng định sự
ra đời của phần mềm thi trắc nghiệm trên máy tính. Những luận cứ đó có thể là yêu cầu đòi
hỏi của sự nghiệp đổi mới phương pháp dạy và học, đặc biệt là sự phát triển nhanh của
công nghệ thông tin về sự khả thi của phần mềm thi trắc nghiệm trên máy vi tính (cơ sở hạ
tầng để tổ chức thi, đội ngũ giáo viên, môn học, ngân hàng câu hỏi, ngân hàng đề thi và đáp
án….)
- Phần mếm thi trắc nghiệm: Giúp giáo viên tổ chức cho sinh viên thi trắc nghiệm trên
máy tính các môn học trong chương trình đào tạo.
- Mục tiêu chương trình thi trắc nghiệm trên máy vi tính :
+ Nâng cao hơn nữa chất lượng, hiệu quả dạy- học.
+ Giúp cho việc đánh giá tri thức của sinh viên trong một thời gian ngắn.
+ Đánh giá kết quả học tập của sinh viên một cách công bằng, khách quan, dân chủ.
+ Chọn đề thi tự động, nhanh và khách quan mỗi sinh viên có thể làm một đề thi khác
nhau, nhưng vẫn đảm bảo độ khó là tương đương.
+ Tránh sinh viên có thể chọn bừa câu trả lời, kết quả nhanh và chính xác, sinh viên có
thể xem đáp án sau khi làm bài xong.
+ Có thể bổ sung câu hỏi mới và loại bỏ các câu hỏi không còn phù hợp.
+ Sử dụng phương pháp trắc nghiệm trên máy có ý nghĩa quan trọng với sự đổi mới
nền giáo dục nước ta nhất là giáo dục bậc đại học.
2.1.1.2 Chức năng của phần mềm thi trắc nghiệm .
Phần mềm thi trắc nghiệm cho phép thực hiện các chức năng:
- Cho phép giáo viên thực hiện soạn thảo các câu hỏi và đáp án trên máy tính, xây
dựng ngân hàng câu hỏi, tạo đề thi và đáp án cho các môn học.
- Thiết kế giao diện tổ chức thi trắc nghiệm trên máy tính cho sinh viên.
- Quản lý danh sách sinh viên và kết quả thi của sinh viên.
2.1.1.3 Nội dung chi tiết các môn thi.
Các môn thi sử dụng trong phần mềm thi trắc nghiệm cần được chi tiết hóa nội dung
thi thành các câu hỏi dạng trắc nghiệm để làm cơ sở cho quá trình triển khai thi trắc nghiệm
theo phần mềm này.


15

15


2.1.2. Mô tả hoạt động nghiệp vụ
2.1.2.1 Nội dung hoạt động nghiệp vụ “ Tổ chức thi”
. Thời điểm: Trước thời gian thi 30 phút.
. Mô tả nghiệp vụ : Giáo viên tổ chức buổi thi: Khởi động phần mềm thi trắc nghiệm
trên máy vi tính, chọn môn thi, thời gian làm bài, số câu một đề, lần lượt gọi sinh viên vào
phòng thi. Sinh viên chờ giáo viên gọi đến lượt mình vào thi kiểm tra, thực hiện làm bài thi
trên máy.
. Sơ đồ cho hoạt động nghiệp vụ được mô tả như sau:
Thời điểm

Giáo viên

Sinh viên
Trước thời gian thi 20 phút
Chuẩn bị thi

Giáo viên vào hệ thống chọn
môn, thời gian làm bài, số câu
một đề, tên lớp dự thi, gọi từng

Thi

Kết thúc thi
No
Sinh viên chọn phương án trả lời từng câu hỏi, câu chọn câu sau để làm tiếp, chọn câu trước đê xem lại hoặc làm lại câu

hỏi đó.

gg
Giáo viên vào phòng thi
Giáo viên gọi sinh viên vào phòng chờ

Sinh viên nhập họ tên và số báo danh
Thời gian
Yes , hết thời gian làm bài
Yes
chọn kết thúc kiểm tra
Thông báo

Sinh viên chuẩn bị thi
Sinh viên làm bài thi
Sinh viên kết thúc thi
Gọi cho hết sinh viên
Hết

16

16


câu hỏi
No
Làm bài thi tiếp

(Bắt đầu)
`


Hình 2.1: Sơ đồ hoạt động nghiệp vụ tiến hành thi
2.1.2.2 Nội dung hoạt động nghiệp vụ “Xem kết quả thi ”
2.1.2.2.1 Xem điểm
. Thời điểm : Sau khi kết thúc thi trắc nghiệm của một lớp
. Mô tả hoạt động nghiệp vụ: Giáo viên có thể chọn lớp đã thi để xem bảng điểm
kết quả.
2.1.2.2.2 In ra giấy
. Thời điểm : Sau khi xem điểm thi của lớp
. Mô tả hoạt động nghiệp vụ : In kết quả thi của từng lớp ra giấy (In 3 bản, một
bản gửi cho lớp, một bản gửi phòng đào tạo và một bản làm bản lưu).
2.1.2.2.3 Xóa kết quả thi
. Thời điểm: Theo quy định của phòng đào tạo về quản lý điểm thi.

17

17


. Mô tả hoạt động nghiệp vụ: Khi không còn nhu cầu lưu trữ kết quả thi của một
lớp (Theo quy định của phòng đào tạo về quản lý điểm thi) thì giáo viên có thể xóa kết quả
thi.
2.1.2.3 Nội dung hoạt động nghiệp vụ “ Tạo đề thi câu hỏi và đáp án ”
2.1.2.3.1 Chọn số câu trong một đề thi.
. Thời điểm : Sau khi xây dựng xong ngân hàng câu hỏi
. Mô tả hoạt động nghiệp vụ: Giáo viên chọn số câu trong một đề thi tùy theo
mục đích thi (kiểm tra trình, thi kết thúc môn, thi thử).
2.1.2.3.2 Chọn thời gian làm bài thi
. Thời điểm: Sau khi chọn số câu trong một đề
. Mô tả hoạt động nghiệp vụ: Giáo viên chọn thời gian tối đa để làm một bài thi

tùy theo mục đích thi (kiểm tra trình, thi kết thúc môn, thi thử).
2.1.2.3.3 Cập nhật câu hỏi
. Thời điểm: Cập nhật thường xuyên
. Mô tả hoạt động nghiệp vụ: Cho phép giáo viên bổ sung các câu hỏi mới, sửa
chữa các câu hỏi chưa hợp lý, xóa các câu hỏi không còn phù hợp trong từng môn học.
2.1.2.3.4 Tạo ngân hàng câu hỏi
. Thời điểm: Sau khi cập nhật câu hỏi cho môn thi
. Mô tả hoạt động nghiệp vụ: Cho phép giáo viên tạo ngân hàng câu hỏi cho
từng môn thi từ thư viện câu hỏi đã nhập vào phục vụ cho công tác tổ chức thi trắc nghiệm
trên máy vi tính hoặc tạo ra các đề thi trên giấy cho từng môn.
2.1.2.3.5 Cập nhật đáp án.
. Thời điểm: Sau khi cập nhật câu hỏi
. Mô tả hoạt động nghiệp vụ: Cho phép giáo viên nhập đáp án, bổ sung đáp án
tương ứng với các câu hỏi mới, sửa chữa đáp án bị nhầm, xóa các đáp án tương ứng với các
câu hỏi bị xóa trong một môn học.
2.1.2.3.6 Cập nhật đáp án trừ điểm
. Thời điểm: Sau khi cập nhật câu hỏi
. Mô tả hoạt động nghiệp vụ: Cho phép giáo viên nhập đáp án trừ điểm, bổ
sung đáp án trừ điểm tương ứng với các câu hỏi mới, sửa chữa đáp án trừ điểm bị nhầm, xóa
các đáp án trừ điểm tương ứng với các câu hỏi bị xóa trong một môn học.
2.1.2.3.7 Tạo đề thi và đáp án.
. Thời điểm: Khi muốn tổ chức thi trắc nghiệm trên giấy
. Mô tả hoạt động nghiệp vụ: Cho phép giáo viên có thể tạo đề thi, đáp án cho
từng môn thi phục vụ cho tổ chức thi trắc nghiệm trên giấy tùy theo yêu cầu của chương
trình đào tạo.

18

18



2.1.3 Tổng hợp các chức năng của hệ thống.
Tham chiếu

Chức năng

Phân loại

1. Chức năng đăng nhập hệ thống
A.0.1

Quản lý đăng nhập hệ thống

Hiện

A.0.2

Thay đổi mật khẩu

Hiện

2. Chức năng tổ chức thi
A.1.1
Tiến hành thi
3. Các chức năng xem kết quả thi

Hiện

A.2


Xem kết quả thi

A.2.1

Xem điểm

Hiện

A.2.2

In ra giấy

Hiện

A.2.3

Xóa file điểm

Hiện

4. Tạo câu hỏi và đáp án
A.3

Tạo đề thi, câu hỏi và đáp án

A.3.1

Chọn số câu trong một đề

Hiện


A.3.2

Chọn thời gian thi

Hiện

A.3.3

Cập nhật câu hỏi

Hiện

A.3.4

Cập nhật đáp án

Hiện

A.3.5

Cập nhật đáp án trừ điểm

Hiện

A.3.6

Tạo ngân hàng câu hỏi

Hiện


A.3.7

Tạo đề thi và đáp án

Hiện

Bảng 2 : Các chức năng hệ thống
2.1.4.Từ điển dữ liệu và mô hình nghiệp vụ.
2.1.4.1 Từ điển dữ liệu
Số
TT

Thuật ngữ
Tiếng Việt

1

Giáo viên

Soạn câu hỏi, số câu trong một đề, thời gian thi.

2

Sinh viên

Làm bài thi trắc nghiệm trên máy vi tính.

3


Lớp

4

Điểm

5

Môn thi

Môn thi giáo viên cho sinh viên thi trắc nghiệm

6

Câu hỏi

Câu hỏi sinh viên làm bài trong môn thi trắc nghiệm.

7

Đáp án

Đáp án cho câu hỏi thi trắc nghiệm của từng câu hỏi.

19

Giải thích nội dung

Lớp tham gia thi trắc nghiệm.
Kết quả bài thi trắc nghiệm của sinh viên.


19


8

Ngân hàng
câu hỏi

9

Thời gian

10

Số câu

11

Đáp án trừ
điểm

Nơi chứa toàn bộ các câu hỏi cho thi trắc nghiệm của mỗi
môn thi.
Thời gian tối đa làm bài thi.
Số câu hỏi có trong một đề thi.
Đáp án bị trừ điểm cho phương án mà sinh viên lựa chọn
sai về bản chất.
Bảng 3: Từ điển dữ liệu


2.1.4.2 Mô hình miền của hệ thống
Sinh viên
Lớp
Môn thi
Ngân hàng câu hỏi
Câu hỏi
Đáp án

1
*
1
*
1
1
1
1
1
*
Giáo viên

*
1

Hình 2.2: Mô hình miền của hệ thống phần mềm thi trắc nghiệm
2.1.5. Mô hình ca sử dụng .
2.1.5.1 Xác định các tác nhân
Tác nhân
Giáo viên

20


Vai trò

Kết quả đem lại

- Đăng nhập hệ thống.
- Tổ chức thi trắc nghiệm.
- Cập nhật câu hỏi, đáp án.

Tổ chức thành công môn
thi, tạo ngân hàng câu hỏi
trong máy cho từng môn, lưu

20


- Tạo ngân hàng câu hỏi, đề thi. trữ kết quả thi trên máy, tạo
- Chọn thời gian, số câu hỏi cho đề thi trắc nghiệm trên giấy.
-

một đề thi.
Quản lý kết quả thi.

Sinh viên

Thực hiện thi trắc nghiệm trên máy. Nhận được kết quả thi, các
câu trả lời đúng, sai, các câu
bị trừ điểm.

Lãnh đạo

khoa

Xem và nhận kết quả thi các môn
học của các lớp đã dự thi

Theo dõi và quản lý điểm thi
của sinh viên.

Phòng
đào tạo

Xem và nhận kết quả thi các môn
học của các lớp đã dự thi

Quản lý điểm thi của sinh
viên.

Phòng quản
lý học viên

Xem và nhận kết quả thi các môn
học mà các lớp đã thi

Theo dõi điểm thi của sinh
viên.

Bảng 4: Xác định các tác nhân hệ thống
2.1.5.2 Mô tả tổng quát mỗi ca sử dụng
2.1.5.2.1 Gói ca sử dụng “Quản lý đăng nhập hệ thống”
2.1.5.2.1.1 Ca sử dụng đăng nhập hệ thống.

. Tác nhân: Giáo viên
. Mục đích: Đảm bảo tính bảo mật, an toàn, thống nhất cho toàn hệ thống.
. Mô tả: Giáo viên phải nhập tên đăng nhập (Username) và mật khẩu(Password) khi
đăng nhập. Hệ thống sẽ kiểm tra xem người dùng đó có quyền đăng nhập hệ thống hay
không? Nếu đúng thì cho phép người dùng đăng nhập vào hệ thống với quyền đã qui định.
Chức năng tham chiếu: A.0.1
. Luồng sự kiện:
Hành động của tác nhân
1. Nhập tên đăng nhập
(Username) và mật khẩu
(Password)

Phản ứng của hệ thống
2. Kiểm tra định danh
và mật khẩu, cho truy
cập hay thông báo lỗi

Dữ liệu có liên quan
Kho hệ thống

Bảng 5 : Mô tả ca sử dụng đăng nhập hệ thống
2.1.5.2.1.2 Ca sử dụng thay đổi mật khẩu.
. Tác nhân: Giáo viên
. Mục đích: Cấp, thu hồi quyền sử dụng các chức năng của hệ thống nhằm đảm bảo
tính an toàn, bảo mật và thống nhất của hệ thống.

21

21



. Mô tả: Giáo viên nhập nhập tên đăng nhập và mật khẩu cũ tiếp theo nhập mật khẩu
mới, nhắc lại mật khẩu mới và chọn cập nhật hệ thống sẽ cấp một mật khẩu mới
Chức năng tham chiếu : A.0.2
. Luồng sự kiện:
Hành động của tác nhân

Phản ứng của hệ thống

1. Nhập tên đăng nhập và mật
khẩu cũ chọn thay đổi mật khẩu

2. Kiểm tra tính đúng đắn của yêu
cầu, hiển thị giao diện thay đổi mật
khẩu
4. Ghi lại thay đổi đó

3. Nhập tên đăng nhập mới, mật
khẩu mới, nhắc lại mật khẩu mới
5. Chọn cập nhật

Dữ liệu có liên quan

6. Kiểm tra tính đúng đắn của yêu
cầu, hiển thị thông báo và lưu lại
thay đổi

Bảng 6: Mô tả ca sử dụng thay đổi mật khẩu
2.1.5.2.2 Ca sử dụng tiến hành thi.
. Tác nhân : Giáo viên, sinh viên

. Mục đích : Giúp cho sinh viên làm bài thi trắc nghiệm
. Mô tả : Giáo viên chọn môn học thi trắc nghiệm, chọn tên lớp, gọi sinh viên vào thi.
Sinh viên vào làm bài, lựa chọn các đáp án cho từng câu hỏi, khi làm xong số câu thì chọn kết
thúc kiểm tra hoặc chờ hết thời gian.
Chức năng tham chiếu : A.1.1
. Luồng sự kiện :
Hành động của tác nhân

Phản ứng của hệ thống

1. Giáo viên chọn môn thi, 2. Yêu cầu bạn nhập họ tên
lớp thi.
và chọn OK
3. Sinh viên nhập họ tên
4. Hiện giao diện thi: câu hỏi,
các phương án lựa chọn, đồng
hồ tính giờ ...
5. Sinh viên làm bài thi: 6. Hiện giao diện thi: câu hỏi,
lựa chọn phương án trả các phương án lựa chọn, đồng
lời, làm câu tiếp hoặc làm hồ tính giờ ...
lại câu trước.
7. Sinh viên chọn kết thúc 8. Hiện lại giao diện thi, kết
kiểm tra sau khi làm xong quả thi, các câu trả lời đúng,
hoặc hết thời gian làm các câu bị trừ điểm. (sinh viên
bài.
không thể làm lại bài thi)
9. Giáo viên tiếp tục gọi 10. Quay trở lại bước 2 hoặc
sinh viên khác vào thi quay về giao diện ban đầu
hoặc kết thúc buổi thi


22

22

Dữ liệu có liên quan
Danh sách lớp
Ngân hàng câu hỏi,
Đáp án
Ngân hàng câu hỏi,
Đáp án

Danh sách lớp


Bảng 7: Mô tả ca sử dụng tiến hành thi
2.1.5.2.3 Gói ca sử dụng xem kết quả thi.
Gói ca sử dụng “Xem kết quả thi”

Xem điểm
In ra giấy

Xóa file điểm

Gi¸o viªn

Hình 2.3: Biểu đồ gói cho ca sử dụng “Xem kết quả thi”
2.1.5.2.3.1 Ca sử dụng xem điểm.
. Tác nhân : Giáo viên.
. Mục đích : Xem kết quả học tập của từng sinh viên cho môn học đó.
. Mô tả : Giáo viên mở kết quả thi các môn thi trắc nghiệm trên máy vi tính của từng

lớp để xem bảng điểm kết quả.
Chức năng tham chiếu : A.2.1
. Luồng sự kiện:

23

23


Hành động của tác nhân

Phản ứng của hệ thống

1. Giáo viên chọn tên lớp 2. Hiện tên lớp cần xem điểm
tham gia dự thi.
3. Chọn xem điểm

Dữ liệu có liên quan
Danh sách lớp

4. Hiển thị danh sách sinh viên: Danh sách lớp
STT, Họ tên, điểm thi.
Bảng 8: Mô tả ca sử dụng xem điểm

2.1.5.2.3.2 Ca sử dụng in điểm ra giấy.
. Tác nhân: Giáo viên
. Mục đích: In ra giấy kết quả thi trắc nghiệm của lớp tham gia thi.
. Mô tả: Giáo viên mở kết quả thi các môn thi trắc nghiệm trên máy vi tính của lớp
tham gia thi, In kết quả thi ra giấy.
. Chức năng tham chiếu : A.2.2

. Luồng sự kiện.
Hành động của tác nhân

Phản ứng của hệ
thống

Dữ liệu có liên
quan

1. Giáo viên chọn lớp tham gia 2. Hiển thị tên lớp cần In Danh sách lớp
thi.
kết quả thi.
3. Chọn chức năng In ra giấy

4. Hiển thị thông báo

5. In bảng điểm

6. Hiển thị giao diện xem Danh sách lớp
kết quả
Bảng 9: Mô tả ca sử dụng In kết quả thi ra giấy

2.1.5.2.3.3 Ca sử dụng xóa kết quả thi.
. Tác nhân: Giáo viên
. Mục đích: Xóa kết quả thi trắc nghiệm của lớp tham gia thi.
. Mô tả: Giáo viên mở kết quả thi các môn thi trắc nghiệm trên máy vi tính của lớp
tham gia thi, xoá kết quả thi.
. Chức năng tham chiếu: A.2.3
. Luồng sự kiện:
Hành động của tác

nhân

Phản ứng của hệ thống

Dữ liệu có liên
quan

1. Giáo viên chọn lớp tham 2. Hiển thị tên lớp cần xóa Danh sách lớp
gia thi
kết quả thi.
3. Chọn chức năng xoá file

24

4. Hiển thị thông báo bạn
có muốn xóa hay không.

24


5. Giáo viên chọn Yes hoặc 6. Xóa kết quả của lớp đó
No
hoặc trở lại giao diện xem
kết quả
Bảng 10: Mô tả ca sử dụng xóa kết quả thi
2.1.5.2.4 Gói ca sử dụng tạo đề thi, câu hỏi và đáp án.
<<include>>
Cập nhật đáp án trừ điểm

<<include>>

<<include>>

Gói ca sử dụng “Tạo đề thi, câu hỏi và đáp án”

Cập nhật câu hỏi
Cập nhật đáp án trừ điểm

Giáo viên
Cập nhật đáp án
Tạo ngân hàng câu hỏi
Tạo đề thi và đáp án
Chọn số câu trong một đề
Chọn thời gian làm bài thi
<<include>>
<<include>>
<<include>>

25

25


×