MỤC LỤC
CHƯƠNG 3 : ÁP DỤNG UML VÀ PHẦN MỀM RATIONAL ROSE
VÀO XÂY DỰNG PHẦN MỀM QUẢN LÝ VĂN BẢN VÀ HỒ SƠ
CÔNG VIỆC TẠI TẬP ĐOÀN DỆT MAY VIỆT NAM (VINATEX)
3.1. Mô tả bài toán
Bài toán đặt ra ở đây là quản lý văn bản và hồ sơ công việc tại tập đoàn
diệt may Việt Nam (Vinatex) . Hiện nay, tại các văn phòng thuộc Vinatex, số
lượng văn bản đến phát sinh hàng năm là rất lớn : khoảng 4500. Số lượng thư
từ lên đến khoảng 200 thư một ngày. Tại Vinatex, việc theo dõi xử lý hiện
nay được thực hiện hoàn toàn thủ công, chưa có quy trình báo cáo kết quả, và
muốn biết tình hình xử lý văn bản đến phải trực tiếp hỏi được giao xử lý. Thời
1
gian sao chép văn bản gửi các phòng ban xử lý và tốn nhiều phiếu photo. Việc
tra cứu tìm kiếm văn bản cũ rất mất thời gian và công sức của nhân viên lưu
trữ.
Cán bộ tại Vinatex hiện nay rất mong muốn có thể theo dõi được quá
trình xử lý văn bản, in được sổ đến và sổ đi của văn bản và báo cáo xử lý văn
bản; giảm được thời gian in ấn và photo tài liệu; giảm được thời gian luân
chuyển văn bản đến các đơn vị xử lý; tra cứu được văn bản, hồ sơ được nhanh
chóng thuận tiện.
Để giải quyết tình trạng và thỏa mãn những mong muốn thiết thực đó,
giải pháp hữu hiệu là tin học hóa quá trình luân chuyển và xử lý văn bản, tài
liệu và hồ sơ công việc. Phần mềm quản lý văn bản và hồ sơ công việc được
xây dựng với mục đích đó.
3.2. Mô hình hóa nghiệp vụ
Sau khi phân tích từng khía cạnh cụ thể của bài toán, chúng ta đã hiểu
khái quát qua về bản chất của bài toán, những vấn đề còn tồn tại, cần giải
quyết mà bài toán đặt ra. Để giải quyết vấn đề đó, chúng ta cần sử dụng hệ
thống các mô hình (đã trình bày ở trên) để phân tích từng khía cạnh của bài
toán. Trước hết chúng ta sẽ tìm hiểu khái quát về hệ thống quản lý văn bản và
hồ sơ đang tồn tại tại Vinatex, về cách hoạt động cơ bản, ai là người nhận
thông tin, ai là người cung cấp thông tin. Ứng dụng UML vào phân tích vấn
đề này, ta sử dụng những role, actor và Uses Case (UC). Mỗi một actor là một
chủ thể hành động trong hệ thống (ví dụ như là : người dùng, hệ thống trả lời
tự động, quản trị hệ thống…), mỗi một UC là một hành động của chủ thể ( ví
dụ như người dùng đăng nhập vào hệ thống) và mỗi một actor sẽ đóng một
role (vai trò) trong hệ thống. Toàn bộ những actor, UC, và role khi liên kết sẽ
tạo thành những mô hình hoàn chỉnh để diễn tả toàn cảnh của hệ thống hoạt
2
động, mà cụ thể ở đây là hệ thống quản lý văn bản và hồ sơ công việc. Hệ
thống quản lý văn bản và hồ sơ công việc này, gồm ba phân hệ con như sau :
• Quản lý văn bản đến
• Quản lý văn đi
• Quản lý hồ sơ công việc
Đầu tiên, chúng ta xem xem phân hệ quản lý văn bản đến hoạt động như
thế nào? Mô hình hoạt động của hệ thống quản lý văn bản đến tại
Vinatex hoạt động như sau :
3
Trong phân hệ này, có 2 actor là văn thư và người dùng hệ thống. Văn
thư chỉ có một UC là nhập văn bản đến, và UC này bao gồm cả UC quét văn
bản và là phần mở rộng của UC Quản lý phiên bản. Actor thứ hai là người
dùng hệ thống, actor có các UC sau : Phân phối văn bản và tài liệu, nhận và
xử lý văn bản tài liệu, thu hồi văn bản chuyển nhầm, tra cứu công việc, tìm
kiếm, xem và in báo cáo.
Tiếp theo, chúng ta cùng tìm hiểu toàn cảnh hoạt động của phân hệ
quản lý văn bản đi. Mô hình hoạt động của phân hệ này như sau :
Phân hệ này cũng gồm 2 actor là văn thư và người dùng hệ thống. Văn
thư cũng chỉ có một UC là cấp sổ phát hành văn bản đi, nhưng UC này gồm
một UC bao gồm nữa là Quét văn bản. Ngược lại với văn thư, có role khá hẹp
thì actor Người dùng hệ thống lại có một role rất rộng, gồm có các UC sau :
4
Tạo văn bản tài liệu, Phân phối văn bản tài liệu, Nhận và xử lý văn bản tài
liệu, tra cứu công việc, tra cứu tài liệu, xem và in báo cáo, tìm kiếm. UC tạo
văn bản tài liệu là UC mở rộng của UC quản lý phiên bản.
Cuối cùng ta cùng xét đến mô hình làm việc của quản lý hồ sơ công
việc :
HSC01. Tao moi Ho so cong viec
HSC02. Chinh sua, xoa, phan
quyen Ho so cong viec
HSC03. Xu ly Ho so cong viec
MTC01. Tra cuu tai lieu
(from Tra cuu (MTC))
MTK01. Tim kiem
(from Tim kiem (MTK))
Ngêi dïng hÖ
thèng
(from Quan tri nguoi dung (MND))...)
MTM01. Tao moi, liet ke, chinh
sua, xoa, phan quyen thu muc
(from Quan ly thu muc (MTM))
Trong phân hệ này, chỉ có một actor là người dùng hệ thống. Actor này
có các UC sau : tạo mới hồ sơ công việc, chỉnh sửa phân quyền hồ sơ công
việc, tra cứu tài liệu, xử lý hồ sơ công việc, tìm kiếm…
Trong ba phân hệ trên chúng ta đã gặp thấy được role của những người
dùng hệ thống. Vậy cụ thể người dùng hệ thống là những ai, quyền hạn và
chức năng của họ như thế nào đối với toàn bộ hệ thống. Để hiểu thêm vấn đề
này, chúng ta cùng đi tìm hiểu mô hình hoạt động của những phân hệ không
5
tham gia trực tiếp vào quá trình tạo ra văn bản hay tài liệu mà nó thực hiện
role quản trị hệ thống. Các phân hệ đó là :
• Phân hệ quản trị người dùng
• Phân hệ quản trị danh mục
• Phân hệ quản lý khai thác thông tin
Thứ nhất, mô hình hoạt động của phân hệ quản trị người dùng được
biểu diễn như sau :
Quản trị người dùng được thực hiện bởi actor quản trị hệ thống.
Actor này thực hiện các UC sau: quản trị nhóm, quản trị người dùng
và quản trị vai trò. Ở công ty, mỗi nhân viên thuộc các phòng ban
khác nhau, ở trong hệ thống mỗi phòng ban đó được thể hiện trong
một nhóm. Actor quản trị người dùng thực hiện chức năng quản trị
6
nhóm (tức là tương ứng với quản lý phòng ban ở trong thực tế) và
quản trị người dùng tức là quản lý những nhân viên trong thực tế.
Điều đặc biệt là quản trị hệ thống có thể quản trị vai trò của từng
người dùng trong hệ thống. Quản trị vai trò là một chức năng đặc
biệt, chức năng này sẽ quyết định và kiểm soát vai trò của từng nhân
viên trong hệ thống. Chức năng này thể hiện tính tin học hóa hệ
thống rõ nét nhất, vì trên thực tế khái niệm quản lý vai trò là một
khía cạnh không được rõ ràng, nhưng trong tin học khi các hệ thống
automantic thì việc đưa vai trò thành một chức năng quản lý là rất
cần thiết. Điều này cũng cho thấy điểm mạnh của UML đối với các
ngôn ngữ thiết kế khác. Với các ngôn ngữ thiết kế khác đây là một
vấn đề rất khó giải quyết.
Thứ hai, là phân hệ quản trị danh mục. Danh mục là tập hợp các tài
liệu và văn bản được sắp xếp theo chủ đề. Mục đích chính của việc
làm này là để tiện cho việc tra cứu và tìm kiếm văn bản hay tài liệu.
Mô hình hoạt động cụ thể của phân hệ này là :
MDM01. Tao moi, liet ke, chinh
sua, xoa ban ghi trong DM
Ngêi dïng hÖ
thèng
(from Quan tri nguoi dung (MND))...)
MTC01. Tra cuu tai lieu
(from Tra cuu (MTC))
7
Phân hệ này có một actor là người dùng hệ thống, actor này có hai
UC là tạo mới, liệt kê, chỉnh sửa và xóa bản ghi trong danh mục và
tra cứu tài liệu.
Thứ ba, chúng ta cùng xem xét phân hệ quản lý khai thác thông tin.
Mô hình làm việc của phân hệ này như sau :
MTC03. Tuy chinh thong tin hien
thi
MTC02. Tra cuu cong viec
MTC01. Tra cuu tai lieu
Ngêi dïng hÖ
thèng
(from Quan tri nguoi dung (MND))...)
MTK01. Tim kiem
Ngêi dïng hÖ
thèng
(from Quan tri nguoi dung (MND))...)
8
MBC01. Xem va in bao cao
Ngêi dïng hÖ
thèng
(from Quan tri nguoi dung (MND))...)
MBC02. Xen va in bao cao hoat
dong nguoi dung
Qu¶n trÞ hÖ thèng
(from Quan tri nguoi dung (MND))...)
Tóm lại, sau khi nghiên cứu một loạt mô hình hoạt động của các
phân hệ trong hệ thống, chúng ta đã có cái nhìn khái quát hoạt động
của hệ thống quản lý văn bản và hồ sơ công việc tại vinatex. Đây là
cánh cửa đầu tiên để chúng ta tiến vào những thao tác tiếp theo trong
dự án này. Với những mô hình đó, chúng ta có thể thấy, hệ thống
đang tồn tại tại Vinatex, thực hiện một số chức năng cơ bản như :
quản lý văn bản đến, đi, hồ sơ công việc, tra cứu, tìm kiếm, xem và
in báo cáo. Chức năng là như vậy, nhưng cụ thể từng chức năng thực
hiện như thế nào, hành vi thực hiện của hệ thống ra sao? Câu trả lời
sẽ có trong những phần dưới đây.
3.3. Mô hình chức năng của hệ thống
Hệ thống quản lý văn bản và hồ sơ công việc công ty Vinatex
hoạt động theo mô hình sau :
9
Phần mềm quản lý văn bản và hồ sơ công việc Phiên
bản 1.0
Quản lý văn bản đến Quản lý văn bản đi
Quản lý Hồ sơ công
việc
Quản trị người dùngQuản trị danh mục
Khai thác thông tin Quản lý kho tài liệu dùng chung
Quản trị hệ thống
Phần mềm quản lý văn bản và hồ sơ công việc tại Vinatex được xây
dựng có các chức năng chính sau :
Quản lý văn bản đến : quản lý thông tin và nội dung văn bản
đến cũng như quy trình luân chuyển của văn bản đến
Quản lý văn bản đi : quản lý thông tin và nội dung văn bản đi
cũng như quy trình lập, phê duyệt và phát hành văn bản đi của
Cơ quan
Quản lý hồ sơ công việc :
o Quản lý các thông tin hồ sơ công việc, và các tài liệu
được lưu trữ trong hồ sơ công việc
o Quản lý xử lý công việc thông qua hồ sơ công việc
Khai thác thông tin
o Khai thác thông tin được quản lý trong hệ thống
o Cung cấp các chức năng khai thác thông tin gồm
Tra cứu văn bản tài liệu
Tìm kiếm văn bản tài liệu
Lập và in sổ văn bản đến, đi, tờ trình công việc
10
Thống kế VB đến, phiếu giao việc theo tình trạng
xử lý
Quản lý kho văn bản dùng chung : Tập hợp các văn bản, tài
liệu đã có sẵn vào một kho tài liệu và chia sẻ quyền sử dụng
cho toàn bộ người dùng trong hệ thống
Quản trị danh mục : Quản lý các nhóm thông tin danh mục
phục vụ cho việc tra cứu. tìm kiếm
Quản trị người dùng
o Quản trị người dùng
o Quản trị vai trò
o Quản trị phòng ban
Quản trị hệ thống
o Kiểm soát sự truy nhập
o Sao lưu dữ liệu định kỳ
o Khắc phục các sự cố và phục hồi dữ liệu
o Lập báo cáo vận hành hệ thống
Các chức năng này được phân vào ba nhóm :
Nhóm Người dùng : gồm các chức năng tác động trực tiếp tới
nghiệp vụ mà phần mềm xử lý, gồm có quản lý văn bản đến,
quản lý văn bản đi và quản lý hồ sơ công việc
Nhóm Tra cứu, tìm kiếm thông tin : là chức năng chung giành
cho tất các UC, và là nhóm chức năng hỗ trợ cho nhóm chức
năng người dùng
Nhóm Hệ thống : là nhóm chức năng tác động sự hoạt động
của hệ thống
3.4. Mô hình mô tả workflow
11
Workflow là các luồng công việc cụ thể trong hệ thống. Luồng
công việc này được phân tích ra từ trong thực tế, và được sử dụng để
“định nghĩa hóa” trong sản xuất phần mềm. Trong công nghệ sản
xuất phần mềm, việc định nghĩa các workflow là rất quan trọng, vì
trong thực tế, các hoạt động diễn ra rất phức tạp, nhiều khía cạnh,
trong khi đó, đối với tin học lại đòi hỏi tính chính xác. Để giải quyết
vấn đề này, thuật ngữ workflow đã ra đời.
Mô hình mô tả workflow chính là mô hình mô tả sự hoạt động của
hệ thống. Hệ thống quản lý văn bản và hồ sơ công việc tại Vinatex,
gồm có 2 chức năng chính tức là có 2 quy trình chính liên quan tới
toàn bộ hệ thống.
3.4.1. Quy trình quản lý văn bản đến
Quản lý văn bản đến là quản lý thông tin, xử lý văn bản đến cũng
như thông tin luân chuyển của văn bản đến
3.4.1.1. Mô hình luân chuyển
12
Quy trình luân chuyển xử lý văn bản đến
Phó Lãnh đạo cơ
quan
Lãnh đạo cơ quan Chuyên viênPhó LĐ đơn vịThư ký Lãnh đạo
LĐ đơn vị (Cấp
trưởng + cấp phó)
LĐ văn phòngVăn thư cơ quan
Bắt đầu
Văn bản đến
1. Kiểm tra
2. Đóng dấu
VB ĐẾN
1.0
1. Cho ý kiến chỉ
đạo xử lý
2. Phân xử lý
1. Trình lãnh
đạo
2. Nhập ý kiến
chỉ đạo
3. Chuyển XL
6.0
6.1
2.0
2.2
Kết thúc
3.2
1. Vào sổ
2. Chuyển XL
Cho ý kiến
phân phối VB
Cho ý kiến
chỉ đạo XL
VB
3.0
4.0
1. Cho ý kiến chỉ
đạo xử lý
2. Phân xử lý
1. Xử lý
2. Lập hồ sơ
công việc
3.1
Cho ý kiến
chỉ đạo XL
VB
2.1
Chuyển bản
giấy cho đơn
vị chủ trì
5.0
7.0
5.1
1. Ký nhận bản
giấy
2. Chuyển cho
người xử lý
1. Chuyển cho
người xử lý
1. Nhận bản giấy
2. Đưa vào
HSCV
3. Xử lý VB
13
3.4.1.2. Mô tả sơ đồ quy trình
Bước 1: Văn thư tiếp nhận văn bản đến
Thao tác trên phần mềm QLVB&HSCV
Vào sổ văn bản đến, quét văn bản vào chương trình
Trình Lãnh đạo Văn phòng xử lý
• Bước 2: Lãnh đạo Văn phòng cho ý kiến phân phối văn bản
Xem xét văn bản, cho ý kiến phân phối văn bản
Chuyển cho Lãnh đạo các đơn vị xử lý (Trường hợp chuyển
thẳng văn bản cho các đơn vị xử lý không cần xin ý kiến chỉ
đạo của Lãnh đạo cơ quan) đồng thời chuyển cc cho Thư ký
lãnh đạo một bản để theo dõi
Hoặc Chuyển cho thư ký lãnh đạo để trình Lãnh đạo cơ quan
cho ý kiến chỉ đạo
Hoặc trực tiếp trình lên Phó Lãnh đạo cơ quan cho ý kiến chỉ
đạo và phân phối văn bản
• Bước 3: Thư ký lãnh đạo trình Lãnh đạo cơ quan xem xét văn bản đến
Trình lãnh đạo cơ quan cho ý kiến chỉ đạo
Nhận lại văn bản từ Lãnh đạo cơ quan để chuyển cho các
đơn vị xử lý
• Bước 4: Lãnh đạo cơ quan cho ý kiến chỉ đạo xử lý và phân phối văn bản
đến
Cho ý kiến phân phối văn bản và ý kiến chỉ đạo xử lý nếu có
Chuyển lại cho thư ký xử lý
14
• Bước 5: Phó Lãnh đạo cơ quan xử lý văn bản đến
Nhập ý kiến chỉ đạo xử lý và ý kiến phân phối văn bản (nếu
có)
Chuyển cho các đơn vị xử lý
• Bước 6: Lãnh đạo đơn vị xử lý văn bản đến
Thao tác trên phần mềm QLVB&HSCV
Xem xét văn bản, cho ý kiến chỉ đạo xử lý
Chuyển văn bản đến cho cấp phó chuyên trách
Hoặc chuyển văn bản đến cho chuyên viên xử lý
Hoặc tự xử lý và kết thúc quy trình xử lý tại đơn vị nhận văn
bản
• Bước 7: Phó Lãnh đạo đơn vị xử lý văn bản đến
Thao tác trên phần mềm QLVB&HSCV
Xem xét văn bản, cho ý kiến chỉ đạo xử lý
Chuyển văn bản đến cho chuyên viên xử lý
Hoặc tự xử lý và kết thúc quy trình xử lý tại đơn vị nhận văn
bản
• Bước 8: Chuyên viên nhận văn bản thực hiện giải quyết văn bản, kết thúc
quy trình xử lý văn bản tại đơn vị nhận văn bản.
3.4.2. Quy trình soạn thảo, phê duyệt văn bản đi
15
Quy trình này là quản lý thông tin và nội dung văn bản đi cũng như quy
trình lập, phê duyệt và phát hành văn bản đi của Cơ quan. Mô hình hoạt động
của quy trình như sau :
3.4.2.1. Mô hình luân chuyển
Quy trình luân chuyển xử lý văn bản đi
Đơn vị ngoài cơ
quan
Thư ký lãnh đạo cơ
quan
Đơn vị trong cơ
quan
Lãnh đạo đơn vị
Lãnh đạo văn
phòng
Lãnh đạo cơ quan Văn thư cơ quanChuyên viên
Bắt đầu
1. Thu thập thông tin
2. Soạn thảo VB đi
Xét duyệt về
thể thức và
tính pháp lý
Trình văn bản
cho Lãnh đạo cơ
quan phê duyệt
1. Phê duyệt
2. Ký văn bản
1. Đóng dấu
2. Vào sổ
3. Phát hành VB
Văn bản đi
In văn bản
(1.3)
(3.0) Y/c chỉnh sửa
(3.1) Phê duyệt
(4.0)
(5.0)
Phối hợp với văn
thư phát hành
văn bản
(1.5)
(6.0)
(6.1)
Kết thúc
1. Lập văn bản đi
trong phần mềm
2. Chỉnh sửa văn
bản đi
Xét duyệt về
nội dung
(1.0)
(1.1)
(2.0)
(2.1) Phê duyệt
Ký nháy
(1.2)
Trình duyệt về
thể thức
(2.2)
Trình lãnh đạo ký
duyệt văn bản đi
(1.4)
(4.2) Phê duyệt
(2.3) Văn bản được lãnh đạo cơ quan ký duyệt
Phát hành văn bản
cho các đơn vị
bên ngoài
Xử lý như văn
bản đến đơn vị
(4.1) Y/c chỉnh sửa
(6.2)
16
3.4.2.2. Mô tả quy trình
• Bước 1: Chuyên viên lập dự thảo văn bản đi
Điền các thông tin dự thảo văn bản đi, gắn tệp nội dung toàn
văn văn bản đi
Chuyển Lãnh đạo đơn vị phê duyệt về nội dung
• Bước 2: Lãnh đạo đơn vị phê duyệt về nội dung văn bản đi
Thao tác trên phần mềm QLVB&HSCV:
Xem xét dự thảo của chuyên viên, có thể trực tiếp chỉnh sửa
dự thảo văn bản đi hoặc nhập ý kiến chỉ đạo việc chỉnh sửa và
chuyển lại cho chuyên viên chỉnh sửa
Lãnh đạo đơn vị cũng có thể trực tiếp lập dự thảo văn bản đi.
• Bước 3: Lãnh đạo văn phòng phê duyệt về thể thức và tính pháp lý của dự
thảo văn bản đi
Xem xét dự thảo của đơn vị soạn thảo, có thể trực tiếp chỉnh
sửa dự thảo văn bản đi hoặc nhập ý kiến chỉ về việc chỉnh sửa
và chuyển lại lãnh đạo đơn vị soạn thảo xử lý tiếp
Trường hợp phê duyệt, chuyển lại cho chuyên viên đơn vị
soạn thảo để chuyển cho Thư ký để trình lãnh đạo cơ quan phê
duyệt
• Bước 4: Thư ký trình duyệt dự thảo văn bản đi
Nhận văn bản trình Lãnh đạo cơ quan xem xét phê duyệt
Nhận văn bản trả ra từ Lãnh đạo cơ quan, Trường hợp được
phê duyệt chuyển lại cho đơn vị soạn thảo làm thủ tục phát
hành
17
Nhận văn bản trả ra từ Lãnh đạo cơ quan, Trường hợp không
được phê duyệt chuyển cho đơn vị soạn thảo xử lý tiếp.
• Bước 5: Lãnh đạo cơ quan phê duyệt dự thảo văn bản đi
Phê duyệt văn bản và trả lại thư ký để xử lý tiếp
Ký duyệt văn bản khi đã có đấy đủ chữ ký
• Bước 6: Chuyển văn thư cấp số văn bản đi
Chuyên viên soạn thảo/ chuyên viên làm công tác văn thư
đơn vị chuyển bản giấy có chữ ký của lãnh đạo cơ quan cho
văn thư làm thủ tục phát hành
Thao tác trên phần mềm QLVB&HSCV
Lãnh đạo đơn vị soạn thảo chuyển bản điện tử cho văn thư
làm thủ tục phát hành
• Bước 7: Văn thư cơ quan cấp số văn bản đi
Vào sổ văn bản đi
Phát hành văn bản đi cho các đơn vị trong cơ quan để thực
hiện (Khi đó các đơn vị trong cơ quan nhận được văn bản do
văn thư chuyển đến thực hiện xử lý như văn bản đến của đơn
vị)
18
Trên đây là hai quy trình cơ bản được áp dụng trong phần mềm
quản lý văn bản và hồ sơ công việc tại công ty Vinatex. Khi nhìn
vào những mô hình này, chúng ta có thể dễ dàng hình dung sự hoạt
động của hệ thống, và dữ liệu trong hệ thống sẽ luân chuyển như thế
nào. Các Uses Case sẽ đóng vai trò ra sao trong hệ thống, và các
actor sẽ liên kết với nhau như thế nào để hệ thống hoạt động được
linh hoạt. Đồng thời đây cũng là cơ sở xây dựng phần mềm về sau.
3.5. Mô hình kiến trúc phần mềm
3.5.1. Mô hình kiến trúc chung
Mô hình phần mềm được áp dụng xây dựng ở đây, là mô hình phần
mềm 3 lớp : lớp giao diện, lớp xử lý và lớp cơ sở dữ liệu. Lớp giao diện là lớp
tương tác với người dùng, đòi hỏi phải thân thiện và dễ sử dụng; lớp thứ hai là
lớp xử lý, lớp này bao gồm các engine (“bộ máy”) để xử lý những hành động
tương tác của người dùng vào hệ thống, còn lớp cuối cùng là lớp cơ sở dữ
liệu, lớp chứa tất cả các dữ liệu của hệ thống, bao gồm các dữ liệu về văn bản
đến, văn bản đi, văn bản hồ sơ công việc, người dùng… Trên lớp này, có một
hệ thống các query xử lý sơ bộ cơ sở dữ liệu để lớp engine có thể tổng hợp,
phân tích tạo thành các thông tin có ích cho người dùng.
Để khái quát hóa cho mô hình phần mềm, ta có mô hình sau :
Trong giai đoạn trước đây, lập trình viên thường sử dụng mô hình phần mềm
với kiến trúc 2 lớp, chỉ bao gồm lớp giao diện và lớp cơ sở dữ liệu, được mô
tả bằng mô hình sau :
19
Cơ sở dữ liệu Cơ sở dữ liệuCơ sở dữ liệu
Lớp giao diện tương tác
với người sử dụng
Mô hình trên mô tả cho một phần mềm gồm nhiều cơ sở dữ liệu phân tán ở
nhiều nơi. Mỗi cơ sở dữ liệu là một tương tác với giao diện tầng trên giành
cho người dùng. Sự thay đổi của giao diện sẽ dẫn tới thay đổi cơ sở dữ liệu,
và thậm chí có thể phải thiết kế lại cấu trúc dữ liệu. Trong thực tế, cơ sở dữ
liệu là đối tượng luôn luôn vận động không ngừng, và nhu cầu về sự thay đổi
dữ liệu hay cấu trúc dữ liệu luôn luôn đặt ra. Và mỗi lần như thế, lập trình
viên lại phải thay đổi một phần hoặc toàn bộ giao diện. Một vài lần thì không
sao, nếu như thực hiện quá nhiều lần, thì người dùng sẽ cảm thấy không thể
bắt kịp với những thay đổi đó, và kết quả là họ sẽ có cảm giác chán và không
muốn sử dụng phần mềm đó nữa. Khi một phần mềm không được người dùng
chấp nhận thì có nghĩa là chúng ta phải tính đến dự án thay thế phần mềm
mới. Quá trình cứ thế diễn ra, gây tốn kém rất nhiều công sức và tiền của. Và
các nhà lập trình đã nghĩ rằng cần phải có cách nào đó, tách biệt giữa cơ sở dữ
liệu và giao diện người dùng mà khi thay đổi một trong hai không phải thay
đổi cái còn lại. Mô hình phần mềm 3 lớp ra đời đáp ứng đòi hỏi đó. Mô hình 3
lớp có những điểm mạnh mà mô hình 2 lớp không có. Cụ thể như :
• Dễ sửa chữa, dễ nâng cấp, dễ backup
• Tiết kiệm chi phí thời gian làm việc
• Tăng cường hiệu quả làm việc theo nhóm lập trình
• Tăng cường khả năng kết nối từ xa của phần mềm
• Thiết kế, phân tích rất dễ dàng
20
Tuy nhiên, bên cạnh những điểm mạnh đó, mô hình này cũng tồn tại một vài
điểm yếu :
• Xây dựng lâu, tốn nhiều kinh phí
• Đòi hỏi nguồn nhân lực đồng đều, dồi dào
Mặc dù vậy, trên thực tế hiện nay, các công ty phần mềm vẫn đang áp dụng
mô hình này để xây dựng phần mềm trong các lĩnh vực. Đối với những phần
mềm có quy mô hoạt động nhỏ, thì ta cần cân nhắc sử dụng mô hình nào cho
hợp lý, còn đối với hệ thống lớn, chúng ta không nên ngần ngại áp dụng mô
hình 3 lớp. Sau đây, ta cùng đi tìm hiểu từng lớp của mô hình phần mềm
“Quản lý văn bản và hồ sơ công việc tại Vinatex”. Phần mềm này cũng được
xây dựng trên mô hình 3 lớp. Để dễ hình dung, ta sẽ tìm hiểu từ lớp cuối cùng
trước. Đó là lớp cơ sở dữ liệu và “store produce” (chương trình xử lý sơ bộ)
của nó.
3.5.2. Mô hình cơ sở dữ liệu
Phần mềm eDocmanVina, như đã trình bày ở trên, gồm các chức năng
chủ yếu sau :
• Quản lý văn bản đến
• Quản lý văn bản đi
• Quản lý hồ sơ công việc
• Quản lý người dùng
Ứng với từng chức năng, chúng ta sẽ có những lớp cơ sở dữ liệu tương ứng.
Mỗi lớp là một table, mỗi table gồm nhiều trường, các table liên kết với nhau
theo nguyên tắc “kiện toàn thực thể” của lý thuyết cơ sở dữ liệu.
Đối với vai trò quản trị người dùng, gồm có 3 table : NguoiDung, PhongBan,
VaiTro. Table NguoiDung được mô tả như sau :
21
Table PhongBan
Table VaiTro
Ba table trên đại diện cho 3 lớp, lớp người dùng được sử dụng để quản trị
thông tin người dùng, lớp vai trò được sử dụng để quản trị các thông tin về vai
trò hay vị trí của người dùng trong cơ quan, lớp phòng ban để quản trị các
thông tin về phòng ban. Tuy nhiên mục tiêu chính của 3 lớp này đều là hướng
tới quản trị người dùng, vì vậy, chúng có mối quan hệ với nhau. Quan hệ đó
được biểu diễn dưới hình vẽ sau đây :
22
NguoiDung
PK MaNguoiDung
STT
Ten
TenDayDu
MatKhau
Mota
Email
DienThoai
Diachi
VaiTro
PK MaVaiTro
STT
TenVaiTro
Mota
PhongBan
PK MaPhongBan
STT
TenPhongBan
Mota
Một người dùng có thể có nhiều vai trò, nhưng chỉ thuộc một phòng ban;
ngược lại một phòng ban thường có nhiều người dùng và nhiều người dùng có
thể có cùng nhiều vai trò. Theo lý thuyết cơ sở dữ liệu, quan hệ giữa table
PhongBan và table NguoiDung là quan hệ một : nhiều, còn quan hệ giữa
NguoiDung và VaiTro là quan hệ nhiều : nhiều.
Bảng VanBanDen
Tiếp theo đối với chức năng quản trị văn bản đến, lớp trực tiếp tác động đến
chức năng này là lớp VanBanDen. Lớp VanBanDen gồm tập hợp rất nhiều
trường thể hiện thuộc tính của văn bản đến, một đối tượng điều chỉnh của hệ
thống. Cụ thể các trường như sau :
23
Trong lớp VanBanDen có những thuộc tính là thuộc tính cơ bản của nó như :
Số đến, Số ký hiệu hay Nội Dung, nhưng cũng có những thuộc tính là thuộc
tính ngoại lai, tức là những thuộc tính được truy xuất từ bảng khác. Các bảng
này gồm có :
Bảng LoaiSo
Bảng LoaiVanBan
Bảng DoMat
Bảng DoKhan
24
Bảng NoiLuu
Bảng NoiGui
Bảng CongViec
25