1. Trang chủ
  2. » Tất cả

UWC 2.0 Software Engineering Assignment

44 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề UWC 2.0 Software Engineering Assignment
Tác giả Bùi Công Tuấn, Mai Đức Trung, Bành Ngọc Phương Uyên, Phạm Lê Bảo, Lý Thanh Hùng, Huỳnh Tuấn Kiệt, Trương Nguyễn Khôi Nguyên, Huỳnh Thanh Thống, Nguyễn Trần Phước Thành
Người hướng dẫn Sinh viên thực hiện
Trường học Đại học Bách Khoa Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại Báo cáo đồ án
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 44
Dung lượng 3,79 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BTL môn Công nghệ phần mềm khoa KhKT Máy tính HK221 trường Đại học Bách Khoa ĐHQG TP. HCM, topic UWC 2.0. Đây là final report bao gồm đủ 5 task, phần implement và link video thuyết trình về chủ đề. trường Đại học Bách Khoa ĐHQG TP. HCM trường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCMtrường Đại học Bách Khoa ĐHQG TP. HCM

Trang 1

Công nghệ phần mềm (CO3001)

URBAN WASTE COLLECTION AID - UWC 2.0

Giảng viên hướng dẫn: Bùi Công Tuấn - Mai Đức Trung

Sinh viên thực hiện: Bành Ngọc Phương Uyên 2012397 (Nhóm trưởng)

Trương Nguyễn Khôi Nguyên 2010468

Nguyễn Trần Phước Thành 1912059

Thành phố Hồ Chí Minh, 9/2022

Trang 2

Mục lục

3.1 Phân tích tình huống 5

3.2 Yêu cầu chức năng và phi chức năng 6

3.2.1 Yêu cầu chức năng - Functional Requirements 6

3.2.2 Yêu cầu phi chức năng - Non-functional Requirements 6

3.3 Usecase Diagram 7

3.3.1 Whole System 7

3.3.2 Task Assignment Module Use Case 8

3.3.3 Manage Task 10

3.3.4 Assign Task for Collector 12

3.3.5 Assign Task for Janitor 15

3.3.6 View list of employeess 16

4 System Modeling - Mô hình hóa hệ thống 17 4.1 Activity Diagram 17

4.2 Sequence Diagram 18

4.2.1 Một số lưu ý trong bài báo cáo này: 18

4.2.2 Giải pháp đề ra cho việc lập tuyến đường: 18

4.2.3 Sequence Diagram: 19

4.3 Class Diagram 21

5 Architecture design - Thiết kế kiến trúc 24 5.1 Mô tả hướng tiếp cận kiến trúc hệ thống 24

5.2 Component Diagram 25

6 Implementation – Sprint 1 27 6.1 GitHub 27

6.2 Giao diện đăng nhập: 27

6.3 Giao diện trang chủ: 27

6.4 Giao diện quản lý thông tin cá nhân: 28

6.5 Giao diện lập kế hoạch phương tiện sử dụng trong tháng: 30

6.6 Giao diện quản lý công việc: 35

6.7 Giao diện xem danh sách nhân viên 36

6.8 Giao diện phân công task cho janitors: 38

7 Implementation – Sprint 2 42 7.1 GitHub 42

7.2 Video Thuyết trình và Demo 42

7.3 Website 42

7.4 Phân công hiện thực các feature 42

Trang 3

1 HistoryLog

Hình 1: HistoryLog Task 1

Trang 5

Hình 4: HistoryLog Task 4

Hình 5: HistoryLog Task 5

Trang 6

• Có quy mô nhỏ, số lượng các nhân viên gồm nhân viên thu gom rác và nhân viên vệ sinh vừa

đủ để làm việc trong một tuần Vì vậy mà mỗi tuần luôn có các nhân viên này làm việc, chỉ cóphân công công việc của mỗi tuần là khác nhau (do cán bộ phụ trách lập lịch)

