Báo cáo Bài tập lớn PTTK Hướng đối tượng: Hệ thống xe buýt BusHN

Tham khảo bài tập lớn Phân tích thiết kế hướng đối tượng hệ thống tra cứu xe buýt BusHN. Tài liệu bao gồm đặc tả yêu cầu, biểu đồ UML, thiết kế CSDL.

Chuyên ngành

Phân tích thiết kế hướng đối tượng

Người đăng

Ẩn danh

Thể loại

Bài tập lớn
137
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về Bài tập lớn Phân tích Thiết kế Hệ thống Tra cứu Xe Buýt BusHN

Bài tập lớn phân tích thiết kế hệ thống tra cứu xe buýt BusHN là một dự án học tập toàn diện tại Đại học Quốc gia Hà Nội, nhằm giải quyết những thách thức trong việc sử dụng phương tiện công cộng. Hiện nay, người dân gặp khó khăn khi không biết phải tìm xe nào, không biết thời gian xe tới, và khó tiếp cận các điểm bán vé tháng. Ứng dụng BusHN được phát triển với mục đích cung cấp một giải pháp toàn diện, cho phép người dùng tra cứu thông tin xe buýt, theo dõi xe tới điểm dừng, đăng ký tài khoản, mua vé tháng và thanh toán online. Dự án này không chỉ hỗ trợ người dân Việt Nam mà còn giúp du khách nước ngoài với các tính năng đa ngôn ngữ (Tiếng Việt và Tiếng Anh). Hệ thống BusHN tích hợp Google Map, chạy trên nền tảng iOS và Android, mang lại trải nghiệm người dùng tối ưu và thúc đẩy sử dụng xe buýt làm phương tiện di chuyển chính.

1.1. Mục đích và Đối tượng Người dùng

Mục đích của bài tập lớn là giúp sinh viên hiểu rõ quy trình phân tích hệ thống hướng đối tượng trong thực tế. Hệ thống tra cứu xe buýt BusHN nhắm tới bất kỳ ai sử dụng smartphone có khả năng tải ứng dụng. Các đối tượng chính bao gồm: người dân Hà Nội sử dụng xe buýt hàng ngày, du khách nước ngoài, học sinh sinh viên, và những người muốn giảm chi phí đi lại. Ứng dụng này giải quyết vấn đề về ngôn ngữ, sắp xếp thời gian, và tìm kiếm điểm bán vé một cách hiệu quả.

1.2. Lợi ích của Công nghệ Thông tin trong Giao thông

Ứng dụng BusHN giảm tải tắc đường, tai nạn giao thông và bảo vệ môi trường thông qua khuyến khích sử dụng xe buýt. Công nghệ thông tin cho phép người dùng tiếp cận dữ liệu xe buýt một cách nhanh chóng, tiết kiệm thời gian và công sức. Việc mua vé online eliminates quán tính di chuyển tới các điểm bán vé. Giá cơm phải chăng và tích hợp Google Map giúp người dùng dễ dàng lập kế hoạch hành trình, nâng cao chất lượng cuộc sống và phát triển bền vững thành phố.

II. Phân tích Yêu cầu và Đặc tả Use Case của Hệ thống BusHN

Phân tích yêu cầu là bước quan trọng đầu tiên trong bài tập lớn phân tích thiết kế hệ thống tra cứu xe buýt. Tài liệu này xác định các use case chính như: tra cứu thông tin xe buýt, theo dõi xe tới điểm dừng, đăng ký tài khoản, đăng ký vé tháng, mua tem tháng, và chọn ngôn ngữ. Mỗi use case được mô tả chi tiết với các điều kiện tiên quyết, bước thực hiện, và kết quả mong đợi. Bảng thuật ngữ được xây dựng để làm rõ các khái niệm như người dùng, hệ quản trị cơ sở dữ liệu, cơ sở dữ liệu, và các thành phần khác của hệ thống. Phân tích sâu về các yêu cầu chức năng và phi chức năng giúp đảm bảo rằng hệ thống đáp ứng đầy đủ nhu cầu của người dùng và các bên liên quan.

2.1. Các Use Case Chính của BusHN

Tra cứu thông tin xe buýt cho phép người dùng tìm kiếm tuyến, giờ chạy, giá vé mà không cần tài khoản. Theo dõi xe tới điểm dừng sử dụng GPS để cập nhật vị trí xe theo thời gian thực. Đăng ký tài khoản yêu cầu email, mật khẩu, và thông tin cá nhân. Đăng ký vé tháng cho phép người dùng đăng ký và thanh toán online. Mua tem tháng hỗ trợ nhiều phương thức thanh toán. Chọn ngôn ngữ cung cấp Tiếng Việt và Tiếng Anh, có thể mở rộng thêm.

