Bài tập lớn môn Thiết kế hướng đối tượng Hệ thống bán vé tàu trực tuyến 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.
Trang 1Bà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ý
Trang 21 Xây dựng tài liệu yêu cầu hệ thống 3
2 Phân tích tính khả thi 3
3 Xác định kích thước hệ thống theo phương pháp điểm chức năng 4
4 Xây dựng kế hoạch phát triển hệ thống với biểu đồ Gant 6
5 Xây dựng tài liệu yêu cầu hệ thống 7
5.1 Phương pháp thu thập tài liệu 7
5.2 Phương pháp quan sát từ các hệ thống hiện tại 8
6 Xây dựng biểu đồ hoạt động 12
7 Xây dựng biều đồ ca sử dụng 13
7.1 Liệt kê danh sách Case sử dụng 13
7.2 Lựa chọn 4 CSD quan trọng, xây dựng bản mô tả CSD 14
7.3 Xây dựng bảng quan hệ và biểu đồ CSD 17
8 Xây dựng biểu đồ lớp cho 4 CSD đã lựa chọn 18
8.1 Với mỗi CSD liệt kê danh sách lớp 18
8.2 Chọn 2 lớp cho 1 CSD, xây dựng thẻ CRC 20
8.3 Xây dựng biểu đồ lớp cho 4 CSD 26
9 Xây dựng biểu đồ tuần tự và giao tiếp cho 4 CSD 30
9.1 Biểu đồ tuần tự cho 4 ca sử dụng 30
9.2 Biểu đồ giao tiếp cho 4 case sử dụng 33
10. Xây dựng biểu đồ trạng thái 35
10.1. Biểu đồ trạng thái của đơn đặt hàng 35
10.2 Biểu đồ trạng thái của chỗ ngồi 35
11 Xây dựng biểu đồ gói 36
Trang 31 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êntrực phòng vé,tránh được hiện tượng quá tải,update thông tin nhanhchó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ínhxá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,thanhtoá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ếntà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ầnnhâ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ượngdịch vụ
2 Phân tích tính khả thi
a Khả thi về kỹ thuật
Đây là một ứng dụng rất thực tế và đã khá phổ biến hiện nay,do đónhóm có thể tiếp cận và tham khảo thông tin từ các trang web đãđược xây dựng
Các thành viên đã được trang bị các kiến thức về các môn : Ngônngữ lập trình, kỹ thuật phần mềm ứng dụng, phân tích và thiết kếhướng đối tượng… nên có đủ khả năng để xây dựng được hệ thống
Kích thước của dự án :
+ số lượng người tham gia : 4 người
+ thời gian : 1 kì học ( 15 tuần )
+ độ phức tạp của hệ thống : không quá phức tạp
Trang 4b Khả thi về kinh tế
Chi phí phát triển hệ thống thấp,chỉ mất chi phí về host,doman và chiphí bảo trì hệ thống
Lợi nhuận thu được từ hệ thống là cao
3 Xác định kích thước hệ thống theo phương pháp điểm chức năng
Tính toán số điểm chức năng:
Liệt kê các thành phần cơ bản của chương trình:
a Các đầu vào ngoại vi
Thông tin người dùng
Thông tin giờ tàu
Thông tin sơ đồ đoàn tàu
Thông tin đặt vé tàu
Thông tin đại lý
Thông tin khuyến mãi
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ý
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ý
Trang 5 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
Trang 6Operational easy (Hoạt động dễ dàng) 2
Adjusted Processing Complexity (ADC) = 0,65 + ( 0,01 x 22 ) = 0,87 Total Adjusted Function Points (TAFP) = 0,87 x 235 = 205
4 Xây dựng kế hoạch phát triển hệ thống với biểu đồ Gant
xây dựng module tra cứu/tìm
tìm hiểu và phân tích yêu cầu 6 days Sun 20/01/13 Fri 25/01/13
Xác định danh sách các thuộc
Tìm hiểu và phân tích yêu cầu 4 days Wed 06/03/13 Mon 11/03/13
Xác định danh sách các thuộc
Trang 7Xây dựng module quản lý
Tìm hiểu và phân tích yêu cầu 3 days Thu 11/04/13 Mon 15/04/13
Xác định danh sách các thuộc
Xây dựng module trang
5 Xây dựng tài liệu yêu cầu hệ thống
Trang 85.2 Phương pháp quan sát từ các hệ thống hiện tại
Sử dụng phương pháp quan sát từ các hệ thống hiện tại như:
Hệ thống bán vé tàu của công ty vận tải hành khách đường sắt Sài Gòn:
http://www.vetau.com.vn
Trang 9 Hệ thống bán vé tàu Europe
http://www.raileurope-asean.com
Hệ thống bán vé tàu qua SMS
http://www.vesms.vn
Trang 10Nhó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ếntà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àngchỉ cần nhập các thông tin sau:
Trang 11 Chức năng 3 : Tra cứu sơ đồ đoàn tàu
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àntà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é, thanhtoán vé Trong trường hợp người dùng không có tài khoản thanh toán trực tuyếnhoặc không muốn thanh toán trực tuyến thì có thể tra cứu các thông tin về đại lýbán vé trong khu vực của mình để đến đặt mua vé hoặc thanh toán Người dùngnhập thông tin tra cứu về:
Thành phố/tỉnh
Phần mềm sẽ trả về các đại lý trong khu vực đó
Chức năng 5 : Tra cứu ga tàu
Chức năng này cho phép người dùng tra cứu các thông tin về ga tàu Phần mềmcung cấp 1 bảng danh sách thông tin các ga tàu bao gồm: tên ga, địa chỉ, số điệnthoại cho người dùng tra cứu và liên lạc
Chức năng 6 : Đặt mua vé
Chức năng này cho phép người dùng tự động đặt mua vé Khách hàng đăng nhậpvào hệ thống và đặt mua vé sau khi đã tra cứu và chọn chuyến tàu phù hợp vớimình
Chức năng 7 : Thay đổi đặt mua vé
Chức năng này cho phép người dùng đăng nhập và thay đổi các trạng thái sau khi
đã đặt vé như : Hủy mua vé hoặc thay đổi chuyến tàu
Chức năng 8 : Thanh Toán trực tuyến:
Chức năng này cho phép người dùng thanh toán tiền vé trực tuyến qua thẻ ngânhàng như ViettinBank, VietcomBank, Paypal, VISA
Khách hàng cần đăng nhập vào hệ thống và điền các thông tin sau để thanh toán:
Trang 12Chức năng này cho phép người dùng tìm kiếm các thông tin khuyễn mại như :giảm giá, chương trình khuyễn mại đặc biệt.
Chức năng 10: Đăng ký/ đăng nhập
Chức năng này cho phép người dùng đăng ký thành viên mới để đặt vé và thanhtoán hoặc đăng nhập hệ thống
6 Xây dựng biểu đồ hoạt động
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 mongmuố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ằmtố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áchhà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 đặtmua 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
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ầungười dùng phải đăng nhập vào hệ thống Các chức năng còn lại thì người dùngkhông cần đăng nhập
Trang 13 Bước 4 : Xác định các hoạt động thực hiện song song với nhau
Các chức năng : tra cứu bao gồm :
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ìm kiếm thông tin KM
sẽ thực hiện song song với nhau.Vì các hoạt động này không cần thực hiện tuần tự, tùythuộc vào mục đích của người dùng
Chức năng : Đặt mua vé và thay đổi đặt mua vé
Bước 5 : Vẽ biểu đồ hoạt động :
7 Xây dựng biều đồ ca sử dụng
Dựa trên chức năng yêu cầu nhóm đưa ra các case sử dụng của hệ thống bao gồm:
Tra cứu chuyến tàu
Tra cứu giá vé
Trang 14 Tra cứu sơ đồ đoàn tàu
Tra cứu đại lý
Tra cứu ga tàu
Đặt mua vé
Thay đổi đặt mua vé
Thanh toán trực tuyến:
Tìm kiếm thông tin khuyễn mại
Đăng ký
Đăng nhập
Use case name : Tra cứu chuyến tàu ID: 1 Important level : HighPrimary 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àuphù hợp với mình nhất
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
Trang 15 Case sử dụng : Đặt mua vé
Use case name : Đặt mua vé ID: 2 Important level : HighPrimary actor : Khách hàng Use case type : Chi tiết, cần thiết
Stakeholders and interests :
Khách hàng: có thể đặt mua vé khi đã tìm hiểu và chọn từ kết quả sau khi tra cứu.Brief Description : case sử dụng này giúp khách hàng đặt mua vé phù hợp với mình trênwebsite
2 Hệ thống hiển thị bảng tra cứu đặt mua vé
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,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 các chuyến tàu bao gồm:
- Mã tàu, ga đi, ngày đi, giờ đi, ga đến, giờ đến
- Loại chỗ : ghế cứng, ghế điều hóa
- Số chỗ trống : theo mác tàu và loại chỗ
- Số chỗ đã đặt
6 Khách hàng click vào nút “chi tiết” để xem chi tiết các chỗ còn trống của mã tàuphù hợp với mình
7 Hệ thống trả về bảng thông tin bao gồm các thông tin:
- Mã tàu, toa số, khoang số, chỗ số, loại chỗ, giá vé
8 Khách hàng click vào chỗ cần đặt
9 Khách hàng đặt chỗ
Case sử dụng : Thay đổi đặt mua vé
Use case name :Thay đổi đặt mua vé ID: 3 Important level : NormalPrimary actor : Khách hàng Use case type : Chi tiết
Trang 16Stakeholders 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é
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
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 : HighPrimary 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
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 bao gồm : Địa chỉ
Trang 174 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 các ga tàu bao gồm:
- Tên ga
- Địa chỉ ga
- Số điện thoại ga
Trang 188 Xây dựng biểu đồ lớp cho 4 CSD đã lựa chọn
Ca sử dụng : Tra cứu chuyến tàu
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
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 danh sách chuyến tàu bao gồm:
- Mã tàu
- Thời gian di chuyển
Trang 19- 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:
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
6 Khách hàng click vào nút “chi tiết” để xem chi tiết các chỗ còn trống của mã tàuphù hợp với mình
7 Hệ thống trả về bảng thông tin bao gồm các thông tin:
- Mã tàu, toa số, khoang số, chỗ số, loại chỗ, giá vé
8 Khách hàng chọn chỗ cần đặt để thêm vào danh sách đặt chỗ
Trang 20 Đơn đặt hàng
Ga tàu
Tra cứu chuyến
Ca sử dụng : thay đổi đặt mua vé
Normal Flow of Events:
2 Hệ thống hiển thị bảng tra cứu vé
3 Khách hàng nhập thông tin lên bảng tra cứu vé bao gồm : ngày đặt vé, đến ngày
4 Hệ thống tìm kiếm và trả về bảng thông tin danh sách 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 xóa vé
Từ bảng trên và dựa vào kinh nghiệm ta liệt kê được các lớp sau:
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
Trang 21 Danh sách ga
Tra cứu ga
Lớp khách hàng
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:
Trang 22Class Name : chuyến tàu ID : 2 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:
- 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
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: