Hình 2.8 Hình ảnh quan hệ thực thể PHIEUGOIHANG-LOAIHANGHOA
Hình 2.9 Hình quan hệ thực thể LOAIXE-XE
Hình 2.10 Hình quan hệ thực thể XE-SODOGHE
15
Mối quan hệ giữa thực thể DVVANTAI và thực thể XE là quan hệ
cha-con (1-n): mỗi đơn vị vẩn tải có một hoặc nhiều xe , một xe chỉ
thuộc 1 đơn vị vận tải.
2.4 Xây dựng mô hình và các bảng dữ liệu.
Hình 2.11 Hình quan hệ thực thể DVVT-XE
Hình 2.12 Hình ảnh mô hình quan hệ đủ bảng số
16
Thực thể địa điểm
Bảng 2.4.1 Bảng Địa Điểm
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã địa chỉ
Mã địa chỉ
Char(5)
Tên địa chỉ
Tên địa chỉ
Char(50)
Thực thể vé xe
Bảng 2.4.2 Bảng vé xe
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Id_vé
Id_vé
Char(10)
Ngày in
Ngày in
Smalldatetime
Ngày lên xe
Ngày lên xe
Smalldatetime
Giờ lên xe
Giờ lên xe
Smalldatetime
Qrcode
Qrcode
Char(50)
Biển số
Biển số
Char(10)
Mã lịch chạy
Mã lịch chạy
Integer
Mã khách hàng
Mã khách hàng
Char(10)
Thực thể xe
Bảng 2.4.3 Bảng xe
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Biển số
Biển số
Char(10)
Số chỗ
Số chỗ
Tinyint
Mã loại xe
Mã loại xe
Char(2)
Mã đơn vị
Mã đơn vị
Char(10)
17
Thực thể chuyến xe
Bảng 2.4.4 Bảng chuyến xe
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã chuyến
Mã chuyến
Char(3)
Tên chuyến
Tên chuyến
Char(50)
Giờ đi
Giờ đi
Smalldatetime
Giờ đến
Giờ đến
Smalldatetime
Thực thể loại hàng hóa
Bảng 2.4.5 Bảng hàng hóa
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã loại hàng hóa
Mã loại hàng hóa
Char(10)
Tên loại hàng hóa
Tên loại hàng hóa
Nvarchar(50)
Quy cách tính
Quy cách tính
Nvarchar(30)
Đơn giá
Đơn giá
bigint
Thực thể thông tin khách hàng
Bảng 2.4.6 Bảng khách hàng
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã khách hàng
Mã khách hàng
Char(10)
Tên khách hàng
Tên khách hàng
Nvarchar(50)
Số điện thoại
Số điện thoại
TinyInt
Tên đăng nhập
Tên đăng nhập
Char(50)
Pass
Pass
Char(50)
18
Thực thể lịch chạy
Bảng 2.4.7 Bảng lịch chạy
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã lịch chạy
Mã lịch chạy
Integer
Tên lịch chạy
Tên lịch chạy
Nvarchar(100)
Ngày tạo
Ngày tạo
Smalldatetime
Áp dụng từ ngày
Áp dụng từ ngày
Smalldatetime
Đến ngày
Đến ngày
smalldatetime
Thực thể phiểu gởi hàng
Bảng 2.4.8 Bảng phiểu gởi hàng
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Số phiếu gởi hàng
Số phiếu gởi hàng
Char(20)
Id_vé
Id_vé
Char(10)
Ngày lập phiếu
Ngày lập phiếu
Smalldatetime
Tổng tiền
Tổng tiền
Bigint
Thực thể lộ trình
Bảng 2.4.9 Bảng lộ trình
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã điểm đi
Mã điểm đi
Char(5)
Mã điểm đến
Mã điểm đến
Char(5)
Khoảng cách
Khoảng cách
Decimal(6,1)
19
Thực thể chi tiết loại xe
Bảng 2.4.10 Bảng chi tiết lộ trình
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã loại xe
Mã loại xe
Char(2)
Tên loại xe
Tên loại xe
Nvarchar(50)
Thực thể chi tiết sơ đồ ghế
Bảng 2.4.11 Bảng sơ đồ ghế
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã sơ đồ ghế
Mã sơ đồ ghế
Integer
Tên sơ đồ ghế
Tên sơ đồ ghế
Nvarchar(50)
Hình sơ đồ ghế
Hình sơ đồ ghế
Image
Biển số
Biển số
Char(10)
Thực thể chi tiết lộ trình
Bảng 2.4.12 Bảng chi tiết lộ trình
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã điểm đi
Mã điểm đi
Char(5)
Mã điểm đến
Mã điểm đến
Char(5)
Khoảng cách
Khoảng cách
Decimal(6,1)
Thực thể chi tiết đơn vị vẩn tải
Bảng 2.4.13 Bảng đơn vị vẩn tải
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã đơn vị
Mã đơn vị
Char(10)
Tên đơn vị
Tên đơn vị
Nvarchar(50)
20
Thực thể chi tiết ct_chuyen_lotrinh
Bảng 2.4.14 Bảng ct_chuyen_lotrinh
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Mã chuyến
Mã chuyến
Char(3)
Điểm đi
Điểm đến
Char(5)
Điểm đến
Điểm đến
Char(5)
Thực thể chi tiết gởi hàng
Bảng 2.4.15 Bảng chi tiết gởi hàng
Tên thuộc tính
Mô tả
Kiểu dữ liệu
Số phiếu gởi hàng
Số phiếu gởi hàng
Char(20)
Mã loại hàng hóa
Mã loại hàng hóa
Char(10)
Số lượng hàng hóa
Số lượng hàng hóa
TinyInt
Thành tiền
Thành tiền
Bigint
2.5 Vẽ mô hình user case
Hình 2.13Mô hình use Case
21
2.6 Mô hình ERD
Hình 2.14 Mô hình ERD
2.7 Mô hình ERD sang mô hình quan hệ
DIADIEM(MADD, TENDD)
CHUYEN(MACHUYEN, TENCHUYEN, GIODI, GIODEN, SOKM)
XE(BIENSO, SOCHO, MALX, MADV)
SODOGHE(MASDG, TENSDG, HINH_SDG, BIENSO)
LOAIHANGHOA(MALOAIHH, TENLOAIHH, QCTINH, DONGIA)
DVVANTAI(MADV, TENDV)
TTKHACHHANG(MAKH, TENKH, SDT)
LICHCHAY(MALC, TENLC, NGAYTAO, NGAYAPDUNG, DENNGAY)
VE(ID_VE, NGAYIN, NGAYLENXE, GIOLENXE, QRCODE, BIENSO,
MALC, MAKH)
PHIEUGOIHANG(SOPGH, NGAYLAPPHIEU, TONGTIEN, ID_VE)
LOTRINH(DIEMDI, DIEMDEN, KHOANGCACH)
22
CT_LO_TRINH(MACHUYE, DIEMDI, DIEMDEN)
CT_XE_LICHCHAY(BIENSO, MALC, MACHUYEN, TIENVE)
2.8 Xây dựng mô hình DFD
Hình 2.15Mô hình DFD
23
2.9 Các ràng buộc trong SQl
R1: Mỗi địa điểm phải có một mã riêng biệt không trùng với bất kỳ
địa đểm nào khác:
dd1
,
dd2
diadiem
, dd1 ≠ dd2 => dd1.madd ≠ dd2.mdd
Boicanh:diadiem
Bảng 2.9.1 Bảng ràng buộc địa điêm
Quan hệ
Thêm
Sửa
Xóa
diadiem
(+)madd
-(*)
+
R2: M
ỗi chuyến xe phải có một mã duy nhất để phân biệt vơi các
chuyến xe khác:
cx1, cx2
chuy
enxe
, cx1 ≠ cx2 => cx1.macx ≠ cx2.macx
Boicanh:chuyenxe
Bảng 2.9.2Bảng ràng buộc chuyến xe
Quan hệ
Thêm
Sửa
Xóa
chuyenxe
(+) macx
-(*)
+
R3: M
ỗi lịch chạy phải có một mã duy nhất để phân biệt với các lịch
chạy khác:
lc1, lc2
lichchay, lc1 ≠ lc2 => lc1.malc ≠ lc2.malc
Boicanh:lichchay
Bảng 2.9.3 Bảng ràng buộc lịch chạy
Quan hệ
Thêm
Sửa
Xóa
lichchay
(+) malc
-(*)
+
24
R4: M
ỗi xe phải có một biển số duy nhất để phân biệt vơi các xe
khác:
bs1, bs2
bienso, bs1 ≠ bs2 => bs1.mabs ≠ bs2.mabs
Boicanh :bienso
Bảng 2.9.4 Bảng ràng buộc biển số
Quan hệ
Thêm
Sửa
Xóa
bienso
(+) mabs
-(*)
+
R5: M
ỗi loại xe phải có một mã loại xe duy nhất để phân biệt với các
loại xe khác:
lx1, lx2
loaixe, lx1 ≠ lx2 => lx1.malx≠ lx2.malx
Boicanh :loaixe
Bảng 2.9.5 Bảng ràng buộc loại xe
Quan hệ
Thêm
Sửa
Xóa
loaixe
(+) malx
-(*)
+
R6: M
ỗi sơ đồ ghế phải có một mã sơ đồ ghế duy nhất để phân biệt
với các sơ đồ ghế khác:
sodoghe1, sodoghe2
sodoghe, sodoghe1 ≠ sodoghe2 =>
sodoghe1.masodoghe≠ sodoghe2.masodoghe
Boicanh :sodoghe
Bảng 2.9.6 Bảng ràng buộc sơ đồ ghế
Quan hệ
Thêm
Sửa
Xóa
sodoghe
(+) masodoghe
-(*)
+
25
R7: M
ỗi đơn vị vẩn tải phải có một mã duy nhất để phân biệt với các
đơn vị vẩn tải khác:
dvvt1, dvvt2
donvivantai, dv1 ≠ dv2 => dv1.madv≠ dv2.madv
Boicanh :donvivantai
Bảng 2.9.7 Bảng ràng buộc đơn vị vận tải
Quan hệ
Thêm
Sửa
Xóa
donvivantai
(+) madv
-(*)
+
R8: M
ỗi vé phải có một id duy nhất để phân biệt với các vé khác:
v
e
1,ve2
ve, ve1 ≠ ve2 => ve1.id_ve≠ ve2.id_ve
Boicanh :ve
Bảng 2.9.8 Bảng ràng buộc xe
Quan hệ
Thêm
Sửa
Xóa
Ve
(+) id_ve
-(*)
+
R9: M
ỗi khách hàng phải có một mã khách duy nhất để phân biệt với
các khách hàng khác:
kh1,kh2
khachang, kh1 ≠ kh2 => kh1.makh≠ kh2.makh
Boicanh :khachhang
Bảng 2.9.9 Bảng ràng buộc khách hàng
Quan hệ
Thêm
Sửa
Xóa
Khachhang
(+) makh
-(*)
+
26
R10: M
ỗi phiếu gửi hàng phải có một số phiếu gửi duy nhất để phân
biệt với phiếu gửi hàng khác:
phieugui1,phieugui2
phieuguihang, phieugui1 ≠ phieugui2 =>
phieugui1.sophieugui≠ phieugui2.sophieugui
Boicanh :phieuguihang
Bảng 2.9.10 Bảng ràng buộc phiếu gửi hàng
Quan hệ
Thêm
Sửa
Xóa
phieuguihang
(+)
sophieuguihang
-(*)
+
R11: M
ỗi loại hàng hóa phải có một mã loại duy nhất để phân biệt
với loại hàng hóa khác:
loaihang1,loaihang2
loaihanghoa, loaihang1 ≠ loaihang2 =>
loaihang1.maloaihh≠ loaihang2.maloaihh
Boicanh :loaihanghoa
Bảng 2.9.11 Bảng ràng buộc loại hàng hóa
Quan hệ
Thêm
Sửa
Xóa
loaihanghoa
(+) maloaihh
-(*)
+
27
2.10 Mô hình hóa yêu câu
Người dùng
2.10.1.1 Use tông quan người dùng
Hình 2.16 Use tổng quan người dùng
2.10.1.2 Tìm lộ trình
*Mô tả
-Mục đích: Thao tác với chức năng tìm lộ trình chuyến đi trên giao diện hệ thống.
-Tác nhân: Người dùng hệ thống (khách hàng).
-Mô tả chung: Người dùng (khách hàng,nhân viên hệ thống) khi muốn thao tác với chức năng
tìm chuyến đi của hệ thống khi biết được địa chỉ websites.
-Luồng sự kiện chính:
Bảng 2.10.1Bảng tìm lộ trình
Hành động của tác nhân
Phản ứng của hệ thống
1.Chọn giao diện trang chủ
2.Hiển thị form chọn chuyến đi
3.Chọn điểm đi,điểm đến,thời gian trên giao diện
trang chủ
4.Nhấn nút tìm chuyến đi
5.Kiểm tra nội dung nhập liệu:
-Nếu đúng : hiển thị ra kết quả các chuyến
đi.
-Nếu không đúng: Thông báo cho người
dùng chọn lại thông tin khác.
-Luồng sự kiện thay thế:Nếu chọn thiếu các thông tin điểm đi hoặc điểm đến hoặc thời gian thì
yêu cầu chọn lại.
-Các yêu cầu cụ thể:Xác định được điểm đi,điểm đến và thời gian.
-Điều kiện trước: Các dữ liệu form không bỏ trống.
28
-Điều kiện sau:Trả về kết quả khi đã thực hiện tìm chuyến đi.Nếu có thì trả về lộ trình các
xe,ngược lại nếu không thì thông báo cho người dùng không hỗ trợ chuyến đi đó.
2.10.1.3 Đặt vé
Hình 2.18 Hình tìm kiểm lộ trình
Hình 2.17 Hình ảnh Sequen Diagram tìm kiếm lộ trình
29
Hình 2.19 Hình ảnh đặt vé
30
*
Mô tả:
-Mục đích: Thao tác với chức năng đặt vé trên giao diện hệ thống.
-Tác nhân: Người dùng hệ thống (khách hàng).
-Mô tả chung: Người dùng (khách hàng,nhân viên hệ thống) khi muốn thao tác với
chức năng đặt vé của hệ thống khi biết được địa chỉ websites,khi muốn đặt vé xe theo
nhu cầu của mình.
-Luồng sự kiện chính:
Hình 2.20 Hình Sequence Diagram đặt vé
31
Bảng 2.10.2 Bảng Đặt vé
Hành động của tác nhân
Phản ứng của hệ thống
1.Chọn menu đặt vé
2.Hiển thị form chọn chuyến đi
3.Chọn điểm đi,điểm đến,thời gian trên
giao diện đặt vé
4.Nhấn nút tìm chuyến đi
5.Kiểm tra nội dung nhập liệu,nếu đúng
thì hiển thị ra kết quả các chuyển đi theo
nhu cầu,nếu không đúng thì yêu cầu
chọn lại.
6.Xem thông tin các chuyến đi ( giá
vé,giờ xuất bến,tên xe,…)
7.Chọn chuyến đi phù hợp,nhấn đặt vé
bên cạnh thông tin
8.Hiển thị form lấy thông tin khách hàng
để liên hệ
9. Nhập thông tin theo gợi ý,hướng dẫn
10.Nhấn gởi thông tin
11.Kiểm tra thông tin nhập liệu,nếu
đúng theo các yêu cầu thì xuất ra bảng
thông tin xác nhận với người dùng.Nếu
thông tin sai thì yêu cầu người dùng
nhập lại.
12.Xác nhận thông tin hiển thị có đúng
không
13.Nếu đúng nhấn xác nhận,nếu sai nhấn
sửa đổi hoặc hủy vé
14.Nếu xác nhận thì thực hiện lưu thông
tin đặt vé vào database,và chuyển qua
bộ phận chuyển phát,vận chuyển.Nếu
sửa đổi thì quay lại thông tin nhập
liệu.Nếu chọn hủy vé thì quay lại tìm
kiếm chuyến đi.
-Luồng sự kiện thay thế:Nếu nhập sai các thông tin yêu cầu thì hệ thống yêu cầu nhập
lại.
-Điều kiện trước: Các dữ liệu form không bỏ trống và đúng yêu cầu.
-Điều kiện sau:Trả về kết quả khi đã thực hiện chức năng đặt vé.Nếu vé đặt thành công
thì xuất ra thông tin vé đã đặt(bao gồm mã vé cho khách hàng dễ kiểm tra).Nếu vé đặt
không thành công thì báo cho người dùng biết để thực hiện lại theo lỗi đã báo.
32
2.10.1.4 Kiểm tra vé
Hình 2.21 Hình kiểm tra vé
Hình 2.22 Hình Sequen Diagram kiểm tra vé
33
*Mô tả:
-Mục đích: Thao tác với các chức năng kiểm tra vé xe trên giao diện hệ thống.
-Tác nhân: Người dùng hệ thống (khách hàng).
-Mô tả chung: Người dùng (khách hàng,nhân viên hệ thống) khi kiểm tra thông tin đặt
vé khi đã đặt vé thành công rồi.
-Luồng sự kiện chính:
Bảng 2.10.3 Bảng sự kiện kiểm tra vé
Hành động của tác nhân
Phản ứng của hệ thống
1.Chọn menu kiểm tra vé
2.Hiển thị form nhập vào mã vé
3.Nhập mã vé
4.Nhấn nút tìm vé
5.Kiểm tra mã vé:
-Nếu đúng : hiển thị ra kết quả thông tin
vé (bao gồm thông tin,trạng thái vé)
-Nếu không đúng thì yêu cầu nhập lại
mã vé.
6.Người dùng kiểm tra thông tin vé
7.Nếu đúng thì không thao tác,nếu sai
thông tin chọn hủy vé hoặc sửa vé
8.Nếu chọn hủy vé hệ thống xóa vé
này.Nếu chọn sửa vé,hệ thống chuyển
về trang sửa thông tin đặt vé.
9.Hiển thị form sửa thông tin vé
10.Nhập thông tin cần sửa đổi
11.Nhấn cập nhật thông tin
12.Kiểm tra thông tin sửa đổi có đúng
yêu cầu không,nếu đúng hệ thống lưu
xuống thông tin mới cập nhật và báo
cho người dùng là thành công.Nếu
thông tin nhập sai thì yêu cầu nhập lại.
-Luồng sự kiện thay thế:Nếu nhập sai các thông tin mã vé,form nhập liệu sai yêu
cầu,hệ thống sẽ thông báo lỗi và yêu cầu nhập lại.
-Các yêu cầu cụ thể:Nhớ mã vé đã đặt hoặc lấy mã vé từ email do hệ thông gởi lúc đặt
vé thành công.
-Điều kiện trước: Nhớ mã vé,các dữ liệu form không bỏ trống.
-Điều kiện sau:Thông báo cho người dùng từng thông điệp khi người dùng tương tác
với hệ thống
34
Người quản trị nhân viên
2.10.2.1
Use tổng quan quản trị , nhân viên
Hình 2.23 Hình use tổng quan quản trị, nhân viên
35
2.10.2.2
Quản lý ghi danh
2.10.2.3
Quản lý thông tin xe
2.10.2.4
Quản lý hãng xe
2.10.2.5
Quản lý tài xế
2.10.2.6
Quản lý phản hồi
2.10.2.7
Quản lý phương thức thanh toán
2.10.2.8
Quản lý chuyến đi
2.10.2.9
Quản lý lộ trình
2.10.2.10
Quản lý vé xe
2.10.2.11
Quản đặt xe
2.10.2.12
Quản lý phân quyền
Use Case bổ sung
2.10.3.1 Chức năng quản lý
Hình 2.24 Hình chức năng quản lý
*Mô tả:
-Mục đích: Cho nhà quản trị biết danh sách các từ các chức năng quản lý mà hệ thống
cung cấp.
-Tác nhân: Người quản lý(nhân viên,quản trị).
-Mô tả chung: Người dùng phải đăng nhập vào hệ thống với tài khoản admin. Thông
qua đó thực hiện các chức năng xem danh sách, tìm kiếm,lọc, thêm, sửa thông tin và
xóa từng đối tượng.
36
-Luồng sự kiện chính
:
Bảng 2.10.4 Bảng luồng sự kiện chính quản lý
Hành động của tác nhân
Phản ứng của hệ thống
1.Đăng nhập bằng tài khoản admin
2.Xác nhận thông tin đăng nhập
3. Chọn menu
4.Hiển thị danh sách các đối tượng hiện
có của hệ thống và các chức năng của
hệ thông ra màn hình qua các button và
icon.(Chức năng bao gồm : Tìm kiếm,
thêm, xóa, sửa thông tin, xóa toàn bộ
danh sách, khôi phục danh sách đã xóa,
in danh sách, export danh sách,lọc danh
sách.)
5.Người dùng chọn chức năng cần
thao tác và nhấn nút tương ứng
6.Hệ thống sẽ tương tác với người dùng
theo chức năng tương ứng ( xem phần
tiếp theo use-case bổ sung)
-Luồng sự kiện thay thế: Nếu đăng nhập sai tài khoản admin sẽ báo lỗi và yêu cầu
đăng nhập lại với số lần hạn chế.
-Điều kiện trước: Người dùng đã đăng nhập đúng bằng tài khoản admin.
-Điều kiện sau:Thông báo cho người dùng từng thông điệp khi người dùng tương tác
với từng chức năng của hệ thống.
2.10.3.2 Chức năng tìm kiếm
Hình 2.25Hình chức năng tìm kiếm
37
Hình 2.26 Hình Sequence Diagram tìm kiếm
38
2.10.3.3 Chức năng thêm
Hình 2.27 Activity Diagram thêm
39
Hình 2.29 Hình ảnh chức năng thêm
Hình 2.28 Sequence Diagram chức năng thêm
40
Chức năng xóa
Hình 2.31Activity Diagram chức năng xóa
Hình 2.30 Hình ảnh chức năng xóa
41
Chức năng cập nhật
Hình 2.33 Hình ảnh chức năng cập nhật
Hình 2.32 Activity Diagram chức năng cập nhật
42
Chức năng lọc dữ liệu
Hình 2.35 Hình chức năng lọc dữ liệu
Hình 2.34 Hình ảnh Activity Diagram lọc dữ liệu
43
Hình 2.36 HÌnh ảnh Sequence Diagram lọc dữ liệu
44
Chia sẻ với bạn bè của bạn: |