B ộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI
HỌC HÀ NỘI•
•
•
BÁO CÁO TỎNG KÉT
ĐÈ T À I K H O A H Ọ C
VÀ C Ô N G N G H Ệ CẤP
co' SỞ
NGHIÊN CỨU XÂY DựNG PHẦN MÈM
QUẢN LÝ VÀ THựC HIỆN QUY TRÌNH THI MÔN HỌC
TẠI KHOA CÔNG NGHỆ THÔNG TIN
Chủ nhiệm đề tài: Thạc sĩ Lê M inh Đức
Các thành viên: Tiến sĩ N guyễn Xuân Thắng
Thạc sĩ Đỗ Thị Phương Thảo
Hanoi University
TJ' XT—
IMIIIIMIIII l ll l i l l II Hà N^ ’ 10/2016
000091292
Bộ GIÁO DỤC VÀ ĐÀO TẠO
•
•
•
TRƯỜNG ĐẠI
HỌC
HÀ NỘI
•
•
•
BÁO CÁO TỐNG KÉT
ĐÈ TÀI KHOA H Ọ C VÀ CÔNG NGHỆ CẤP c ơ SỞ
NGHIÊN CỨU XÂY DƯNG PHẦN MÈM
QUẢN LÝ VÀ THựC HIỆN QUY TRÌNH THI MÔN HỌC
TẠI KHOA CÔNG NGHỆ THÔNG TIN
Chủ hhiệm đề tài: Thạc sĩ Lê M inh Đức
Các thành viên: Tiến sĩ Nguyễn Xuân Thắng
Thạc sĩ Đỗ Thị Phương Thảo
f i n !1
THƯ V IÊ N ĐAI H O C H A N Ò I
HANOI U N I V E R S I T Y L I B R A R Y
l ........
H à N ội, 10/2016
I. Mỏ' đầu
Khca Công nghệ Thông tin (CNTT), trường Đại học Hà Nội, là một tổ chức giáo dục
trier, khai giảng dạy các chương trình bậc đại học về CNTT. Trong vòng hai năm trở lại
đây. khoa CNTT đã tiến hành quy trình hóa, theo chuẩn quản lv ISO [1], các nhiệm vụ
của mình với mục tiêu nâng cao hiệu quả thực hiện các nhiệm vụ này. Trong số các quy
trình đóng vai trò quan trọng của khoa có hai quy trình thi là FIT.GD.05 và FIT.GD.06
(trong báo cáo này sẽ gọi chung là quy trình thi). Quy trình thứ nhất liên quan đến tổ
chức thi cho tất cả các môn học, còn quy trình thứ hai là tổ chức thi cho từng môn học.
Nhìn chung về đặc trưng, quy trình là một thực thể phức tạp, bao gồm nhiều bước
được thực hiện bởi nhiều người và có thể ở cùng một thời điểm. Để thực hiện và quản lý
thực hiện quy trình được hiệu quả, khoa CNTT đã xác định cần đira việc thực hiện các
quy trình vào một hệ thống thông tin. Hệ thống này sẽ giúp khoa theo dõi, giám sát và
điều chỉnh việc thực hiện cũng như quản lý thực hiện quy trình.
Tuy nhiên, hiện tại hệ thống thông tin trên mới chỉ được thực hiện một cách thủ công.
Thông tin về thực hiện quy trình chi được lưu trữ dưới dạng các văn bản rời rạc và
không được quàn lý một cách thống nhất, gây nhiều khó khăn trong việc tổng họp thông
tin cũng như truy vấn chuyên sâu.
Áp dụng các giải pháp phần mềm trong quản lý hệ thống thông tin giúp nâng cao hiệu
quả hoạt động của các hệ thống này [2]. Trong thực tế, có khá nhiều phần mềm đã được
xây dựng nhằm hỗ trợ cho việc triển khai công việc theo quy trình. Ví dụ, thư mục
"quality-management-software"
của
trang
web
Capterra
(địa
chỉ:
) liệt kê 73 phần mềm chuyên dành cho nhiệm vụ quản lý chất
lượng, trong đó bao gồm hỗ trợ chuẩn quản lý ISO.
Từ năm 2012 đến nay, một giảng viên của bộ môn Công nghệ phần mềm thuộc khoa
CNTT. đồng thời cũng là chủ nhiệm đề tài này, đã chủ động nghiên cứu một công nghệ
1
p h á t triển p h ầ n m ề m h iệ n đại, g ọi là p h ầ n m ề m k illin g jD o m a in A p p [3], có k h ả n ă n g s in h
tự động một phần mềm có giao diện đồ họa người sử dụng cho một miền ứng dụng từ
một mô hình thiết kế của miền đó. Phần mềm khung này ứng dụng phương pháp phát
triển phần mềm hướng miền (PM-HMN) (domain-driven software development) [4].
Triết lý của phươne pháp này là nhàm định nghĩa và phân tích vêu cầu miền của phần
mềm một cách đầy đủ và ở dạng thuận lợi nhất cho xây dựng thiết kế và triển khai viết
mã phần mềm. Cũng theo [4] thì phương pháp này đặc biệt thích hợp với các phần mềm
hướng đối tượng, do các phần mềm này được xây dựng dựa trên các đối tượng thực thể
tìm thấy trong và hình thành nên cấu trúc dữ liệu của các vấn đề trong thực tiễn.
Các kết quả nghiên cứu ban đầu về phần mềm khung jDomainApp (được công bố ở
[5], [6]) đã tạo tiền đề và động lực cho nhóm tác giả đẩy mạnh nghiên cứu sâu hơn về
phần mềm khung này. Đe thực hiện tốt mục tiêu này đòi hỏi một quá trình không ngừng
tìm kiếm và phát triển các lóp phần mềm, mà yêu cầu miền ứng dụng của chúng có
phạm vi đặc trưng ngày càng rộng và độ phức tạp ngày càng cao. Việc áp dụng
jDomainApp cho một lớp phần mềm mới sẽ không chỉ giúp cải thiện các tính năng hiện
có mà còn giúp phát hiện các tính năng mới cản hỗ trợ. Các cải tién này sau đó sê được
đem áp dụng để phát triển các phần mềm tương tự ở các miền ứng dụng khác.
Qua tìm hiểu về quy trình và xuất phát từ thực tiễn tham gia trực tiếp, ở các vai trò
khác nhau, vào thực hiện công việc theo quy trình, nhóm tác giả cho rằng lớp các phần
mềm quản lý quy trình theo chuẩn ISO là một lóp phần mềm có nhiều đặc trưng mới và
có độ phức tạp cao, phù hợp để sử dụng làm đối tượng nghiên cứu cho jDomainApp.
Do đó, nhóm tác giả đã đặt mục tiêu nghiên cứu áp đụng phương pháp phát triển PMHMN sừ dụng phần mềm khung jDomainApp trong việc xây dựng một phần mềm hỗ trợ
hiệu quả việc quản lý và thực hiện quy trình thi tại khoa CNTT. Nhóm tác giả đặt tên
cho phần mềm này là P ro c e s s M a n (viết tắt của "Process Manager").
2
1. Tính cấp thiết của đề tài
Từ năm 2014, khoa CNTT đã thực hiện quản lí chất lượng công việc sử dụng các quy
trình được xây dựng theo chuấn ISO. Nhìn chung, quy trình công việc là một thực thể
phức tạp, bao gồm nhiều bước được thực hiện đồng thời hoặc ở các thời điểm khác nhau
và với nhiều người tham gia.
Tuy nhiên, hiện nav các quy trình này mới chỉ được thực hiệnmột
cách thủ công và
kém hiệu qủa. Chi tiết về các bước hoạt động được lưu ởdạng vănbản và không được
quản lý một cách thống nhất, gây khó khăn lớn trong việc truy vấn chuyên sâu và tổng
họp thông tin liên quan đến việc thực hiện quy trình.
2. M ục
tiêu và nhiêm
vu• của đề tài
•
•
Mục tiêu của đề tài là nghiên cứu áp dụng phương pháp phát triển PM-HMN sử dụng
phần mềm khung jDomainApp, để xây dựng phần mềm quản lý và thực hiện các quy
trình thi, có các đặc trưng của một lớp quy trình.
Để đạt được mục tiêu này đề tài đặt ra các nhiệm vụ sau đây cần hoàn thành:
•
Thu thập thông tin về quy trình và về công tác quản lý thực hiện quy trình
•
Định nghĩa phạm vi và yêu cầu phần mềm
•
Xây dựng mô hình thiết kế phần mềm áp dụng công cụ JDomainApp
•
Viết mă thử nghiệm phần mềm sử dụng jDomainApp
•
Kiểm thử phần mềm
•
Viết tài liệu hướng dẫn sử dụng phần mềm
•
Viết báo cáo khoa học về các kết quả của đề tài
Mục II sẽ trình bày tóm tất về nội dung và kết quả của các nhiệm vụ trên.
3
3. Đối tượng và phạm vi nghiên cứu
Đối tượng chính của đề tài là công tác quản lý và thực hiện quv trình thi. Phạm vi nghiên
cứu là các quy trình thi hiện đang được triển khai tại khoa CNTT, Đại học Hà Nội.
4. Cách tiếp cận
Các tiếp cận của đề tài là chia nhỏ mục tiêu cần đạt được thành các câu hỏi chính sau
đây để tìm câu trả lòi:
1. Yêu cầu của các quy trình công việc và của việc thực thi các quy trình này là gì?
2. Phương pháp phát triển PM-HMN là gì và làm thế nào để áp dụng phương pháp
cho một phần mềm cụ thể và sử dụng một ngôn ngữ lập trình cụ thể?
3. Sử dụng công cụ jDomainApp để phát triển PM-HMN như thế nào?
4. Áp dụng công cụ jDomainApp cho phát triển phần mềm ProcessMan mang lại kết
quả ra sao?
5. Phương pháp nghiên cứu
Để ữả lời các câu hỏi tiếp cận ờ trên, đề tài áp dụng các phương pháp nghiên cứu sau
•
Thu thập và mô tả yêu cầu phần mềm
•
Nghiên cứu tổng quan về phương pháp phát triển PM-HMN và về công cụ
JDomainApp
•
Thử nghiệm phát triển phần mềm ProcessMan sử dụng công cụ jDomainApp
6. Tóm tắt những điểm đã điều chỉnh
Bảng 1 dưới đây trình bày tóm lược các nội dung mà nhóm đềtài đã điều chỉnh theo các
nhận xét của hội động cấp đon vị.
4
TT
N hận xét của hội đồng
Báo cáo chỉnh sửa
Nội dung chỉnh sửa
- Mục I: cập nhật để trình bày đầv đù
hơn về lí do và mục tiêu cùa đề tài, từ
đó xác định chính xác hơn phạm vi và
mức độ cùa sản phẩm
Báo cáo tổng kết
- Mục II.3.1: bổ sung mục này để làm rõ
phạm vi và mức độ cần đạt được cùa
phần mềm P r o c e s s M a n
1
- Hệ thống lại danh sách các báo cáo cho
Cần trình bày rõ hơn
phần mềm
phạm vi thực hiện của đề - Bổ sung một mục về sự tương thích với
tài, mức độ cùa sản phẩm
chuẩn mới ISO 9001:2015
- Mục 3.2.1: nói rõ việc tổ chức thực
hiện theo vòng cho phưong pháp chung
về thiết kế và triển khai viết mã
Báo cáo chuyên đề ]
Báo cáo chuyên đề 2
- Mục 3.2.2: bổ sung bước cập nhật phần
mềm khung jD o m a in A p p
Ọ
3
Sửa chữa một vài lỗi
chính tả và trình bày
Làm rỗ hơn các hưóng
phát triển của phần mềm
trong giai đoạn tiếp theo,
chú ý thêm về việc trình
bày hướng tích hợp với
hệ thống eLearning là
Moođle đang đưọc áp
ciụns tại khoa
_
- Mục 2: rút gọn lại để nhấn mạnh bước
triển khai của phương pháp
Báo cáo chuyên đề 3
- Mục 2.1: đổi "kiểm thử đon vị" thành
"kiểm thử tích hợp"
Báo cáo chuyên đề 4
- Mục I và II.3.1 liệt kê ở trên
- Mục IV .l: tâch rieng mục con về hướng
phát triển tiếp theo
- Mục IV. 1: trình bày về hai hướng phát
triển tiếp theo cùa đề tài, trong đó đề
cập đến yêu cầu tích hợp với hệ thống
Moodle
f
*
Bâo câo tổng két
Báo cáo tổng kết
>
Bàng 1: Tóm tãt những điêm đã điêu chinh
II. N ộ i d u n g và k ết q u ả n g h iên cứ u
Trong phần này tác giả sẽ tóm tắt các nội dung và kết quả nghiên cứu các nhiệm vụ đã
trình bày ở mục 1.2.
5
1. T hu th ậ p và IĨ1 Ô tả yêu cầu phần m ềm
Nội dung và kết quà cụ thể của nhiệm vụ này được trình bày trong báo cáo chuyên đề:
(1) "P h ần m ề m P ro cessM an : M ô tả y ê u cầu ".
Yêu cầu phần mềm được thu thập sử dụng tổne họp hai phương pháp chính là:
•
Phương pháp nghiên cứu tài liệu
•
Phưong pháp quan sát
Tài liệu bao gồm văn bản hai quy trình thi, đã được phát triển ở đề tài [7], đó là:
• FIT-DT-05: Quy trình tổ chức thi cuối kỳ
• FIT-DT-06: Quy trình thi hết học phần môn học
Ngoài ra, với tư cách là những người đã và hiện đang nắm giữ các vị trí khác nhau
trong hai quy trình trên, nhóm tác giả đã sử dụng những kinh nghiệm thực tiễn của mình
làm nguồn cung cấp thông tin bổ sung.
Trong quá trình nghiên cứu, tác giả cùa chuyên đề đã tổ chức và trình bày lại mô tả
của hai quy trình trên theo một mẫu mới, giúp nêu bật được các thành phàn cấu trúc của
quy trình cũng như các khái niệm liên quan đến miền kiến thức của phần mềm. Mô tả
này được sử dụng làm đầu vào cho phân tích và thiết kế giải pháp phần mềm.
2. Nghiên cứu tổng quan về phương pháp phát triển PM -H M N và công cụ
jDomainApp
Nội dung và kết quả cụ thể của nhiệm vụ này được trình bày trong báo cáo chuyên đề:
(2) "Phần mềm ProcessMan: Thiết kế hướng miền".
2.1.
Tính tự động hóa
Từ khía cạnh quản lý dự án phần mềm, điểm nổi bật của công cụ jDomainApp là giúp
6
nhóm dự án tăng năng suất công việc nhờ việc tự động hóa cácnhiệm vụ mangtính cơ
h ọ c c ủ a q u y trìn h p h á t triể n p h ầ n m ềm . C ô n g cụ jD o m a in A p p có th ể g iú p tự đ ộ n g
hóa
các nhiệm vụ sau đây:
1. Thiết kế chi tiết luồne sự kiện của RĨao diện đồ họa người sử dụng (GUI)
2. V iế t m ã g iao d iệ n G U I
3. Thiết kế và cài đặt cơ sở dữ liệu quan hệ của phần mềm
4. Thiết kế kiến trúc phần mềm
2.2.Quy trình phát triển PM-HMN s ử dụng jD o m a in A p p
Quy trình phát triển phần mềm sử dụng jDomainApp bao gồm các nhiệm vụ chính sau:
1. Xây dựng yêu cầu dữ liệu (bao gồm cả các ràng buộc dữ liệu), yêu cầu chức năng,
và yêu cầu giao diện và phi chức năng (nếu có)
2. Xây dựng mô hình dữ liệu (sử dụng y/c dữ liệu)
3. Xây dựng mô hình chức năng (sử dụng y/c chức năng)
4. Xây dựng các mô-đun phần mềm (các mô-đun này cấu thành nên mô hình kiến
trúc phần mềm)
5. Viết cấu hình phần mềm (từ các mô-đun)
3. T hử nghiệm phát triển phần mềm ProcessMan sử dụng công cụ jDomainApp
Nội dung và kết quả của nhiệm vụ này được trình bày trong ba báo cáo chuyên đề:
(2) "Phần mềm ProcessMan: Thiết kế hướng miền"
(3) "Phần mềm ProcessMan: Triển khai viết mã nguồn"
(4) "Phần mềm ProcessMan: Kiểm thử và Hướng dẫn sử dụng"
7
3.1. M ột số mục tiêu trọng tâm
Nhóm đề tài đặt trọng tâm ở giai đoạn này là nghiên cứu. Trọng tâm này bao gồm hai
m ụ c tiê u c h ín h sau đ ây cần đ ạ t đ ư ợ c:
• xây dựng một mô hình thiết kế miền chi tiết cho phần mềm, theo nguyên lý của
phương pháp PM-HMN v à sử dụng phần mềm khung jD o m a in A p p . Mô hình cần
bao gồm các khái niệm miền và luật thiết kế phản ánh một cách chính xác yêu cầu
• hoàn thành phiên bản mẫu phần mềm ProcessMan, hiện thực hóa mô hình thiết kế
miền nói trên và ở dạng có thể sử dụng được lại toàn bộ cho phát triển phiên bản
hoàn chỉnh của phần mềm về sau
3.2. Thiết kế hướng miền
Phương pháp thiết kế
Áp dụng jDomainApp, mỗi lóp của mô hình dữ liệu và mô hình chức năng được thiết kế
dưới dạng một lớp miền (domain class). Mỗi mô-đun của phần mềm được hình thành từ
m ỗ i lớ p m iề n . M ộ t m ô -đ u n c u n g c á p các c h ứ c n ă n g tư ơ n g tá c c a b ả n ch o p h c p n g ư ờ i s ử
dụng tạo, sửa, và xóa dữ liệu eủa lớp miền của mô-đun đó.
Dưới đây là danh sách các bước thiết kế mỗi mô hình khi sử dụng jDomainApp:
1. định nghĩa các lớp với đầy đủ thuộc tính và các ràng buộc dữ liệu
2. áp dụng các luật bình thường hóa các quan hệ để đưa về một trone hai dạng quan
hệ phổ biến: một-một hoặc một-nhiều
3. áp dụng các luật phương thức để định nghĩa các phương thức cho mỗi lớp dữ liệu
4. cập nhật mô hình để thỏa mãn yêu cầu giao diện, sử dụng thư viện của
jDomainApp
5. cập nhật mô hình để thỏa mãn các yêu cầu phi chức năng (nếu có)
8
Các mô hình dữ liệu
Bảng 2 liệt kê năm nhóm mô hình dữ liệu, cùng với tên và mô tả bảy 1Ĩ1Ô hình con của
các nhóm này.
Mâ
MH
Nhóm
4
5
Mô tả
Cấu trúc quy trình
Biều diễn quy trình và cấu trúc quy trinh
Ràng buộc quy trình
Biêu diễn các điều kiện ràng buộc (cúa các
Quy trình
bước làm quy trình)
Hàm
6
Biếu diễn các loại hàm được sử dụng trong
định nghĩa ràng buộc
7
Giảng dạy
8
Áp dụng quy trình
9
Thực hiện quy trình
10
Mô hình
Bảo mật
Giảng dạy
Biêu diễn các dữ liệu về giáng dạy
Áp dụng quy trình
Biểu diễn dữ liệu về áp dụng quy trình
Kết quả thực hiện quy trình
Biểu diễn các dữ liệu liên quan đến kết quả
thực hiện quy trình
Bào mật phần mềm
Điếu diễn các dữ liệu liên quan đến bảo
mật phần mềm
Bảng 2: Danh sách và mô tà các nhóm mô hình dữ liệu
Các mô hình chức năng
Bảng 3 liệt kê 16 chức năng của phần mềm ProcessMan (được gán mã từ C1 đến C16).
Các chức năng được chia thành 6 nhóm, trong đó 5 nhóm đầu là các nhóm cùng tên
được sử dụng ở Bảng 2 để phân loại các mô hình dữ liệu. Nhóm thứ sáu là nhóm dành
riêng cho các chức năng báo cáo.
9
Mã
Mã
CN
MH
Cl
-
C2
-
Quy trình
C3
-
C5
-
C6
-
C7
C9
11----
HI
4
T(ạo)/S(ửa)/X(ỏa) quy trình
Quản lý đon vị tồ chức
8
T/S/X đơn vị tồ chức
Quàn lý điều kiện ràng buộc quy
H2
Quản lý môn học theo học kỳ
7
Quàn lý giãng dạy
Áp dụng
quy trình
Quản lý áp dụng quy trình
-
Quản lý áp dụng quy trình gắn
-
môn học
-
Thực hiện Quản lý thực hiện quy trình gắn
-
C13
-
Dảo mật
T/S/X điều kiện ràng buộc quy trình
T/S/X môn học theo từng học kì
T/S/X giảng viên giảng dạy cho từng
môn học theo từng học kì
quy trình môn học
C12
5,6
T/S/X môn học
Quản lý thực hiện quy trình
CIO
C ll
Quán lý quy trình
Quản lý môn học
Giàng dạy
Mô tá chức năng
tham chiếu
trình
C4
C8
Mô hình DL
Tén chức năng
Nhóm
T/S/X áp dụng quy trình cho mỗi học kì
T/S/X áp dụng quy trình gắn môn học
cho mỗi học kì
T/S/X kết quá các bước làm của một quy
trình, đã được áp dụng trong một học kì
T/S/X kết quả các bước làm cùa một quy
-
trình gắn môn học, đã được áp dụng cho
các môn học trong một học kì
Quản lý tệp văn bàn
9
Quàn lý người dùng
Quàn lý vai trò
10
T/S/X các tệp văn bàn liên quan đến việc
thực hiện các bước làm của một quy trình
T/S/X người dùng
T/S/X vai trò
Lập báo cáo tóm tắt tình trạng hoàn thàrih
C14
H3
Kết quả công việc
-
các bước làm của quy trình được áp dụng
trong một học kì
Lập báo cáo chi tiết tình trạng hoàn thành
C15
H4
Báo cáo
Kết quả công việc giảng dạy
-
các bước làm được áp dụng cho các môn
học của một quy trình gắn môn học, cúa
một học kì
Lập báo cảo tình trạng hoàn thành các
C16
H5
Ket quả công việc theo môn học
-
bước làm được áp dụng cho từng môn
học của một quy trình gắn môn học, cùa
một học kì
Bảng 3: Danh sách các chức năng và các phân nhóm chức năng
10
3.3. Triển khai viết mã nguồn
N h ìn c h u n g , sa u đ ã x ây d ự n g đ ư ợ c m ô h ìn h th iế t k ế c h o m ộ t h o ặc m ộ t n h ó m c h ứ c n ă n g
nào đó củ a p h ầ n m ề m th ì có th ể tiế n h à n h triể n k h ai v iế t m ã n g u ồ n th e o th iế t kế.
Phương pháp triển khai mã nguồn
Trién khai mã nguồn (implementation) là pha tiếp theo sau pha thiết kế của một quy
trình phát triển phần mềm tiêu chuẩn ([8], [9]). Đối với quy trình phát triển PM-HMN,
pha triển khai mã nguồn được thực hiện một cách linh hoạt theo nhiều vòng (iteration),
giống với tư tưởng của phương pháp xoắn ốc (spirial process model [8]). Theo đó, hai
pha thiết kế và triển khai mã nguồn (thậm chí cả pha định nghĩa và đặc tả yêu cầu) sẽ
được chia nhỏ và được thực hiện tuần tự theo các mô-đun. Phạm vi của mỗi vòng sẽ phủ
một hoặc một nhóm mô-đun (được xác định tùy vào số lượng người của nhóm phát
triển). Trong mỗi mô-đun, các lớp dữ liệu và các lớp chức năng liên quan (nếu có) sẽ
được triển khai trước, sau đó đến lớp cấu hình mô-đun.
Song song với việc triển khai các mô-đun, các cấu hình phần mềm sẽ được cập nhật
tương ứng để đưa vào các mô-đun mới thực hiện. Nhờ đỏ, ta có thể tạo ra một phiên bản
cấu hình cho từng vòng phát triển, và sử dụng các cấu hình này để tạo các bản thử
nghiệm chương trình nhằm mục đích kiểm thử dần các mô-đun đã tạo.
Ngôn ngữ lập trình
Theo một nghiên cứu mới nhất của tác giả ([10]) về phương pháp thiết kế sử dụng thì
th iết kế c ủ a c h ư ơ n g trìn h P ro c e ssM a n có th ể đ ư ợ c triể n k h a i b ở i cá c n g ô n n g ữ lậ p trìn h
hướng đối tượng hỗ trợ tính năng lập trình siêu hình (meta-programming). Trong số các
n g ô n n g ữ lậ p tr ìn h đ ư ợ c sử d ụ n g p h ổ b iế n h iệ n n a y c ó h ỗ tr ợ tín h n ă n g n ày b a o g ồ m
Java và C#/.Net. Chúng tôi lựa chọn sử dụng ngôn ngữ lập trình Java để triển khai mã
chư ơ ng trìn h P ro c e s s M a n , v ì đ ây là n g ô n n g ữ đ ư ợ c sử d ụ n g tro n g c ô n g c ụ jD o m a in A p p .
11
Tông hợp và phân loại các mô-đun
B ả n g 4 liệt kê danh sách 16 mô-đun phần mềm ProcessMan. M ỗi mô-đun ứng với một
c h ứ c n à n g c ủ a p h ầ n m ề m (trìn h b ày ở b ả n g B ả n g 3).
Mà
Mã
MĐ
CN
MI
Cl
M2
C2
M3
C3
M4
C4
M5
C5
M6
C6
Nhóm
Loại
Tên chức năng
Tên mô-đun
Quán lý quy trình
ModuleProcessManager
Quàn lý đơn vị tồ chức
Quy trình
ModuleOrgUnit
Quàn lý điều kiện ràng buộc
Cơ bản
quy trình
Quản lý môn học
Giàng dạy
ModuleBooleanExpression
ModuleSubject
Quán lý môn học theo học kỳ
Quản lý giảng dạy
ModuleSubjectBySemesterManager
ModuleTeaching
Quản lý áp dụng quy trình
M7
C7
Áp dụng quy
trinh
M8
ModuleProcessApplicationManager
(Process Application
Manager)
Phức họp
Quản lý áp dụng quy trình
gán môn học (Process-for-
C8
ModuleProcess4S ubj ectAppl ication
Manager
Subject Application
Manager)
M9
Quản lý thực hiện quy trình
C9
Thực hiện quy
M10
CIO
ModuleProcessExecution
(Process Execution Manager)
Phức họp
trình
Quản lý thực hiện quy trình
gắn môn học (Process-for-
ModuleProcessExecution4Subject
Subject Execution Manager)
Mil
C ll
M12
C12
M13
C13
M14
C14
M15
M16
C15
C16
Bảo mật
Cơ bản
Quàn lý tệp văn bản
ModuleFileWrapper
Quản lý người dùng
ModuleDomainƯser
Quản lý vai trò
ModuleRoleManager
Kết quả công việc (User
ModuleReportưserActions
Actions)
Báo cáo
Phức hợp
Ket quả công việc giàng dạy
ModuIeReportTeachingActions
(Teaching Actions)
Ket quà công việc theo môn
ModuleReportSubjectActions
học (Subject Actions)
\
\
Bảng 4: Bảng các mô-đun phân mêm ProcessMan
12
3.4. Kiểm thử và huóng dẫn sử dụng
T rên n g u y ê n tắc, m ụ c tiêu c ủ a c ủ a k iể m th ử p h ầ n m ề m là để x ác đ ịn h x em p h ầ n m ề m có
p h á t sinh lỗ i k h i ch ạy trên m ộ t tậ p d ữ liệu đ ư ợ c x ây d ự n g từ m iề n y ê u cầu h ay k h ô n g .
Đ e đ áp ứ n g m ụ c tiêu trọ n g tâ m trìn h b ày ở m ụ c 3.1, n h ó m đ ề tà i tậ p tru n g v ào k iể m
th ử p h iên b ả n m ẫ u củ a p h ầ n m ề m P ro cessM a n . Đ ây là c ô n g v iệ c đòi h ỏ i s ự tỉ m ỉ v à
đ ư ợ c n h ó m đ ề tà i th ự c h iệ n ở h ai th ờ i đ iểm k h á c n h a u v à do h ai th à n h v iê n tiế n h à n h
m ộ t cách đ ộ c lập:
1. ờ cuối mỗi vòng triển khai viết mã nguồn (trình bày ở trên): do thành viên đóng
vai trò lập trình viên thực hiện
2. sau khi hoàn thành toàn bộ mã nguồn: do thành viên đóng vai trò kiểm định viên
thực hiện
Kết quả kiểm thử được trình bày trong báo cáo chuyên đề 4. Chuyên đề này đồng
thời cũng trình bày nội dung hướng dẫn cài đặt và sử dụng giao diện phần mềm.
III. Sản phẩm
STT
Tên sản phẩm
1
Báo cáo tổng kết đề tài
2
Báo cáo chuyên đề 1: Phần mềm ProcessMan: Mô tả yêu cầu hệ thống
(Phụ lục: Quy trình cập nhật)
3
Báo cáo chuyên đề 2: Phần mềm ProcessMan: Thiết kế hướng miền
4
Báo cáo chuyên đề 3: Phần mềm ProcessMan: Triển khai viết mã nguồn
(Phụ lục: Tài liệu giao diện lập trình phần mềm)
5
Báo cáo chuyên đề 4: Phần mềm ProcessMan: Kiểm thử và Hướng dẫn sử dụng
6
Bài báo khoa học: 2 bài báo ([10], [11]) đăng ở hội thảo quốc tế KSE & RIVF
2016
7
Phân mềm ProcessMan
13
IV. K ết luận và kiến nghị
Trong đề tài này, các tác giả đã trình bày kết quả nghiên cứu áp dụng phương pháp phát
triển PM-HMN sử dụng phần mềm khung jD o m a in A p p để xây dựng phần mềm
ProcessMan, dùng cho quản lý và thực hiện hiệu quả các quy trình thi ở khoa CNTT,
trường Đại học Hà nội. Trọng tâm chính của đề tài ờ giai đoạn này là xây dựng một
phiên bản mẫu của phần mềm, có khả năng hỗ trợ các yêu cầu đặc trưng của quy trình
thi. Việc tập trung vào các yêu cầu này giúp mở rộng khả năng áp dụng của phần mềm,
có thể dễ dàng hỗ trợ một lóp các quy trình có cùng các đặc điểm được nghiên cứu. Các
tác giả đã áp dụng kết hợp nhiều phương pháp nghiên cứu khác nhau để định nghĩa yêu
cầu, thiết kế và triển khai giải pháp, cũng như kiểm thử chất lượng phần mềm.
Việc áp dụng jDomainApp cho phát triển ProcessMan đã giúp cải tiến đáng kể các tính
năng của khung phần mềm. Các cải tiến này được công bố trong hai bài báo hội thảo
quốc tế được trích dẫn trong đề tài.
Thông qua tổng hợp khách quan các kết quả trình bày tại các chuyên đề và từ khía
c a n h n h ữ n g n g ư ờ i đ ã v à đ a n g th a m g ia tiế n h à n h triể n k h ai c ô n g v iệ c th e o q u y trìn h ,
c h ú n g tô i c h o rằ n g p h iê n b ả n p h ầ n m ề m P ro c e ssM a n m à n h ó m x â y d ự n g đ ư ợ c đ ã đ á p
ứng các yêu cầu nghiên cứu đặt ra.
1. H ướng phát triển tiếp theo
Kế hoạch tiếp theo trong tương lai bao gồm hai hướns chính. Hướng thứ nhất là tiếp
tụ c n g h iê n c ứ u cải th iệ n p h ầ n m ề m k h u n g jD o m a in A p p , n h ư đ ã trìn h b ày ở p h ầ n g iớ i
th iệ u c ủ a b áo cáo . Hướng th ứ h ai là tiế n h à n h triể n k h a i p h ầ n m ề m P ro c e s s M a n v à o sử
dụng tại khoa CNTT. Hướng này đòi hỏi lấy ý kiến rộng rãi của người sử dụng để cải
tiến chức năng và giao diện của phần mềm theo hướng tạo thuận lợi hơn khi thao tác.
Ngoài ra, một yêu cầu khác đặt ra là việc tích hợp phần mềm ProcessMan với phần mềm
quàn lý và triển khai giảng dạy tại khoa CNTT.
14
T ài liêu tham khảo
[1] ISO, “ISO 9000 quality management,” ISO. [Online], Available:
[Accessed: 09-Dec2016].
[2] G. Marakas and J. O ’Brien, Introduction to Information Systems, 16 ed. New York, NY: McGrawHill Education, 2012.
[3] D. M. Le, ‘"jDomainApp: A Domain-Driven Application Development Framework in Java,” Hanoi
University, 2016.
[4] E. Evans, Domain-driven design: tackling complexity in the heart o f software. Addison-Wesley
Professional, 2004.
[5] D. M. Le, “A Domain-Oriented, Java Specification Language,” in KSE 2015, 2015, pp. 25-30.
[6] D. M. Le, “A Tree-Based, Domain-Oriented Software Architecture for Interactive Object-Oriented
Applications,” in KSE 2015, 2015, pp. 19-24.
[7] T. P. T. Đỗ, “Áp dụng hệ thống quản lý chất lượng theo tiêu chuẩn TCVN ISO 9001:2008 vào xây
dựng quy trình xử lý công việc trong khoa CNTT,” Hanoi University, Hanoi, 2016.
[8] B. Liskov and J. Guttag, Program development in JAVA: abstraction, specification, and objectoriented design. Pearson Education, 2000.
[9] c . Larman, A pplyin g UML a n d P attern s: An Irttroducliun Co O b ject-O rien ted A n alysis a n d D esign
and Iterative Development, 3rd ed. Upper Saddle River, NJ, USA: Prentice Hall PTR, 2004.
[10]
D. M. Le, D.-H. Dang, and V.-H. Nguyen, “Domain-Driven Design Using Meta-Attributes: A
DSL-Based Approach,” in KSE 2016, 2016.
[11]
D. M. Le, D.-H. Dang, and V.-H. Nguyen, “Domain-Driven Design Patterns: A Metadata-Based
Approach,” in RIVF 2016, 2016.
Hà Nội, ngàv .... tháng.... năm....
Lê M inh Đức
15
BỌ GIAO DỤC VA ĐAO TẠO
TRƯỜNG ĐẠI HỌC HÀ NỘI
BÁO CÁO CHUYÊN ĐỀ 1
ĐÈ TÀI KHOA H Ọ C VÀ CỒNG NGHỆ CÁP c ơ SỞ
Phần mềm ProcessMan:
Mô tả yêu cầu
Người viết: Thạc sĩ Đ ỗ Thị Phương Thảo
H à N ội, 10/2016
M ục lục
1.
Giới thiệu..................................................................................................................................2
1.1. Giới thiệu về Khoa CNTT Trường Đại học Hà N ộ i...................................................... 2
1.2. Hệ thống quàn lý chất lượng TCVN ISO 9001:2008 tại Khoa CNTT......................... 3
2.
1.2.1.
Tổng quan..................................................................................................................3
1.2.2.
Câu trúc tài liệu và hệ thống quy trìiih....................................................................4
1.2.3.
Đánh giá và điều chinh quy trình.............................................................................5
1.2.4.
Giám sát như thế nào?..............................................................................................6
1.2.5.
Hướng tới phiên bản mới: tiêuchuẩn ISO 9001:2015............................................ 7
Phương pháp và những quy định chung khi mô tà................................................................7
2.1.
Phương pháp......................................................................................................................7
2.2.
Những quy định chung khi mô t ả ................................................................................... 8
3. Mô tả yêu cầu cụ thể các quy trình thi...................................................................................... 9
4.
3.1.
Sơ đồ tổng thể 2 quy trình và tương tácgiữa chúng:...................................................... 9
3.2.
Quy trình 1. FIT-DT-05 Quy trình tổ chức thi cuối kỳ:..............................................11
3.3.
Quy trình 2. FIT-DT-06 Quy trình thi hết học phầnmôn học:.....................................20
3.4.
Người sử dụng và các loại báo cáo................................................................................27
Kết luận.................................................................................................................................. 29
Tài liệu tham khảo....................................................................................................................... 30
Phụ Lục 1: FIT-DT-05 Quy trình tồ chức thi cuối k ỳ ................................................................. 31
Phụ Lục 2: F1T-DT-06 Quy trình thi hết học phần môn học...................................................... 32
1
1.
G iới thiêu
1.1.
G iới th iệ• u về K h o a C N T T T r ư ờ n go Đ ại
học
H à N ội
•
•
•
Trường Đại học Hà Nội (tiền thân là Trường Đại học Ngoại ngũ’ Hà Nội, được thành
lập năm 1959) là trưòng đại học công lập hàng đầu về đào tạo và nghiên cứu ngoại
ngũ' ở Việt Nam. Từ năm 2002, bên cạnh đào tạo 11 ngành tiếng trường được phép mở
rộng đào tạo đa ngành. Khoa Công nghệ Thông tin (CNTT) chính thức được thành lập
theo Quyết định số 1582/QĐ-TCHC ngày 06 tháng 11 năm 2006 cùa hiệu trưởng
Truông Đại học Hà Nội.
Số lượng cán bộ giảng viên CO' hữu: 28 (07 công tác nước ngoài).
Số lượng sinh viên: 700 (Sinh viên Khoa CNTT: 400, Sinh viên học môn tin học cơ
sỏ' (quy đổi): 300). Từ năm 2012, chi tiêu tuyển sinh cho khoa CNTT là hơn 200 sinh
viên/1 năm.
Với quy mô đào tạo như trên, các hoạt động của Khoa rất cần được chuẩn hỏa và
thống nhất. Sau quá trình nghiên cứu, tìm hiểu, thực hiện soạn thảo và áp dụng thử
nghiệm [1], hiện nay bộ tiêu chuẩn TCVN ISO 9001:2008 đã, đang và sẽ tiếp tục được
áp dụng trong hầu hết các hoạt động, mang lại nhiều lợi ích thiết thực, giúp nâng cao
chất lượng đào tạo cùa Khoa.
2
1.2.
H ệ th ố n g q u ả n lý c h ấ t lư ợ n g T C V N IS O 90 0 1 :2 0 0 8 tạ i K h o a C N T T
1.2.1. T ổ n g q u a n
Ti'ách nhiệim
cỉ la lằnh đi 10
i
c :“ - ::v
Không ngừng
J r
jfr
Q.uán íý Va
p h á t triẻi n
th a n lii'c
r
Hệ
thống
1
■
n
n
i K
é
m
B
1
M
H
m
h ân t i đ
n h giá, <
p
¥
r
Cải tiến
ị
ác q u y trir
tác n g h iệp
Giảng dạy;
iao vụ, har 1
^ 0 V
Hệ thống quản lý chất lượng tại Khoa được mô tả như hình trên [3]. Các hoạt động áp
dụng Hệ thống quản lý chất lượng cùa Khoa bao gồm:
-
Xác định các quy trình cần thiết cho hệ thống quản lý chất lượng và việc áp
dụng chúng trong toàn bộ Khoa;
-
Xác định trình tự và mối tương tác của các quy trình này;
-
Xác định các chuẩn mực và phương pháp cần thiết để đảm bảo việc tác
nghiệp và kiểm soát các quy trình này có hiệu lực;
3
-
Đàm bào sự sẵn có các nguồn lực và thông tin cần thiết để hỗ trợ hoạt động
tác nghiệp và theo dõi các quy trình này;
-
Đo lường, theo dõi và phân tích các quy trình này ;
Thực hiện các hành động cần thiết để đạt được kết quả dự định và cải tiến liên tục
các quy trình này.
Hệ thông các quy trình đang áp dụng ở Khoa CNTT [1] là một phần trong Hệ thống
quàn lý chất lượng theo tiêu chuẩn TCVN ISO 9001:2008.
1.2.2. Cấu trúc tài liệu và hệ thống quy trình
Câu trúc Hệ thống tài liệu quản lý chất lượng như sau:
So ta y ch ất lượng (STCL); m ô tả chính sách chát lượng, mục tiổu chát Iưựng,
sơ đồ tổ chức, chức năng nhiệm vụ của các bộ phận của Khoa. STCL cũng nêu
lên các phương pháp mà Khoa đáp ứng các yêu cầu của ISO 9001:2008.
-
Quy trình: mô tà cách thức tiến hành các quá trình hoạt động của Khoa.
-
Biếu mẫu: Là các mẫu có sẵn để sử dụng trong quá trình thực hiện các công
việc.
Hệ thống các quy trình tác nghiệp được chia thành 3 nhóm:
-
Quy trình liên quan tới hoạt động giáo vụ
-
Quy trình liên quan tới hoạt động giảng dạy
-
Quy trình liên quan tới hoạt động hành chính
Sau đây là danh mục các quy trình liên quan tới hoạt động giảng dạy:
4
Số văn
Phiên
Ngày ban
C hu kỳ
bản
bản
hành
xem xét lại
Ọuy trình phân công giáng dạy
FIT-DT-01
2
20/08/2014
1 năm
Quy trình tạo trang web môn học
FIT-DT-02
1
30/10/2012
I năm
FIT-DT-03
2
20/07/2015
1 năm
Ọuy trình giảng dạy các môn học
FIT-DT-04
2
20/08/2014
1 năm
Q uy trình tổ chứ c thi cuối kỳ
FIT-DT-05
3
20/07/2015
1 năm
FIT-DT-06
3
20/07/2015
l năm
FIT-DT-07
1
20/08/2014
1 nãm
F1T-DT-08
1
25/05/2015
1 năm
FIT-DT-09
1
20/03/2016
1 năm
T ên quy trình
Ọuy trình quản lý giảng dạy các
ir.ôn học
Q uy trìn h thi h ết học phần
m ôn học
Quy trình lấy ý kiến sinh viên
đánh giá môn học
Q uy trình sinh viên đăng ký học
lại
Q uy trình quản lý hoạt động
khoa
Trong khuôn khổ của đề tài này, chúng tôi chỉ tập trung vào xây dựng công cụ hỗ trợ
cho 2 quy trình liên quan tới công tác thi cử: FIT -D T -05 và FIT-D T-06 thuộc nhóm
Quy trình liên quan tới hoạt động giảng dạy, hay nói cách khác chúng tôi tập trung
xây dựng Hệ thống quản lý thi cử để hỗ trợ cho hoạt động của Khoa CNTT [1 ].
1.2.3. Đánh giá và điều chỉnh quỵ trình
Hệ thống quản lý chất lượng của Khoa không phải là một hệ thống tĩnh m à sẽ luôn
được phân tích, đánh giá, thay đổi, cải tiến để phù hợp tốt nhất [4] với các hoạt động
của Khoa.
Để đánh giá về 1 quy trình, thông thường Ban chủ nhiệm Khoa phải tổ chức họp đánh
giá thông qua các Phiếu đánh giá, Phiếu kiến nghị... để xem xét mức độ phù hợp của
quy trình đối với hoạt động cùa Khoa.
Các thao tác này tuân thù theo các Quy trình quản lý chất lượng cùa tiêu chuẩn TCVN
ISO 9001:2008[5]. Sau đây là danh mục các quy trình Hệ thống quản lý chất lượng:
5
Tên quy trìn h
Số văn
Phiên
Ngày ban
C hu kỳ xem
bản
bản
hành
xét lại
F1T-01
1
04/10/2012
1 năm
FIT-02
1
04/10/2012
1 năm
FIT-03
1
04/10/2012
1 năm
FIT-04
1
04/10/2012
1 năm
Quy trình xâv dựng, sửa đổi và
ban hành tài liệu hệ thống quàn
lý chất lượng
Quy trình đánh giá nội bộ
Q uy trình phòng ngừa, khắc
phục và cải tiến hệ thống quản
lý chất lượng
Q uy trình quàn lý hồ sơ
Để điều chỉnh, cập nhật 1 quy trình, thông thường tiến hành theo FIT-01 Quy trình xây
dựng, sửa đối và ban hành tài liệu hệ thống quàn lý chất lượng, cụ thể có thể tóm tắt
như sau:
-
Điền phiếu đề nghị sửa đổi
-
Gửi phiéu cho Ban chù nhiệm Khoa
-
Duyệt phiếu
-
Phân công thực hiện (nếu được duyệt)
-
Thực hiện:
+ Lấy ý kiến các cá nhân đcm vị liên quan
+ Soạn bản dự thảo
+ Gửi các cá nhân, đơn vị lấy ý kiến
+ Tập hợp ý kiến
+ Chinh sửa nếu cần
+ Gửi Ban chủ nhiệm khoa duyệt
+ Duyệt
+ Ban hành
-
Duyệt hoàn thành
1.2.4. Giám sát như thế nào?
Giám sát việc thực hiện các quy trình được thực hiện dựa theo sàn phẩm và người phụ
trách sản phẩm đó [5]: Do đó cần ghi rõ ai chịu trách nhiệm sản phẩm gì. Trong
trường hợp nhiều người thực hiện chung 1 công việc nào đó, cần phải chú ý chia công
việc thành các công việc hoặc hành động nhỏ mà mỗi công việc/hành động nhỏ này có
6