Chương 4 : Phân tích – Thiết kế ứng dụng
52
- Hệ thống tìm kiếm và cập nhật lại danh sách tên các địa điểm
theo thông tin người sử dụng đã nhập.
c. Yêu cầu đặc biệt :
- Không có.
d. Điều kiện đầu :
- Không có.
e. Điều kiện sau :
- Hệ thống vẽ lại bản đồ theo tọa độ mới .
f. Điểm mở rộng :
- Không có.
Chương 4 : Phân tích – Thiết kế ứng dụng
53
Search street base on name :
a. Mô tả :
Người sử dụng muốn tìm kiếm một con đường trong thành phố.
b. Dòng sự kiện :
Dòng sự kiện chính :
- Hệ thống hiển thị danh sách tên 10 con đường đầu tiên trong
thành phố.
- Nếu người sử dụng không muốn tìm nữa thì thực hiện luồng
nhánh A1.
- Nếu người sử dụng nhập tên đường để tìm thì thực hiện luồ
ng
nhánh A2.
- Nếu người sử dụng muốn xem 10 con đường tiếp theo thì thực
hiện luồng nhánh A3.
- Nếu người sử dụng muốn xem 10 con đường trước đó thì thực
hiện luồng nhánh A4.
- Người sử dụng chọn đường cần đến từ danh sách.
- Hệ thống cập nhật lại tọa độ bản đồ theo tọa độ của đường cầ
n
đến
- Tắt màn hình tìm kiếm đường.
- Use Case kết thúc.
Dòng sự kiện nhánh A1 : Người sử dụng không muốn tìm nữa
- Hệ thống tắt màn hình tìm kiếm đường.
- Use Case kết thúc.
Dòng sự kiện nhánh A2 : Người sử dụng nhập tên đường để tìm
- Người sử dụng nhập tên đường cần tìm.
- Hệ thống tìm kiếm và cập nhật lại danh sách tên các con
đường theo thông tin người s
ử dụng đã nhập.
Dòng sự kiện nhánh A3 : Người sử dụng muốn xem 10 con đường tiếp
theo
Chương 4 : Phân tích – Thiết kế ứng dụng
54
- Hệ thống hiển thị danh sách 10 con đường tiếp theo nếu có.
Dòng sự kiện nhánh A4 : Người sử dụng muốn xem 10 con đường
trước đó
- Hệ thống hiển thị danh sách 10 con đường trước đó nếu có.
c. Yêu cầu đặc biệt :
- Không có.
d. Điều kiện đầu :
- Không có.
e. Điều kiện sau :
- Hệ thống vẽ lạ
i bản đồ theo tọa độ mới .
f. Điểm mở rộng :
- Không có
Chương 4 : Phân tích – Thiết kế ứng dụng
55
Search shortest way :
a. Mô tả :
Người sử dụng tìm kiếm đường đi ngắn nhất giữa hai điểm trong
thành phố.
b. Dòng sự kiện :
Dòng sự kiện chính :
- Người sử dụng xác định điểm khởi hành.
- Người sử dụng xác định điểm cần đến.
- Người sử dụng chọn chức năng tìm
đường đi ngắn nhất.
- Hệ thống thực hiện tìm kiếm đường đi ngắn nhất giữa hai
điểm, nếu chưa chọn địa điểm khởi hành hay địa điểm đến thì
thực hiện dòng sự kiện lỗi E1.
- Hệ thống hiển thị chỉ dẫn đường đi cho người sử dụng.
- Hệ thống vẽ
đường đi trên bản đồ.
- Use Case kết thúc.
Dòng sự kiện phụ E1 : Người sử dụng chọn chức năng tìm đường đi
mà chưa chọn điểm khởi hành hay điểm đến.
- Hệ thống thông báo lỗi cho người sử dụng.
- Use Case kết thúc.
c. Yêu cầu đặc biệt :
- Không có.
d. Điều kiện đầu :
- Không có.
e.
Điều kiện sau :
- Hệ thống vẽ lại bản đồ.
f. Điểm mở rộng :
- Không có.
Chương 4 : Phân tích – Thiết kế ứng dụng
56
Help :
a. Mô tả :
Người sử dụng muốn xem thông tin hướng dẫn sử dụng hệ thống.
b. Dòng sự kiện :
Dòng sự kiện chính :
- Người sử dụng chọn chức năng hướng dẫn sử dụng.
- Hệ thống hiển thị danh sách các chức năng của phần mềm.
- Người sử dụng chọn chức nă
ng của hệ thống cần hướng dẫn.
- Hệ thống hiển thị thông tin hướng dẫn sử dụng của chức năng
đã chọn.
- Use Case kết thúc.
c. Yêu cầu đặc biệt :
- Không có.
d. Điều kiện đầu :
- Không có.
e. Điều kiện sau :
- Hệ thống vẽ lại bản đồ.
f. Điểm m
ở rộng :
- Không có.
Chương 4 : Phân tích – Thiết kế ứng dụng
57
4.3.3. Sơ đồ lớp mức phân tích :
IndexList
FindObj ectForm
MessageBox
Ma i n MIDlet
Districts
Places
Streets
MainCanvas
Hình 4-2 : Sơ đồ lớp mức phân tích
Chương 4 : Phân tích – Thiết kế ứng dụng
58
Mô tả các lớp :
a. Lớp MainMIDlet :
Mai n MIDle t
Canvas
//MainMIDlet()
//startApp()
//pauseApp()
//destroyApp()
//quitApp()
//commandAction()
Hình 4-3 : Mô tả lớp MainMIDlet
STT Thuộc tính Ý nghĩa
1. Canvas Màn hình hiển thị bản đồ
Bảng 4-2 : Phân tích các thuộc tính lớp MainMIDlet
STT Phương thức Ý nghĩa
1. //MainMIDlet Hàm khởi tạo MIDlet
2. //startApp Phương thức mặc định được gọi khi chạy ứng dụng
3. //pauseApp Phương thức mặc định được gọi khi tạm dừng ứng
dụng
4. //destroyApp Phương thức mặc định được gọi khi thoát ứng dụng
5. //quitApp Phương thức mặc định được gọi khi thoát ứng dụng
6. //commandAction Phương thức xử lý sự kiện trong chương trình
Bảng 4-3 : Phân tích các phương thức lớp MainMIDlet
Chương 4 : Phân tích – Thiết kế ứng dụng
59
b. Lớp MainCanvas :
MainCanvas
distri cts : Distri cts
places : Places
streets : Streets
//MainCanvas()
/ / ke y P re sse d ()
//keyReleased()
//keyAction()
//paint()
//destroy()
//move()
//fi nd shortest path()
Hình 4-4 : Mô tả lớp MainCanvas
STT Thuộc tính Ý nghĩa
1. districts đối tượng lưu trữ, xử lý về quận
2. places đối tượng lưu trữ, xử lý về các địa điểm
3. streets đối tượng lưu trữ, xử lý về đường đi
Bảng 4-4 : Phân tích các thuộc tính lớp MainCanvas
STT Phương thức Ý nghĩa
1. //MainCanvas Hàm khởi tạo MainCanvas
2. //keyPressed Phương thức xứ lý sự kiện nhấn phím
3. //keyReleased Phương thức xứ lý sự kiện buông phím
4. //keyAction Phương thức xử lý các phím được nhấn
5. //paint Phương thức vẽ, thể hiện bản đồ lên màn hình
6. //destroy Phương thức hủy, giải phóng tài nguyên mà lớp có sử
dụng
Bảng 4-5 : Phân tích các phương thức lớp MainCanvas
Chương 4 : Phân tích – Thiết kế ứng dụng
60
c. Lớp FindObjectForm :
FindObjectForm
//FindObjectForm()
//itemStateChanged()
//destroy()
Hình 4-5 : Mô tả lớp FindObjectForm
STT Phương thức Ý nghĩa
1. //FindObjectForm Hàm khởi tạo lớp FindObjectForm
2. //itemStateChanged Phương thức xử lý sự kiện chọn một đối tượng trên
màn hình
3. //destroy Phương thức hủy, giải phóng tài nguyên
Bảng 4-6 : Phân tích các phương thức lớp FindObjectForm
d. Lớp MessageBox :
MessageBox
//MessageBox()
//Show()
//commandAction()
Hình 4-6 : Mô tả lớp MessageBox
STT Phương thức Ý nghĩa
1. //MessageBox Hàm khởi tạo của lớp MessageBox
2. //Show Phương thức thể hiện MessageBox
3. //commandAction Phương thức xử lý sự kiện của lớp MessageBox
Bảng 4-7 : Phân tích các phương thức lớp MessageBox
Chương 4 : Phân tích – Thiết kế ứng dụng
61
e. Lớp IndexList :
IndexList
//IndexList()
//commandAction()
Hình 4-7 : Mô tả lớp IndexList
STT Phương thức Ý nghĩa
1. //IndexList Hàm khởi tạo IndexList
2. //commandAction Phương thức xử lý sự kiện của lớp IndexList
Bảng 4-8 : Phân tích các phương thức lớp IndexList
f. Lớp Districts :
Districts
//Districts()
//drawDistrict()
//drawDistrictNames()
//destroy()
Hình 4-8 : Mô tả lớp Districts
STT Phương thức Ý nghĩa
1. //Districts Hàm khởi tạo, đọc dữ liệu quận vào bộ nhớ
2. //drawDistrict Phương thức vẽ ranh giới quận
3. //drawDistrictNames Phương thức tên quận
4. //destroy Phương thức hủy, giải phóng tài nguyên
Bảng 4-9 : Phân tích các phương thức lớp Districts
Chương 4 : Phân tích – Thiết kế ứng dụng
62
g. Lớp Places :
Places
//Places()
// drawPlaces()
//destroy()
Hình 4-9 : Mô tả lớp Places
STT Phương thức Ý nghĩa
1. //Places Hàm khởi tạo, đọc dữ liệu quận vào bộ nhớ
2. //drawPlaces Phương thức vẽ địa điểm
3. //destroy Phương thức hủy, giải phóng tài nguyên
Bảng 4-10 : Phân tích các phương thức lớp Places
Chương 4 : Phân tích – Thiết kế ứng dụng
63
h. Lớp Streets :
Streets
//Streets()
//drawStreets()
//drawNodes()
//drawArc()
//drawStreetName()
//drawGuidingPath()
//findShortestPath()
//destroy()
//getFoundPathString()
Hình 4-10 : Mô tả lớp Streets
STT Phương thức Ý nghĩa
1. //Streets Hàm khởi tạo, đọc dữ liệu đường vào bộ nhớ
2. //drawStreets Phương thức vẽ đường
3. //drawNodes Phương thức vẽ nút bắt đầu,kết thúc của đoạn đường
cần tìm
4. //drawArc Phương thức vẽ 1 cung của đường
5. //drawStreetName Phương thức vẽ tên đường
6. //drawGuidingPath Phương thức vẽ lộ trình đi từ điểm bắt đầu đến điểm
kết thúc.
7. //findShortestPath Phương thức tìm đường đi ngắn nhất giữa hai điểm
8. //getFoundPathString Phương thức tạo ra một chuỗi hướng dẫn đi từ điểm
bắt đầu đến điểm kết thúc theo lộ trình đã tìm được
9. //destroy Phương thức hủy, giải phóng tài nguyên
Bảng 4-11 : Phân tích các phương thức lớp Streets
Chương 4 : Phân tích – Thiết kế ứng dụng
64
4.3.4. Các biểu đồ hoạt động :
Hiển thị bản đồ :
: Places
: User
: MainMIDlet : MainCanvas
: Districts
: Streets
1:
2: //paint( )
3: //drawDis trict
Run
application
5: //drawStreets ( )
6: //drawStreetName( )
4: //drawPlaces( )
Hình 4-11 : Sequence diagram hiển thị bản đồ
: Us er
: MainMIDlet : MainCanvas
: Districts
: Places
: Streets
6: //drawStreetName( )
Run
application
1:
2: //paint( )
3: //drawDistrict
4: //drawPlaces( )
5: //drawStreets( )
Hình 4-12 : Collaboration diagram Hiển thị bản đồ
Chương 4 : Phân tích – Thiết kế ứng dụng
65
Tìm địa điểm :
: User
: MainMIDlet
: IndexList
: MainCanvas
1:
2: //IndexList
3: //commandAction
Select "Search
Place" from
menu
: FindObjectForm
4: //FindObjectForm
5: //itemStateChanged
6: //m ove
7: //paint
Hình 4-13 : Sequence diagram Tìm địa điểm
Chương 4 : Phân tích – Thiết kế ứng dụng
66
: User
: MainMIDlet
: IndexList
: MainCanvas
: FindObjectForm
7: //paint
1:
3: //commandAction
5: //itemStateChanged
2: //IndexList
4: //FindObjectForm
6: //move
Select "Search
Place" from
menu
Hình 4-14 : Collaboration diagram Tìm địa điểm
Chương 4 : Phân tích – Thiết kế ứng dụng
67
Tìm đường theo tên :
o Sequence diagram : Tìm đường theo tên
: MainCanvas
: User
: MainMIDlet : FindObjectForm
1:
2: //FindObjectForm
3: //itemStateChanged
4: //move
5: //paint
Select "Find
Streets" from
menu
Hình 4-15 : Sequence diagram Tìm đường theo tên
Chương 4 : Phân tích – Thiết kế ứng dụng
68
o Collaboration diagram : tìm đường theo tên
: Us er
: MainMIDlet
: FindObjectForm : MainCanvas
5: //paint
Select "Find
Streets" from
menu
1:
3: //itemStateChanged
2: //FindObjectForm
4: //move
Hình 4-16 : Collaboration diagram Tìm đường theo tên