• Công ty có quy định: nếu các nhân viên muốn xin nghỉ thì phải tự thu xếp công việc và nhờđược một người khác cùng chức vụ nhận thay cho mình Nhân viên xin nghỉ cũng phải có tráchnhiệm thông báo lại cho cán bộ phụ trách lịch nghỉ cùng với tên của người đảm nhận thay côngviệc trước 10 ngày kể từ ngày bắt đầu nghỉ

Sau khi hoàn thành, công ty Y sẽ nhận được một hệ thống với cơ sở dữ liệu hoàn chỉnh, giúp chocán bộ phụ trách cũng như nhân viên thu gom và nhân viên vệ sinh tương tác với hệ thống bằng thiết

bị kết nối internet, dễ dàng sử dụng, nhanh chóng tiện lợi

Dưới đây là quá trình làm rõ các yêu cầu của phần mềm UWC 2.0:

a) Stakeholders: Stakeholder nghĩa là các bên liên quan, đó có thể là một cá nhân, một nhómngười, hoặc một tổ chức có ảnh hưởng hoặc bị ảnh hưởng bởi hệ thống theo một cách nào đó Cácstakeholder của phần mềm này được xác định là:

• Cán bộ phụ trách (Back Officer): có thể thông qua phần mềm để theo dõi, phân công

và tương tác với những nhân viên thu gom rác và nhân viên vệ sinh, theo dõi tình trạng củacác MCPs và các phương tiện thu gom

• Nhân viên thu gom (Collector) và nhân viên vệ sinh (Janitor): Thông qua phầnmềm, họ nhận được lịch làm việc và những yêu cầu/tính chất của công việc được chỉ định từcán bộ phụ trách, tương tác với cán bộ phụ trách và các nhân viên khác và được nhận thôngbáo về tình trạng MCPs

b) Tính năng dự kiến:

Để đáp ứng nhu cầu cho từng đối tượng đã liệt kê ở trên, dự kiến phần mềm này sẽ:

• Có giao diện riêng cho bên cán bộ phụ trách và bên nhân viên (gồm có nhân viên thu gomrác và nhân viên vệ sinh)

• Hiển thị danh sách các phương tiện và chi tiết kĩ thuật của chúng (trọng lượng, sức chứa,tiêu hao nhiên liệu ) trong giao diện của cán bộ phụ trách

• Hiển thị danh sách các MCPs và chi tiết các thông số của MCPs trong giao diện của cán bộphụ trách

• Hiển thị danh sách các nhân viên làm việc hàng tuần trong giao diện của cán bộ phụ trách

• Cho phép cán bộ phụ trách có thẻ điều chỉnh thông tin của MCPs cũng như lịch làm việc/phâncông của các nhân viên

• Cho phép phía nhân viên có thể xem được lịch làm việc và các phân công công việc

• Cho phép phía nhân viên có thể checkin/checkout công việc

• Cho phép các bên liên quan có thể giao tiếp với nhau qua các hình thức: tin nhắn (tất cảngười dùng) và gửi thông báo (đối với cán bộ phụ trách)

Và các điều kiện vật chất để phối hợp cùng với phần mềm trong quá trình hoạt động:

• Tại các MCPs có sensor (bộ cảm biến) cập nhật trạng thái của MCPs về cho hệ thống

• Các tuyến đường đã được tối ưu sẵn trước khi cán bộ phụ trách tạo lịch và phân công côngviệc cho các nhân viên

Trang 7

3.2 Yêu cầu chức năng và phi chức năng

3.2.1 Yêu cầu chức năng - Functional Requirements

Các yêu cầu chức năng cho từng đối tượng sử dụng lần lượt như sau:

1 Đối với cán bộ phụ trách (Back Officers):

• Cán bộ phụ trách có thể đăng nhập được vào hệ thống để làm việc

• Cán bộ phụ trách có thể quản lý (xem, thêm, sửa, xóa) thông tin của MCPs

