Để có thể xây đựng được hệ thống, ta cần phải phân tích rõ luồng nghiệp vụ của từng công việc. Chúng ta có thể thấy các Use case cần làm rõ bao gồm các chức năng như sau:
Đăng nhập: người dùng sử dụng chức năng để đăng nhập vào hệ thống Thêm người dùng mới: quản trị viên thực hiện đăng ký tài khoản người
dùng khác
Tìm kiếm người dùng: quản trị viên thực hiện tìm kiếm người dùng tồn tại trong hệ thông
Xóa người dùng: quản trị viên thực hiện xóa người dùng
Sửa thông tin người dùng: chủ tài khoản có thể thực hiện thay đổi thông tin tài khoản của bản thân như tên người dùng và mật khẩu
Quản lý phòng ban: người dùng có thể thêm, sửa, xóa phòng ban trong cơ quan
Quản lý thông tin kiểu thiết bị: người dùng có thể thêm, sửa, xóa thông tin kiểu thiết bị sửa chữa
Nhập thiết bị sửa chữa mới: cán bộ sửa chữa thêm thông tin sửa chữa, khi nhập thiết bị vào bộ phận sửa chữa trước khi thực hiện sửa chữa
Thêm ảnh mẫu đăng ký sửa chữa đính kèm: cán bộ sửa chữa thêm ảnh mẫu đăng ký sửa chữa đính kèm khi sau khi thực hiện nhập thiết bị vào sửa chữa
Cập nhật thông tin sửa chữa: cán bộ sửa chữa cập nhật thông tin sửa chữa sau khi thực hiện sửa chữa xong
Bàn giao thiết bị đã được sửa chữa: cán bộ sửa chữa nhập thông tin bàn giao thiết bị khi bộ phận yêu cầu sửa chữa qua lấy lại thiết bị
Tìm kiếm thông tin sửa chữa: cán bộ sửa chữa có thể tìm kiếm các thông tin sửa chữa, thông tin nhập thiết bị, và thông tin bàn giao.
2.3.2 Biểu đồ hoạt động là gì?
Biểu đồ hoạt động là một mô hình logic được dùng để mô hình hóa cho các hoạt động trong quy trình nghiệp vụ. biểu đồ chỉ ra luồng đi từ hoạt động này sang hoạt động khác trong hệ thống. Nó đặc biệt quan trọng trong việc xây dựng mô hình chức năng của hệ thống và nhấn mạnh tới việc chuyển đổi quyền kiểm soát giữa các đối tượng.
Các bước xây dựng biểu đồ hoạt động như sau:
1. Xác định các nghiệp vụ cần mô tả : từ biểu đồ Use Case ta sử dụng để xác định nghiệp vụ nào cần mô tả hoạt động
2. Xác định trạng thái đầu tiên và trạng thái kết thúc
3. Xác định các hoạt động tiếp theo : xuất phát từ điểm bắt đầu, phân tích để xác định các hoạt động tiếp theo cho đến khi gặp điểm kết thúc để hoàn
2.3.3 Bản vẽ biểu đồ hoạt động (Activity Diagram)
2.3.3.1. Biểu đồ hoạt động chức năng đăng nhập
hình 0-4: Biểu đồ hoạt động chức năng đăng nhập
Chức năng đăng nhập: người dùng sẽ thấy form đăng nhập khi bắt đầu vào sử dụng hệ thống quản lý, form sẽ yêu cầu người dùng nhập tên tài khoản và mật khẩu. khi chọn đăng nhập, hệ thống sẽ kiểm tra có tồn tại tài khoản hay không, kiểm tra mật khẩu có khớp với tài khoản không. Nếu có sẽ cho phép đăng nhập. Nếu sai thông tin đăng nhập hệ thống sẽ hiển thị thông báo lỗi “Tài khoản hoặc mật khẩu không đúng, hãy kiểm tra lại”. Hệ thống sẽ có hai loại người sử dụng hệ thống: quản trị viên (admin), cán bộ sửa chữa (fixer). Hệ thống sẽ trả về form riêng cho từng vai trò đăng nhập. Fina l Display Main Form YES Successfull y Login Check Info Invalid Login Password N o Enter Account info Display Login form Star t
2.3.3.2. Biểu đồ hoạt động chức năng thêm người dùng mới
hình 0-5: Biểu đồ hoạt động chức năng thêm người dùng mới
Chức năng thêm người dùng mới: hệ thống sẽ hiển thị form đăng ký để người dùng nhập thông tin cá nhân, tên tài khoản và mật khẩu. Khi chọn đăng ký, hệ thống sẽ kiểm tra thông tin đã đúng với định dạng hay không. Nếu không đúng thì hệ thống hiện thông báo bắt người dùng kiểm tra lại thông tin. Sau đó, hệ thống tiếp tục kiểm tra sự tồn tại của tên tài khoản. Nếu hệ thống đã tồn tại tên tài khoản thì sẽ hiện thông báo người dùng sử dụng tên tài khoản khác. Nếu không, hệ thống sẽ hiện thông báo đăng ký thành công và thoát khỏi form đăng ký người dùng, quay trở về form quản lý người dùng.
act Activity New User
Login Admin Account
Start
Registration form
Enter Account Info
NoInvalid Info
Verify Account Info
Yes
Successfully Add
2.3.3.3. Biểu đồ hoạt động chức năng tìm kiếm người dùng
hình 0-6: Biểu đồ hoạt động chức năng tìm kiếm người dùng
Chức năng tìm kiếm người dùng: người dùng đăng nhập với quyền quản trị viên (Admin). Hệ thống hiện thị form để người dùng nhập thông tin tìm kiếm, người dùng sẽ nhập thông tin tìm kiếm sau đó chọn chức năng tìm kiếm. Hệ thống sẽ thực hiện kiểm tra thông tin người dùng nhập sau đó trả về kết quả là bảng thông tin người dùng tương ứng hoặc hiển thị thông báo lỗi nhập thông tin không hợp lệ.
Final Valid
Display Result
Verify Input Info
Invalid
Enter Search Info
Account
Start
act Activity Search User Login Admin
2.3.3.4. Biểu đồ hoạt động chức năng xóa người dùng
hình 0-7: Biểu đồ hoạt động chức năng xóa người dùng
Chức năng xóa người dùng: trên form quản lý người dùng, người dùng sẽ chọn một tài khoản nào đó để thực hiện xóa, sau đó chọn chức năng xóa. Hệ thống sẽ hiện thị thông báo xác nhận xóa. Người dùng chọn chấp nhận để xóa và hủy để hủy bỏ xóa.
act Activity Delete User Login Admin Account
Start
Search User Info
Choose AccountCancel
& Delete
Confirm Decision
Successfully Delete
2.3.3.5. Biểu đồ hoạt động chức năng quản lý phòng ban
hình 0-8: Biểu đồ hoạt động chức năng quản lý phòng ban
Chức năng quản lý phòng ban: là phần chức năng quản lý chung cho người dùng. Người dùng lựa chọn chức năng và hệ thống sẽ trả về form chức năng tương ứng cho phần quản lý phòng ban. Khi thực hiện xong chức năng, hệ thống sẽ thông báo thực hiện thành công và trở về form quản lý phòng ban. Ví dụ: Người dùng chọn chức năng sửa thông tin phòng ban. Hệ thống sẽ hiển thị form sửa thông tin phòng ban và sau khi thực hiện xong sẽ trở về form quản lý phòng ban.
Final Display result Delete department Update department info Add new department choose Choose function Department Management form Star t
2.3.3.6. Biểu đồ hoạt động chức năng nhập thiết bị sửa chữa mới
hình 0-9: Biểu đồ hoạt động chức năng nhập thiết bị sửa chữa mới
Chức năng nhập thiết bị sửa chữa mới: người dùng chọn chức năng này để thực hiện nhập thông tin nhập máy vào phòng sửa chữa, form sẽ hiện thị thông tin người giao thiết bị, thông tin phòng ban chủ thiết bị, ngày nhập, ... Sau khi người dùng xác nhận nhập thiết bị. Hệ thống sẽ hiện thị form thêm ảnh đính kèm các quy định hoặc mẫu đăng ký sửa chữa của Bộ. Người dùng có thể thêm ảnh đính kèm một hoặc nhiều ảnh hoặc không chọn ảnh nào.
Final Add or
not
Not Valid
AddDisplay add Attachment form
Successful
Enter fixing info
Invalid info
Add new fixing info Form
Login Successfully
Star t
2.3.3.7. Biểu đồ hoạt động chức năng cập nhật thông tin sửa chữa
hình 0-10: Biểu đồ hoạt động chức năng cập nhật thông tin sửa chữa
chức năng cập nhật thông tin sửa chữa: người dùng tìm kiếm và chọn thông tin sửa chữa cần phải cập nhật sau khi sửa xong thiết bị. Sau đó, người dùng thực hiện nhập thông tin sửa chữa: vấn đề khi sửa, chi phí sửa chữa,... và thực hiện xác nhận cập nhật thông tin sửa chữa. Hệ thống sẽ kiểm tra tính hợp lệ của thông tin nhập và trả về kết quả, nếu không hợp lệ hệ thống sẽ hiển thị thông báo lỗi, nếu không sẽ trả về kết quả cập nhật thành công.
Valid
Successfully update
Final
Verify Input Info
Enter fixing info Invalid info
Search & choose fixing info
Login Successfully
Star t
2.3.3.8. Biểu đồ hoạt động chức năng bàn giao thiết bị đã được sửa chữa
hình 0-11: Biểu đồ hoạt động chức năng cập nhật thông tin bàn giao thiết bị
chức năng cập nhật thông tin bàn giao thiết bị: người dùng tìm kiếm và chọn thông tin thiết bị đã sửa chữa. Sau đó, người dùng thực hiện nhập thông tin bàn giao thiết bị: người nhận, phòng ban chủ thiết bị,... và thực hiện xác nhận cập nhật thông tin bàn giao. Hệ thống sẽ kiểm tra tính hợp lệ của thông tin nhập và trả về kết quả, nếu không hợp lệ hệ thống sẽ hiển thị thông báo lỗi, nếu không sẽ trả về kết quả cập nhật thành công.
act Activity handover
Start
Login Successfully Search & choose
fixed info
Enter handover Invalid info
info
Verify Input Info
Valid
Successfully
update
2.4 Xây dựng bản vẽ biểu đồ trình tự (Sequence Diagram)2.4.1 Đăng nhập (Log in) 2.4.1 Đăng nhập (Log in)
hình 0-12: biểu đồ trình tự chức năng đăng nhập
Khi đăng nhập, người dùng bắt buộc phải nhập thông tin tài khoản tên tài khoản và mật khẩu. Hệ thống sẽ thực hiện kiểm tra thông tin tài khoản trên cơ sở dữ liệu. Nếu không tồn tại tài khoản hoặc tài khoản và mật khẩu không khớp với cơ sở dữ liệu, hệ thống sẽ hiển thị thông báo lỗi. Nếu tài khoản hợp lệ, hệ thống sẽ trả về form hệ thống quản lý sửa chữa cùng với quyền tương ứng với tài khoản đăng nhập
request input account & password()
[invalid] return invalid account() return false() open management form()
return valid account()
verify account() return true()
alt
[valid]
sending request() enter account &
password()
request input account & password()
Open login form()
User entity User controller Login form User sd Sequence
2.4.2 Thêm người dùng mới (Add new user)
hình 0-13: biểu đồ trình tự chức năng thêm người dùng mới
Người dùng là quản trị viên (Admin) thực hiện nhập thông tin người dùng mới và xác nhận thêm người dùng mới. Hệ thống thực hiện kiểm tra tính hợp lệ của thông tin như: tính hợp lệ của thông tin nhập vào, tài khoản đã tồn tại hay không, ... nếu thông tin không hợp lệ hệ thống sẽ hiện thông báo lỗi, hoặc nếu thông tin hợp lệ hệ thống sẽ thực hiện thêm thông tin tài khoản mới vào cơ sở dữ liệu và trả về kết quả thành công
Display error message ()
return false()
return false() [invalid]
Display successful message()
return true()
return true()
insert new user()
alt
[valid]
veryfying account() sending add
request() enter new user info()
User entity User controller add new user form Admin
2.4.3 Nhập thiết bị sửa chữa mới
hình 0-14: biểu đồ trình tự chức năng nhập thiết bị sửa chữa mới
Người dùng là cán bộ sửa chữa (Fixer) thực hiện nhập thông tin thiết bị mới vào sửa. Hệ thống thực hiện kiểm tra tính hợp lệ của thông tin như: tính hợp lệ của thông tin nhập vào, mã quy định đã tồn tại trong hệ thống, ... nếu thông tin không hợp lệ hệ thống sẽ hiện thông báo lỗi, hoặc nếu thông tin hợp lệ hệ thống sẽ thực hiện thêm thông tin sửa chữa mới vào cơ sở dữ liệu và trả về kết quả thành công
display error message()
return false() return false() [invali d] display successful message() return true()
add new fixing info() return true() alt [valid ] check validation() validation info() item in entity item in controlle r
fixing info form
enter fixing device info() fixe
r
sd Sequence import new fixing device
2.4.4 Cập nhật thông tin sửa chữa
hình 0-15: biểu đồ trình tự chức năng cập nhật thông tin sửa chữa
Người dùng là cán bộ sửa chữa (Fixer) thực hiện tìm kiếm thông tin sửa chữa theo mã, sau đó chọn chức năng cập nhập thông tin sửa chữa. Người dùng nhập thông tin sửa chữa rồi chọn xác nhận. Hệ thống thực hiện kiểm tra tính hợp lệ của thông tin như: tính hợp lệ của thông tin nhập vào, ... nếu thông tin không hợp lệ hệ thống sẽ hiện thông báo lỗi, hoặc nếu thông tin hợp lệ hệ thống sẽ thực hiện cập nhật thông tin sửa chữa vào cơ sở dữ liệu và trả về kết quả thành công
display error message()
return false() return false() [invali d] display successful message() return true()
update fixing detail() return true() alt [valid ] checking validation() validation info() return add fixing detail
form() enter fixing detail() choose fixing info id() repairmen t entity fixing controlle r fixing form fixe r
sd Sequence update fixing info
2.4.5 Bàn giao thiết bị đã được sửa chữa
hình 0-16: biểu đồ trình tự chức năng bàn giao thiết bị đã được sửa chữa
Người dùng là cán bộ sửa chữa (Fixer) thực hiện tìm kiếm thông tin sửa chữa theo mã, sau đó chọn chức năng bàn giao thiết bị đã sửa chữa. Người dùng nhập thông tin người nhận hàng rồi chọn xác nhận. Hệ thống thực hiện kiểm tra tính hợp lệ của thông tin như: tính hợp lệ của thông tin nhập vào, ... nếu thông tin không hợp lệ hệ thống sẽ hiện thông báo lỗi, hoặc nếu thông tin hợp lệ hệ thống sẽ thực hiện thêm thông tin bàn giao vào cơ sở dữ liệu và trả về kết quả thành công
display error message()
return false() return false() [invali d] display successful message() return true() return true() alt [vali d] checking validation() validation info()
choose fixing info id() return add reciver detail form()
enter receiver detail()
item out entity hand over controlle r handov er form fixe r sd Sequence handover
2.5 Thiết kế cơ sở dữ liệu
2.5.1 Xây dụng biểu đồ lớp (Class Diagram)
2.5.1.1. Xác định các lớp trong chương trình
Nghiên cứu kĩ các yêu cầu Use Case và nghiên cứu các hệ thống tương ứng để xác định lớp thông qua việc xác định các đối tượng trong hệ thống. Xem xét Use Case của hệ thông tôi nhận thấy cần có các lớp như sau:
- Lớp phòng ban
- Lớp người dùng
- Lớp ảnh đính kèm các yêu cầu sửa chữa
- Lớp ảnh đính kèm quyết định bàn giao
- Lớp nhập thiết bị
- Lớp thông tin sửa chữa
- Lớp bàn giao thiết bị
- Lớp kiểu thiết bị
- Lớp vấn đề hoặc lỗi thiết bị
2.5.1.2. Xác định thuộc tính của từng lớp
Sau khi xác định được các lớp tham gia trong hệ thống, chúng ta sẽ xác định thuộc tính của từng lớp đó như sau:
- Lớp phòng ban: mã phòng ban, tên phòng ban, trạng thái phòng ban
- Lớp người dùng: tên tài khoản, mật khẩu, tên người dùng, loại người dùng, trạng thái tài khoản
- Lớp ảnh đính kèm các yêu cầu sửa chữa: mã đính kèm, mã tài liệu nhập thiết bị, mã số quy định, ảnh
- Lớp ảnh đính kèm quyết định bàn giao: mã đính kèm, mã tài liệu bàn giao thiết bị, mã số quy định, ảnh
- Lớp nhập thiết bị: mã nhập, mã số quy định, mã vấn đề, mô tả thiết bị và vấn đề, người yêu cầu sửa, số điện thoại người yêu cầu, phòng ban yêu cầu sửa, mã cán bộ nhập thông tin, ngày nhập thông tin
- Lớp thông tin sửa chữa: mã sửa chữa, mã nhập thiết bị, mã bàn giao thiết bị, chi phí sửa chữa, mô tả vấn đề sửa chữa, trạng thái sửa chữa
- Lớp bàn giao thiết bị: mã bàn giao, mã số quy định, mã vấn đề, mô tả thiết bị và vấn đề, người nhận, số điện thoại người nhận, phòng ban yêu nhận, mã cán bộ nhập thông tin bàn giao, ngày bàn giao thông tin
class Class Model + update_repair ment(): void + insert_repair ment(): void + update_status (): void repair_id: int repair_item_i n: int repair_item_o ut: int repair_price: int repair_captio n: nvarchar repair_status: boolean repairments + insert, update, delete(): void + load_all_depar tment(): void dep_id: int dep_name: nvarchar departments + insert, update, delete(): void + search_out_by _index(): void out_id: int out_index: nvarchar out_descriptio n: nvarchar out_person_na me: nvarchar out_person_ph one: varchar out_dep: int out_emp: nvarchar out_date: date item_out + insert_new_a tt(): void + search_att_by _id(): void att_out_id: int att_itemout_i d: int att_out_numb er: nvarchar att_out_image : image attachment_o ut 2.5.1.3. Biểu đồ lớp hoàn chỉnh user - emp_acc: nvarchar - emp_pass: nvarhar - emp_name: nvarchar - emp_type: int