CHƢƠNG VI: ÁP DỤNG PHÂN TÍCH BÀI TOÁN CỤ THỂ

Một phần của tài liệu BÀI GIẢNG PHÂN TÍCH vàTHIẾT KẾ HỆ THỐNG HƢỚNG ĐỐI TƢỢNG (Trang 44)

6.1. Hệ thống điều khiển: Quản lý hệ thống giao thông

Khởi đầu

Ở một số nước tiên tiến thì việc sử dụng hệ thống xe lửa được coi như là phổ biến. Người dân vẫn thích sử dụng hệ thống xe lửa để đi lại những cung đường dài. Hơn nữa, việc sử dụng xe lửa đi lại cũng được coi như là phương tiện an toàn nhất trong các phương tiện đường bộ.

Chúng ta có thể thấy rằng hệ thống xe lửa ở các nước phát triển rất mạnh bởi vì nó mang lại hiệu quả kinh tế cao hơn so với các phương tiện khác. Vì vậy, đối với một hệ thống xe lửa cần phải được giám sát chặt chẽ, bởi vì mỗi chuyến sức vận chuyển có nó có thể lên tới hàng trăm thậm chí hàng ngàn người.

Trong bài này chúng ta tập phân tích một hệ thống quản lý đường xe lửa bằng việc xác định các yêu cầu và hệ thống tác nhân.

Yêu cầu cho hệ thống quản lý tuyến đƣờng xe lửa:

Hệ thống quản lý tuyến đường xe lửa có 2 chức năng chính: Dẫn đường và giám sát tuyến đường. Các chức năng liên quan bao gồm lập kế hoạch, dự báo lỗi, theo dõi vết tuyến đường, giám sát giao thông, tránh va chạm, xung đột tuyến đường và ghi lại nhật ký. Từ những chức năng trên, chúng ta có thể đưa ra 8 use cases sau:

- Route Train: Thiết lập một kế hoạch, kế hoạch này vạch rõ các tuyến đường mà xe lửa sẽ đi qua.

- Plan Traffice: Thiết lập một kế hoạch giao thông mà cung cấp hướng dẫn trong việc triển khai kế hoạch tuyến xe lửa tại một thời gian nhất định và một vùng nhất định.

- Monitor Train Systems: Giám sát hệ thống xe lửa cho nhưng chức năng thích hợp.

- Predict Failure: Thực hiên phân tích những điều kiện của hệ thống và đưa ra những cảnh báo lỗi liên quan tới kế hoạch vận hành của từng tuyến xe lửa.

- Track Train Location: Giám sát vị trí của các xe lửa.

- Monitor Traffic: Giám sát tất cả các tuyến xe lửa trong một vùng.

- Avoid Collision: Đưa ra biện pháp, có thể là tự động hoặc làm thủ công để tránh những vụ va chạm trên tuyến xe lửa.

- Log Maintenance: Đưa ra biện pháp để ghi lại những nhật kí đã thực hiện trên tuyến xe lửa.

Những use cases này thiết lập các yêu cầu chức năng cơ bản cho hệ thống quản lý giao thông xe lửa. Chúng cho ta biết hệ thống phải làm những gì đối với người sử dụng nó. Thêm vào đó chúng ta

có những yêu cầu không có chức năng và giằng buộc mà tác động lên các yêu cầu được định rõ bởi các use case của chúng ta:

Những yêu cầu không có chức năng:

- Vận chuyển hành khách và hàng hóa an toàn.

- Hỗ trợ tốc độ xe lửa lên tới 250 dặm/giờ.

- Cung cấp một hệ thống hoạt động chính xác ở mức 99.99%

- Cung cấp các đầy đủ các chức năng, trách dư thừa.

- Cung cấp vị trí chính xác của tàu trong vòng 10 yards.

- Cung cấp chính xác vận tốc của xe lửa.

- Đáp ứng đầu vào trong vòng 10s. Những ràng buộc.

- Đáp ứng các tiêu chuẩn quốc gia

- Phù hợp về giá thành cả về phần cứng và phần mềm.

Bây giờ chúng ta đã có những yêu cầu của bài toán. Quay lại bài toán quản lý hệ thống đường xe lửa của chúng ta. Qua tìm hiểu và phân tích thì chúng ta có thể đưa ra 3 kiểu người dùng khác nhau tác động tới hệ thống: Dispatcher, TrainEngineer, và Maintainer. Ngoài ra hệ thống còn giao tiếp, tương tác với thiết bị ngoài, Navstar GPS. Các tác nhân đóng vai trò sau trong hệ thống.