• Cán bộ phụ trách có thể quản lý (xem, thêm, sửa, xóa) thông tin của các nhân viên trongcông ty

• Cán bộ phụ trách có thể quản lý (xem và lên kế hoạch hàng tháng) các phương tiện

• Cán bộ phụ trách có thể phân công công việc (task) cho các nhân viên

• Cán bộ phụ trách có thể gửi thông báo về tình trạng của MCPs tới các nhân viên cũngnhư các thông báo nhỏ khác (ví dụ thông báo nghỉ lễ, nghỉ Tết, liên hoan công ty, )

• Cán bộ phụ trách có thể gửi tin nhắn riêng tới các nhân viên khác của công ty

2 Đối với nhân viên thu gom rác (Collectors):

• Nhân viên thu gom rác có thể đăng nhập được vào hệ thống để làm việc

• Nhân viên thu gom rác có thể xem thông tin chi tiết về phân công công việc của họ hằngngày và hằng tuần, trong đó có tuyến đường đi qua

• Nhân viên thu gom rác có thể nhận được thông báo về tình trạng của MCPs cũng như cácthông báo khác từ cán bộ phụ trách

• Nhân viên thu gom rác có thể thực hiện điểm danh và đánh dấu hoàn thành công việctrong ngày

• Nhân viên thu gom rác có thể gửi tin nhắn riêng tới các nhân viên khác (bao gồm cả cán

bộ phụ trách) của công ty

3 Đối với nhân viên vệ sinh (Janitors):

• Nhân viên vệ sinh có thể đăng nhập được vào hệ thống để làm việc

• Nhân viên vệ sinh có thể xem thông tin chi tiết về phân công công việc của họ hằng ngày

Một số yêu cầu khác cần xử lý đối với hệ thống UWC 2.0:

• Hệ thống cần lưu trữ thông tin từng tài khoản của người dùng

• Hệ thống có khả năng phần quyền truy cập cho từng vai trò khác nhau của người dùng

3.2.2 Yêu cầu phi chức năng - Non-functional Requirements

• Yêu cầu về tính dễ sử dụng

Trang 8

• Yêu cầu về hiệu năng và hiệu suất

– Hệ thống phải có khả năng kiểm soát dữ liệu thời gian thực từ ít nhất 1000 MCPs cùnglúc và 10 000 MCPs trong 5 năm

– Các trang của ứng dụng web load không quá 2 giây

– Tốc độ phản ứng dưới 1 giây cho mỗi thao tác

– Hệ thống cho phép gửi tin nhắn với độ trễ không quá 1s

• Yêu cầu về tính tin cậy

– Hệ thống phải sẵn sàng để làm việc trong thời gian công ty làm việc (VD: 7h - 19h từ thứHai đến Chủ nhật)

– Thời gian hệ thống bị sập (crash) trong thời gian làm việc phải ít hơn 5 giây trong bất kìngày làm việc nào

– Thông tin về MCPs phải được cập nhật liên tục trong ít nhất 95% thời gian hoạt độngtrong mỗi 15 phút

– Thông báo phải được cập nhật tới người dùng trong 1 phút khi có thao tác

• Yêu cầu về tổ chức hệ thống

– Hệ thống UWC 2.0 phải có khả năng tích hợp và sử dụng dữ liệu từ UWC 1.0 có sẵn càngnhiều càng tốt

– Hệ thống phải có khả năng nâng cấp và mở rộng trong tương lai

– Phối màu trong giao diện cần tối giản, thanh lịch, cho phép người dùng chọn giao diệnmàn hình tối (Dark Mode) hoặc sáng (Light Mode)

• Yêu cầu về ngoại cảnh

– Hệ thống phải đảm bảo bảo mật thông tin người dùng

– Hệ thống phải đảm bảo tuân thủ quy định pháp luật tại quốc gia sở tại nơi hệ thống đượcphát triển và sử dụng