2.2. Biểu đồ và Ánh xạ Phân tích

Biểu đồ tuần tự use case mô tả tương tác giữa người dùng và hệ thống theo thời gian. Biểu đồ lớp pha phân tích thể hiện cấu trúc dữ liệu và mối quan hệ giữa các lớp. Ánh xạ từ lớp phân tích tới cơ chế phân tích giúp xác định các thành phần cần thiết. Các biểu đồ này cung cấp cơ sở vững chắc cho giai đoạn thiết kế tiếp theo, đảm bảo tính nhất quán và hoàn chỉnh của mô hình phân tích.

III. Thiết kế Chi tiết Hệ thống BusHN và Các Thành phần Cấu trúc

Thiết kế hệ thống BusHN là giai đoạn chuyển đổi từ phân tích sang thực hiện, xác định các thành phần cần thiết và kiến trúc tổng thể. Cơ chế Persistency sử dụng ObjectStore OODBMS để quản lý dữ liệu với tính toàn vẹn cao. Analysis-Class-to-Design-Element Map ánh xạ các lớp phân tích thành các phần tử thiết kế cụ thể. Design-Element-to-Owning-Package Map tổ chức các phần tử thiết kế thành các package logic. Kiến trúc thực thi mô tả cách các thành phần tương tác trong môi trường chạy. Mô tả phân tán định nghĩa cách các thành phần được triển khai trên các nút mạng khác nhau, đảm bảo hiệu suất và độ tin cậy của hệ thống.

3.1. Biểu đồ Tuần tự và Lớp Thiết kế

Biểu đồ tuần tự thiết kế mô tả chi tiết luồng tương tác giữa các đối tượng khi thực hiện mỗi use case. Thiết kế biểu đồ lớp hiển thị các lớp, thuộc tính, phương thức, và mối quan hệ kế thừa. Mỗi use case như tra cứu xe, theo dõi, đăng ký, mua vé đều có biểu đồ tuần tự và biểu đồ lớp riêng. Thiết kế này đảm bảo rằng mỗi chức năng được thực hiện một cách rõ ràng, hiệu quả, và có thể bảo trì được.

3.2. Thiết kế Hệ thống Con và Cơ sở Dữ liệu

Bus Info Subsystem quản lý thông tin tuyến, điểm dừng, giờ chạy, và giá vé. Monthly Ticket System xử lý đăng ký, thanh toán, và quản lý vé tháng. Thiết kế cơ sở dữ liệu định nghĩa các bảng, khóa chính, khóa ngoài, và chỉ mục. Cơ sở dữ liệu được tối ưu hóa để hỗ trợ truy vấn nhanh, đảm bảo tính nhất quán dữ liệu, và hỗ trợ tính năng giao dịch đầy đủ.

IV. Triển khai Kiểm thử và Mở rộng Hệ thống Tra cứu Xe Buýt

Giai đoạn triển khai chuyển đổi thiết kế hệ thống BusHN thành mã nguồn trên nền tảng iOS và Android. Kiểm thử bao gồm kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, và kiểm thử chấp nhận. Phân chia công việc trong nhóm đảm bảo mỗi thành viên chịu trách nhiệm cụ thể cho các phần khác nhau. Tài liệu phụ lục cung cấp bảng phân chia công việc chi tiết giữa các thành viên như Trương Thị Kiều Anh, Lê Thị Bích Duyên, Nguyễn Thị Nhung, Đinh Ngọc Vân, và Nguyễn Thị Hồng Vân. Bài tập lớn này không chỉ là một bài học về kỹ thuật phần mềm mà còn là một ứng dụng thực tế có thể mang lại giá trị cho cộng đồng.

4.1. Quá trình Triển khai và Kiểm thử

Triển khai từng giai đoạn bắt đầu với các chức năng cốt lõi như tra cứu xe, sau đó mở rộng sang các chức năng khác. Kiểm thử chức năng đảm bảo mỗi use case hoạt động đúng theo đặc tả. Kiểm thử hiệu suất đo lường thời gian phản ứng và khả năng xử lý của hệ thống. Kiểm thử bảo mật bảo vệ dữ liệu người dùng và giao dịch thanh toán. Phản hồi từ người dùng được thu thập và sử dụng để cải thiện ứng dụng liên tục.

