2.3.1 Xác định nghiệp vụ cần phân tích
Để 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.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.
act Activity Login
Start Display Login form Enter Account info Check Info Successfully Login Invalid Login Password Display Main Form Final YES No
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
Start
Login Admin Account
Registration form
Verify Account Info
Enter Account Info Successfully Add Final Invalid Info Yes No
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ệ.
act Activity Search User
Start
Enter Search Info Login Admin
Account
Verify Input Info
Display Result
Final Valid
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
Start
Login Admin Account
Search User Info
Choose Account & Delete Confirm Decision Successfully Delete Final Cancel
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.
act Activity Department Management
Start Final Department Management form Choose function choose Add new department Update department info Delete department Display result
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
act Activity Add fixing info
Start
Final
Login Successfully
Add new fixing info Form
Enter fixing info
Successful Display add Attachment form Add or not Not Valid Add Invalid info
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.
act Activity update fixing info
Start
Final
Login Successfully
Search & choose fixing info
Enter fixing info
Verify Input Info
Successfully update
Valid
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
act Activity handover
Start
Final
Login Successfully
Search & choose fixed info
Enter handover info
Verify Input Info
Successfully update
Valid
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
sd Sequence
User
Login form User
controller
User entity
alt
[valid]
[invalid]
return valid account() Open login form()
return invalid account() request input account & password()
return false() enter account & password()
verify account() return true() request input account & password()
open management form()
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
sd Sequence add new user
Admin User controller User entity add new user form alt [valid] [invalid]
enter new user info()
return true()
Display error message ()
return true()
Display successful message()
return false() sending add request()
insert new user() veryfying account()
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
sd Sequence import new fixing device
fixer fixing info form item in controller item in entity alt [valid] [invalid] return true() return true() return false() validation info()
display successful message()
add new fixing info()
return false() check validation()
display error message() enter fixing device info()
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
sd Sequence update fixing info
fixer
fixing form fixing
controller repairment entity alt [valid] [invalid] return true() return false() validation info() return true()
display error message() return add fixing detail form()
display successful message()
checking validation()
update fixing detail() choose fixing info id()
return false() enter fixing detail()
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
sd Sequence handover fixer handover form hand over controller item out entity alt [valid] [invalid] checking validation() return true() return add reciver detail form()
return false() return true()
return false() choose fixing info id()
enter receiver detail()
display successful message()
validation info()
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
2.5.1.3. Biểu đồ lớp hoàn chỉnh
hình 0-17: biểu đồ lớp hoàn chỉnh
class Class Model
attachment_in - att_in_id: int - att_itemin_id: int - att_in_number: nvarchar - att_in_image: image + insert_new_att(): void + search_image_by_id(): void attachment_out - att_out_id: int - att_itemout_id: int - att_out_number: nvarchar - att_out_image: image + insert_new_att(): void + search_att_by_id(): void departments - dep_id: int - dep_name: nvarchar
+ insert, update, delete(): void + load_all_department(): void user - emp_acc: nvarchar - emp_pass: nvarhar - emp_name: nvarchar - emp_type: int - emp_status: boolean
+ insert, update, delete(): void
item_in - in_id: int - id_index: nvarchar - in_problem: int - in_description: nvarchar - in_person_name: nvarchar - in_person_phone: varchar - in_dep: int - in_emp: nvarchar - in_date: date
+ insert, update, delete(): void + search_in_by_index(): void item_out - out_id: int - out_index: nvarchar - out_description: nvarchar - out_person_name: nvarchar - out_person_phone: varchar - out_dep: int - out_emp: nvarchar - out_date: date
+ insert, update, delete(): void + search_out_by_index(): void
problems
- prob_id: int
- prob_name: nvarchar
+ update, insert, delete(): void + load_all_problem(): void repairments - repair_id: int - repair_item_in: int - repair_item_out: int - repair_price: int - repair_caption: nvarchar - repair_status: boolean + update_repairment(): void + insert_repairment(): void + update_status(): void
2.5.2 Xây dựng mô hình thực thể liên kết