• Yêu cầu về nền tảng

– Hệ thống có thể sử dụng hiệu quả trên điện thoại di động (Android, IOS), máy tính bảnghoặc máy tính bàn, laptop (Windows, Linux, Mac) với các trình duyệt (Chrome, Firefox,Safari)

2 Nhân viên công ty (Employees)

3 Nhân viên vệ sinh (Janitors)

4 Nhân viên thu gom rác (Collectors)

5 Hệ thống cảm biến (Sensors System)Bảng mô tả các use case của hệ thống:

Trang 9

Hình 6: Use cases cả hệ thống

2 Communicate Giao tiếp với nhau qua hệ thống bằng cách gửi/nhận tin nhắn

12 Update MCPs status Cập nhật trạng thái của MCPs

13 Plan vehicles Lên kế hoạch sử dụng các phương tiện

3.3.2 Task Assignment Module Use Case

Bảng danh sách các actor:

1 Cán bộ phụ trách (Back Officer)Bảng mô tả các use case chính của module Task Assignment:

Trang 10

Hình 7: Task Assignment Module use cases

5 Assign Task for Collector Phân công nhiệm vụ cho người thu gom rác (Collector)

6 Assign vehicles Phân công phương tiện cho người thu gom rác (Collector)

7 Assign routes Chỉ định tuyến đường cho người thu gom rác (Collector)

8 View list of employees Xem danh sách các nhân viên

9 Assign Task for Janitor Phân công nhiệm vụ cho người vệ sinh (Janitor)

10 Assign areas Chỉ định các khu vực làm việc cho người vệ sinh (Janitor)

Trang 11

3.3.3 Manage Task

Usecase Name Manage Task

Actor Back Officer

Description Back Officer quản lí công việc của nhân viên

Triggers Back Officer chọn "Quản lý nhiệm vụ" trên giao diện đang hiển thịPreconditions Back Officer đăng nhập vào hệ thống

Normal Flow 1 Hệ thống hiện thị giao diện quản lí nhân viên có các lựa chọn:

• Xem bảng phân công

• Chỉnh sửa bảng phân công

• Xóa phân công

2 Back Officer lựa chọn 1 trong các lựa chọn ở B1

3 Hệ thống chuyển sang giao diện theo lựa chọn của Back Officer

4 Back Officer hoàn thành các thao tác dựa trên lựa chọn ở B1, ấn

Usecase Name View Task

Actor Back Officer

Description Back Officer xem công việc của nhân viên

Triggers Back Officer chọn "Xem bảng phân công" trên giao diện đang hiển

thịPreconditions Back Officer đang ở trang quản lí công việc

Postconditions Back Officer xem được task tại thời điểm được chọn

Normal Flow 1 Hệ thống hiển thị lựa chọn thời gian muốn xem theo dạng

dd/m-m/yyyy

2 Back Officer chọn thời gian muốn xem

3 Hệ thống hiện thị dạng bảng lịch phân công của các nhân viên dựatrên thời gian đã chọn

4 Back Officer ấn nút "OK"

5 Hệ thống quay về giao diện quản lí công việcExceptions Exceptions Flows 1 : tại bước 3

3a Bảng phân công hiện đang trống, hiện thị pop-up thông báo "Hiệnchưa có lịch phân công"

Alternative Flows Alternative Flows 1 : tại bước 4

4a Back Officer ấn vào tên từng nhân viên để xem chi tiết phân côngcho nhân viên đó

4b Back Officer ấn nút "OK"

4c Quay lại bước 3 ở Normal Flow

Trang 12

Usecase Name Edit Task

Actor Back Officer

Description Back Officer chỉnh sửa phân công công việc của nhân viên

Triggers Back Officer chọn "Chỉnh sửa bảng phân công" trên giao diện đang

hiển thịPreconditions Back Officer đang ở trang quản lí công việc

Postconditions Back Officer chỉnh sửa được task muốn chỉnh sửa

