Hệ thống bán vé tàu trực tuyến
Bài tập lớn lần 1 + lần 2 : Thiết kế hướng đối tượng
Hệ thống bán vé tàu trực tuyến
Nhóm 3: Lớp KSTN – ĐTVT – K54
Vũ Công Lực
Nguyễn Trung Quân
Nguyễn Hoàng Ân
Nguyễn Đình Quý
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 1
Hệ thống bán vé tàu trực tuyến
Contents
1. Xây dựng tài liệu yêu cầu hệ thống
a. Chủ nhiệm dự án ( project sponsor ) : Nhóm 3
b. Nhu cầu kinh doanh ( business need ) :
• Xuất phát từ bên bán : muốn bán vé tàu tự động,không cần nhân viên
trực phòng vé,tránh được hiện tượng quá tải,update thông tin nhanh
chóng.
• Xuất phát từ khách hàng : Muốn mua vé ở mọi lúc,mọi nơi,không bị
chen lấn,xếp hàng,thanh toán đơn giản,nhanh gọn. Đảm bảo sự chính
xác của vé mình mua.
c. Yêu cầu kinh doanh ( business requirements )
• Hệ thống bán vé tàu online ra đời nhằm giải quyết các vấn đề trên.
Hệ thống sẽ giúp khách hàng đặt vé tàu qua mạng trực tuyến,thanh
toán qua tài khoản cá nhân.
• Để phục vụ mục đích đó thì hệ thống phải có các chức năng sau :
chức năng đặt vé,chức năng thanh toán,chức năng tra cứu về chuyến
tàu,giờ tàu chạy,chức năng quản lý thông tin khách hàng….
d. Các giá trị kinh doanh ( business values ):
• Giá trị hữu hình : Giảm chi phí đi lại cho khách hàng,không cần
nhân viên trực phòng vé
• Giá trị vô hình : giúp tiết kiệm thời gian,cải thiện được chất lượng
• Profile người dùng
• Lịch sử đặt vé tàu
• Báo cáo số lượng khách hàng đặt vé
• Hướng dẫn người dùng
• Thông báo, tin tức về các chuyến tàu
c. Các truy vấn ngoại vi
Tra cứu chuyến tàu
Tra cứu giá vé
Tra cứu sơ đồ đoàn tàu
Tra cứu thông tin đại lý
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 3
Hệ thống bán vé tàu trực tuyến
Tra cứu thông tin ga tàu
Tra cứu thông tin khuyễn mại
d. Các File logic nội bộ
• File thông tin chuyến tàu
• File sơ đồ đoàn tàu
• File thông tin đại lý
• File thông tin ga tàu
• File lưu trữ đặt vé
• File thông tin người dùng
• File thống kê truy nhập
• File thông báo, tin tức, khuyến mãi
e. Các giao diện ngoại vi
• Giao tiếp khách hàng
• Giao tiếp đại lý
• Giao tiếp với các ga tàu
• Giao tiếp với hệ thống quản lý
Description
Complexity
Total Adjusted Function Points (TAFP) = 0,87 x 235 = 205
• Tính số dòng lệnh:
Lập trình html : Số dòng lệnh = 15 x 205 = 3075 (dòng)
• Ước lượng nhân lực:
Effort = 1.4 x 3,075 = 4,305 person-months.
• Ước lượng thời gian thực hiện dự án:
Schedule Time = 3.0 x 4,305
1/3
= 5 tháng.
4. Xây dựng kế hoạch phát triển hệ thống với biểu đồ Gant
Task Name Duration Start Finish
xây dựng module tra cứu/tìm
kiếm
33 days Sun 20/01/13 Tue 05/03/13
tìm hiểu và phân tích yêu cầu 6 days Sun 20/01/13 Fri 25/01/13
Tính toán yêu cầu 3 days Sat 26/01/13 Tue 29/01/13
Xác định danh sách các thuộc
tính
4 days Wed 30/01/13 Mon 04/02/13
Lập cơ sở dữ liệu 12 days Tue 05/02/13 Wed 20/02/13
Lập trình 9 days Thu 21/02/13 Tue 05/03/13
Xây dựng module đặt vé 26 days Wed 06/03/13 Wed 10/04/13
Tìm hiểu và phân tích yêu cầu 4 days Wed 06/03/13 Mon 11/03/13
Tính toán yêu cầu 4 days Tue 12/03/13 Fri 15/03/13
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 5
Hệ thống bán vé tàu trực tuyến
Xác định danh sách các thuộc
tính
4 days Sat 16/03/13 Wed 20/03/13
Lập cơ sở dữ liệu 7 days Thu 21/03/13 Fri 29/03/13
Hệ thống bán vé tàu trực tuyến
Nhóm đã xây dựng yêu cầu hệ thống mới có các chức năng sau:
Chức năng 1: Tra cứu chuyến tàu
Chức năng này cho phép người dùng tra cứu các thông tin liên quan tới các
chuyến tàu bao gồm:
• Ga xuất phát
• Ga đến
• Thời gian tàu đi
• Thời gian tàu đến
• Thời gian di chuyển (ngồi trên tàu)
Chức năng 2 : Tra cứu giá vé:
Chức năng này cho phép người dùng tra cứu các thông tin về giá vé, khách hàng
chỉ cần nhập các thông tin sau:
• Mã tàu
• Ga đi
• Ga đến
• Thời gian đi
• Loại chỗ
Phần mềm sẽ trả lại kết quả bảng giá vé tương ứng cho người dùng.
Chức năng 3 : Tra cứu sơ đồ đoàn tàu
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 9
Hệ thống bán vé tàu trực tuyến
Chức năng này cho phép người dùng tra cứu về hành trình và lí lịch của một đoàn
tàu. Người dùng nhập các thông tin về:
• Mã tàu
• Ngày đi
Phần mềm sẽ trả về kết quả là các tuyến tàu di chuyển, ga trên bản đồ.
Chức năng 4 : Tra cứu đại lý
Chức năng này cho phép người dùng tra cứu các thông tin về đại lý bán vé, thanh
toán vé. Trong trường hợp người dùng không có tài khoản thanh toán trực tuyến
toán hoặc đăng nhập hệ thống.
6. Xây dựng biểu đồ hoạt động
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 10
Hệ thống bán vé tàu trực tuyến
• Bước 1 : Xác định phạm vi và bối cảnh của hệ thống
- Hiện nay, với sự phát triển rộng rãi của internet, mọi người đều có xu hướng mong
muốn đặt mua vé tàu trực tuyến để tiết kiệm thời gian và không phải đi lại. Nhằm
tối đa hóa việc tự động mua vé tàu, phần mềm “bán vé tàu trực tuyến” giúp khách
hàng có thể tra cứu, tìm kiếm các thông tin cần thiết và tự động đặt mua vé.
- Phạm vi dự án: Phần mềm có chức năng từ tìm kiếm, tra cứu các thông tin tới đặt
mua vé và thanh toán để hoàn tất một quá trình đặt mua vé.
• Bước 2 : Xác định các hoạt động các luồng điều khiển và dòng dữ liệu :
- Phần mềm có 10 chức năng chính :
o Tra cứu chuyến tàu
o Tra cứu giá vé
o Tra cứu sơ đồ đoàn tàu
o Tra cứu đại lý
o Tra cứu ga tàu.
o Đặt mua vé
o Thay đổi đặt mua vé
o Thanh Toán trực tuyến
o Tìm kiếm thông tin khuyễn mại
o Đăng ký/ đăng nhập
- Phần mềm chỉ tương tác với người dùng nên đối tượng điều khiển luồng hoạt động
ở đây là người dùng.
- Các dòng dữ liệu chính bao gồm : Tra cứu chuyến tàu, đặt mua vé, thay đổi đặt
mua vé, tra cứu giá vé, tra cứu bản đồ tàu, tra cứu đại lý, tra cứu ga tàu, tìm kiếm
thông tin KM.
• Bước 3 : Xác định tất cả các quyết định trong tiến trình được mô hình hóa :
- Các chức năng : Đặt mua vé, thay đổi đặt mua vé, thanh toán trực tuyến yêu cầu
7.2. Lựa chọn 4 CSD quan trọng, xây dựng bản mô tả CSD.
Case sử dụng : Tra cứu chuyến tàu
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 12
Hệ thống bán vé tàu trực tuyến
Use case name : Tra cứu chuyến tàu ID: 1 Important level : High
Primary actor : Khách hàng Use case type : Chi tiết, cần thiết
Stakeholders and interests :
- Khách hàng: có thể tra cứu các thông tin về các chuyến tàu bao gồm: ga đến, ga
đi, thời gian đi, thời gian đến, thời gian di chuyển.
Brief Description : case sử dụng này giúp khách hàng tìm kiếm thông tin về chuyến tàu
phù hợp với mình nhất.
Relationships :
Association :
Include :
Extend :
Generalization :
Normal Flow of Events:
1. Khách hàng chọn chức năng tra cứu chuyến tàu
2. Hệ thống hiển thị bảng tra cứu chuyến tàu
3. Khách hàng nhập thông tin trên bảng tra cứu bao gồm : Ga đi, ga đến, ngày đi.
4. Sau khi nhập đủ thông tin thì click vào tra cứu.
5. Hệ thống tra cứu trả lại kết quả thông tin chuyến tàu bao gồm:
- Mã tàu
- Thời gian di chuyển
- Hành trình tàu : ga đi, ga trung gian, ga đến.
- Thời gian : thời gian đi, thời gian đến ga trung gian, thời gian đến bến cuối.
Case sử dụng : Đặt mua vé
Use case name : Đặt mua vé ID: 2 Important level : High
Primary actor : Khách hàng Use case type : Chi tiết, cần thiết
Stakeholders and interests :
Stakeholders and interests :
Khách hàng: có thể thay đổi và hủy bỏ đặt mua vé đã đặt từ trước.
Brief Description: case sử dụng này giúp khách hàng hủy bỏ đặt mua vé đã đặt từ trước
và khi vé chưa thanh toán hoặc xuất vé.
Relationships :
Association :
Include : Đăng nhập
Extend :
Generalization :
Normal Flow of Events:
1. Khách hàng chọn chức năng thay đổi đặt mua vé.
2. Hệ thống hiển thị bảng tìm kiếm
3. Khách hàng nhập thông tin lên bảng tìm kiếm bao gồm : ngày đặt vé, đến ngày
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 14
Hệ thống bán vé tàu trực tuyến
4. Hệ thống tìm kiếm và trả về bảng thông tin phiếu đặt vé bao gồm: Mã vé, ngày đặt
vé, hình thức thanh toán, mã chỗ, số tiền.
5. Khách hàng click vào nút bỏ
Case sử dụng: Tra cứu ga tàu
Use case name : Tra cứu ga tàu ID: 4 Important level : High
Primary actor : Khách hàng Use case type : Chi tiết, cần thiết
Stakeholders and interests :
- Khách hàng: có thể tra cứu các thông tin về ga tàu bao gồm: Mã ga
Tên ga
Địa chỉ ga
Dung lượng chứa
Số điện thoại ga.
Brief Description : case sử dụng này giúp khách hàng tìm kiếm thông tin về ga tàu phù
hợp với mình nhất.
Relationships :
2. Hệ thống hiển thị bảng tra cứu chuyến tàu
3. Khách hàng nhập thông tin trên bảng tra cứu chuyến tàu bao gồm : Ga đi, ga đến,
ngày đi.
4. Sau khi nhập đủ thông tin thì click vào tra cứu.
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 16
Hệ thống bán vé tàu trực tuyến
5. Hệ thống tra cứu trả lại kết quả thông tin danh sách chuyến tàu bao gồm:
- Mã tàu
- Thời gian di chuyển
- Hành trình tàu: ga đi, ga trung gian, ga đến.
- Thời gian: thời gian đi, thời gian đến ga trung gian, thời gian đến bến cuối.
Từ bảng trên và dựa vào kinh nghiệm ta liệt kê được các lớp sau:
• Khách hàng
• Chuyến tàu
• Danh sách chuyến
• Tra cứu chuyến
• Đoàn tàu
• Ga tàu
Ca sử dụng: Đặt mua vé
Normal Flow of Events:
1. Khách hàng chọn chức năng đặt mua vé.
2. Hệ thống hiển thị bảng tra cứu chuyến tàu.
3. Khách hàng nhập thông tin trên bảng tra cứu chuyến tàu bao gồm: Ga đi, ga đến,
ngày đi, ngày về (vé khứ hồi), mã tàu (nếu biết).
4. Khách hàng sau khi nhập đủ thông tin thì click vào tra cứu.
5. Hệ thống sẽ tìm kiếm và trả lại kết quả thông tin danh sách chuyến tàu bao gồm:
- Mã tàu, ga đi, ngày đi, giờ đi, ga đến, giờ đến.
- Loại chỗ ngồi: ghế cứng, ghế điều hóa.
- Số chỗ trống : theo mác tàu và loại chỗ
- Số chỗ đã đặt.
• Danh sách vé
• Chỗ ngồi
Ca sử dụng : Tra cứu ga
Normal Flow of Events:
1. Khách hàng chọn chức năng tra cứu ga tàu.
2. Hệ thống hiển thị bảng tra cứu ga tàu
3. Khách hàng nhập thông tin trên bảng tra cứu ga bao gồm : Địa chỉ
4. Sau khi nhập đủ thông tin thì click vào tra cứu.
5. Hệ thống tra cứu trả lại kết quả thông tin danh sách ga tàu bao gồm:
- Tên ga.
- Địa chỉ ga.
- Số điện thoại ga.
Từ bảng trên và dựa vào kinh nghiệm ta liệt kê được các lớp sau:
• Khách hàng
• Ga tàu
• Danh sách ga
• Tra cứu ga
8.2. Chọn 2 lớp cho 1 CSD, xây dựng thẻ CRC.
Lớp khách hàng
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 18
Hệ thống bán vé tàu trực tuyến
Class Name : Khách hàng ID : 1 Type : cụ thể
Description: Là người sử dụng hệ thống để tìm kiếm, tra
cứu và đặt mua vé tàu trực tuyến.
Associated Use Case:
Responsibilities
- Thay đổi thông tin
Collaborators
- Đặt chỗ - Đơn đặt hàng
- Chọn chỗ - Danh sách đặt chỗ
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 19
Hệ thống bán vé tàu trực tuyến
- Ga trung gian
- Ga đến
- Thời gian đi
- Thời gian đến ga trung gian
- Thời gian đến ga cuối
- Thời gian di chuyển
Relationship:
- Generalization ( a- kind –of):
- Aggregation (has-parts) : Ga tàu
- Other Associations :
Danh sách chuyến:
Class Name : Danh sách
chuyến tàu
ID : 3 Type : cụ thể, chi tiết
Description: Biểu diễn thông tin về các chuyến tàu sẽ hoạt
động trong một thời gian nào đó.
Associated Use Case:
Responsibilities
- Tạo danh sách chuyến
Collaborators
- Tra cứu chuyến
Attributes
Relationship:
- Generalization ( a- kind –of):
- Aggregation (has-parts) : Chuyến tàu
- Other Associations :
Lớp đoàn tàu
Class Name : đoàn tàu ID : 4 Type : cụ thể
- Tên ga
- Địa chỉ ga
- Dung lượng chứa
- Số điện thoại ga.
Relationship:
- Generalization ( a- kind –of):
- Aggregation (has-parts) : Chuyến tàu
- Other Associations :
Lớp chỗ ngồi
Class Name : chỗ ngồi ID : 6 Type : cụ thể
Description: cho biết thông tin chi tiết về vị trí và loại chỗ
ngồi.
Associated Use Case:
Responsibilities
- Cập nhật chỗ
- Thay đổi thông tin chỗ
- Thống kê tình trạng ghế.
Collaborators
Attributes
- Mã chỗ
- Mã tàu
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 21
Hệ thống bán vé tàu trực tuyến
- Vị trí toa
- Loại ghế
- Tình trạng ghế
Relationship:
- Generalization ( a- kind –of):
- Aggregation (has-parts) : Đoàn tàu
- Other Associations : vé tàu
8.3. Xây dựng biểu đồ lớp cho 4 CSD.
Ca sử dụng : Tra cứu chuyến tàu
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 23
Hệ thống bán vé tàu trực tuyến
Ca sử dụng : Đặt mua vé
Ca sử dụng thay đổi đặt mua vé
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 24
Hệ thống bán vé tàu trực tuyến
Ca sử dụng : Tra cứu ga tàu
Nhóm 3 : Lớp KSTN – Điện tử viễn thông – K54Page 25