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
2.5.2.1. Xây dựng các thực thể
Thực thể người dùng
hình 0-18: biểu đồ lớp thực thể người dùng
Thuộc tính Đặc tả
Emp_acc Tên tài khoản dùng để đăng nhập
Emp_pass Mật khẩu tài khoản
Emp_name Họ tên người dùng
Emp_type Loại người dùng: quản trị viên, cán bộ kế toán
Emp_status Trạng thái hoạt động của tài khoản
bảng 0.13: bảng đặc tả thuộc tính thực thể người dùng
Thực thể phòng ban
hình 0-19: biểu đồ lớp thực thể phòng ban
Thuộc tính Đặc tả
Dep_id Mã số phòng ban
class Class Model user - emp_acc: nvarchar - emp_pass: nvarhar - emp_name: nvarchar - emp_type: int - emp_status: boolean
+ insert, update, delete(): void
class Class Model
departments
- dep_id: int
- dep_name: nvarchar
+ insert, update, delete(): void + load_all_department(): void
Thực thể vấn đề hình 0-20: biểu đồ lớp thực thể vấn đè Thuộc tính Đặc tả Prob_id Mã số vấn đề Pro_name Tên đặc tả ngắn gọn vấn đề bảng 0.15: bảng đặc tả thuộc tính thực thể vấn đề Thực thể sửa chữa
hình 0-21: biểu đồ lớp thực thể sửa chữa
Thuộc tính Đặc tả
repair_id Mã sửa chữa
repair_item_in Mã nhập thiết bị
repair_item_out Mã bàn giao thiết bị
repair_price Chi phí sửa chữa
repair_caption Mô tả thông tin sửa chữa
repair_status Trạng thái sửa chữa
bảng 0.16: bảng đặc tả thuộc tính thực thể sửa chữa
class Class Model problems
- prob_id: int
- prob_name: nvarchar
+ update, insert, delete(): void + load_all_problem(): void
class Class Model 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
Thực thể nhập thiết bị hình 0-22: biểu đồ lớp thực thể nhập thiết bị Thuộc tính Đặc tả in_id Mã nhập thiết bị id_index Mã quy định in_problem Mã vấn đề
in_description Mô tả thông tin thiết bị
in_person_name Tên cán bộ giao thiết bị
in_person_phone Số điện thoại cán bộ giao thiết bị
in_dep Mã phòng ban
in_emp Người nhập thông tin
in_date Ngày nhập thiết bị
bảng 0.17: bảng đặc tả thuộc tính thực thể nhập thiết bị
class Class Model 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
Thực thể bàn giao thiết bị
hình 0-23: biểu đồ lớp thực thể bàn giao thiết bị
Thuộc tính Đặc tả
out_id Mã bàn giao thiết bị
out_index Mã quy định bàn giao
out_description Mô tả thông tin bàn giao
out_person_name Tên cán bộ nhận thiết bị đã sửa
out_person_phone Số điện thoại cán bộ nhận thiết bị đã sửa
out_dep Mã phòng ban
out_emp Người nhập thông tin
out_date Ngày bàn giao thiết bị
bảng 0.18: bảng đặc tả thuộc tính thực thể bàn giao thiết bị
class Class Model 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
Thực thể ảnh đính kèm quy định nhập thiết bị
hình 0-24: biểu đồ lớp thực thể ảnh đính kèm quy định nhập thiết bị
Thuộc tính Đặc tả
att_in_id Mã đính kèm
att_itemin_id Mã nhập thiết bị
att_in_number Mã quy định đính kèm (mã tài liệu cơ quan yêu cầu sửa)
att_in_image ảnh đính kèm
bảng 0.19: bảng đặc tả thuộc tính thực thể ảnh đính kèm quy định nhập thiết bị
Thực thể ảnh đính kèm tài liệu bàn giao thiết bị
hình 0-25: biểu đồ lớp thực thể ảnh đính kèm tài liệu bàn giao thiết bị
Thuộc tính Đặc tả
att_out_id Mã đính kèm
att_itemout_id Mã bàn giao thiết bị
att_out_number Mã quy định đính kèm (mã tài liệu phòng sửa chữa)
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
class Class Model
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
2.5.2.2. Mối quan hệ giữa các thực thể
Mối quan hệ giữa thực thể nhập thiết bị và ảnh đính kèm
hình 0-26: Mối quan hệ giữa thực thể nhập thiết bị và ảnh đính kèm
Mối quan hệ giữa thực thể nhập thiết bị và người sử dụng
hình 0-27: Mối quan hệ giữa thực thể nhập thiết bị và người sử dụng
Mối quan hệ giữa thực thể nhập thiết bị và phòng ban
hình 0-28: Mối quan hệ giữa thực thể nhập thiết bị và phòng ban
Mối quan hệ giữa thực thể nhập thiết bị và thực thể sửa chữa
hình 0-29: Mối quan hệ giữa thực thể nhập thiết bị và thực thể sửa chữa
Mối quan hệ giữa thực thể bàn giao thiết bị và thực thể sửa chữa
hình 0-30: Mối quan hệ giữa thực thể bàn giao thiết bị và thực thể sửa chữa
erd Class Model
item_in attachments_in
have
n 1
erd Class Model
item_in user
have
n 1
erd Class Model
item_in department
request
n 1
erd Class Model
item_in
have repairment
1 1
erd Class Model
repairment item_out
have
1 1
2.5.2.3. Mô hình thực thể liên kết
Chương 3. KẾT QUẢ VÀ THẢO LUẬN 3.1 Giao diện đăng nhập
hình 0-1: giao diện đăng nhập
Tại giao diện đăng nhập hệ thống, người dùng cần phải nhập thông tin đăng nhập để sử dụng hệ thống phần mềm
1. Textbox để người sử dụng nhập tên tài khoản của chính mình 2. Textbox để người sử dụng nhập mật khẩu
3. Nút điều khiển thực hiện chức năng đăng nhập
a. Nếu người dùng nhập mật khẩu sai, hệ thống sẽ thông báo messagebox lỗi “Tài khoản hoặc mật khẩu không đúng”
b. Nếu thông tin đầu vào hợp lệ, hệ thống sẽ hiện form với các chức năng tương ứng với vai trò người đăng nhập hệ thống
3.2 Giao diện form chính
hình 0-2: Giao diện form chính
Trang chủ là trang đầu tiên sau khi người dùng thực hiện đăng nhập thành công, từ đây người dùng có thể chọn các chức năng quản lý qua các tab trên form. Ở khung dưới form sẽ hiện thị thông tin đăng nhập
1. Phần trên của form sẽ là các tab chức năng quản lý 2. Textbox hiển thị tên tài khoản người dùng
3. Textbox hiển thị loại người dùng 4. Textbox hiển thị tên người dùng 5. Nút điều khiển thoát khỏi hệ thống
3.3 Giao diện quản lý phòng ban
hình 0-3: Giao diện quản lý phòng ban
Tại giao diện quản lý thông tin phòng ban, người dùng có thể sử dụng chức năng tìm kiếm thông tin phòng ban, các chức năng thêm, sửa, xóa thông tin
1. Textbox để người sử dụng nhập tên phòng ban để thực hiện tìm kiếm 2. Nút chức năng tìm kiếm
3. Bảng hiển thị thông tin kết quả tìm kiếm
4. Nút điều khiển mở form chức năng thêm thông tin phòng ban mới
3.4 Giao diện quản lý nhập thiết bị
hình 0-4: Giao diện quản lý nhập thiết bị
Tại giao diện quản lý thông tin nhập thiết bị vào sửa chữa, người dùng có thể sử dụng chức năng tìm kiếm thông tin nhập thiết bị theo mã quyết định, các chức năng thêm, sửa thông tin, thêm ảnh đính kèm và chức năng kiểm tra thông tin sửa chữa thiết bị
1. Textbox để người sử dụng nhập mã quyết định sửa chữa để thực hiện tìm kiếm
2. Nút chức năng tìm kiếm thông tin nhập thiết bị 3. Bảng hiển thị thông tin kết quả tìm kiếm
4. Nút điều khiển mở form chức năng thêm thông tin nhập thiết bị mới 5. Nút điều khiển mở form chức năng sửa đổi thông tin nhập thiết bị 6. Nút điều khiển mở form chức năng thêm ảnh đính kèm
7. Nút điều khiển chức năng kiểm tra thông tin sửa chữa thiết bị, chức năng này sẽ mở form để người sử dụng kiểm tra thông tin máy đã thực hiện sửa chữa
3.5 Giao diện thêm thông tin nhập thiết bị
hình 0-5: Giao diện thêm thông tin nhập thiết bị