4.2. Mở rộng và Bảo trì Hệ thống Dài hạn

Ứng dụng BusHN có thể mở rộng thêm nhiều tính năng như thanh toán bằng ví điện tử, bình luận đánh giá, khuyến mãi đặc biệt. Hỗ trợ thêm ngôn ngữ như Tiếng Trung, Tiếng Nhật phục vụ du khách. Tích hợp với các ứng dụng khác như Grab, Gojek tạo sinh thái giao thông toàn diện. Bảo trì định kỳ đảm bảo hệ thống luôn ổn định, bảo mật, và cập nhật với công nghệ mới.

28/12/2025

Trích đoạn nội dung tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Chủ đề: Hệ thống tra cứu xe buýt và mua vé online BusHN Lớp: INT3110E_21 Nhóm: 8 Trương Thị Kiều Anh Lê Thị Bích Duyên Nguyễn Thị Nhung Đinh Ngọc Vân Nguyễn Thị Hồng Vân 1 Mục lục 1. Đặc tả yêu cầu 5 1.2 Bảng thuật ngữ 6 1.3 Đặc tả bổ sung 8 1.5 Đặc tả Use Case 11 1.1 Tra cứu thông tin xe buýt 11 1.4 Theo dõi xe tới điểm dừng 18 1.5 Đăng ký tài khoản 21 1.7 Đăng ký làm vé tháng 26 1.8 Mua tem tháng 28 1.10 Chọn ngôn ngữ 33 2. Phân tích hệ thống BusHanoi 35 2.1 Phân tích kiến trúc 35 2.2 Thành phần cấp cao và sự phụ thuộc 36 2.2 Phân tích Use case 37 2.1 Biểu đồ tuần tự các use case 37 2.1 Tra cứu thông tin xe buýt 37 2.4 Theo dõi xe tới điểm dừng 42 2.5 Đăng ký tài khoản 44 2.7 Đăng ký làm vé tháng 48 2.8 Mua tem tháng 48 2.10 Chọn ngôn ngữ 52 2.2 Biểu đồ lớp pha phân tích 52 2.1 Tra cứu thông tin xe buýt 53 2.4 Theo dõi xe tới điểm dừng 55 2.5 Đăng ký tài khoản 56 2.7 Đăng ký làm vé tháng 59 2.8 Mua tem tháng 60 2.10 Chọn ngôn ngữ 62 2.3 Ánh xạ từ lớp phân tích tới cơ chế phân tích 62 3. Thiết kế hệ thống BusHanoi 64 3.1 Xác định các thành phần cần thiết kế 64 3.2 Analysis-to-Design-to-Implementation Mechanisms Map 68 3.

Cơ chế Persistency - ObjectStore OODBMS 69 3.3 Analysis-Class-to-Design-Element Map 78 3 3.4 Design-Element-to-Owning-Package Map 81 3.5 Packages and Their Dependency 83 3. Mô tả kiến trúc thực thi 85 3. Mô tả phân tán 86 3. Thiết kế Use Case 87 3.

Thiết kế biểu đồ tuần tự 87 3.1 Tra cứu thông tin xe buýt 88 3.4 Theo dõi xe tới điểm dừng 92 3.5 Đăng ký tài khoản 94 3.7 Đăng ký làm vé tháng 98 3.8 Mua tem tháng 99 3.10 Chọn ngôn ngữ 102 3. Thiết kế biểu đồ lớp 103 3. Tra cứu thông tin xe buýt 103 3. Theo dõi xe tới điểm dừng 105 3.

Đăng ký tài khoản 106 3. Đăng ký làm vé tháng 108 3. Mua tem tháng 109 3. Chọn ngôn ngữ 112 4 3.

Thiết kế Hệ thống con 113 3. Bus Info Subsystem 113 3. Monthly Ticket System 123 3. Thiết kế Cơ sở dữ liệu 136 Phụ lục 136 Bảng phân chia công việc 136 5 1.

Đặc tả yêu cầu 1.1 Đặt vấn đề Hiện nay, ở nước ta, các phương tiện công cộng, đặc biệt là xe buýt, đã dần trở nên phổ biến và được khuyến khích sử dụng thay thế cho các phương tiện cá nhân. Di chuyển bằng xe buýt giúp giảm tắc đường, giảm tai nạn giao thông và còn giúp bảo vệ môi trường, tiết kiệm năng lượng, giá cả cũng rất phải chăng. Tuy nhiên, hầu hết những người mong muốn sử dụng xe buýt đều cảm thấy khó khăn và bất tiện vì họ không biết phải tìm xe nào để đi khi mà có quá nhiều tuyến buýt khác nhau. Việc phải chờ đợi ở các điểm dừng xe buýt khiến mọi người dễ mất kiên nhẫn vì không biết khi nào xe sẽ đến, khó sắp xếp được thời gian, các điểm bán vé tháng cũng khó tìm kiếm và tốn thời gian di chuyển.