Normal Flow 1 Hệ thống hiển thị lựa chọn thời gian muốn xem theo dạng

dd/m-m/yyyy

2 Back Officer chọn thời gian muốn chỉnh sửa

3 Hệ thống hiện thị đầy đủ lịch phân công của các nhân viên theothời gian đã chọn

4 Back Officer lựa chọn nhân viên để sửa phân công

5 Hệ thống hiện thông báo "Xác nhận" để xác nhận thay đổi

6 Hệ thống quay về giao diện quản lí công việcExceptions Exceptions Flows 1 : tại bước 4

4a Back Officer để trống thông tin trong bảng phân công, hệ thốngbáo thiếu thông tin

Alternative Flows Alternative Flows 1 : tại bước 1

1a Back Officer ấn nút "Quay lại" để trở lại giao diện quản lí côngviệc

Alternative Flows 2 : tại bước 55a Back Officer ấn nút "Quay lại" để không thay đổi lịch phân côngcủa nhân viên

5b Quay lại bước 4 ở Normal Flow

Usecase Name Delete Task

Actor Back Officer

Description Back Officer xóa phân công công việc của nhân viên

Triggers Back Officer chọn "Xóa phân công" trên giao diện đang hiển thị

Preconditions Back Officer đang ở trang quản lí công việc

Postconditions Back Officer xóa được task muốn xóa

Normal Flow 1 Hệ thống hiện thị đầy đủ lịch phân công của các nhân viên

2 Back Officer ấn "Xóa" bên cạnh tên nhân viên để xóa lịch phâncông của nhân viên

3 Hệ thống hiện thông báo "Xác nhận" để xác nhận thay đổi

4 Hệ thống quay về giao diện quản lí công việcExceptions Exceptions Flows 1 : tại bước 1

1a Bảng phân công hiện đang trống, hiện thị pop-up thông báo "Hiệnchưa có lịch phân công"

Alternative Flows Alternative Flows 1 : tại bước 1

1a1 Back Officer ấn nút "Xóa tất cả" để xóa toàn bộ lịch phân cônghiện tại, tiếp tục B3

1a2 Back Officer ấn nút "Quay lại" để trở lại giao diện quản lí côngviệc

Trang 13

3.3.4 Assign Task for Collector

Usecase Name Assign Task for Collectors

Actor Back Officer (BO)

Description BO có thể dùng tính năng này để thêm việc cho các Collectors

Preconditions 1 BO đang ở trong giao diện danh sách của các Collector

2 Thiết bị của BO có kết nối với mạng

3 BO đã đăng nhập thành công vào hệ thống

Postconditions Công việc đã được giao đến các Collectors và được lưu trữ trên hệ

thống

Triggers BO nhấp vào nút “ĐIỀU TIẾT CÔNG VIỆC CHO LÁI XE”

Normal Flow 1 Hệ thống hiển thị giao diện để BO có thể chọn Collector để điều

tiết công việc

2 Sau khi chọn xong Collector thì BO nhấp vào nút “TIẾP TỤC”trên màn hình

3 Hệ thống chuyển sang giao diện để điều tiết tuyến đường cho cácCollector

4 Sau khi hoàn thành điều tiết tuyến đường, BO nhấp vào nút

11 Hệ thống chuyển thông tin của Collectors và thông tin công việc

ở thời điểm hiện tại và trên bộ nhớ đệm sang cơ sở dữ liệu

Col-Use case quay lại bước 2

Exception Flows Exception Flow 1 (ở bước 2):

2b Nếu BO chọn “XÁC NHẬN” mà chưa chọn nhân viên nào hết.2b1 Hệ thống sẽ hiển thị một tin nhắn popups nhắc: “BẠN CHƯACHỌN NGƯỜI LÁI XE NÀO CẢ HÃY THỬ LẠI”

