Xác định các Actor
Dựa vào văn bản mô tả bài toán, ta xác định được các tác nhân của hệ thống là: - Người dùng: Sử dụng phần mềm để tìm kiếm điểm xe buýt
Xác định các User Case
Dựa trên văn bản mô tả bài toán và việc phân tích để tìm ra các tác nhân, ta xác định được các Use case như sau:
-Nhập điểm đầu và cuối -Tìm kiếm điểm xe buýt
Từ đặc tả bài toán và việc xác định các Actor, User Case như trên, ta xây dựng được biểu đồ User Case như sau:
Đặc tả User Case
User Case Nhập thông tin điểm đầu, cuối
Đặc tả:
Tác nhân Người dùng
Điều kiện băt đầu
Dữ liệu lộ trình, tuyến xe buýt dạng file XML
Mục đích Người dùng yêu cầu danh sách các điểm dừng xe bus
Mô tả kịch bản chính
• Khi người dùng muốn hiển thị danh sách các điểm dừng xe bus để lựa chọn, click vào textview điểm đầu và điểm cuối, khi đó, hệ thống tự động phân tích sẽ làm việc, thực hiện phân tích file XML và load dữ liệu lên dialog dưới dạng danh sách các địa điểm để lựa chọn
• Nếu không tồn tại file XML sẽ hiển thị lên danh sách rỗng Kịch bản
phụ
• Trong trường hợp người dùng chưa cập nhật dữ liệu vào file XML thì ứng dụng sẽ không thể hiển thị được danh sách điểm dừng xe bus. Kết quả đầu
ra
• Hệ thống hiển thị được danh sách điểm đầu và điểm cuối
User Case tìm kiếm điểm xe buýt
Đặc tả:
Tác nhân Người dùng
Điều kiện băt đầu
Dữ liệu lộ trình, tuyến xe buýt dạng file XML Người dùng đã nhập điểm đầu và điểm cuối
Mục đích Người dùng tìm kiếm lộ trình theo yêu cầu tư vấn
Mô tả kịch bản chính
• Khi người dùng muốn tìm kiếm lộ trình buýt, người dùng sẽ nhập thông tin điểm đầu, điểm cuối của lộ trình, sau đó tham khảo các câu hỏi tư vấn, nếu muốn kết quả theo hướng tư vấn nào thì click vào nút kết quả tìm kiếm, danh sách lộ trình có thể đi sẽ hiện ra dưới dạng dialog
• Nếu hai điểm đầu trùng nhau hoặc chưa nhập, sẽ có thông báo
• Nếu chưa có dữ liệu, hệ thống sẽ thông báo lỗi Kịch bản
phụ
• Trong trường hợp người dùng chưa cập nhật dữ liệu vào file XML thì ứng dụng sẽ không thể hiển thị được danh sách điểm dừng xe bus.
Kết quả đầu ra
User Case yêu cầu tư vấn
Đặc tả:
Tác nhân Người dùng
Điều kiện băt đầu
Dữ liệu lộ trình, tuyến xe buýt dạng file XML Người dùng đã nhập điểm đầu và điểm cuối
Mục đích Người dùng tìm kiếm lộ trình theo yêu cầu tư vấn
Mô tả kịch bản chính
• Khi người dùng muốn tư vấn tất cả các kết quả lộ trình đường đi, hệ thống tự động phân tích sẽ hiển thị ra danh sách tất cả các con đường, lộ trình có thể đi giữa 2 điểm
• Khi người dùng muốn tư vấn một tuyến bus có thể đi giữa 2 địa điểm, hệ thống tự động phân tích sẽ lọc dữ liệu, tìm kiếm lộ trình là một tuyển buýt và hiển thị cho người dùng.
• Khi người dùng muốn tư vấn phương án tiết kiệm tiền xe bus, hệ thống tự động phân tích sẽ lọc dữ liệu, tìm kiếm phương án tốt nhất, ít tuyến xe nhất để hiển thị cho người dùng
• Nếu hai điểm đầu trùng nhau hoặc chưa nhập, sẽ có thông báo
• Nếu không có kết quả tư vấn, hệ thống tự động phân tích sẽ thông báo cho người dùng biết.
• Nếu chưa có dữ liệu, hệ thống sẽ thông báo lỗi Kịch bản
phụ
• Trong trường hợp người dùng chưa cập nhật dữ liệu vào file XML thì ứng dụng sẽ không thể hiển thị được danh sách điểm dừng xe bus.
Kết quả đầu ra
• Hiển thị câu hỏi trên màn hình ứng dụng
3.1.7. Biểu đồ trình tự
: NguoiDung
: NguoiDung : NhapTT : NhapTT : HienThi : HienThi : Nhapdiem : Nhapdiem : DuongDi : DuongDi Y/C nhap diem dau, cuoi
Nhap diem dau, cuoi
Loc du lieu
Lay Thong tin
DS diem dung
Ket qua Ket qua
Hien thi YC chon diem dung
Chon diem dung
ket qua Hien thi
Hình 3.2: Biểu đồ trình tự User Case Nhập thông tin điểm đầu, cuối
Biểu đồ trình tự User Case yêu cầu tư vấn
: NguoiDung
: NguoiDung : NhapTT : NhapTT : YCtuvan : YCtuvan : DSTuVan : DSTuVan chon YC tu van
Cau hoi Ket qua
Ket qua Hien thi
Hình 3.3 Biểu đồ trình tự User Case yêu cầu tư vấn
: NguoiDung
: NguoiDung : NhapTT : NhapTT : Lo trinh : Lo trinh : TimKiem : TimKiem
: DuongDi : DuongDi : DSTuVan
: DSTuVan Nhap diem dau, cuoi
nhap YC tu van Tim kiem Lay TT Lay TT ket qua Ket qua Ket qua ket qua
Hien thi dap an
Hình 3.4: Biểu đồ trình tự User Case Tìm kiếm điểm xe buýt
3.1.8. Biểu đồ lớp
Xác định các lớp : Dựa vào các khái niệm của lĩnh vực ứng dụng và dựa văn bản mô tả bài toán, ta xác định được các lớp thực thể như sau:
• Lớp Đường đi(DuongDi) bao gồm các thông tin sau:
- DiaDiem1 - DiaDiem2 - DSXeDiQua
• Lớp Tuyến Xe (TuyenXe) bao gồm các thông tin sau: - TenXe
- ThoiGianHoatDong - LoTrinh
• Lớp Danh Sách Tư Vấn (DSTuVan)bao gồm các thông tin sau: -MaTuVan
-CauHoiTuVan
Gán trách nhiệm cho lớp vừa tìm được:
- Lớp Đường đi(DuongDi): Cung cấp thông tin về đường đi như; điểm đầu, điểm cuối và danh sách các xe đi qua
- Lớp Tuyến Xe (TuyenXe): Cung cấp thông tin về tuyến xe buýt như:Tên xe, thời gian hoạt động, lộ trình xe
- Lớp Kết Quả(KetQua): Cung cấp thông tin về lộ trình của xe và mã câu hỏi tư vấn người dùng đã chọn
Dựa vào văn bản mô tả bài toán và dựa vào văn bản đặc tả các Use case, ta xác định các lớp tham gia vào các Use case như sau:
User Case Nhập thông tin điểm đầu, cuối
- Lớp W_NhapTT: Là giao diện chính giao tiếp với tác nhân Người sử dụng. -Lớp điều khiển: C_Nhapdiem
-Lớp thực thể: DuongDi
User Case yêu cầu tư vấn
- Lớp W_ NhapTT: Là giao diện chính giao tiếp với tác nhân Người sử dụng. - Lớp điều khiển: C_ YCtuvan;
-Lớp thực thể: DSTuVan
User Case tìm kiếm điểm xe buýt
- Lớp W_NhapTT: Là giao diện chính giao tiếp với tác nhân Người sử dụng. - Lớp điều khiển: C_TimKiem
-Lớp thực thể: DuongDi
Biểu đồ lớp cho toàn hệ thống
Hình 3.5: Biểu đồ lớp toàn hệ thống
Hình 3.6: Biểu đồ lớp cho User Case User Case nhập thông tin điểm đầu, cuối
Biểu đồ lớp cho User Case yêu cầu tư vấn
Hình 3.7: Biểu đồ lớp cho User Case yêu cầu tư vấn
Hình 3.8: Biểu đồ lớp cho User tìm kiếm điểm xe buýt