THÔNG TIN CHUNG
Tên đề tài
Xây dựng ứng dụng quản lí bãi giữ xe
Thông tin sinh viên
• Họ và tên: Nguyễn Bá Công
• Email: 20520417@gm.uit.edu.vn
• Họ và tên: Nguyễn Minh Duy
• Email: 20520470@gm.uit.edu.vn
Môi trường phát triển
Công cụ quản lý CSDL: SQL Server Management Studio (SSMS)
Công cụ vẽ sơ đồ phân tích thiết kế: StarUML
Công cụ xây dựng ứng dụng: Visual Studio 2022
Công cụ quản lý mã nguồn: Github.
Môi trường triển khai
- Cài đặt: Microsoft SQL Server.
KHẢO SÁT HIỆN TRẠNG NGƯỜI DÙNG
Khảo sát hiện trạng
Kế hoạch phỏng vấn tổng quan
Hệ thống: Xây dựng ứng dụng quản lý bãi gửi xe
Người lập: Nguyễn Bá Công Ngày lập: 22/03/2023
STT Chủ đề Yêu cầu Ngày bắt đầu
1 Quy trình giữ xe Nắm rõ quy trình giữ xe 23/03/2023 23/03/2023
2 Hệ thống phần mềm hiện hành
Nắm rõ các yêu cầu hệ thống 23/03/2023 23/03/2023
3 Quy định, quy mô bãi xe Nắm rõ quy định, quy mô bãi xe 23/03/2023 23/03/2023
4 Đề xuất phát triển, cải thiện hệ thống
Tiếp nhận thêm ý tưởng cải tiến hệ thống 23/03/2023 23/03/2023
Bảng 2.1.1: Kế hoạch phỏng vấn tổng quan
Bảng kế hoạch phỏng vấn
Hệ thống: Xây dựng ứng dụng quản lý bãi gửi xe
Người được phỏng vấn: Nguyễn Ngọc Gia Khiêm, Đỗ Thị
Phân tích viên: Nguyễn Bá Công, Nguyễn Minh Duy
● Nắm rõ quy trình giữ xe
● Nắm rõ các yêu cầu hệ thống
● Nắm rõ quy định, quy mô bãi xe
● Tiếp nhận thêm ý tưởng cải tiến hệ thống
● Có kinh nghiệm trong việc quản lý bãi giữ xe
● Có kinh nghiệm trong các hệ thống quản lý
● Ý kiến đánh giá, nhận xét của người được phỏng vấn
Chi tiết buổi phỏng vấn Thời gian ước lượng
Giới thiệu sơ qua về ứng dụng bãi giữ xe 5 phút
Chủ đề 1: Quy trình giữ xe
● Quy trình của bãi giữ xe
● Đề xuất giải pháp xử lý/cải thiện ứng dụng khi gặp trường hợp khẩn cấp (cúp điện, hỏng thiết bị hoạt động app,….)
● Đề xuất thêm giải pháp để khắc phục nhược điểm của quy trình giữ xe hiện có (nếu có)
● Cách thức và phương thức thanh toán của phần mềm
● Bạn có muốn tự động hóa trong quá trình giữ xe và thanh toán không?
● Có cần báo cáo chi tiết về doanh thu, lợi nhuận Nếu có, những mục nào mà bạn muốn có trong thống kê
(thống kê doanh thu, thống kê lượng người gửi, phương tiện gửi, giờ cao điểm, ) ?
Chủ đề 2: Hệ thống phần mềm hiện hành
● Hệ điều hành bạn đang sử dụng?
● Nền tảng bạn muốn ứng dụng được triển khai (mobile, web, embed, )
● Các bạn muốn UI ra sao (tổ hợp màu, sắp xếp layout )
● Có nên phân quyền hay không?
Chủ đề 3: Quy định, quy mô bãi xe
● App nhắm đến những đối tượng nào?
● Ứng dụng quản lý bãi giữ xe thường được triển khai ở đâu?
● Có cần thêm nhiều loại phiếu như hàng tháng, tuần, ngày Nếu có thì tầm cỡ bao nhiêu?
● Có cần khung thời gian giữ xe cho phép không?
● Phương thức xác nhận người đã giữ xe (thẻ từ, giấy gửi, )
● Có tính phí theo thời gian hay theo lượt, giá cỡ bao nhiêu?
● Có nên phân loại khu giữ xe?
● Có cần phân chia các loại khách hàng như Khách lãng vai, Khách quen, Nhân viên?
● Có nhận giữ những loại xe nào?
Quy mô bãi giữ xe và cường độ phương tiện nơi sản phẩm được triển khai đóng vai trò quan trọng trong việc lựa chọn giải pháp Bạn cần xác định xem muốn sử dụng cho từng địa điểm riêng lẻ hay đồng bộ hóa giữa các bãi giữ xe để tối ưu hóa hiệu suất và quản lý.
● Các quy định chung của các bãi gửi xe có thay đổi theo thời gian hay không?
Chủ đề 4: Đề xuất phát triển, cải thiện hệ thống
Các sản phẩm ứng dụng CNTT trong việc gửi xe hiện có nhiều chức năng hữu ích, bao gồm quản lý vị trí đỗ xe, thông báo tình trạng chỗ đỗ và hỗ trợ thanh toán Tuy nhiên, để nâng cao trải nghiệm người dùng, cần xem xét bổ sung thêm các chức năng mới như thống kê thời gian đỗ xe, kết toán tự động và báo cáo chi tiết về thói quen sử dụng Những cải tiến này không chỉ giúp tối ưu hóa quy trình gửi xe mà còn mang lại giá trị gia tăng cho người sử dụng.
Tổng kết: Điểm qua lại các ý của khách hàng 10 phút
Phát sinh ngoài dự kiến
Bảng 2.1.2: Kế hoạch phỏng vấn
2.1.2 Khảo sát cơ cấu tổ chức
Dựa trên khảo sát, chúng tôi đã xác định cơ cấu tổ chức bãi giữ xe với khả năng tự động hóa thanh toán và quản lý cho khách hàng định kỳ Ứng dụng này hướng đến chủ bãi giữ xe, giúp dễ dàng kiểm tra doanh thu và hoạt động nhân viên Thường được triển khai tại trường học, công viên, khu vui chơi và chung cư, ứng dụng cần cung cấp nhiều loại phiếu cho thời gian giữ xe khác nhau Cần xác định khung thời gian giữ xe phù hợp, đặc biệt cho trường học và công viên Phương thức xác nhận nên sử dụng thẻ từ, đồng thời có thẻ giấy dự phòng Tính phí theo thời gian cho giá thuê cao và theo lượt cho giá thấp Cần phân loại khu giữ xe và khách hàng như khách lãng vai, khách quen và nhân viên Bãi giữ xe có thể nhận xe máy, xe đạp và xe hơi, với số lượng tối đa tùy thuộc vào vị trí sử dụng, từ 400 xe ở chung cư nhỏ đến 4000 xe tại sân vận động Cuối cùng, các quy định của bãi giữ xe có thể thay đổi theo thời gian.
2.1.3 Các quy trình, nghiệp vụ
● Dựa trên các kết quả khảo sát, chúng em rút ra được quy trình của bãi giữ xe: o Khách vãng lai:
▪ Khi khách vào gửi xe:
● Khách điều khiển xe vào vị trí phù hợp để camera chụp mặt và biển số
● Nhân viên quét thẻ để lưu lại thông tin xe và người gửi xe
● Khách điều khiển xe vào chỗ trống trong bãi
▪ Khi khách ra bãi giữ xe:
● Khách điều khiển xe vào vị trí phù hợp để camera ghi nhận mặt và biển số
● Nhân viên quét thẻ để hiển thị thông tin xe và người gửi xe để đối chiếu
● Nhân viên thông báo tiền gửi sau khi đối chiếu xong
● Khách hàng thanh toán tiền gửi
● Nhân viên nhận tiền và mở cổng cho khách o Khách gửi định kỳ:
▪ Khi khách vào gửi xe:
● Khách điều khiển xe vào vị trí phù hợp để camera chụp mặt và biển số
● Nhân viên quét thẻ định kỳ để xác nhận thông tin xe và người gửi xe
● Khách điều khiển xe vào chỗ trống trong bãi
▪ Khi khách ra bãi giữ xe:
● Khách điều khiển xe vào vị trí phù hợp để camera ghi nhận mặt và biển số
● Nhân viên quét thẻ định kỳ để hiển thị thông tin xe và người gửi xe để đối chiếu
● Nhân viên thông báo tiền gửi sau khi đối chiếu xong
● Khách hàng thanh toán tiền gửi
Nhân viên tiếp nhận tiền và mở cổng cho khách hàng có thể áp dụng các hình thức thanh toán tự động nhằm giảm thiểu thất thoát và tối ưu hóa quy trình thanh toán.
2.1.4 Khảo sát hệ thống hiện có
Chức năng TPAParking IPARKING Nhóm
Kiểm soát xe ra vào bằng hình ảnh X X X
Thống kê lượng xe có trong bãi đỗ xe X X X
Tìm kiếm thông tin xe X X X
Quản lý xe bằng thẻ từ X X
X (Có thể thực hiện bằng cách giả lập quy trình quét thẻ)
Thực hiện chấm công trên phần mềm X
Bảng 2.1.3: Khảo sát hệ thống hiện có
Hình 2.1.1:Màn hình TPA Parking
Yêu cầu phần mềm
Quản lý xe ra vào bãi hiệu quả bằng cách chụp ảnh biển số, giúp người dùng dễ dàng theo dõi thông tin xe hiện có trong bãi, bao gồm biển số và thời gian gửi xe.
- Xuất hóa đơn: số lượng người gửi xe + doanh thu
- Thay đổi quy định: số lượng xe tối đa, công thức giá giữ xe
- Quản lý thông tin nhân viên
- Chấm công cho nhân viên
2.2.2 Yêu cầu phi chức năng
- Giao diện đơn giản, trực quan
- Có ràng buộc về khả năng phản hồi phần mềm
- Đảm bảo toàn vẹn dữ liệu
- Độ khả dụng, độ tin cậy
2.2.3 Yêu cầu về lưu trữ
- Lưu trữ thông tin thẻ (tùy vào quy mô bãi giữ xe, từ 400 – 4000 thẻ)
- Lưu trữ hình ảnh xe (tùy vào quy mô bãi giữ xe, 800 – 8000 ảnh, 2 ảnh/ xe)
- Lưu trữ thông tin nhân viên.
PHÁT BIỂU BÀI TOÁN
Khảo sát hiện trạng
Công nghệ thông tin tại Việt Nam đang phát triển mạnh mẽ, nhưng nhiều người dân, doanh nghiệp và tổ chức vừa và nhỏ vẫn chưa tận dụng được các ứng dụng mà công nghệ này mang lại.
Quản lý công việc, dù lớn hay nhỏ, luôn là một thách thức phức tạp do sự liên kết chặt chẽ giữa các yếu tố bên trong Việc xử lý dữ liệu một cách không chính xác có thể dẫn đến những vấn đề nghiêm trọng trong quá trình quản lý.
Hiện nay, nhiều bãi đỗ xe vẫn hoạt động theo phương thức truyền thống, chưa được tối ưu hóa về an ninh và chi phí Một số vấn đề tồn tại bao gồm việc thiếu hệ thống giám sát an toàn và chi phí vận hành cao, gây bất tiện cho người sử dụng.
Nhân viên cần ghi lại thông tin của người gửi xe bằng phương pháp thủ công, như giấy hoặc ghi trực tiếp trên xe, dẫn đến mức độ an toàn không cao và gây bất tiện về thời gian.
Gây ra tình trạng ùn tắc giao thông vào những giờ cao điểm
Không đảm bảo được độ an toàn cao khi mà vé xe dễ dàng bị làm giả
Nhà quản lý khó kiểm soát được doanh thu và dễ bị gian lận báo cao bởi hình thức thủ công
Chúng em đã tích lũy nhiều kiến thức và kinh nghiệm, vì vậy chúng em chọn đề tài này nhằm giải quyết vấn đề tin học hóa trong quản lý bãi giữ xe hiện nay, giúp việc quản lý trở nên dễ dàng hơn.
Phát biểu bài toán
Tầm nhìn Áp dụng các kiến thức về lập trình để xây dựng ứng dụng quản lí
Mục tiêu là phát triển một ứng dụng với giao diện hiện đại và dễ sử dụng, phù hợp cho tất cả người dùng có nhu cầu quản lý xe trong bãi đỗ Đối tượng chính là những cá nhân cần quản lý và kiểm soát việc đỗ xe hiệu quả.
Bảng 3.2.1: Phát biểu bài toán
Yêu cầu
3.3.1.1 Chức năng quản lý xe
Mô tả Các chức năng cơ bản như thêm, xóa thẻ xe
Mục đích Quản lý thẻ xe
Tiêu chí chấp nhận Đảm bảo tính chính xác của các chức năng
Bảng 3.3.1: Chức năng quản lý xe
3.3.1.2 Chức năng quản lý nhân viên
Mô tả Các chức năng cơ bản thêm, xóa, sửa nhân viên
Mục đích Quản lý nhân viên
Tiêu chí chấp nhận Đảm bảo tính chính xác của các chức năng
Bảng 3.3.2: Chức năng quản lý nhân viên
3.3.1.3 Chức năng thống kê doanh thu
Mô tả Thống kê doanh thu theo năm, tháng
Mục đích Cho biết doanh thu qua từng đợt
Tiêu chí chấp nhận Đảm bảo tính chính xác của các chức năng
Bảng 3.3.3: Chức năng thống kê doanh thu
3.3.1.4 Chức năng quản lý giá vé
Mô tả Các chức năng cơ bản thêm, xóa, sửa giá vé
Mục đích Linh hoạt trong việc quản lí giá vé
Tiêu chí chấp nhận Đảm bảo tính chính xác của các chức năng
Bảng 3.3.4: Chức năng quản lý giá vé
Mô tả Cung cấp thông tin phiên đăng nhập theo ngày tháng nhân viên
Mục đích Phục vụ cho việc chấm công nhân viên
Tiêu chí chấp nhận Đảm bảo tính chính xác của các chức năng
Bảng 3.3.5: Chức năng chấm công
3.3.1.6 Chức năng quản lý và chụp hình xe
Mô tả Chụp và lưu trữ hình ảnh xe ra vào
Mục đích Xác minh xe và chủ xe
Tiêu chí chấp nhận Đảm bảo hình ảnh lưu trữ được và dễ dàng truy xuất
Bảng 3.3.6: Chức năng quản lý và chụp hình xe
Mô tả Ghi nhận thông tin của thẻ được quét
Mục đích Hỗ trợ trong việc quản lí thẻ và xác minh xe
Tiêu chí chấp nhận Ghi nhận chính xác thẻ được quét
Bảng 3.3.7: Chức năng quản lý thẻ
3.3.2 Yêu cầu phi chức năng
- Giao diện thân thiện, hiện đại, dễ sử dụng
- Giao diện đồng bộ giữa các thành phần
3.3.2.2 Yêu cầu độ tin cậy
- Các chức năng phải được thực hiện chính xác
- Thông tin giống như người dùng nhập vào
3.3.2.3 Yêu cầu về tính tương thích
- Tương thích với các phiên bản hệ điều hành Windows.
THIẾT KẾ CƠ SỞ DỮ LIỆU
Sơ đồ ERD
Mô tả chi tiết
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 VehicleTypeID int Khóa chính, not null, tự khởi tạo
2 VehicleTypeName nvarchar(MAX) Not null Tên loại xe
3 ParkingFee int Not null Phí gửi
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 VehicleID int Khóa chính, not null, tự khởi tạo
2 VehicleTypeID int Khóa ngoại, not null
3 ParkingCardID bigint Khóa ngoại, not null
4 TimeStartedParking datetime2 Not null Thời gian bắt đầu gửi xe
5 TimeEndedParking dateime2 Thời gian kết thúc gửi
6 VehicleState int Not null Mã trạng thái xe
7 VehicleImage nvarchar(max) Not null Đường dẫn tới thư mục chứa ảnh xe
8 Fee int Not null Phí gửi xe
StaffID int Not null Mã nhân viên phụ trách bãi lúc đang có xe
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 ParkingCardID bigint Khóa chính, not null Mã thẻ xe
2 CardType int Not null Mã loại thẻ
3 CardState int Not null Mã trạng thái thẻ
Accounts STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 AccountsID int Khóa chính, not null
2 StaffID int Khóa ngoại, not null
3 AccountName nvarchar(MAX) Not null Tên tài khoản
4 AccountPassword nvarchar(MAX) Not null Mật khẩu tài khoản
Staffs STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 StaffID int Khóa chính, not null
2 CivilID nvarchar(MAX) Not null Căn cước công dân của nhân viên
3 StaffName nvarchar(MAX) Not null Tên nhân viên
4 RoleID int Khóa ngoại, not null
5 PhoneNumber nvarchar(MAX) Số điện thoại của nhân viên
6 StaffAddress nvarchar(MAX) Địa chỉ của nhân viên
7 DateOfBirth datetime2 Ngày sinh của nhân viên
8 IsDeleted Bit Not null Trạng thái thôi việc hay còn làm việc của nhân viên
Timekeeps STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 TimekeepID int Khóa chính, not null, tự khởi tạo
2 StaffID nvarchar(MAX) Khóa ngoại, not null Mã nhân viên
3 LoginTime datetime2 Not null Thời điểm đăng nhập
4 LogoutTime datetime2 Thời điểm đăng xuất
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 RoleID int Khóa chính, not null, tự khởi tạo
2 RoleName nvarchar(MAX) Not null Tên vai trò
USE CASE
Sơ đồ use case
Hình 5.1.1: Sơ đồ Use-case Tổng quát
Hình 5.1.2: Sơ đồ Use-case cho Quản lý
Hình 5.1.3: Sơ đồ Use-case cho Nhân viên
Hình 5.1.4: Sơ đồ Use-case cho Máy quét thẻ
Hình 5.1.5: Sơ đồ Use-case cho Camera
Danh sách các use-case
STT Tên Actor Ý nghĩa/ Ghi chú
Quản lý hệ thống bao gồm việc quản lý thẻ xe, chấm công và thống kê báo cáo, đồng thời theo dõi thông tin nhân viên và xe.
2 Nhân viên Thực hiện việc tiếp nhận và trả xe
3 Camera Ghi nhận hình ảnh xe
4 Máy đọc thẻ từ Ghi nhận thông tin thẻ từ
STT Tên Use-case Ý nghĩa
1 Đăng nhập Đăng nhập vào hệ thống để có quyền sử dụng các chức năng của hệ thống theo vai trò
2 Đăng xuất Đăng xuất tài khoản khỏi hệ thống
3 Quản lý thẻ Quản lý thêm, xóa và tra cứu thẻ trong hệ thống
4 Tra cứu thẻ Tra cứu thông tin thẻ hiện có trên hệ thống
5 Thêm thông tin thẻ Thêm thẻ mới vào hệ thống
6 Xóa thông tin thẻ Xóa thẻ hiện có trên hệ thống
7 Quản lý nhân viên Quản lý thêm, xóa, sửa, tìm kiếm, tra cứu chấm công cho nhân viên
8 Thêm nhân viên Thêm nhân viên mới vào hệ thống
9 Xóa nhân viên Xóa nhân viên hiện có trên hệ thống
10 Chỉnh sửa nhân viên Chỉnh sửa thông tin nhân viên trên hệ thống
11 Tra cứu nhân viên Tra cứu thông tin nhân viên
14 Tra cứu chấm công Tra cứu thông tin chấm công cho nhân viên
15 Quản lý quy định Cập nhật quy định hiện có trên hệ thống
19 Cập nhật quy định Cập nhật quy định hiện có trên hệ thống
20 Thống kê và báo cáo Quản lý các thống kê, báo cáo
22 Báo cáo doanh thu Hiển thị doanh thu bãi giữ xe
23 Tra cứu doanh thu Tra cứu doanh thu bãi giữ xe
24 Tiếp nhận và trả xe Quản lý việc tiếp nhận và trả xe
25 Tiếp nhận xe Tiếp nhận thông tin xe vào bãi
26 Trả xe Cập nhật thông tin xe khi xe ra khỏi bãi
Bảng 5.2.2: Danh sách Use-case
Đặc tả use-case
5.3.1.1.1 Đặc tả Use-case Đăng nhập Tên Use-case Đăng nhập
Mô tả Use-case Đăng nhập vào hệ thống
Kích hoạt (Trigger) Mở ứng dụng
Use-case liên quan Không có
Tiền điều kiện Hệ thống cần kết nối với cơ sở dữ liệu
Hậu điều kiện Nhân viên được thông báo đăng nhập thành công
Luồng sự kiện chính 1 Nhân viên nhập thông tin đăng nhập
2 Hệ thống xác thực thông tin thành công
3 Hệ thống thông báo đăng nhập thành công
Luồng sự kiện phụ 2a Hệ thống thông báo người dùng đã đăng nhập bằng tài khoản của người đã bị thôi việc Lúc này nhân viên quay lại bước 1
2b Hệ thống thông báo người dùng nhập sai thông tin đăng nhập Lúc này nhân viên quay lại bước 1
Luồng sự kiện ngoại lệ Nhân viên thoát khỏi màn hình đăng nhập Use-case đăng nhập dừng lại
Bảng 5.3.1: Đặc tả Use-case Đăng nhập
5.3.1.1.2 Sơ đồ Activity “Đăng nhập”
Hình 5.3.1: Sơ đồ Activity “Đăng nhập”
5.3.2 Đặt lại mật khẩu cho nhân viên
5.3.2.1 Use-casse Đặt lại mật khẩu
5.3.2.1.1 Đặc tả Use-case Đặt lại mật khẩu cho nhân viên Tên Use-case Đặt lại mật khẩu cho nhân viên
Mô tả Use-case Quản lý đặt lại mật khẩu cho nhân viên
Kích hoạt (Trigger) Quản lý nhấn nút “Đặt lại mật khẩu trong màn hình sửa nhân viên”
Use-case liên quan Không có
Tiền điều kiện Hệ thống cần kết nối với cơ sở dữ liệu Quản lý đăng nhập bằng tài khoản dành cho quản lý
Hậu điều kiện Quản lý được thông báo đặt lại mật khẩu thành công
Luồng sự kiện chính 1 Quản lý xác nhận đặt lại mật khẩu
2 Hệ thống đặt lại mật khẩu cho nhân viên đã chọn
3 Hệ thống thông báo đặt lại mật khẩu thành công
Luồng sự kiện phụ 1a Quản lý hủy đặt lại mật khẩu Lúc này Use-case “Đặt lại mật khẩu cho nhân viên” dừng lại
Luồng sự kiện ngoại lệ Nhân viên thoát khỏi màn hình sửa nhân viên Use-case “Đặt lại mật khẩu cho nhân viên” dừng lại
Bảng 5.3.2: Đặc tả Use-case “Đặt lại mật khẩu cho nhân viên”
5.3.2.1.2 Sơ đồ Activity “Đặt lại mật khẩu cho nhân viên”
Hình 5.3.2: Sơ đồ Activity “Đặt lại mật khẩu cho nhân viên”
5.3.3.1 Use-case Thêm thông tin thẻ
5.3.3.1.1 Đặc tả Use-case Thêm thông tin thẻ Tên Use-case Thêm thông tin thẻ
Mô tả Use-case Quản lý thêm thông tin thẻ mới vào hệ thống
Kích hoạt (Trigger) Quản lý chuyển sang màn hình quản lý thẻ
Actors Quản lý, máy quét thẻ
Use-case liên quan Không có
Để sử dụng hệ thống, cần có thiết bị kết nối với máy đọc thẻ và hệ thống phải được liên kết với cơ sở dữ liệu Quản lý đăng nhập vào ứng dụng sẽ được thực hiện thông qua tài khoản quản lý.
Hậu điều kiện Quản lý được thông báo thêm thẻ thành công
Cơ sở dữ liệu lưu thông tin thẻ mới
Luồng sự kiện chính 1 Hệ thống hiển thị màn hình thêm thẻ
2 Quản lý chọn loại thẻ cần thêm
3 Quản lý nhập mã thẻ cần thêm
4 Hệ thống kiểm tra định dạng mã thẻ
5 Hệ thống kiểm tra thông tin thẻ vừa được thêm có trùng hay không
6 Hệ thống thêm thông tin thẻ mới
7 Hệ thống thông báo thêm thẻ thành công
Luồng sự kiện phụ 3a Quản lý quét thẻ
3b Máy quét thẻ gửi thông tin thẻ cho hệ thống
4a Hệ thống báo định dạng thẻ sai Trường hợp này Quản lý thực hiện lại bước 2
5a Hệ thống báo thẻ đã được sử dụng Trường hợp này Quản lý thực hiện lại bước 2
Luồng sự kiện ngoại lệ Quản lý thoát khỏi màn hình thêm thẻ Use-case thêm thẻ dừng lại
Bảng 5.3.3: Đặc tả Use-case Thêm thông tin thẻ
5.3.3.1.2 Sơ đồ Activity “Thêm thông tin thẻ”
Hình 5.3.3: Sơ đồ Activity “Thêm thông tin thẻ”
5.3.3.2 Use-case Xóa thông tin thẻ
5.3.3.2.1 Đặc tả Use-case Xóa thông tin thẻ Tên Use-case Xóa thông tin thẻ
Mô tả Use-case Quản lý xóa thông tin thẻ đang có trong hệ thống
Kích hoạt (Trigger) Quản lý chuyển sang màn hình quản lý thẻ
Use-case liên quan Không có
Tiền điều kiện Quản lý đăng nhập vào ứng dụng hệ thống cần kết nối với cơ sở dữ liệu
Hậu điều kiện Quản lý được thông báo xóa thẻ thành công
Cơ sở dữ liệu xóa thẻ thành công
Luồng sự kiện chính 1 Quản lý chọn thẻ cần xóa
2 Quản lý bấm nút xóa
3 Hệ thống yêu cầu xác nhận xóa
4 Quản lý xác nhận xóa
5 Hệ thống kiểm tra thẻ chưa được sử dụng
6 Hệ thống xóa thông tin thẻ thành công
7 Hệ thống thông báo xóa thẻ thành công
Luồng sự kiện phụ 4a Quản lý không xác nhận xóa Lúc này use-case xóa thông tin thẻ dừng lại
5a Hệ thống kiểm tra thẻ đã được sử dụng
5a1 Hệ thống thông báo thẻ đã được sử dụng Lúc này use- case xóa thông tin thẻ dừng lại
6a Hệ thống xóa thông tin thẻ không thành công
6a1 Hệ thống thông báo không xóa thẻ thành công, lúc này use-case xóa thông tin thẻ dừng lại
Luồng sự kiện ngoại lệ Nhân viên thoát khỏi màn hình quản lý thẻ Use-case xóa thông tin thẻ dừng lại
Bảng 5.3.4: Đặc tả Use-case Xóa thông tin thẻ
5.3.3.2.2 Sơ đồ Activity “Xóa thông tin thẻ”
Hình 5.3.4: Sơ đồ Activity “Xóa thông tin thẻ”
5.3.3.3 Use-case Tra cứu thẻ
5.3.2.3.1 Đặc tả Use-case Tra cứu thẻ Tên Use-case Tra cứu thông tin thẻ
Mô tả Use-case Quản lý tra cứu thông tin thẻ đang có trong hệ thống
Kích hoạt (Trigger) Quản lý chuyển sang màn hình quản lý thẻ
Use-case liên quan Không có
Tiền điều kiện Quản lý đăng nhập vào ứng dụng hệ thống cần kết nối với cơ sở dữ liệu
Hậu điều kiện Quản lý được cung cấp thông tin thẻ đã tra cứu
Luồng sự kiện chính 1 Quản lý nhập thông tin thẻ cần tra cứu
2 Hệ thống tra cứu thông tin thẻ
3 Hệ thống hiển thị thông tin thẻ cần tra cứu
Luồng sự kiện phụ 3a Hệ thống không tìm được thẻ có thông tin cần tra cứu
3a1 Hệ thống hiển thị thông tin toàn bộ thẻ hiện có
Luồng sự kiện ngoại lệ Nhân viên thoát khỏi màn hình quản lý thẻ Use-case xóa thông tin thẻ dừng lại
Bảng 5.3.5: Đặc tả Use-case Tra cứu thẻ
5.3.2.3.2 Sơ đồ Activity “Tra cứu thẻ”
Hình 5.3.5: Sơ đồ Activity “Tra cứu thẻ”
5.3.4.1 Use-case Thêm nhân viên
5.3.4.1.1 Đặc tả Use-case Thêm nhân viên Tên Use-case Thêm nhân viên
Mô tả Use-case Thực hiện chức năng thêm nhân viên mới vào cơ sở dữ liệu
Kích hoạt (Trigger) Khi quản lí lựa chọn vào nút thêm trên màn hình quản lí nhân viên
Use-case liên quan Không có
Tiền điều kiện Ứng dụng kết nối thành công cơ sở dữ liệu
Quản lí đăng nhập thành công vào hệ thống và đang ở màn hình quản lí nhân viên
Hậu điều kiện Quản lí thực hiện thành công việc thêm nhân viên, lưu vào cơ sở dữ liệu, hiển thị thông báo “Thêm nhân viên thành công!”
1 Quản lí thêm các thông tin của nhân viên như: Họ và tên, Ngày sinh, Chức vụ, Số điện thoại, CMND/CCCD, Địa chỉ, Tên tài khoản Quản lí nhấn vào nút Thêm
2 Hệ thống kiểm tra các thông tin đã thêm
3 Hệ thống thêm thông tin nhân viên vào cơ sở dữ liệu
4 Hệ thông tạo tài khoản mới cho nhân viên
5 Hệ thông thông báo thêm nhân viên thành công
Luồng sự kiện phụ 2a Hệ thống hiển thị thông báo là thông tin đã tồn tại Yêu cầu quản lí thực hiện lại bước 1
Luồng sự kiện ngoại lệ
Quản lí thoát khỏi màn hình thêm nhân viên, use-case thêm nhân viên dừng lại
Bảng 5.3.6: Đặc tả Use-case Thêm nhân viên
5.3.4.1.2 Sơ đồ Activity “Thêm nhân viên”
Hình 5.3.6: Sơ đồ Activity “Thêm nhân viên”
5.3.4.2 Use-case Thay đổi trạng thái làm việc
5.3.4.2.1 Đặc tả Use-case Thay đổi trạng thái làm việc Tên Use-case Thay đổi trạng thái làm việc
Mô tả Use-case Thực hiện chức năng thay đổi trạng thái làm việc của nhân viên
Kích hoạt (Trigger) Khi quản lí lựa chọn vào nút thôi việc hoặc khôi phục trên màn hình quản lí nhân viên
Use-case liên quan Không có
Tiền điều kiện Ứng dụng kết nối thành công cơ sở dữ liệu
Quản lí đăng nhập thành công vào hệ thống và đang ở màn hình quản lí nhân viên
Sau khi quản lý thực hiện thành công việc thay đổi trạng thái làm việc của nhân viên, hệ thống sẽ cập nhật cơ sở dữ liệu và hiển thị thông báo thành công.
1 Quản lí lựa chọn nhân viên để thôi việc hoặc khôi phục trong danh sách các nhân viên được hiển thị ở màn hình quản lí nhân viên
2 Quản lí nhấn vào nút Thôi việc (nếu trạng thái là đang làm việc) hoặc Khôi phục (nếu trạng thái là đã nghỉ làm)
3 Hệ thống cập nhật thông tin nhân viên vào cơ sở dữ liệu
4 Hệ thống thông báo thành công, cập nhật hiển thị danh sách nhân viên
Luồng sự kiện phụ Không có
Luồng sự kiện ngoại lệ
Quản lí thoát khỏi màn hình quản lí nhân viên, use-case thay đổi trạng thái làm việc dừng lại
Bảng 5.3.7: Đặc tả Use-case Thay đổi trạng thái làm việc
5.3.4.2.2 Sơ đồ Activity “Thay đổi trạng thái làm việc”
Hình 5.3.7: Sơ đồ Activity “Thay đổi trạng thái làm việc”
5.3.4.3 Use-case Tìm kiếm nhân viên
5.3.4.3.1 Đặc tả Use-case Tìm kiếm nhân viên Tên Use-case Tìm kiếm nhân viên
Mô tả Use-case Thực hiện chức năng tìm kiếm thông tin của nhân viên đã tồn tại trong cơ sở dữ liệu
Kích hoạt (Trigger) Khi quản lí nhập thông tin cần tìm kiếm trong thanh tìm kiếm tại màn hình quản lí nhân viên
Use-case liên quan Không có
Tiền điều kiện Ứng dụng kết nối thành công cơ sở dữ liệu
Quản lí đăng nhập thành công vào hệ thống và đang ở màn hình quản lí nhân viên
Hậu điều kiện Quản lí tìm kiếm được thông tin nhân viên cần tìm kiếm tại màn hình quản lí nhân viên
1 Quản lí lựa chọn loại tìm kiếm như: tên, số điện thoại, số CCCD, chức vụ, địa chỉ, và lựa chọn trạng thái của nhân viên như: đang làm việc, đã nghỉ làm, tất cả
2 Quản lí nhập nội dung thông tin cần tìm kiếm
3 Hệ thống tìm kiếm thông tin theo nội dung và loại tìm kiếm của quản lí
4 Hệ thống hiển thị danh sách nhân viên thỏa mãn điều kiện tìm kiếm của quản lí tại màn hình quản lí nhân viên
Luồng sự kiện phụ Không có
Luồng sự kiện ngoại lệ
Quản lí thoát khỏi màn hình quản lí nhân viên, use-case tìm kiếm nhân viên dừng lại
Bảng 5.3.8: Đặc tả Use-case Tìm kiếm nhân viên
5.3.4.3.2 Sơ đồ Activity “Tìm kiếm nhân viên”
Hình 5.3.8: Sơ đồ Activity “Tìm kiếm nhân viên”
5.3.4.4 Use-case Chỉnh sửa nhân viên
5.3.3.4.1 Đặc tả Use-case Chỉnh sửa nhân viên Tên Use-case Chỉnh sửa nhân viên
Mô tả Use-case Thực hiện chức năng chỉnh sửa thông tin nhân viên đã tồn tại trong cơ sở dữ liệu
Kích hoạt (Trigger) Khi quản lí lựa chọn vào nút Sửa trên màn hình quản lí nhân viên
Use-case liên quan Không có
Tiền điều kiện Quản lí đăng nhập thành công vào hệ thống và đang ở màn hình quản lí nhân viên
Sau khi hoàn thành việc sửa thông tin nhân viên và cập nhật cơ sở dữ liệu, hệ thống sẽ hiển thị thông báo “Sửa thông tin nhân viên thành công”.
1 Quản lí sửa các thông tin nhân viên cần thiết
2 Hệ thống kiểm tra các thông tin
3 Hệ thống cập nhật thông tin nhân viên vào cơ sở dữ liệu
4 Hệ thông thông báo sửa thông tin nhân viên thành công
Luồng sự kiện phụ 2a Hệ thống hiển thị thông báo là thông tin đã tồn tại Yêu cầu quản lí thực hiện lại bước 1
Luồng sự kiện ngoại lệ
Quản lí thoát khỏi màn hình quản lí nhân viên, use-case chỉnh sửa nhân viên dừng lại
Bảng 5.3.9: Đặc tả Use-case Chỉnh sửa nhân viên
5.3.3.4.2 Sơ đồ Activity “Chỉnh sửa nhân viên”
Hình 5.3.9: Sơ đồ Activity “Chỉnh sửa nhân viên”
5.3.4.5 Use-case Tra cứu chấm công
5.3.4.5.1 Đặc tả Use-case Tra cứu chấm công Tên Use-case Tra cứu chấm công
Mô tả Use-case Thực hiện chức năng tra cứu thông tin làm việc của nhân viên
Kích hoạt (Trigger) Khi quản lí nhập thông tin cần tìm kiếm tại màn hình chấm công
Use-case liên quan Không có
Tiền điều kiện Ứng dụng kết nối thành công cơ sở dữ liệu
Quản lí đăng nhập thành công vào hệ thống và đang ở màn hình chấm công
Hậu điều kiện Quản lí tìm kiếm được thông tin chấm công của nhân viên cần tìm kiếm tại màn hình quản lí chấm công
1 Quản lí lựa chọn ngày bắt đầu hoặc ngày kết thúc hoặc tên nhân viên cần tra cứu
2 Hệ thống tìm kiếm thông tin theo thông tin được cung cấp của quản lí
3 Hệ thống hiển thị danh sách thời gian làm việc của nhân viên thỏa mãn điều kiện tìm kiếm của quản lí tại màn hình chấm công
Luồng sự kiện phụ Không có
Luồng sự kiện ngoại lệ
Quản lí thoát khỏi màn hình quản lí chấm công, use-case tra cứu chấm công dừng lại
Bảng 5.3.10: Đặc tả Use-case Tra cứu chấm công
5.3.4.5.2 Sơ đồ Activity “Tra cứu chấm công”
Hình 5.3.10: Sơ đồ Activity "Tra cứu chấm công”
5.3.5.1 Use-case Cập nhật quy định
5.3.5.1.1 Đặc tả Use-case Cập nhật quy định Tên Use-case Cập nhật quy định
Mô tả Use-case Thay đổi giá trị của quy định trong hệ thống
Kích hoạt (Trigger) Quản lý nhấn vào nút “Chỉnh sửa” của quy định
Use-case liên quan Không có
Tiền điều kiện Phần mềm truy cập được vào cơ sở dữ liệu và Quản lý đăng nhập vào hệ thống
Hậu điều kiện Quy định được cập nhật trong cơ sở dữ liệu
Thông báo cập nhật thông tin quy định thành công
Luồng sự kiện chính 1 Quản lý tìm kiếm quy định và chọn quy định cần chỉnh sửa
2 Quản lý nhập giá trị thay đổi
3 Hệ thống kiếm tra định dạng
4 Quản lý xác nhận cập nhật
5 Hệ thống cập nhật quy định
6 Hệ thống thông báo cập nhật quy định thành công
Luồng sự kiện phụ 3a Hệ thống yêu cầu người dùng nhập lại giá trị nếu không đúng định dạng
5a Hệ thống thông báo cập nhật thất bại nếu có lỗi
Luồng sự kiện ngoại lệ
Quản lý thoát khỏi màn hình Cập nhật quy định Use-case Cập nhật quy định dừng lại
Bảng 5.3.11: Đặc tả Use-case Cập nhật quy định
5.3.5.1.2 Sơ đồ Activity “Cập nhật quy định”
Hình 5.3.11: Sơ đồ Activity “Cập nhật quy định”
5.3.6 Thống kê và báo cáo
5.3.6.1 Use-case Báo cáo doanh thu
5.3.6.1.1 Đặc tả Use-case Báo cáo doanh thu Tên Use-case Báo cáo doanh thu
Mô tả Use-case Tự động tính toán doanh thu dựa trên số lượng xe ra
Kích hoạt (Trigger) Quản lý nhấn vào nút “Báo cáo và doanh thu”
Tiền điều kiện Hệ thống cần kết nối với cơ sở dữ liệu Quản lý đăng nhập vào ứng dụng bằng tài khoản quản lý
Hậu điều kiện Thông tin Doanh thu được đưa ra
Luồng sự kiện chính 1 Khi Thẻ từ đổi từ Trạng thái “Đang gửi” thành “Chưa gửi”, hệ thống tự động tính tiền gửi xe dựa theo loại xe
2 Quản lý nhấn vào nút “Báo cáo doanh thu”
3 Hệ thống đưa ra thông tin về Doanh thu
Luồng sự kiện ngoại lệ Quản lý thoát khỏi màn hình Thống kê và báo cáo Hệ thống không thể hiện thông tin Use case
Bảng 5.3.12: Đặc tả Use-case Báo cáo doanh thu
5.3.6.1.2 Sơ đồ Activity “Báo cáo doanh thu”
Hình 5.3.12: Sơ đồ Activity “Báo cáo doanh thu”
5.3.6.2 Use-case Tra cứu doanh thu
5.3.6.2.1 Đặc tả Use-case Tra cứu doanh thu Tên Use-case Tra cứu doanh thu
Mô tả Use-case Tra cứu doanh thu theo năm nhập
Kích hoạt (Trigger) Quản lý nhập năm cần tra cứu
Tiền điều kiện Hệ thống cần kết nối với cơ sở dữ liệu Quản lý đăng nhập vào ứng dụng bằng tài khoản quản lý
Hậu điều kiện Thông tin Doanh thu được đưa ra theo năm nhập
Luồng sự kiện chính 1 Khi Thẻ từ đổi từ Trạng thái “Đang gửi” thành “Chưa gửi”, hệ thống tự động tính tiền gửi xe dựa theo loại xe
2 Quản lý nhấn vào nút “Báo cáo doanh thu”
3 Quản lý nhập năm cần tra cứu
4 Hệ thống đưa ra thông tin về Doanh thu năm nhập
Luồng sự kiện ngoại lệ Quản lý thoát khỏi màn hình Thống kê và báo cáo Hệ thống không thể hiện thông tin Use case
Bảng 5.3.13: Đặc tả Use-case Tra cứu doanh thu
5.3.6.2.2 Sơ đồ Activity “Tra cứu doanh thu”
Hình 5.3.13: Sơ đồ Activity "Tra cứu doanh thu"
5.3.7 Tiếp nhận và trả xe
5.3.7.1 Use-case Tiếp nhận xe
5.3.7.1.1 Đặc tả Use-case Tiếp nhận xe Tên Use-case Tiếp nhận xe
Mô tả Use-case Tiếp nhận xe vào bãi
Kích hoạt (Trigger) Nhân viên quét thẻ
Actors Nhân viên, camera, máy quét thẻ
Use-case liên quan Không có
Để sử dụng hệ thống, thiết bị cần có kết nối với camera và máy quét thẻ Hệ thống cũng phải liên kết với cơ sở dữ liệu, và nhân viên sẽ đăng nhập vào ứng dụng bằng tài khoản cá nhân của mình.
Hậu điều kiện Nhân viên lưu thông tin xe vào bãi
Luồng sự kiện chính 1 Hệ thống cung cấp loại xe
2 Nhân viên chọn loại xe
4 Máy quét thẻ gửi thông tin thẻ cho hệ thống
5 Hệ thống kiểm tra định dạng mã thẻ
6 Hệ thống kiếm tra thẻ tồn tại
7 Hệ thống kiểm tra thẻ chưa sử dụng
9 Camera gửi hình xe cho hệ thống
10 Hệ thống lưu hình xe tương ứng với thông tin thẻ đã quét
11 Hệ thống chuyển đổi trạng thái thẻ thành “Đã sử dụng”
Luồng sự kiện phụ 5a Hệ thống báo thẻ không hợp lệ Trường hợp này nhân viên thực hiện lại bước 3
6a Hệ thống hiển thị thông báo là thẻ không tồn tại Trường hợp này nhân viên thực hiện lại bước 3
7a Hệ thống hiển thị thông báo thẻ đã được sử dụng Trường hợp này nhân viên thực hiện lại bước 3
Luồng sự kiện ngoại lệ Nhân viên thoát khỏi màn hình lưu trữ ảnh xe lên thẻ Use-case tiếp nhận xe dừng lại
Bảng 5.3.14: Đặc tả Use-case Tiếp nhận xe
5.3.7.1.2 Sơ đồ Activity “Tiếp nhận xe”
Hình 5.3.14: Sơ đồ Activity “Tiếp nhận xe”
5.3.7.2.1 Đặc tả Use-case Trả xe Tên Use-case Trả xe
Mô tả Use-case Chuyển đổi trạng thái Xe, Thẻ
Kích hoạt (Trigger) Nhân viên quét Thẻ từ
Actors Nhân viên, Máy đọc thẻ từ
Nhân viên cần có quyền truy cập vào phần mềm, thiết bị phải được kết nối với máy đọc thẻ từ và thẻ từ, đồng thời có khả năng truy cập vào cơ sở dữ liệu.
Hậu điều kiện Trạng thái của Xe, Thẻ được thay đổi
Luồng sự kiện chính 1 Nhân viên quét thẻ
2 Máy quét thẻ gửi thông tin thẻ cho hệ thống
3 Hệ thống kiểm tra định dạng mã thẻ
4 Hệ thống kiếm tra thẻ tồn tại
5 Hệ thống kiểm tra thẻ chưa sử dụng
6 Hệ thống cập nhật thông tin xe
7 Hệ thống chuyển đổi trạng thái thẻ thành “Chưa sử dụng”
Luồng sự kiện phụ 3a Hệ thống báo thẻ không hợp lệ Trường hợp này nhân viên thực hiện lại bước 1
4a Hệ thống hiển thị thông báo là thẻ không tồn tại Trường hợp này nhân viên thực hiện lại bước 1
5a Hệ thống hiển thị thông báo thẻ chưa sử dụng Trường hợp này nhân viên thực hiện lại bước 1
Luồng sự kiện ngoại lệ
Nhân viên thoát khỏi màn hình làm việc hoặc cúp điện Hệ thống không thể thực hiện Use case
Bảng 5.3.15: Đặc tả Use-case Trả xe
5.3.7.2.2 Sơ đồ Activity “Trả xe”
Hình 5.3.15: Sơ đồ Activity “Trả xe”
5.3.8.1 Use-case Chỉnh sửa mật khẩu
5.3.8.1.1 Đặc tả Use-case Chỉnh sửa mật khẩu Tên Use-case Chỉnh sửa mật khẩu
Mô tả Use-case Chỉnh sửa mật khẩu tài khoản của người dùng
Kích hoạt (Trigger) Nhân viên bấm vào nút Thay đổi mật khẩu
Use-case liên quan Không có
Tiền điều kiện Phần mềm truy cập được vào cơ sở dữ liệu và Quản lý hoặc Nhân viên đăng nhập vào hệ thống
Hậu điều kiện Mật khẩu được cập nhật trong cơ sở dữ liệu
Thông báo thay đổi mật khẩu thành công cho Quản lý hoặc Nhân viên
Luồng sự kiện chính 1 Hệ thống hiển thị màn hình Thay đổi mật khẩu
2 Nhân viên nhập mật khẩu cũ và mật khẩu mới
3 Hệ thống kiếm tra thông tin nhập vào phù hợp
4 Hệ thống cập nhật mật khẩu
5 Hệ thống thông báo cập nhật mật khẩu thành công
Luồng sự kiện phụ 2a Hệ thống yêu cầu người dùng nhập lại mật khẩu cũ nếu mật khẩu cũ không khớp
2b Hệ thống yêu cầu người dùng nhập lại mật khẩu mới nếu mật khẩu mới không khớp với nhập lại mật khẩu mới
4a Hệ thống thông báo cập nhật thất bại nếu có lỗi
Bảng 5.3.16: Đặc tả Use-case Chỉnh sửa mật khẩu
5.3.8.1.2 Sơ đồ Activity “Chỉnh sửa mật khẩu”
Hình 5.3.16: Sơ đồ Activity “Chỉnh sửa mật khẩu"
Sơ đồ tuần tự và sơ đồ lớp của các Use-case
5.4.1 Đăng nhập o Sơ đồ tuần tự:
Hình 5.4.1: Sơ đồ tuần tự "Đăng nhập" o Sơ đồ lớp:
Hình 5.4.2: Sơ đồ lớp "Đăng nhập"
5.4.2 Đặt lại mật khẩu cho nhân viên o Sơ đồ tuần tự:
Hình 5.4.3: Sơ đồ tuần tự "Đặt lại mật khẩu cho nhân viên" o Sơ đồ lớp:
Hình 5.4.4: Sơ đồ lớp "Đặt lại mật khẩu cho nhân viên"
5.4.3.1 Thêm thông tin thẻ o Sơ đồ tuần tự:
Hình 5.4.5: Sơ đồ tuần tự "Thêm thông tin thẻ" o Sơ đồ lớp:
Hình 5.4.6: Sơ đồ lớp “Thêm thông tin thẻ”
5.4.3.2 Xóa thông tin thẻ o Sơ đồ tuần tự:
Hình 5.4.7: Sơ đồ tuần tự "Xóa thông tin thẻ" o Sơ đồ lớp:
Hình 5.4.8: Sơ đồ lớp "Xóa thông tin thẻ"
5.4.3.3 Tra cứu thẻ o Sơ đồ tuần tự:
Hình 5.4.9: Sơ đồ tuần tự "Tra cứu thẻ" o Sơ đồ lớp:
Hình 5.4.10: Sơ đồ lớp “Tra cứu thẻ”
5.4.4.1 Thêm nhân viên o Sơ đồ tuần tự:
Hình 5.4.11: Sơ đồ tuần tự "Thêm nhân viên" o Sơ đồ lớp:
Hình 5.4.12: Sơ đồ lớp "Thêm nhân viên"
5.4.4.2 Thay đổi trạng thái làm việc o Sơ đồ tuần tự:
Hình 5.4.13: Sơ đồ tuần tự "Thay đổi trạng thái làm việc" o Sơ đồ lớp:
Hình 5.4.14: Sơ đồ lớp "Trạng thái làm việc"
5.4.4.3 Tìm kiếm nhân viên o Sơ đồ tuần tự:
Hình 5.4.15: Sơ đồ tuần tự "Tìm kiếm nhân viên" o Sơ đồ lớp:
Hình 5.4.16: Sơ đồ lớp "Tìm kiếm nhân viên"
5.4.4.4 Chỉnh sửa nhân viên o Sơ đồ tuần tự:
Hình 5.4.17: Sơ đồ tuần tự "Chỉnh sửa nhân viên" o Sơ đồ lớp:
Hình 5.4.18: Sơ đồ lớp "Chỉnh sửa nhân viên"
5.4.4.5 Tra cứu chấm công o Sơ đồ tuần tự:
Hình 5.4.19: Sơ đồ tuần tự "Tra cứu chấm công" o Sơ đồ lớp:
Hình 5.4.20: Sơ đồ lớp "Tra cứu chấm công"
5.4.5.1 Cập nhật quy định o Sơ đồ tuần tự:
Hình 5.4.21: Sơ đồ tuần tự "Cập nhật quy định" o Sơ đồ lớp:
Hình 5.4.22: Sơ đồ lớp "Cập nhật quy định"
5.4.6 Thống kê và báo cáo
5.4.6.1 Báo cáo doanh thu o Sơ đồ tuần tự:
Hình 5.4.23: Sơ đồ tuần tự "Báo cáo doanh thu" o Sơ đồ lớp:
Hình 5.4.24: Sơ đồ lớp "Báo cáo doanh thu"
5.4.6.2 Tra cứu doanh thu o Sơ đồ tuần tự:
Hình 5.4.25: Sơ đồ tuần tự "Tra cứu doanh thu" o Sơ đồ lớp:
Hình 5.4.26: Sơ đồ lớp "Tra cứu doanh thu"
5.4.7 Tiếp nhận và trả xe
5.4.7.1 Tiếp nhận xe o Sơ đồ tuần tự:
Hình 5.4.27: Sơ đồ tuần tự "Tiếp nhận xe" o Sơ đồ lớp:
Hình 5.4.28: Sơ đồ lớp "Tiếp nhận xe"
5.4.7.2 Trả xe o Sơ đồ tuần tự:
Hình 5.4.29: Sơ đồ tuần tự "Trả xe" o Sơ đồ lớp:
Hình 5.4.30: Sơ đồ lớp "Trả xe"
5.4.8.1 Chỉnh sửa mật khẩu o Sơ đồ tuần tự:
Hình 5.4.31: Sơ đồ tuần tự "Quản lý tài khoản " o Sơ đồ lớp:
Hình 5.4.32: Sơ đồ lớp "Chỉnh sửa mật khẩu"
Sơ đồ lớp
5.5.1 Sơ đồ lớp tổng quát của Quản lý
Hình 5.5.1: Sơ đồ lớp tổng quát của Quản lý
5.5.2 Sơ đồ lớp tổng quát của Nhân viên
Hình 5.5.2: Sơ đồ lớp tổng quát của Nhân viên
5.5.3 Sơ đồ lớp các thực thể
Hình 5.5.3: Sơ đồ lớp các thực thể
5.5.4 Mô tả chi tiết của các thực thể
MaLoaiXe Mã định danh loại xe
PhiGuiLoaiXe Chi phí gửi xe theo từng loại xe
Phương thức Tên phương thức Ý nghĩa
CungCapLoaiXe() Lấy thuộc tính mã loại xe
Bảng 5.5.1: Mô tả chi tiết VEHICLETYPES
Thuộc tính Tên thuộc tính Ý nghĩa
MaXe Mã định danh xe
MaLoaiXe Mã định danh loại xe
MaThe Mã định danh thẻ
ThoiDiemVaoBai Thời gian xe bắt đầu vào bãi ThoiDiemRaBai Thời gian xe bắt đầu ra khỏi bãi
TrangThaiXe Trạng thái của xe
HinhCuaXe Đường dẫn ảnh chụp hình của xe
MaNhanVienQuanLy Mã định danh của nhân viên quản lí xe
LuuThongTinXeVoiThe() Thực hiện lưu thông tin xe với thẻ
CapNhatThongTinXeRa() Thực hiện cập nhật thông tin của xe khi ra khỏi bãi
Bảng 5.5.2: Mô tả chi tiết VEHICLE
MaThe Mã định danh thẻ
TinhTrang Tình trạng của thẻ
KiemTraTheTonTai() Kiểm tra xem thẻ đã tồn tại hay chưa tồn tại trong cơ sở dữ liệu
ThemThe() Thực hiện thêm thẻ
XoaThe() Thực hiện xóa thẻ
TraCuuThe() Thực hiện tra cứu thẻ CapNhatTrangThaiThe() Thực hiện cập nhật trạng thái thẻ KiemTraTrangThaiThe() Thực hiện kiểm tra trạng thái thẻ LayThongTinThe() Lấy thông tin thẻ
Bảng 5.5.3: Mô tả chi tiết PARKINGCARDS
MaTaiKhoan Mã định danh tài khoản
MaNhanVien Mã định danh nhân viên
TenDangNhap Tên đăng nhập tài khoản
MatKhau Mật khẩu tài khoản
CapNhatMatKhau() Thực hiện cập nhật mật khẩu LayThongTinTaiKhoan() Lấy thông tin tài khoản
Bảng 5.5.4: Mô tả chi tiết ACCOUNTS
MaQuyen Mã định danh quyền
Phương thức Tên phương thức Ý nghĩa
LayThongTinQuyen() Lấy thông tin quyền
Bảng 5.5.5: Mô tả chi tiết ROLES
MaNhanVien Mã định danh nhân viên
CanCuocCongDan Căn cước công dân của nhân viên
MaLoaiNhanVien Mã định danh loại nhân viên
SoDienThoai Số điện thoại của nhân viên
DiaChi Địa chỉ của nhân viên
NgaySinh Ngày sinh của nhân viên
DaThoiViec Trạng thái làm việc của nhân viên
LayDanhSachNhanVien() Lấy danh sách các nhân viên
CapNhatTrangThaiNhanVien() Thực hiện cập nhật trạng thái làm việc của nhân viên
CapNhatThongTinNhanVien() Thực hiện cập nhật thông tin của nhân viên TimKiemNhanVien() Thực hiện tìm kiếm nhân viên
Bảng 5.5.6: Mô tả chi tiết STAFF
MaChamCong Mã định danh chấm công
MaNhanVien Mã định danh nhân viên
ThoiGianDangNhap Thời gian bắt đầu đăng nhập vào hệ thống ThoiGianDangXuat Thời gian đăng xuất khỏi hệ thống Phương thức
LayDanhSachChamCong() Lấy danh sách chấm công TraCuuChamCong() Thực hiện tra cứu chấm công
Bảng 5.5.7: Mô tả chi tiết TIMEKEEPS
Sơ đồ trạng thái
5.6.1 Sơ đồ trạng thái Thẻ
Hình 5.6.1: Sơ đồ trạng thái Thẻ
5.6.2 Sơ đồ trạng thái Chức vụ
Hình 5.6.2: Sơ đồ trạng thái Chức vụ
5.6.3 Sơ đồ trạng thái Nhân viên
Hình 5.6.3: Sơ đồ trạng thái Nhân viên
5.6.4 Sơ đồ trạng thái Xe
Hình 5.6.4: Sơ đồ trạng thái Xe
THIẾT KẾ GIAO DIỆN
Đăng nhập
Hình 6.1.1: Màn hình đăng nhập
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbUsername TextBox Not null Tên đăng nhập tài khoản
2 txbPasswordTextBox TextBox Not null Mật khẩu
3 btnLogin Button Đăng nhập vào ứng dụng
4 lbReset_Password TextBlock Đặt lại mật khẩu
Bảng 6.1.1: Các thành phần "Màn hình đăng nhập"
STT Biến cố Xử lý
1 Nhấn nút Đăng nhập Kiểm tra điều kiện nhập và chuyển sang màn tiếp theo
Bảng 6.1.2: Danh sách biến cố "Màn hình đăng nhập"
Điều hướng
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txtbStaffName TextBlock Tên người đăng nhập
2 btnNhanVien Button Chuyển hướng sang màn hình quản lý nhân viên
3 btnChamCong Button Chuyển hướng sang màn hình chấm công
4 btnThe Button Chuyển hướng sang màn hình quản lý thẻ
5 btnXe Button Chuyển hướng sang màn hình tra cứu xe
6 btnGiaThuXe Button Chuyển hướng sang màn hình cập nhật giá xe
7 btnDoanhThu Button Chuyển hướng sang màn hình doanh thu
8 btnLogout Button Đăng xuất phiên làm việc
9 btnChangePassword Button Thay đổi mật khẩu
10 txtbStaffAccount TextBlock Hiển thị chức vụ người đăng nhập
Bảng 6.2.1: Các thành phần "Thanh điều hướng"
STT Biến cố Xử lý
1 Nhấn nút Nhân viên Thay đổi giao diện chính thành giao diện quản lý nhân viên
2 Nhấn nút Chấm công Thay đổi giao diện chính thành giao diện chấm công
3 Nhấn nút Thẻ Thay đổi giao diện chính thành giao diện quản lý thẻ
4 Nhấn nút Xe Thay đổi giao diện chính thành giao diện tra cứu xe
5 Nhấn nút Giá giữ xe Thay đổi giao diện chính thành giao diện cập nhật giá xe
6 Nhấn nút Doanh thu Thay đổi giao diện chính thành giao diện doanh thu
7 Nhấn nút Đăng xuất Thoát màn hình chính và hiển thị màn hình đăng nhập
8 Nhấn nút Thay đổi mật khẩu
Hiển thị màn hình thay đổi mật khẩu
Bảng 6.2.2: Danh sách biến cố "Thanh điều hướng"
Quản lý nhân viên
Hình 6.3.1: Màn hình quản lý nhân viên
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbSearch TextBox Nội dung tìm kiếm nhân viên
2 cbxItem ComboBox Tìm kiếm theo trường nào
3 cbxState ComboBox Lọc nhân viên theo tình trạng làm việc
4 btnAdd Button Thêm nhân viên
5 lvNhanVien ListView Hiển thị danh sách nhân viên
6 btnEdit Button Sửa nhân viên
7 btnDel Button Thôi việc nhân viên
Bảng 6.3.1: Các thành phần "Màn hình quản lý nhân viên"
STT Biến cố Xử lý
1 Thay đổi từ khóa tìm kiếm, trường tìm kiếm hoặc lọc tình trạng nhân viên
Lọc danh sách các nhân viên thỏa mãn với điều kiện tìm kiếm và cập nhật danh sách hiển thị
2 Nhấn nút Thêm Chuyển sang màn hình Thêm nhân viên
3 Chọn nhân viên trên danh sách và nhấn nút
Chuyển sang màn hình Sửa nhân viên
4 Chọn nhân viên trên danh sách và nhấn nút
Thay đổi trạng thái của nhân viên, cập nhật danh sách hiển thị
Bảng 6.3.2: Danh sách biến cố "Màn hình quản lý nhân viên"
Thêm nhân viên
Hình 6.4.1: Form thêm nhân viên
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbName TextBox Not null Họ tên nhân viên
3 cbxRole ComboBox Not null Chức vụ của nhân viên
4 txbPhoneNumb TextBox Số điện thoại của nhân viên
5 txbCivilID TextBox Not null Mã số định danh
(CMND, CCCD) của nhân viên
6 txbAddress TextBox Địa chỉ sinh sống
7 txbAccName TextBox Not null Tên đăng nhập
8 btnAdd Button Hủy thêm nhân viên
9 btnCancel Button Thêm nhân viên
Bảng 6.4.1: Các thành phần "Form thêm nhân viên"
STT Biến cố Xử lý
1 Nhấn nút Hủy Thoát màn hình thêm nhân viên và chuyển về màn hình chính
2 Nhấn nút Thêm Kiểm tra điều kiện nhập và thêm nhân viên vào hệ thống
Bảng 6.4.2: Danh sách biến cố "Form thêm nhân viên"
Sửa nhân viên
Hình 6.5.1: Form sửa nhân viên
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbName TextBox Not null Họ tên nhân viên
3 cbxRole ComboBox Not null Chức vụ của nhân viên
4 txbPhoneNumb TextBox Số điện thoại của nhân viên
5 txbCivilID TextBox Not null Mã số định danh
(CMND, CCCD) của nhân viên
6 txbAddress TextBox Địa chỉ sinh sống
7 btnAdjust Button Hủy sửa nhân viên
8 btbCancel Button Tiến hành sửa thông tin nhân viên
9 btnResetPwd Button Tiến hành đặt lại mật khẩu cho nhân viên
Bảng 6.5.1: Các thành phần "Form sửa nhân viên"
STT Biến cố Xử lý
1 Nhấn nút Hủy Thoát màn hình thêm nhân viên và chuyển về màn hình chính
2 Nhấn nút Sửa Kiểm tra điều kiện nhập và cập nhật nhân viên vào hệ thống
Bảng 6.5.2: Danh sách biến cố "Form sửa nhân viên"
Chấm công
Hình 6.6.1: Màn hình chấm công
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbStaffName TextBox Tìm kiếm nhân viên
2 dpStartDate DatePicker Chọn ngày bắt đầu
3 dpEndDate DatePicker Chọn ngày kết thúc
4 lvTimekeep ListView Danh sách lịch sử đăng nhập hệ thống
Bảng 6.6.1: Các thành phần "Màn hình chấm công"
STT Biến cố Xử lý
1 Thay đổi nội dung tìm kiếm nhân viên
Tìm kiếm lịch sử đăng nhập của nhân viên và cập nhật danh sách
2 Thay đổi lọc khoảng Lọc các lịch sử đăng nhập phù hợp trong khoảng thời gian bắt đầu và kết thúc thời gian và hiển thị danh sách
Bảng 6.6.2: Danh sách biến cố "Màn hình chấm công"
Quản lý thẻ
Hình 6.7.1: Màn hình quản lý thẻ
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbCardSearch TextBox Is numeric Tìm kiếm thẻ
2 cbxState ComboBox Lọc trạng thái của thẻ
4 ListThe ListView Danh sách thẻ trong hệ thống
Bảng 6.7.1: Các thành phần "Màn hình quản lý thẻ"
STT Biến cố Xử lý
1 Nhấn nút Thêm Chuyển sang màn hình Thêm thẻ
2 Thay đổi nội dung tìm kiếm thẻ
Tìm các thẻ có mã thẻ tương ứng và cập nhật danh sách
3 Thay đổi lọc trạng thái thẻ
Lọc các thẻ có trạng thái đã chọn và cập nhật danh sách
4 Chọn thẻ trong danh sách và nhấn nút Xóa
Hiển thị xác nhận xóa Nếu xác nhận thì xóa thẻ
Bảng 6.7.2: Danh sách biến cố "Màn hình quản lý thẻ"
Thêm thẻ
Hình 6.8.1: Cửa sổ thêm thẻ
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbCardID TextBox Is numeric Mã thẻ
3 txblCancel TextBlock Hủy thêm thẻ
Bảng 6.8.1: Các thành phần "Cửa sổ thêm thẻ"
STT Biến cố Xử lý
1 Nhập số có 10 chữ số vào mã thẻ
Kiểm tra thẻ và thêm thẻ vào cơ sở dữ liệu
2 Quét thẻ lên thiết bị đọc thẻ
Kiểm tra thẻ và thêm thẻ vào cơ sở dữ liệu
3 Nhấn nút Hủy nhập thẻ
Thoát màn hình Thêm thẻ và trở về màn hình trước đó
Bảng 6.8.2: Danh sách biến cố "Cửa sổ thêm thẻ"
Tra cứu xe
Hình 6.9.1: Màn hình tra cứu xe
STT Tên Kiểu Ràng buộc Ý nghĩa
4 tpTime materialDesign:TimePicker Thời gian
6 lvResult ListView Hiển thị danh sách tìm kiếm
Bảng 6.9.1: Các thành phần "Màn hình tra cứu xe"
STT Biến cố Xử lý
1 Nhấn nút tìm kiếm Tìm kiếm các xe vào bãi trong thời gian đã chọn và cập nhật danh sách tìm kiếm
Bảng 6.9.2: Danh sách biến cố "Màn hình tra cứu xe"
Cập nhật giá xe
Hình 6.10.1: Màn hình cập nhật giá xe
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbMotorbikeFee TextBox Is numeric Ngày
2 txbBikeFee TextBox Is numeric Tháng
3 txbCarFee TextBox Is numeric Năm
Bảng 6.10.1: Các thành phần "Màn hình cập nhật giá xe"
STT Biến cố Xử lý
1 Nhấn nút Lưu Kiểm tra định dạng và lưu cập nhật quy định
Bảng 6.10.2: Danh sách biến cố "Màn hình cập nhật giá xe"
Doanh thu
Hình 6.11.1: Màn hình doanh thu
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbYear TextBox Is numeric Lọc doanh thu theo năm
2 txbIncome TextBlock Doanh thu của năm đã được lọc
3 ccResult CartesianChart Biểu đồ doanh thu
Bảng 6.11.1: Các thành phần "Màn hình doanh thu"
STT Biến cố Xử lý
1 Thay đổi năm doanh thu
Kết xuất dữ liệu từ cơ sở dữ liệu, tính toán doanh thu và hiển thị lên biểu đồ
Bảng 6.11.2: Danh sách biến cố "Màn hình doanh thu"
Tiếp nhận/ Trả xe
Hình 6.12.1: Màn hình tiếp nhận/ trả xe
STT Tên Kiểu Ràng buộc Ý nghĩa
1 imgCarIn Image Hiển thị hình ảnh camera làn vào
2 imgCarInPlate Image Hiển thị hình ảnh chụp biển số xe làn vào
3 imgPlateNumbIn Image Hiển thị biển số xe đã được nhận diện
4 txblDateIn TextBlock Ngày vào bãi
5 txblTimeIn TextBlock Giờ vào bãi
6 txbCardIn TextBox Is numeric Mã thẻ
7 txblTypeIn TextBlock Loại xe làn vào
8 txblPriceTagIn TextBlock Giá giữ xe
9 imgPlateNumbOut Image Hiển thị biển số xe đã được nhận diện
10 imgCarOut Image Hiển thị hình ảnh camera làn ra
11 imgCarOutPlate Image Hiển thị hình ảnh chụp biển số xe làn ra
12 txblDateInCheckOut TextBlock Ngày vào bãi
13 txblTimeInCheckOut TextBlock Giờ vào bãi
14 txblDateOut TextBlock Ngày ra bãi
15 txblTimeOut TextBlock Giờ ra bãi
16 txbCardOut TextBox Is numeric Mã thẻ
17 txblTypeOut TextBlock Loại xe làn ra
18 txblPriceTagOut TextBlock Giá giữ xe
19 txblAmoutIn TextBlock Số lượng xe vào bãi trong ngày
20 txblAmountOut TextBlock Số lượng xe rời bãi trong ngày
21 txblAmountParked TextBlock Số xe còn trong bãi
23 txblChangePassword TextBlock Thay đổi mật khẩu
Bảng 6.12.1: Các thành phần "Màn hình tiếp nhận/ trả xe"
STT Biến cố Xử lý
1 Nhấn nút Đăng xuất Ghi lại lịch sử và trở về màn hình Đăng nhập
2 Nhập mã thẻ hoặc quét thẻ lên thiết bị đọc thẻ
Chụp biển số xe, kiểm tra trạng thái của thẻ trên hệ thống
3 Nhấn phím F1 Thay đổi loại xe vào để tính tiền giữ xe
4 Nhấn chữ “Thay đổi mật khẩu”
Chuyển sang màn hình thay đổi mật khẩu
Bảng 6.12.2: Danh sách biến cố "Màn hình tiếp nhận/ trả xe"
Thay đổi mật khẩu
Hình 6.13.1: Form thay đổi mật khẩu
STT Tên Kiểu Ràng buộc Ý nghĩa
1 txbCurrentPwd TextBox Not null Mật khẩu hiện tại
2 txbNewPwd TextBox Not null Mật khẩu mới
3 txbRePwd TextBox Not null Nhập lại mật khẩu mới
4 btnConfirm Button Xác nhận thay đổi
5 btnCancel Button Hủy thay đổi
Bảng 6.13.1: Các thành phần "Form thay đổi mật khẩu"
STT Biến cố Xử lý
Nhấn nút Xác nhận để kiểm tra mật khẩu hiện tại với cơ sở dữ liệu và xác nhận hai mật khẩu mới có giống nhau hay không Nếu tất cả điều kiện được thỏa mãn, mật khẩu sẽ được cập nhật cho người dùng Ngược lại, nếu không thỏa mãn, hệ thống sẽ hiển thị thông báo cho người dùng.
2 Nhấn nút hủy Thoát màn hình và trở về màn hình trước đó
Bảng 6.13.2: Danh sách biến cố "Form thay đổi mật khẩu”