2b2 BO nhấp vào nút “OK” ngay bên dưới tin nhắn nhắc hoặc nhấpvào nút “X” trên cửa sổ popups

2b3 Giao diện Popups tắt, hệ thống chuyển lại sang giao diẹn để BO

có thể chọn Collectors

Use case quay lại bước 2

Trang 14

Usecase Name Assign Routes

Actor Back Officer (BO)

Description Use case giúp BO chỉ định hoặc thay đổi tuyến đường thu gom cho

Collector

Trigger Sau khi BO hoàn thành việc chọn Collector và nhấn nút

"CON-TINUE" trong giao diện "Assign Task for Collectors" Pre-Conditions 1 Thiết bị của BO phải được kết nối mạng

2 BO phải đăng nhập thành công vào hệ thống

3 BO đã hoàn thành việc chọn Collector trong giao diện "AssignTask for Collectors"

Normal Flow 1 Hệ thống hiển thị danh sách tất cả các nhóm MCPs chưa được

Alternative Flows Alternative Flow 1 (ở bước thứ 7): BO muốn chỉnh sửa lại tuyến

đường cho Collector3a BO nhấn vào “Quay lại”

3a1 Use case quay lại bước 1

Alternative Flow 2 (ở bước thứ 7): BO không muốn chỉ định tuyếnđường cho Collector nữa

3d Hệ thống sẽ hiển thị tin nhắn thông báo: “Bạn chưa chọn bất kỳnhóm MCPs nào Hãy thử lại.”

3d1 BO sẽ nhấp vào nút “OK” hoặc là nút “X” để tắt cửa sổ tin nhắn.3d2 Use case quay lại bước 2

* Lưu ý: Use case này sẽ được đặc tả rõ hơn ở Task 2.2 (phần Sequence Diagram)

Trang 15

Usecase Name Assign Vehicles

Actor Back Officer (BO)

Description Use case để cho BO có thể chọn phương tiện cho các Collector sử dụng.Preconditions 1 BO đã hoàn thành việc chọn Collectors

2 BO đã hoàn thành việc Assign Routes cho các Collectors

3 Thiết bị của BO phải có kết nối với mạng

4 BO đã đăng nhập thành công vào ứng dụng

Postconditions Các phương tiện di chuyển đã được gán cho các Collectors

Trigger Sau khi BO hoàn thành use case ASSIGN ROUTES

Normal Flow 1 BO nhấp vào nút “CHỌN PHƯƠNG TIỆN”

2 Hệ thống sẽ hiển thị ra danh sách các phương tiện mà BO đã chỉđịnh trong tháng và còn trống hoặc sắp trống

3 BO sẽ chọn phương tiện phù hợp với tuyến đường đã chọn choCollector

4 Sau khi chọn xong BO sẽ nhấp vào nút “XÁC NHẬN”

5 Kết thúc use case

Exception Flows Exception Flow 1 (ở bước 2): Nếu hiện tại không có phương tiện nào

có sẵn 1 Hệ thống sẽ hiển thị tin nhắn nhắn thông báo: "KHÔNG

CÓ PHƯƠNG TIỆN TRỐNG NGAY LÚC NÀY HÃY THỬ LẠISAU."

2 Người dùng có thể chọn nút “X” để đóng cửa sổ tin nhắn

3 Hệ thống sẽ trở lại với giao diện có nút “CHỌN PHƯƠNG TIỆN”.Use case kết thúc

Exception Flow 2 (ở bước 4): BO nhấp vào nút “CONFIRM”nhưng chưa chọn phương tiện cho Collectors

1 Hệ thống sẽ hiển thị cửa sổ pop ups tin nhắn thông báo: “BẠNCHƯA CHỌN PHƯƠNG TIỆN NÀO CẢ XIN THỬ LẠI”

2 BO sẽ nhấp vào nút “OK” hoặc là nút “X” để tắt cửa sổ pop ups.Use case bắt đầu lại ở bước 2

Trang 16