Việc sử dụng xe buýt với những hành khách nước ngoài đến Việt Nam còn khó khăn hơn khi bản thân còn gặp rào cản về ngôn ngữ, cộng thêm họ không hiểu rõ hệ thống giao thông đi lại của nước ta. Do đó, chúng tôi và công ty vận tải Hà Nội - Transerco đã hợp tác để xây dựng, phát triển hệ thống tra cứu xe buýt và bán tem vé tháng cho thành phố Hà Nội, có tên là ứng dụng "BusHN" với mong muốn áp dụng công nghệ thông tin để giúp cho việc sử dụng xe buýt trở nên dễ dàng và tiện lợi hơn, từ đó khuyến khích, thúc đẩy mọi người tích cực sử dụng xe buýt làm phương tiện di chuyển trong thành phố. BusHN là một ứng dụng di động có thể chạy trên hai nền tảng phổ biến là IOS và Android, tích hợp bản đồ sẵn có của Google Map. Với chiếc smartphone có kết nối internet, người dùng có thể tìm các chuyến xe phù hợp, tra cứu mọi thông tin về dịch vụ xe buýt của thành phố, mua tem và đăng ký vé tháng, thanh toán online trên ứng dụng mà không cần phải ra tận điểm bán.

Đối tượng người dùng của hệ thống là bất cứ ai sử dụng smartphone có khả năng tải về ứng dụng và có mong muốn sử dụng xe buýt làm phương tiện đi lại. BusHN cung cấp 2 ngôn ngữ chính là Tiếng Việt, Tiếng Anh và cho phép có thể mở rộng thêm nhiều ngôn ngữ.2 Bảng thuật ngữ Bảng thuật ngữ xác định các thuật ngữ cụ thể cho ứng dụng BusHN, giải thích các thuật ngữ người đọc có thể không biết trong mô tả ca sử dụng và các tài liệu khác. Người dùng: 6 Là người sử dụng hệ thống, có thể có hoặc không có tài khoản của hệ thống. Là người sử dụng các tính năng của hệ thống.

Hệ quản trị cơ sở dữ liệu: Là một gói phần mềm được thiết kế để xác định, thao tác, truy xuất và quản lý dữ liệu trong cơ sở dữ liệu. Hệ quản trị cơ sở dữ liệu quản lý Cơ sở dữ liệu: Là một tập hợp các dữ liệu có tổ chức được quản lý bằng hệ quản trị cơ sở dữ liệu. Trong hệ thống có ba cơ sở dữ liệu bao gồm cơ sở dữ liệu người dùng, cơ sở dữ liệu nhà xe, cơ sở dữ liệu thông tin Google Map API: Là API bản đồ được tích hợp cho hệ thống, có chức năng định vị và xác định các tuyến đường. Hệ thống thanh toán: Là hệ thống con có thể truy cập, truy vấn và xử lý cơ sở dữ liệu thanh toán và hóa đơn.

Hệ thống quản lý vé tháng: Là hệ thống con có thể truy cập, truy vấn và xử lý cơ sở dữ liệu vé tháng. Xe buýt: Là phương tiện công cộng vận chuyển khách hàng được sử dụng rộng rãi với chi phí đi rẻ, dành cho mọi đối tượng. Tuyến xe buýt: Là tuyến vận tải hành khách, xác định bởi hành trình, điểm đầu, điểm cuối, được phê duyệt bởi các cơ quan có thẩm quyền. Có mạng lưới tuyến xe buýt dành đặc.

Tuyến xe buýt được vận hành bởi xe mang số hiệu tương ứng với tuyến xe đó. Điểm dừng: Là các điểm xác định trên mỗi tuyến xe buýt, là vị trí xe buýt sẽ dừng để nhận khách và trả khách. Vé tháng: Là vật khi người dùng đăng ký vé tháng, người dùng sẽ dán tem tháng để đi xe bus không cần mua vé lẻ. Tem tháng: 7 Là vật được dán trên thẻ vé tháng, hành khách sử dụng thẻ vé tháng đã có dán tem để di chuyển không giới hạn bằng xe buýt trong một tháng.

