Thiết kế “Hệ thống giám sát trạng thái hoạt động”

Một phần của tài liệu Hệ thống thời gian thực và ứng dụng các mẫu trong thiết kế (Trang 79 - 84)

Chương I TỔNG QUAN VỀ HỆ THỜI GIAN THỰC

Chương 3: HỆ THỐNG GIÁM SÁT TRẠNG THÁI HOẠT ĐỘNG TRONG TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG

3.4 Thiết kế “Hệ thống giám sát trạng thái hoạt động”

3.4.1 Thiết kế ca sử dụng “Quản trị hệ thống”

a. Biểu đồ mức mẫu các lớp chính của cấu hình hệ thống

Để cập nhật đối tượng (người), bộ phận, cửa, cảm biến nhiệt, khu vực và bảng cấp quyền ta có thể tiến hành cập nhập trực tiếp, vì bản thân các đối tượng này ít thay đổi và không có nhiều thuộc tính. Ở đây, mỗi cửa gắn một cảm biến, nên cửa và cảm biến được xác định bởi cùng một lớp. Mỗi đối tượng trên đây xác định một lớp và không cần đến các mẫu đặc biệt nào. Biểu đồ lớp mẫu cho ở hình 3.10.

Hình 3.10. Biểu đồ lớp của các lớp đối tượng chính b. Biểu đồ mức mẫu cho cập nhật bảng phân quyền

Riêng ma trận phân quyền vì được xác định theo từng ngày, từng tuần, cho từng nhóm đối tương theo từng khu vực nên rất phức tạp. Do đó cần sử dụng mẫu chiến lược để cập nhật cho ma trận phân quyền. Với mẫu chiến lược, ta có thể có nhiều cách cập nhật khác nhau: cập nhật một tệp (thuộc một loại nào đó) hay cập nhật trực tiếp.

Mô hình mẫu được chỉ ra ở hình 3.11.

SensorTemp IDtemp:number place: string IDarea: string temp:number state:boolean Create() Update() Destory() SensorDoor

IDdoor:number place: string IDarea: string state:boolean Create() Update() Destory() GetIDdoor() GetIDarea()

Area IDarea: string nameArea: string nemberDoor:number nemberSenstemp:number state:boolean

Create() Update() Destory() GetIDarea()

Persons IDperson: string namePerson: string birthday: date IDgroup: string IDdepart:string Create()

Update() Destory()

GetperIDgroup() GetName() Persongroup

IDgroup: string namegroup: string note:string

Create() Update() Destory() GetIDgroup()

Departments IDdepart: string nameDepart: string totalmember:number Create()

Update() Destory() GetIDdepart() Grouprights

IDright: string startday: date endday: date Create() Update() Destory()

Ggrouparea Idgouparea: number IDgroup: string IDarea:string Create() Update() Destory()

Hình 3.11. Biểu đồ lớp cập nhật bảng phân quyền sử dụng mẫu chiến lược

3.4.2 Thiết kế ca sử dụng “Kiểm soát vào ra”

Mỗi khi có người đến cửa, cảm biến đọc định danh của người đến và gửi về bộ giám sát cùng với định danh khu vực có cửa này. Tại đây nó kiểm tra sự hợp lệ của người và quyền được qua vùng này. Nếu được quyền nó kích hoạt mở của và sau đó đóng cửa. Biểu đồ mức mẫu cho ở hình 3.

Rightschedule1 IDschedulefile: string namfile: string

typefile: string Create()

Updatefile1() Destory() Context

Contextinterface()

ScheduleStrategy Updatefile()

Rightschedule2 IDschedule: string startday: date endday: date Create() Updatefile0() Update1(file) Update2(file) Destory() Getdeadline()

PartRightschedule IDschedgroup: string IDgroup: string IDarea:string Mon: boolean Tue: boolean Wed: boolean Thur: boolean Fri: boolean Sad: boolean Sun: boolean Create() Update() Destory() Verify()

Hình 3.12. Biểu đồ lớp thiết kiểm soát vào ra theo mẫu quan sát

3.4.3 Thiết kế ca sử dụng “Xử lý hỏa hoạn”

Để theo dõi được nhiệt độ của mỗi cảm biến sau không quá mỗi phút, với số cảm biến trên 100, vì vậy cứ sau chu kỳ 1/2 giây hệ thống cần lấy nhiệt độ của cảm biến tiếp theo. Mẫu quan sỏt và mẫu quay vũng robin với chu kỳ ẵ được sử dụng theo dừi nhiệt độ của cảm biến nhiệt. Biểu đồ mức mẫu cho ở hình 3.13

MonitorSubject

RegisterObserver ()

SensordoorObserver SendNotify()

SensorDoor IDdoor:number place: string IDarea: string state:boolean Create() Update() Destory() GetIDdoor() GetIDarea() SendNotify() Opendoor() Closodoor() Note() MonitorDoor

RegisterObserver() GetDate()

Control() Rightschedule2

IDschedule: string startday: date endday: date Create() Updatefile0() Update1(file) Update2(file) Destory() Getdeadline()

PartRightschedule IDschedgroup: string IDgroup: string IDarea:string Mon: boolean Tue: boolean Wed: boolean Thur: boolean Fri: boolean Sad: boolean Sun: boolean Create() Update() Destory() Verify()

Persons IDperson: string namePerson: string birthday: date IDgroup: string IDdepart:string Create()

Update() Destory()

GetIperDgroup() GetName()

Hình 3.13 Biểu đồ lớp mức mẫu “Xử lý hỏa hoạn”

3.4.4 Thiết kế ca sử dụng “Quản trị vận hành”

Việc thiết lập lại trạng thái của các thiết bi (cảm biến cửa, cảm biến nhiệt) thực chất là cập nhật giá trị trạng thái của các đối tượng được xét. Vì vậy không có gì thêm về mặt thiết kế lớp. Ở đây chỉ thiết kế lớp nhật ký để ghi sự kiện

sensorObserver SendNotify()

fhoahoan

SendNotify() MonitorSubject

RegisterObserver ()

SensorTempObbserver Switch()

SendNotify() ReceiveNotify() MonitorFire

RegisterObserver() Analysis()

Control()

SensorTemp IDtemp:number place: string IDarea: string temp:number state:boolean Create() Update() Destory() SendNotify() ReceiveNotify() Note()

Timer

Một phần của tài liệu Hệ thống thời gian thực và ứng dụng các mẫu trong thiết kế (Trang 79 - 84)

Tải bản đầy đủ (PDF)

(91 trang)