3.3.5 Assign Task for Janitor

Usecase Name Assign Task for Janitors

Actor Back Officer (BO)

Description BO thực hiện các thao tác để phân công công việc cho các Janitors.Preconditions 1 BO phải có kết nối mạng

2 BO đăng nhập được vào hệ thống

3 BO đang ở giao diện "View list"

Postconditions BO phân công xong công việc cho các Janitors

Trigger BO nhấn vào nút "PHÂN CÔNG TASK CHO JANITOR" ở giao

diện "View list"

Normal Flow 1 Hệ thống hiển thị giao diện “PHÂN CÔNG TASK JANITORS”

gồm danh sách nhân viên và các khu vực làm việc

2 BO hoàn thành chỉ định các khu vực làm việc cho các janitor

3 BO nhấn "Xác nhận" hoàn thành giao việc

4 Hệ thống POPUP xác nhận xem BO đã chắc chắn đã hoàn thànhgiao việc hay chưa

5 BO nhấn nút “OK”

6 Hệ thống chuyển toàn bộ thông tin về Janitors và công việc từ bộnhớ đệm sang cơ sở dữ liệu và gửi thông báo đên các Janitors

7 Kết thúc use-case

Alternative Flows Flow 1 :

1 Ở bước 4, sau lần đầu BO chọn hoàn thành giao việc, nếu pháthiện còn Janitors chưa được giao việc hoặc khu vực chưa có Janitornào, POPUP kèm theo thông tin của các Janitors và các khu vực đó

2 Nếu BO confirm, tiếp tục bước 5 Nếu BO chọn "HỦY”, chuyểnsang flow 2

Exception Flows Không

Usecase Name Assign Area to Janitors

Actor Back Officer (BO)

Description BO thực hiện các thao tác để chỉ định khu vực làm việc cho JanitorsPreconditions 1 BO phải có kết nối mạng

2 BO đăng nhập được vào hệ thống

3 BO đã chọn "PHÂN CÔNG TASKS CHO JANITORS"

Postconditions Hệ thống ghi nhận dữ liệu về khu vực chỉ định của Janitors từ BOs.Trigger BO nhấn vào từng Janitor trong giao diện "ASSIGN TASK FOR

JANITORS"

Normal Flow 1 Hệ thống hiển thị danh sách các janitor kèm với các khu vực trong

hệ thống và yêu cầu BO chọn khu vực cho Janitor

2 BO chọn Checkbox vào các khu vực muốn chỉ định cho janitor

3 Sau khi đã chọn xong các khu vực cho các janitor, BO nhấn nút

"Lưu"

4 Hệ thống ghi nhận và cập nhật thông tin về khu vực

5 Kết thúc use case

Alternative Flows Không có

Exception Flows Không có

Trang 17

3.3.6 View list of employeess

Usecase Name View list

Actor Back Officer (BO)

Description BO thực hiện các thao tác để hiện danh sách các Collectors và Janitors

theo mong muốn

Preconditions User phải đăng nhập vào hệ thống

Postconditions Các BO xem được danh sách Janitors và Collectors

Trigger BO nhấn vào nút "View List"

Normal Flow 1 BO nhấn vào nút "View List"

2 Hệ thống hiển thị bộ lọc, với 2 sự lựa chọn:

2.1 Show Collectors

2.2 Show Janitors

3 BO nhấn vào 1 trong 2 sự lựa chọn ở bước 2

4 Hệ thống chuyển giao diện tương ứng với lựa chọn của BO

5 Kết thúc use case

Alternative Flows Alternative Flow 1 (ở bước thứ 5)

1.1 Sau khi hệ thống hiển thị giao diện tương ứng với lựa chọn "ShowCollectors", BO nhấn vào nút "Assign Task For Collectors"

1.2 Tiếp tục Use-case Assign Task For Collectors

Alternative Flow 2 (ở bước thứ 5)