Tem tháng có giá thành được cố định khi mua vé tháng, có hiệu lực trong tháng được in trên tem.3 Đặc tả bổ sung Mục tiêu Mục tiêu của tài liệu này là mô tả các yêu cầu của Hệ thống tìm kiếm tra cứu thông tin xe buýt, là tài liệu được cấp cho khách hàng phê duyệt và làm tài liệu cho việc thiết kế, triển khai và kiểm thử hệ thống. Phạm vi Hệ thống có thể triển khai với mọi hãng xe buýt tại Hà Nội Tính khả dụng Hệ thống sẽ dễ dàng tương tác, các tác vụ xử lý nhanh, hoạt động trên cả hệ điều hành Android và IOS. Hệ thống yêu cầu kết nối mạng và đăng nhập khi đăng ký và mua tem vé tháng. Tính tin cậy Hệ thống có thể sử dụng 24/7, đáp ứng được tần suất truy cập cao.

Tính bảo mật Hệ thống có khả năng bảo mật, ngăn chặn các hành vi truy cập trái phép làm hỏng hệ thổng, thông tin người dùng cũng được bảo mật. Ràng buộc thiết kế Hệ thống cung cấp giao diện cho điện thoại thông minh.4 Sơ đồ Use Case 8 Biểu đồ 1.1 Biểu đồ Use-Case về tác nhân và sự phụ thuộc lẫn nhau giữa các tác nhân Biểu đồ 1.2 Biểu đồ Use-Case dưới góc nhìn của Người dùng 9 Biểu đồ 1.3 Biểu đồ Use-Case về sự tương tác của các tác nhân với thành phần khác 10 Biểu đồ 1.4 Biểu đồ Use-Case về sự tương tác và phụ thuộc của các Use-Case 1.5 Đặc tả Use Case 1.1 Tra cứu thông tin xe buýt 11 Biểu đồ 1.1 Biểu đồ hoạt động ca sử dụng Tra cứu thông tin xe buýt Mô tả: Người dùng sử dụng chức năng tra cứu thông tin để biết được thông tin chi tiết về tuyến buýt và tin tức nhà xe Các tác nhân: Người dùng Điều kiện kích hoạt ca sử dụng: Người dùng muốn tra cứu thông tin Tiền điều kiện: Thiết bị được kết nối internet Hậu điều kiện: Không có 12 Các luồng sự kiện: Luồng cơ bản: 1. Người dùng truy cập vào ứng dụng, phần menu và chọn chức năng tra cứu thông tin 2. Người dùng chọn tra cứu một trong hai thông tin sau: 2.

Lộ trình tuyến buýt: 2. Người dùng ấn vào thanh tìm kiếm gõ số tuyến xe hoặc tên tuyến xe cần tìm. Sau khi chọn được tuyến xe cần tra cứu, giao diện sẽ hiển thị 3 mục: giờ xuất bến, điểm dừng xe đi qua và mục thông tin chi tiết được hiển thị theo chiều đi và chiều về của xe. Tin tức nhà xe: 2.

Khi chọn thẻ tin tức nhà xe, hệ thống sẽ cung cấp danh mục các tin tức trong 6 tháng gần đây nhất 2. Người dùng ấn vào tin tức bất kì để đọc về các thông báo về điều chỉnh và các tin tức khác của nhà xe Luồng thay thế: 2. Người dùng có thể trực tiếp chọn tuyến ở trên danh sách hiện sẵn. Luồng ngoại lệ: 2.

Hệ thống không tìm được kết quả phù hợp với yêu cầu tìm kiếm, thông báo: "Không có tuyến buýt nào phù hợp với từ khóa bạn vừa nhập" Business rules: Thông tin lộ trình tuyến buýt là chính xác, do nhà xe cung cấp Yêu cầu phi chức năng: Không có Extension point: Không có 1. Chọn địa điểm 13 Biểu đồ 1.2 Biểu đồ hoạt động ca sử dụng Chọn địa điểm Mô tả: Người dùng sử dụng chức năng chọn điểm dừng để tìm vị trí mình muốn biết thông tin. Các tác nhân: Người dùng Điều kiện kích hoạt ca sử dụng: Người dùng muốn chọn địa điểm tùy vào mục đích Tiền điều kiện: Thiết bị của người dùng được kết nối internet Hậu điều kiện: Không có Các luồng sự kiện: Luồng cơ bản: 14 1. Người dùng truy cập vào ứng dụng.

Người dùng có thể tìm kiếm bằng một trong 2 cách: Tìm kiếm vị trí/ điểm dừng trên bản đồ: 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