- Dispatcher: Thiết lập tuyến đường xe lửa và theo dõi việc tiến hành của từng xe lửa riêng biệt.

- TrainEngineer: Giám sát tình trạng hoạt động của xe lửa.

- Maintainer: Giám sát tình trạng duy tri hệ thông xe lửa.

6.2. Ứng dụng Web: Hệ thống theo dõi kì nghỉ

Ngày nay, đối với nhiều doanh nghiệp, sự tự chủ và độc lập của công nhân ngày càng tăng. Mỗi công nhân có thể tham gia vào nhiều dự án vì thế phải phân chia thời gian sao cho hợp lý. Tương ứng với số thời gian làm việc thì đòi hỏi thời gian nghỉ ngơi cũng phải hợp lý. Vì vậy, các nhà quản lý có ít thời gian gặp được công nhân, do đó việc quản lý thời gian làm việc cũng như thời gian nghỉ gặp nhiều khó khăn.

Giải pháp được đưa ra là chúng ta xây dựng một hệ thống cho phép theo dõi thời gian làm việc cũng như kì nghỉ của mỗi công nhân.

Khởi đầu

Yêu cầu của hệ thống là được miêu tả một cách tóm tắt các tài liệu, các đặc tính chủ yếu, các mô hình use case, các đặc tả use case chính và các kiến trúc cần thiết.

Hệ thống theo dõi kì nghỉ sẽ cung cấp từng nhân viên riêng biệt cùng với khả năng để quản lý thời gian nghỉ của họ, nghỉ việc vì đau ốm, và thời gian nghỉ thương niên.

Hệ thống sẽ cung cấp các đặc tính chính sau:

- Thực thi một cách linh hoạt cho việc kiểm chứng và xác minh lại thời gian yêu cầu.

- Cho phép quản lý phê duyệt.

- Cho phép người dùng có thể truy cập lại thời gian trước đó và cho phép yêu cầu được thực hiên đến một năm rưỡi trong tương lai.

- Sử dụng e-mail thông báo để yêu cầu quản lý phê duyệt và thông báo cho nhân viên biết trạng thái thay đổi.

- Sử dụng phần cứng hiện tại.

- Được thực hiện, triển khai mở rộng của mạng nội bộ hiện tại và sử dụng tính năng đăng nhập một lần cho tất cả các cơ chế xác thực.

- Lưu giữ lại những bản ghi cho tất cả các giao dịch.

- Cho phép người quản lý trực tiếp tặng thời gian nghỉ thêm cho nhân viên.

- Cung cấp một dịch vụ giao diện Web cho các hệ thống nội bộ khác truy vấn và đưa ra bất kỳ thời gian nghỉ của nhân viên nào.

Mô hình use case mức cao nhất chưa 4 tác nhân và 8 use case được miêu tả ở hình dưới đây:

Nhìn vào sơ đồ trên, chúng ta thấy có 4 tác nhân sau;

- Employee: là người sử dụng hệ thống chủ yếu. Một nhân viên sử dụng hệ thống để quản lý thời gian nghỉ của họ.

đích tương tự nhưng có thêm một số quyền cao hơn nhân viên bình thường. Có thể quản lý thời gian gian nghỉ của một nhóm nhân viên.

- Clerk: Một thành viên của hệ thống quản lý người có đầy đủ các quyền để xem hồ sơ, dữ liệu cá nhân của một nhân viên và chịu trách nhiệm cho tất cả các thông tin về nhân viên. Một thư ký có thể thêm hoặc loại bỏ bất kỳ một bản ghi nào trong hệ thống.

- System Admin: Có vai trò chịu trách nhiệm cho hệ thống chạy ổn định, trơn, không bị lỗi

Sơ đồ trên còn mô tả các use case chính sau:

- Manage Time: Miêu tả các nhân viên yêu cầu và xem thời gian nghỉ như thế nào.

- Approve Request: Miêu tả một quản lý đáp ứng yêu cầu của một nhóm như thế nào.

- Edit Employee Record: Miêu tả một Clerk của hệ thống chỉnh sửa thông tin của một nhân viên như thế nào.

- Manage Locations: Miêu tả một Clerk quản lý các bản ghi như thế nào.

- Manage Leave Categories:

- Override Leave Records:

- Back Up System Logs. Miêu tả Admin sao lưu dữ liệu.

Bài tập

1) Áp dụng phân tích và thiết kế hệ thống vào bài toán quản lý Hồ sơ sinh viên?

Một phần của tài liệu BÀI GIẢNG PHÂN TÍCH vàTHIẾT KẾ HỆ THỐNG HƢỚNG ĐỐI TƢỢNG (Trang 44)