2.1 Sau khi hệ thống hiển thị giao diện tương ứng với lựa chọn "ShowJanitors", BO nhấn vào nút "Assign Task For Janitors"

2.2 Tiếp tục Use-case Assign Task For Janitors

Exception Flows Không có

Trang 18

4 System Modeling - Mô hình hóa hệ thống

Hình 8: Task Assignment Module use cases

Trang 19

4.2 Sequence Diagram

4.2.1 Một số lưu ý trong bài báo cáo này:

• Giả định trong bài này, công ty chỉ đi thu gom rác ở các MCPs trong phạm vi tối đa 30 km sovới vị trí của công ty

• Chia số lượng MCPs cho số lượng Collector lấy phần nguyên ta được N

• Các nhóm MCPs được đặt tên theo mã COL_số thứ tự nhóm (theo thứ tự được tạo lập sớmhay muộn từ 1 đến N)

• Mỗi nhóm MCPs sẽ được lưu các thông tin gồm: Tên nhóm, Số thứ tự các MCPs, Tên các MCPsthuộc nhóm

4.2.2 Giải pháp đề ra cho việc lập tuyến đường:

* Ở đây ta sẽ chỉ nói nó ở mức khái niệm nên mọi việc sẽ được hệ thống tự thực hiện

và lưu lại danh sách ở Database:

Bước 1 : Hệ thống sẽ chọn MCPs gần công ty nhất chưa được phân công, gọi nó là M CP s1 Tiếptục quá trình nếu vẫn còn MCPs chưa được phân công, ngược lại phân công M CP s1 vào nhóm có

vị trí M CP sN gần nhất vừa được tạo và dừng quá trình

Bước 2 : Hệ thống sẽ chọn MCPs thứ hai (chưa được phân công) gần M CP s1 nhất và đặt là

M CP s2 Tiếp tục quá trình nếu vẫn còn MCPs chưa được phân công, ngược lại gom M CP s1,

M CP s2 thành 1 nhóm và dừng quá trình

Bước N-1 : Hệ thống sẽ chọn MCPs thứ N-1 (chưa được phân công) gần M CP sN −2 nhất và đặt

là M CP sN −1 Tiếp tục quá trình nếu vẫn còn MCPs chưa được phân công, ngược lại gom M CP s1, , M CP sN −2, M CP sN −1 thành một nhóm và dừng quá trình

Bước N : Hệ thống chọn MCPs thứ N gần M CP sN −1nhất, đặt là M CP sN và gom M CP s1, ,

M CP sN −1, M CP sN thành một nhóm Tiếp tục quay lại Bước 1 nếu vẫn còn MCPs chưa được phâncông

Trang 20

4.2.3 Sequence Diagram:

Hình 9: Sequence Diagram of Assign Route use case

Trang 21

* Mô tả:

Back Officer: Người sử dụng tính năng này của hệ thống

Browser: Nơi người dùng thao tác (Class)

Server: Nơi nhận và xử lý các yêu cầu từ Browser (Class)

Message: Dùng để gửi trả tin nhắn (Object)

UsertoDB: Dùng để truy cập database (Object)

Database: Nơi lưu trữ dữ liệu của hệ thống (Class)

Trang 22

• Gửi tin nhắn: Tin nhắn có thể được tạo ra bởi Employee (và các class extend từ nó) Tin nhắnkhi gửi sẽ được đưa lên server để chuyển tiếp tới (một hoặc nhiều) người nhận Tin nhắn về cơbản sẽ được lưu bởi Employee Server có thể luu các tin nhắn trong một khoảng thời gian vớingoại lệ là các tin nhắn được thiết đặt để lưu trữ lâu dài.

• Xem thông tin: Các thông tin về task, employee và infrastructure sẽ được truy cập từ server khi

có nhu cầu xem Mỗi class sẽ có hàm riêng để phục vụ các chức năng này (nếu cần)

Ngày đăng: 17/03/2023, 11:13