Giới thiệu bài toánXây dựng phần mềm hệ thống quản lý nhà ga c: thể để quản lý các hoạt động mua bán vé tàu, quản lý tàu, lên lịch di chuyển, quản lý tài khoản nhân viên, thống kê lượt v
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
Nhóm: 11
Hà Nội, 2024
Trang 2M:c l:c
I Giới thiệu bài toán 3
II Xác định yêu cầu 3
1 Tìm hiểu về miền ứng d:ng 3
2 Xác định mô hình kinh doanh 7
III Phân tích 11
1 Mô hình hóa chức năng 11
1.1.1 Kịch bản use case Quản lí A lên lịch di chuyển 11
1.2.1 Kịch bản use case nhân viên quản lý thống kế doanh thu 12
1.3.1 Kịch bản use case nhân viên bán vé cho khách hàng 13
1.4.1 Kịch bản use case nhân viên quản lí tàu 13
2 Mô hình hoá lớp thực thể 15
3.Sequence Diagram 16
4 Biểu đồ lớp thực thể: 19
V Kiểm thử hộp đen 20
1 Kiểm thử modul bán vé 20
2.Kiểm thử modul lên lịch di chuyển 22
3.Kiểm thử modul quản lí tàu 23
4.Kiểm thử modul thống kê doanh thu 25
Trang 3I Giới thiệu bài toán
Xây dựng phần mềm hệ thống quản lý nhà ga c: thể để quản lý các hoạt động mua bán vé tàu, quản lý tàu, lên lịch di chuyển, quản lý tài khoản nhân viên, thống kê lượt vé đã bán và thống kê doanh thu
II Xác định yêu cầu
1 Tìm hiểu về miền ứng dụng
Mô tả nghiệp v::
● Chức năng bán vé: Nhân viên thực hiện chọn nhà ga hoặc tên tàu, khung giờ, vị trí ghế trống theo yêu cầu của khách hàng và tiến hành in vé và hoá đơn Thông tin trên vé sẽ bao gồm: tên ga, ngày giờ di chuyển, tên tàu, số lượng vé, giá tiền cho mỗi vé và tổng số tiền của hoá đơn
● Đối với khách hàng : một khách hàng có thể mua vé cho nhiều khách hàng(cung cấp đủ thông tin và có CMND(thẻ căn cước)
○ Khách hàng có thể mua vé tại quầy, khách hàng sẽ giao tiếp với nhân viên bán vé
○ Khách hàng chỉ có thể đặt mua vé nếu thời điểm đó tàu còn trống ghế ngồi
○ Mỗi lần khách hàng mua vé nhân viên lễ tân sẽ thanh toán và in hóa đơn với đầy đủ thông tin : họ tên, ngày tháng năm mua vé, giá vé, loại
vé, tên tàu, nhà ga, mã ghế ngồi
● Chức năng quản lý tàu: Quản lý thực hiện thêm, sửa, xóa thông tin tàu
● Chức năng lên lịch di chuyển: Quản lý đăng nhập tài khoản và thực hiện lên lịch di chuyển từ danh sách tàu lần lượt các bước chọn tàu, chọn giờ di chuyển, chọn giá vé Hệ thống sẽ lưu kết quả vào CSDL
● Chức năng thống kê doanh thu: Nhân viên chọn thống kê doanh thu theo tàu,xác định thời gian bắt đầu và kết thúc thống kê Kết quả được tổng doanh thu được sắp xếp giảm dần Danh sách được in ra theo số chuyến tàu, số lượng vé bán ra, tổng tiền thu được
Ta có bảng thuật ngữ sau:
STT Tiếng việt Tiếng Anh Ngữ nghĩa
Trang 4Nhóm các thuật ngữ liên quan đến người
1 Nhân viên lễ
tân Receptionist Bán vé, hỗ trợ khách hàng
2 Nhân viên
quản lý Manager thống chuỗi nhà gaQuản lý nhân viên, cơ sở vật chất, hệ
4 Tạp v: Housekeeper Ph:c v: thức ăn, đồ uống
5 Nhân viên vệ
7 Nhân viên
quản trị hệ
thống
System administrator
Quản lý tài khoản người dùng
8 Nhân viên soát
vé Ticket collector Kiểm tra vé của khách hàng
9 Nhân viên
ph:c v: Servants hàng Bán đồ ăn vặt , nước uống cho khách
Trang 512 Thẻ thành viên Membership
card Thẻ sử d:ng cho khách quen
13 Hạng thẻ Card rank Thứ hạng thẻ của khách hàng
14 Số ID thẻ ID card number Số thẻ(mã thẻ) của khách hàng
15 Lịch di chuyển
theo tàu Train travel schedule Thời gian tàu chạy
17 Phiếu giảm giá Voucher Khuyến mại khách hàng có thể được
nhận
18 Tàu đang chạy Moving trains Các tàu hiện tại đang chạy
19 Tàu sắp chạy The train is
about to run
Các tàu sắp chạy trong thời gian tới
20 Thông báo Notifications Các thông báo cho khách hàng về tàu
sắp chạy
21 Thông tin tàu Train’s
information Thông tin chi tiết về tàu
24 Thời lượng di
chuyển
Time Thời lượng của chuyến đi
25 Loại vé Ticket type Vé tàu vip và thường
Trang 626 Số ghế trống Number of
empty seat Số ghế không có khách đặt trong tàu
27 Đăng xuất Log out Đăng xuất khỏi hệ thống
Nhóm các thuật ngữ liên quan đến cơ sở vật chất
chairs
Số ghế ngồi có trong một tàu
30 Nhà vệ sinh Toilet Nơi khách hàng và nhân viên đi vệ
sinh, làm các việc khác
Nhóm các thuật ngữ liên quan đến sản phẩm
2 Xác định mô hình kinh doanh
-Usecase bán vé
Trang 7Mô tả : Nhân viên bán vé cho khách hàng
Tác nhân : Nhân viên bán vé
Mô tả : Nhân viên bán vé cho khách hàng kèm UC chọn thông tin
-Use case quản lý tàu
Tác nhân : Nhân viên quản lí
Mô tả : Nhân viên quản chỉnh sửa tàu của nhà ga
Trang 8-Use case lên lịch di chuyển
Tác nhân : Nhân viên quản lí
Mô tả: Nhân viên quản lý lên lịch di chuyển cho 1 tàu
Trang 9-Use case thống kê
Tác nhân : Nhân viên quản lí
Mô tả : Quản lí được xem doanh thu của nhà ga
Trang 10-Use case đăng nhập
Tác nhân : Nhân viên
Mô tả: Nhân viên đăng nhập vào hệ thống
-Use case diagram
Trang 11III Phân tích
1 Mô hình hóa chức năng
1.1.1 Kịch bản use case Quản lí A lên lịch di chuyển
1 Nhân viên quản lý A muốn lên lịch di chuyển cho chuyến tàu “HàNội-Hải Phòng” vào nhà ga số 1 vào lúc 07h-09h với giá vé 150k, A truycập vào giao diện hệ thống quản lý chuỗi nhà ga
2 Giao diện đăng nhập hiện ra với một chỗ điền tên tài khoản, một chỗ điền mật khẩu và nút đăng nhập
3 Nhân viên A điền thông tin tài khoản và mật khẩu, A click vào nút đăng nhập
Trang 124 Giao diện quản lý hiện ra với menu hai chức năng là quản lý tàu, quản
lý lên lịch di chuyển
5 Nhân viên A click vào chức năng quản lý lên di chuyển
6 Giao diện quản lý lịch di chuyển hiện ra ba lựa chọn là thêm lịch di chuyển mới, sửa lịch di chuyển, xoá lịch di chuyển
7 Nhân viên A click vào thêm lịch di chuyển mới
8 Giao diện thêm lịch di chuyển mới hiện ra với hai ô để chọn là tên tàu,nhà ga, 3 ô nhập giờ bắt đầu, giờ kết thúc và giá vé, nút lưu lại và nút hủy bỏ
9 Nhân viên A click vào ô tên tàu
10 Hệ thống hiển thị ô “Tàu“ để lựa chọn
11 Nhân Viên A click vào chọn tàu, tiếp t:c click vào ô “ NhaGa”
12 Nhân viên A click vào Toa số, A tiếp t:c điền giờ bắt đầu là 07:00:00,giờ kết thúc là 09:00:00, giá vé là 150k, A click lưu
13 Hệ thống thông báo lên lịch di chuyển thành công
1.1.2 Ngoại lệ
1 Hệ thống thông báo người dùng nhập sai thông tin đăng nhập
2 Hệ thống thông báo người dùng nhập sai định dạng thời gian
3 Hệ thống thông báo lịch chiếu đã tồn tại
1.2.1 Kịch bản use case nhân viên quản lý thống kế doanh thu
1 Nhân viên quản lý A điền thông tin tài khoản và mật khẩu, click vào nútđăng nhập
2 Nhân viên A chọn menu thống kê theo tàu
3 Nhân viên A nhập thời gian bắt đầu và kết thúc
4 Hệ thống hiển thị danh sách tàu, mỗi dòng cho 1 tàu gồm :
Mã, tên tàu , tổng số lượng vé bán ra, tổng doanh thu thu được,
được sắp xếp theo giảm dần doanh thu,
5 Nhân viên A click vào mỗi lịch di chuyển của tàu thì hiện lên chi tiếttổng số tiền thu được trong từng chuyến của tàu mỗi lịch di chuyển tương
Trang 131.3.1 Kịch bản use case nhân viên bán vé cho khách hàng
1 Nhân viên đăng nhập vào hệ thống với tài khoản và mật khẩuđược cấp chọn menu bán vé
2 Hệ thống hiển thị danh sách các tàu từ lúc khách đến mua vé
3 Khách hàng lựa chọn tàu, khung giờ c: thể cần đi
4 Nhân viên click vào tàu
5 Hệ thống hiển thị giờ, tên tàu, số vé còn lại
6 Khách hàng lựa chọn ghế ngồi + tổng số vé muốn mua
7 Nhân viên bán vé nhập số lượng vé vào hệ thống
8 Nếu khách hàng có thẻ thành viên và muốn đổi điểm thì sẽ được đổi điểm thì sẽ được đổi số vé tối đa so với mức điểm hiện tại
9 Nhân viên xuất vé + hóa đơn bao gồm: tên tàu, nhà ga, số lượng vé, ghế ngồi và giá thành ( dựa theo số lượng vé)
1.3.2 Ngoại lệ
1 Khách hàng yêu cầu thay đổi số ghế
2 Khách hàng yêu cầu hủy vé hoàn tiền
1.4.1 Kịch bản use case nhân viên quản lí tàu
1 Nhân viên quản lí A click vào đăng nhập hệ thống quản lí tàu
2 Hệ thống hiển thị 4 button chức năng: Hiển thị tàu, Thêm
tàu,Cập nhật tàu, Xóa tàu
3
a, Luồng liệt kê tàu :
- Hệ thống hiển thị danh sách tàu
- Hệ thống liệt kê ds tất cả những tàu cùng với thông tin liên quan
- Nhân viên quản lý tàu xác nhận và tàu được liệt kê từ hệ
thống
b, Luồng thêm tàu:
1.Hệ thống yêu cầu nhân viên quản lý tàu nhập thông tin tàu
Trang 142.Hệ thống cung cấp cho nhân viên quản lý tàu mã của tàu mới vừa được thêm vào hệ thống.
3.Tàu mới được thêm vào hệ thống
c,Luồng cập nhật tàu
1.Hệ thống yêu cầu nhân viên quản lý tàu nhập mã tàu
2.Nhân viên quản lý tàu nhập mã tàu Hệ thống tìm và hiển thị thông tin tàutương ứng với mã tàu vừa nhập vào
3.Nhân viên quản lý tàu tạo một yêu cầu thay đổi thông tin tàu
4.Mỗi lần nhân viên quản lý tàu cập nhập thông tin cần thiết, hệ thống sẽ cập nhập tàu đó
5.Nhân viên quản lý tàu xác nhận lại yêu cầu
6.Tàu được cập nhật vào hệ thống
d, Luồng xóa tàu
1.Hệ thống yêu cầu nhân viên quản lý tàu nhập mã tàu cần xóa
2.Nhân viên quản lý tàu nhập mã tàu Hệ thống tìm và hiển thị thông tin tàutương ứng với mã tàu vừa nhập
3.Hệ thống nhắc nhân viên quản lý tàu xác nhân việc xóa tàu đó
4.Nhân viên xác nhận xóa tàu
5.Hệ thống xóa bỏ tất cả các thông tin dữ liệu của tàu đó trong hệ thống
1.4.2 Ngoại lệ
1 Xóa không thành công : Nếu trong luồng “Cập nhật
Trang 152 Không tìm thấy tàu : Nếu trong luồng “Xóa một Tàu”, Nhân viên quản lýtàu quyết định không xóa Tàu, lệnh xóa bị hủy và luồng chính được khởi động lại tại thời điểm bắt đầu.
2 Mô hình hoá lớp thực thể
Trích các lớp thực thể:
Hệ thống quản lý chuỗi nhà ga: Hệ thống cho phép nhân viên quản lý có thể quản lý thông tin tàu, quản lý nhà ga, quản lý lịch di chuyển và quản lý khách hàng Hệ thống cho phép nhân viên nhà ga bán vé tàu và các mặt hàngkèm theo cho khách hàng tại quầy và thống kê doanh thu, thống kê số vé theo ngày Khi thanh toán, hóa đơn sẽ được in ra cho khách hàng, bao gồm thông tin về vé tàu, các mặt hàng kèm theo…
Như vậy, ta có các danh từ và các phân tích như sau:
● Hệ thống : danh từ chung chung → loại
● Thông tin: danh từ chung chung → loại
● Quầy: không thuộc phạm vi xử lý phần mềm → loại
● Tàu: là đối tượng xử lý của hệ thống → là 1 lớp thực thể: Tàu
● Lịch di chuyển: là đối tượng xử lý của hệ thống → là 1 lớp thực thể Lichdichuyen
● Ghế ngồi: là đối tượng xử lý của hệ thống → là 1 lớp thực thể Ghengoi
● Nhân viên , quản lý → đề xuất lớp thực thể chung: Nhanvien
● Nhà ga: là đối tượng xử lý của hệ thống → là 1 lớp thực thể: Nhaga
● Khách hàng: là đối tượng xử lý của hệ thống → là 1 lớp thực thể:
Khachhang
● Vé: là đối tượng xử lý của hệ thống → là 1 lớp thực thể: Ve
● Hóa đơn: là đối tượng xử lý của hệ thống → là 1 lớp thực thể: Hoadon
● Các mặt hàng kèm theo: là đối tượng xử lý của hệ thống → là 1 lớp thực thể:Mathang
● Các thông tin thống kê: thống kê doanh thu → TKdoanhthu
⇒ Thu được các lớp thực thể ban đầu là: Nhanvien, Ve, Tau, Nhaga,
Lichdichuyen, Khachhang, Hoadon, Mathang và các lớp thực thể thống kê: TKdoanhthu
Thuộc tính các thực thể:
● Khachhang : tên, số điện thoại
Trang 16● Nhanvien: tên, tài khoản, mật khẩu, vị trí
● Nhaga: tên nhà ga, địa chỉ
● Ghengoi: kiểu ghế
● Tàu: tên
● Lichdichuyen: tên tàu, nhà ga, khung giờ, giá vé
● Ve: giá vé, ghế ngồi, lịch di chuyển
● Hoadon: thành tiền, ngày thanh toán, khách hàng, nhân viên bán
● Mathang: tên mặt hàng, giá thành, giảm giá
● TKdoanhthu: tổng tiền
Quan hệ giữa các lớp thực thể được xác định như sau:
● Một Ga có nhiều Tàu, một Tàu có thể nằm trong nhiều ga Vậy quan hệ giữa
● Một Nhaga có thể có nhiều Lichdichuyen, một Lichdichuyen chỉ có thể có
Trang 17● Chức năng lên lịch di chuyển:
QL chọn menu quản lý lịch di chuyển → chọn lên lịch di chuyển mới → giao diện lên lịch di chuyển hiện ra →Quản lý điền điểm đến, thời gian → Quản lý chọn tàu và sân ga trống → Ấn thêm lịch di chuyển
● Chức năng quản lí tàu:
QL chọn menu quản lý tàu → trang quản lý hiện ra → QL chọn chức năng sửa thông tin tàu → giao diện tìm tàu theo tên hiện ra → QL nhập tên tàu và click tìm kiếm → danh sách các tàu có tên chứa từ khóa hiện ra
→ QL chọn sửa một tàu → giao diện sửa tàu hiện ra với các thông tin của tàu đã chọn → QL nhập một số thông tin thay đổi và click cập nhật
Trang 18● Chức năng thống kê doanh thu:
Nhân viên đăng nhập → chọn menu thống kê → hiện thị trang thống kê → trang thống kê hiển thị danh sách tàu → chọn tàu cần thống kê → hiển thị ra doanh thu tàu đó trên 1 dòng gồm: Sochuyen, Soluongve, TongTienVe
● Chức năng đăng nhập
Trang 194 Biểu đồ lớp thực thể:
Trang 21Các bước thực hiện Kết quả mong đợi
Nhân viên đăng nhập vào hệ thống Đăng nhập thành công giao diện
Nhân viên chọn giờ, ghế ngồi, số
ghế muốn mua
Hệ thống thành công xuất và in vé.CSDL sau khi test:
tblVe ban đầu chưa có gì sẽ được thêm mới:
Trang 22tblHoaDon ban đầu chưa có gì sẽ được thêm mới:
ma ngày thanh toán thành tiền số lượng vé ma_vé
2.Kiểm thử modul lên lịch di chuyển
Các bước thực hiện Kết quả mong muốn
Nhân viên đăng nhập Thành công giao diện chính hiện ra.Nhân viên chọn chức năng lên lịch
di chuyển
Giao diện thêm lịch di chuyển hiện lên với 2 ô chọn tàu và ghế ngồi, 2 ônhập khung giờ và giá vé, 2 nút lưu
Nhấn vào ô chọn ghế ngồi Kết quả hiện lên danh sách ghế
ngồi
Trang 23là 150k, nhấn nút lưu chuyển thành công
3.Kiểm thử modul quản lí tàu
Kiểm thử sửa tàu có sẵn trong danh sách
Các bước thực hiện Kết quả mong muốn
Nhân viên quản lí đăng nhập Thành công giao diện chính hiện ra.Quản lí chọn chức năng quản lí tàu Giao diện quản lí tàu hiện ra gồm
các chức năng thêm, sửa, xoá tàu
Chọn tàu Hà Nội-Hải Phòng Bảng thuộc tính tàu hiện ra.Thay đổi thông tin tàu: nhà ga
Trang 24ma Tên Cơ trưởng Nhà ga
Kiểm thử thêm tàu mới vào danh sách tàu:
Các bước thực hiện Kết quả mong muốn
Nhân viên quản lí đăng nhập Thành công giao diện chính hiện ra.Quản lí chọn chức năng quản lí tàu Giao diện quản lí tàu hiện ra gồm
các chức năng thêm, sửa, xoá tàu.Chọn thêm tàu Hiển thị các trường thuộc tính cần
nhập
Nhập thuộc tính tàu cần thêm
CSDL sau khi test:
Trang 25Kiểm thử xoá tàu khỏi danh sách
Các bước thực hiện Kết quả mong muốn
Nhân viên quản lí đăng nhập Thành công giao diện chính hiện ra.Quản lí chọn chức năng quản lí tàu Giao diện quản lí tàu hiện ra gồm
các chức năng thêm, sửa, xoá tàu
Chọn Tàu 4 muốn xoá
nhấn xác nhận
Cập nhật thành công
CSDL sau khi test:
4.Kiểm thử modul thống kê doanh thu
Các bước thực hiện Kết quả mong muốn
Nhân viên quản lí đăng nhập Thành công giao diện chính hiện ra.Quản lí chọn chức năng thống kê
Trang 26Chọn thời gian bắt đầu và kết thúc
để thống kê Thành công hiển thị doanh thu theo tàu c: thể gồm: Mã, tên tàu , tổng số
lượng vé bán ra, tổng doanh thu thu được