第一篇:智能公交車管理系統功能需求
系統功能設計
1.1 GIS功能
GIS功能模塊包括地圖服務、地圖管理、檢索、車輛實時顯示、車輛跟蹤功能、軌跡繪制、距離計算功能。
GIS模塊數據流序列圖gis服務器客戶端GPS數據接口線路數據接口地物數據接口車輛信息接口地圖數據請求GPS數據請求單一或多個GPS數據地圖數據線路數據請求線路數據地物數據請求地物數據車輛數據請求車輛數據
1.1.1 地圖服務子功能
支持shpfile和BingMap兩種地圖格式,shpfile地圖實現放大、縮小、移動、距離測量、面積測量、矩形查詢、點選取、全視圖、鷹眼地圖。BingMap實現放大、縮小、移動功能。如圖3.3。
GIS服務器獲取地圖數據地圖shpfile和BingMap兩種地圖格式控件加載地圖數據放大、縮小、移動、距離測量、面積測量、矩形查詢、點選取、全視圖、鷹眼地圖地圖類型shpfile地圖功能BingMap功能放大、縮小、移動功能
圖3.3
1.1.2 地圖管理子功能
地圖控制管理分為圖層控制、注記設置、符號設置三方面功能,以便用戶對于地圖數據進行個性化配置.3.1.2.1 圖層控制
圖層控制功能又可細化為三方面功能:
(1)圖層位置控制:包括圖層上移、圖層下移、圖層置頂、圖層置底。(2)圖層顯示控制:圖層圖例、圖層比例尺、圖層顯示、鷹眼顯示。(3)圖層配置:加載圖層、刪除圖層。
3.1.2.2 注記設置
注記設置功能,用戶可設置注記顯示、注記比例尺、注記字段、注記顏色和注記字體,并可預覽注記樣式。
3.1.2.3 符號設置
車輛顯示設置,包括符號設置、名稱屬性設置兩部分。可以根據車輛運行方向設定不同車輛符號。車輛名稱可設置名稱顯示位置、顯示字號、一般車輛、激活車輛等設置。
1.1.3 檢索子功能
實現車輛檢索、線路檢索、地名檢索。
(1)車輛檢索:關鍵字模糊匹配線路列表中所有車輛,地圖上閃爍顯示所選擇的在線車輛,掉線車輛顯示最近有效位置。
(2)線路檢索:畫出線路,并通過線路關鍵字模糊匹配該線路中所有車輛,顯示在列表中;地圖上閃爍顯示所選擇的在線車輛,掉線車輛顯示最近有效位置。
(3)地名檢索:關鍵字模糊匹配所有地物,在地圖上閃爍顯示所選擇的地物。
GIS地圖所有檢索功能支持關鍵字模糊查詢。車輛檢索線路檢索地名檢索車輛信息線路信息地物信息車輛信息接口線路信息接口地物信息接口
1.1.4 車輛實時監控子功能
根據 GPS 車載設備實時上傳的數據包,結合電子地圖,即可讓用戶快速、直觀的確認車輛的地理位置,并可以根據業務需求,設置不同的監控類型。
車輛實時監控類型分為以下幾類:
(1)實時監控:打開地圖窗口,系統默認顯示所有車輛;(2)單車監控:在地圖窗口,只顯示指定車輛;
(3)單線路監控:在地圖窗口,顯示指定線路所有車輛;(4)單分公司監控:在地圖窗口,顯示指定分公司所有車輛;
(5)自定義組監控:用戶自定義指定車輛分組(可以跨線路、跨分公司),在地圖窗口監控指定分組車輛;
GIS地圖車輛實時監控車輛信息線路信息分公司信息自定義分組信息車輛信息接口線路信息接口分公司信息接口自定義分組信息接口
圖3.4
1.1.5 車輛跟蹤子功能
用戶根據業務需要可以指定車輛為跟蹤模式,則車輛始終在地圖視野范圍 內運營; 支持定時跟蹤、定距跟蹤、鎖定車輛等跟蹤方式。1.1.6 軌跡繪制子功能
在軌跡繪制的輸出列表中顯示歷史軌跡數據,包括線路,車輛,時間,經緯度,速度,方位角,高度,方向,下一站,工號,是否超速。在 shpfile地圖中,顯示軌跡點(綠色),及軌跡點連線(藍色);在 BingMap地圖中,只顯示軌跡點(紅色)。繪制子功能包括:(1)實時繪制:繪制選擇車輛的最近運行軌跡點,默認50(可修改)。(2)軌跡回放:設置時間范圍,回放速度進行車輛軌跡回放。
其中軌跡回放支持支持跨天查詢,回放時間段任意設置;系統支持一個車或多個車輛組合回放;軌跡回放速度可以設置。
1.1.7 距離計算子功能
計算車輛軌跡中任意兩點間的軌跡距離。
1.2 監控功能
監控功能包括車輛監控列表,視頻監控,語音監控三個子功能。
1.2.1 車輛監控列表子功能
車輛監控列表通過分組列表的形式展示所有車輛。
(1)集團、營運公司、分公司、線路分級顯示車輛列表。(2)車輛列表包括車輛自編號和在線、離線狀態。
(3)支持對單車輛調度和監控功能的調用。包括:車輛信息查詢、視頻監控、語音控制、歷史視頻獲取、單車監控、顯示軌跡、車輛跟蹤、GPS公里、歷史數據回放、自定義組監控、取消車輛監控、清除車輛軌跡。1.2.2 視頻監控子功能
視頻監控子功能分為視頻實時監控和歷史視頻提取。其中視頻實時監控數據不實時上傳,只在發送指令時實時調取。
(1)視頻實時監控:
? 多畫面視頻監控:最多支持 16 畫面,并支持浮動窗口,視頻畫面可分為 1、4、8、9、12、16,畫面布局可任意切換。
? 通道位置切換:多畫面視頻監控時,鼠標左鍵選中指定視頻通道,可拖拽到其他視頻通道上,實現通道位置切換。
? 單通道最大化顯示:多畫面視頻監控時,鼠標雙擊左鍵,視頻通道最大化顯示,再雙擊鼠標左鍵,返回多畫面布局。
? 圖像抓拍:即指定視頻通道截屏功能,可將視頻截圖保存到指定位置。? 關閉:單個關閉指定視頻通道。? 全部關閉:關閉全部視頻通道。
? 在視頻中,可顯示線路號、自編號和車牌號等信息。(2)歷史視頻提取:按照篩選條件提取。
1.2.3 音頻監控子功能
音頻監控子功能包括語音廣播,語音通話和語音監聽三個子模塊。(1)語音廣播:下發指令車載終端進行語音播報。如圖所示。
(2)語音通話:調度可主動發起語音通話請求,實現調度和駕駛員雙向語音通話。或輸入請求的電話號碼和撥號等待間隔,下發給 GPS 車載設備,GPS 車載設備自動回撥。實現集團、營運公司指揮中心與車輛進行通話。
(3)語音監聽:分為主動監聽和被動監聽。
? 主動監聽,即車上有緊急/危險情況,駕駛員上傳請求監聽指令,客戶
端收到短信提醒,調度員可發送語音監聽請求,監聽車輛語音,及時了解車上情況。? 被動監聽,調度用戶發送語音監聽請求,監聽車輛語音,及時了解車上情況。
圖 語音廣播
1.3 排班功能
排班功能模塊主要包括運營計劃管理、推班規則設置、系統自動排班。實現對某一線路公交車發車計劃,車與司機、乘務員對應關系的確定。
1.3.1 運營計劃管理子功能
制定某一線路公交車的發車計劃(發車時間點和發車間隔等)。
(1)可通過excel模板導入線路運營計劃,滿足不同節假日類型營運計劃管理。如圖所示。(2)可通過軟件設置時間區間及發車間隔,從而確定發車時間點。
1.3.2 推班功能設置子功能
1.3.3 自動排班子功能
(1)初始化人車配備表,即確定車輛和司機、乘務員的對應關系。人車配備表包括班次、車號、早班司機和乘務員、晚班司機和乘務員。
(2)設置排班日期和節假日標識,根據推班規則,自動生成排班計劃。
1.4 車輛調度功能
車輛調度功能包括線路模擬調度,調度參數管理,實時調度三個子功能。
1.4.1 線路模擬調度子功能
通過直線和實際走向線路,實時顯示車輛信息。該模塊應包括以下信息:汽車位置、當前時間、配車臺數、運營車輛數量、去行數、回行數、起始站車輛數、終點站車輛數;單個車輛的信息包括運行方向、車輛自編號、前一站、后一站、額定人數、車上人數、速度、駕駛員、終到時間、發車時間、GPS時間。
(1)直線模擬調度圖
(2)實際走向模擬調度圖
1.4.2 調度規則管理子功能
該功能實現對車輛調度參數的設置。支持多種調度規則的選擇,包括剛性規則(是否匹配計劃車)及靈活規則(進站出站、先進先出)。
(1)進站出站
例如:如果“停站時間”設置為“2分鐘”,例如車輛“906615”于15:00到達本站,則該車輛進站后的調度發車時間為“15:00加上2分鐘”,也就是“15:02”。
(2)先進先出
可以分時段進行先進先出的設置,表示在該時段范圍內,先進站的車輛先出站。發車時間列表可手動修改。
1.4.3 實時調度子功能
實時調度子功能即實時調整發車業務,包括新增發車計劃、修改運行方案、修改司乘、智能計算、調度計劃下發。在實時調度界面上調用該子功能。
(1)新增發車計劃和修改運行方案
在實時調度界面上可操作修改車輛的運營狀態,修改發車時間點,下達空放、越站、車輛換向調度、手動發車終到指令,該調度指令通過短信下發到指定車載終端。
短信下發支持自定義短信功能:
空放和車輛換向的區別:根據線路實際調度情況,正確操作【空放】,該操作會產生相應的車次及公里信息;車輛從主站空放到副站,同時將該車的調度時間留給其它到站的車輛使用。根據車輛實際位置,正確操作【車輛換向】,該操作不會產生車次及公里信息,僅是車輛位置從主站調整到副站。
(2)修改司乘
司機換班操作可通過司機刷卡確認后系統自動處理,也可由調度人員手動更換,下發短信到指定車輛的車載終端。
(3)智能計算
根據配車數量智能計算發車間隔;大間隔告警時智能調度;車輛進入主副站時,智能計算越站站數,并發送短信至車載機。
(4)調度計劃下發
調度員實時調整了發車時間后,服務器自動下發車輛發車計劃到車載終端上,同時下發到線路調度屏上顯示。
1.5 報警功能
報警功能主要包括安全報警,報警聯動,異常信息記錄三個子功能。
根據報警類型預設報警機制,實現車載設備自動提示功能,同時報警信息上傳。當車輛報警時,可以在客戶端以彈出窗口和聲音的形式告警,同時可以通過一次點擊觀察到報警車輛的實時視頻。
同時支持告警類型的靈活擴充與配置,平臺端提供存儲、統計查詢、聲光提醒(彈出窗口或固定滾動條,支持提示音的自定義配置)、告警聯動等事件的靈活關聯與綁定。
1.5.1 安全報警子功能
安全報警子功能為實時報警,包括違章報警、車機報警、司機緊急報警、網管報警。
(1)違章報警
當車輛運行違反規章標準時立即產生報警,包括超速、滯站、偏離線路、未按時發車、出現大間隔,并提供明細統計表。
(2)車機報警
包括車輛拋錨、投幣機故障報警。
(3)司機緊急報警
當司機遇到危險情況時,按動緊急報警按鈕,通過一鍵報警。(4)網管報警
監控中心發現車上有異常情況的時候,可以遠程啟動車輛的報警系統。
1.5.2 報警聯動子功能
可以設置多個報警輸入和輸出端口,當報警產生時,根據報警種類的不同和預先設定的通知機制,同時或者分別通知監控中心和司機等相關人員和部門。
1.5.3 異常信息記錄子功能
安全報警信息,以及票箱開關門信息、車輛離線信息需要記錄,以供查詢。
1.6 統計查詢功能
統計查詢功能主要包括營運報表查詢、基礎信息查詢、運行信息查詢、安全告警信息查詢四個子功能。統計查詢內容均能導出至文件和進行打印。
1.6.1 營運報表查詢子功能
營運報表包括但不限于電子路單管理、行車調度日報明細表、線路營運月報表。
3.6.1.1 電子路單管理
電子路單管理包括路單查詢、路單確認、路單補錄、路單修改、路單刪除操作。其中路單查詢可以查詢歷史記錄,路單補錄、路單修改、路單刪除只能對當天記錄進行操作。
電子路單的信息包括車輛名稱、司機名稱、乘務名稱、載客公里、加油公里、回場公里、包車公里、公里合計、GPS公里、快慢點次數、快慢點時間、機障名稱、機障次數、起始時間、持續時間。可根據司機名稱和車號名稱進行篩選查詢。
3.6.1.2 行車調度日報明細表
格式待定。
3.6.1.3 線路營運月報表
格式待定。
1.6.2 基礎信息查詢子功能
包括線路信息瀏覽、車輛信息瀏覽、站點信息瀏覽。
1.6.3 運行信息查詢子功能
包括所有車輛的定位信息、到站信息、離站信息、上傳短信、下發調度信息、車載機連接信息。
1.6.4 安全告警信息查詢子功能
報警模塊中的報警類型及異常信息均可查詢。
1.7 運維管理功能
運維管理模塊包括基礎信息管理、報站文件管理、日志管理、時鐘服務等子功能。
1.7.1 基礎信息管理子功能
包括公司、線路、車輛、站點、設備、監控點、司機、乘務員信息的新增、修改、刪除。
上圖為車輛信息。公司、線路、設備等信息待定。
1.7.2 報站文件管理子功能
包括報站文件制作和遠程升級。
3.7.2.1 報站文件制作
報站文件制作工具可以實現 GPS 車載設備報站文件制作功能。主要功能包括站點信息配置、服務用語配置、公共信息配置等功能。
3.7.2.2 遠程報站文件升級
(1)支持遠程站點信息配置、服務用語配置、限速設置、修改 IP 地址等功能。(2)支持升級車載終端軟件、升級報站文件等功能。
(3)支持除配置文件(不包括注冊車號等)從輛車中導出后,通過系統遠程升級直接下發給其他車輛。
1.7.3 日志管理子功能
包括系統操作日志、報警日志、設備狀態日志。
(1)操作日志:按照時間、操作人員、操作類型進行查詢。
(2)報警日志:可按報警時間、車牌號碼、報警區域、報警類型、處置人員等條件進行查詢。
(3)設備狀態日志:前端采集設備、服務器狀態。
1.7.4 時鐘管理子功能
在平臺建立統一 NTP 時鐘服務,各服務器或前端設備應以統一平臺的時鐘源為基準。統一 NTP 時鐘服務以省廳的時鐘服務為時鐘源。各級系統校時周期應以實際要求為準,但至少每 24 小時校時一次,并有容錯功能以避免設備或網絡問題造成的局部校時錯誤。
1.7.5 數據字典管理子功能
為維護系統提供所需要的數據字典,使用戶可以方便地對諸如車身顏色、號牌類型、號牌顏色、監控方向等交通參數進行定義。要能夠根據數據字典類型和字典項目進行新增、修改、刪除、查詢等操作。
1.7.6 其他信息模塊
系統配置、監控客戶端軟件的自動升級操作、監控點信息下載。
1.8 用戶管理功能
用戶管理功能包括用戶組分級管理,角色管理,權限管理。其中用戶應分組為集團、營運公司、分公司、線路四級,每個用戶對應不同的角色,角色對應相應的權限。提供人機界面,完成用戶的注冊、注銷、編輯、刪除、密碼修改、密碼重置,角色和權限配置等操作。根據用戶角色分配操作權限,確保用戶只能在授權的計算機上使用。
1.8.1 用戶組管理子功能
用戶組分為集團、營運公司、分公司、線路四級。該模塊完成用戶操作的基本功能。(1)注冊
輸入:所屬單位、賬戶名稱、賬戶姓名、賬戶級別、帳戶類別、賬戶組別。檢查:校驗賬戶名稱是否已注冊,若已注冊提示相應信息。輸出:注冊成功。說明:
a)注冊成功后,隨機生成的賬戶密碼和操作密碼均為六位隨機密碼(數字+字母)。b)操作密碼為使用監控目標控制功能的密碼。(2)注銷
輸入:選擇查詢回顯結果信息項后的“注銷”。檢查:提示是否確定注銷。
輸出:注銷成功,并回到原來的賬戶查詢回顯界面。(3)修改密碼
輸入:賬戶原密碼、新密碼(兩次);操作原密碼、新密碼(兩次)。檢查:校驗輸入的原密碼是否正確;校驗兩次輸入的新密碼是否一致。輸出:密碼修改成功,并回到原來的賬戶查詢回顯界面。說明:賬戶使用者可修改自己的賬戶密碼和操作密碼。(4)密碼重置
輸入:選擇查詢回顯結果信息項后的“密碼重置”。
輸出:密碼重置成功,并回到原來的賬戶查詢回顯界面。說明: a)只有系統管理員和機構管理員具備該功能權限。
b)重置后的賬戶密碼和操作密碼均為六位隨機密碼(數字+字母)。
1.8.2 角色管理子功能
根據具體管理需要,自定義系統角色,為不同的角色分配不同權限,對于同一用戶可以有不同角色。通過人機界面,方便新增角色、修改角色權限等操作。
1.8.3 權限管理子功能
系統支持數字證書權限認證的集成。可進行系統用戶的添加、刪除、修改、查詢。通過角色和資源的授權對用戶進行圖像瀏覽、下載、操作區域等(不同角色對應的權限需要再確定)進行權限控制。系統通過管理角色和定義角色的權限來給具體用戶分配權限。相同的角色擁有相同的權限,可以給系統用戶分配不同角色來給定義其權限。
第二篇:公交車管理系統
燕山大學課程設計說明書
名稱:操作系統OS
題目:公交車上司機與售貨員協調工作模擬
班級:07級計算機 開發小組:三劍客 課題負責人:張浩
課題組成員:張浩 李康 張曉玉
姓名
學號
班級
自評成績 張
浩
070104010121 07應用2班
A 李
康
070104010113 07軟件3班
B 張曉玉
070104010131 07軟件3班
B
開發日期:2010年1月11日-15日
1概述
計算機操作系統是計算機系統中最不可缺少的,最常用的軟件,也是核心的,最接近于計算機硬件的軟件。其特點是內容繁多,概念抽象,因此造成理解困難,掌握不易。本軟件的主要目的是通過直觀的演示,使學生能夠感性的明白掌握多道程序及其進程同步和互斥的程序設計的基本方法。
1.1基本功能
利用多線程同步技術模擬公交車系統,實現司機與售票員的同步與互斥關系,即開車時不允許開門,開門時不允許開車,實現每個乘客一個線程同步互斥的上下車。每站隨即生成上下車人數,上下車線程實行,先下后上原則。到終點站后,可以統計本次出車的載客人數。
1.2開發計劃
第一步,進行問題分析,確定需要解決的問題; 第二步,進行整體構思與框架設計;
第三步,查閱資料,分析所需要設計的程序算法; 第四步,進行各種算法及各個細節編碼的詳細設計; 第五步,進行代碼調試,修改程序中的錯誤; 第六步,整理總結書寫報告,進行答辯。
1.3人員分工
張浩:分析構架,核心代碼編寫;
李康:用戶界面設計,輔助代碼編寫,調試; 張曉玉:功能測試、書寫實驗報告。
1.4 開發環境及開發工具
本程序是以在windows XP下用Netbeans和 jdk搭建的平臺上,以Java作為開發語言進行編寫的。
使用的開發工具:netbeans.NetBeans平臺直接提供了應用程序的常見需求,如菜單、文檔管理和設置。“NetBeans”構建應用程序是指,僅提供 NetBeans平臺尚不包含的應用程序部分,而不是從頭開始編寫應用程序。在開發周期結束時,可以將應用程序與 NetBeans平臺捆綁在一起,從而節省了很多時間和精力,并且構建的應用程序穩定可靠。
使用的開發語言:java.Java是一種簡單的、面向對象的、分布式的、解釋的、鍵壯的、安全的、結構的中立的、可移植的、性能很優異的多線程的、動態的語言。其特點主要有:平臺無關性、健壯性、面向對象、安全性、分布式。
1.5使用的基本概念和原理
多道程序:用戶所提交的作業都先存放在外存中并排成一個隊列,成為“后備隊列”;然后,由作業調度程序按一定的算法由后被隊列中選擇若干個作業調入內存,使它們共享CPU和系統中的各種資源。
進程:進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位。
線程:操作系統用來調度、分派的最小單位。同步和互斥:
臨界段:臨界段對象通過提供所有線程必須共享的對象來控制線程。只有擁有臨界段對象的線程才可以訪問保護資源(進行臨界區操作)。在另一個線程可以獲取對象的訪問權。用戶應用程序可能會使用臨界對象來阻止兩個線程同時訪問共享的資源發文件等。
互斥量:互斥量的工作方式和臨界段非常相似,其區別在于互斥量不
公保護一個進程內的資源共享,而且還保護系統中進程之間的共享資源。它是通過為互斥量提供一個“互斥量名”來進行進程間資源共享協調的。
事件:事件對象用于給線程傳遞信號,指示線程中特定的操作可以開始或結束。除非線程已經收到了這個事件信號,否則它將一直處于掛起狀態。當事件對象進入其信號狀態時,正在等待該事件的線程就可以開始執行。例如,一個應用程序可以通過事件來通知線程它需要的數據已經準備好。經常利用事件進行線程之間的通信。
信號量:信號量與互斥相似,但是互斥只允許在同一時刻一個線程訪問它的數據,而信號量允許多個線程在同一時刻訪問它的數據。WIN32 不知道哪一個線程擁有信號量,它只保證信號量使用的資源計數正確的設置。
2需求分析
協調司機和售票員以及乘客在運行與開關門以及上下車時的關系,實現同步互斥,避免發生不必要的沖突,節省了時間空間資源。本程序顯示上下車人數,并顯示車上總人數,使車內人數不超過總座位數。最終,利用統計功能,顯示此次公交車運行的各種參數:車次、總站數、總載客數。
3總體設計
基本的技術路線:面向對象;
軟件的總體結構:分為可視化界面以及后臺數據執行;
內部模塊關系:司機類與售票員類同步互斥,上車類與下車類同步互斥;
總體流程:停車-開門-下車-上車-關門-開車;
需要創建的進程線程:主窗口線程、司機線程、售票員線程、上車乘客線程、下車乘客線程。
流程圖如下:
4詳細設計
Wait(),notify(),實現進程的等待和喚醒。
BusJFrame()創建主窗口,Driver()和Conductor()分別創建司機和售票
員線程,PassengerOn()創建上車線程,PassengerOff()創建下稱線程。
確定要設計的過程、構件、類、對象、函數和它們的參數,要給出具體的名稱和參數及其解釋。
由Driver類調用BusState類的stopCar()和runCar()方法,由Conductor類調用BusState類的openDoor()和closeDoor()方法,實現同步互斥。
由PassengerOn類調用Seat類的takeOn()和hasOn()方法,由PassengerOff類調用Seat類的takeOff()和hasOff()方法,實現上下車線程的同步和互斥
5編碼設計
5.1開發環境的設置和建立
首先安裝JDK,如下圖:
然后安裝Netbeans,并關聯JDK:
5.2程序設計過程只需要注意的事項
實現同步互斥的方法應成對出現,防止出現死鎖狀態;互斥信號應定義清晰,以用于互斥方法的實現;線程的創建和指針傳遞清晰明確,用于線程之間的交互。
5.3關鍵構件和插件的使用
Netbeans的使用與一般編程軟件接近,但是它包含了很多強大的插件,利用其中的插件我們可以簡單的實現很多復雜的功能,例如在本次試驗中
惡我們程序的可視化窗口的建立就是利用如下組建實現的。
5.4主要程序的代碼設計及注釋
BusState類主要源代碼: public class BusState {
public static boolean doorClosed=false;
public static boolean busStopped=true;
//獲取輸出框指針
private static JTextArea bSay;
public static void getBusSay(JTextArea b)
{
bSay=b;
}//獲取輸出框指針
public synchronized void stopBus()
{
busStopped=true;
bSay.setText(“車已停”);
this.notify();
}
public synchronized void runBus()throws InterruptedException
{
while(!doorClosed)
{
this.wait();
busStopped=false;
}
}
public synchronized void closeDoor()
{
doorClosed=true;
bSay.setText(“門已關”);
this.notify();
}
public synchronized void openDoor()throws InterruptedException
{
while(!busStopped)
{
this.wait();
doorClosed=false;
}
}
} package ysu;
import java.util.logging.Level;import java.util.logging.Logger;
Conductor類的主要源代碼: public class Conductor extends Thread{
//獲取主窗口指針
private static BusJFrame bj;
public static void getBusJFrame(BusJFrame b)
{
bj=b;
}
//獲取BusState類的指針
private static BusState bState;
public static void getBusState(BusState b)
{
bState=b;
}
//獲得一個Driver進程類的指針
private static Driver dr;
public static void getDriver(Driver d)
{
dr=d;
}
//用于創建On和Off類
private void createOn()
{
Thread a=new PassengerOn();
a.start();
}
private void createOff()
{
Thread b=new PassengerOff();
b.start();
}
private boolean timeToQuit=false;
private int station=0;
public static boolean finish=false;
public void run()
{
while(!timeToQuit)
{
try {
bState.openDoor();
bj.busSay.setText(“門已開”);
Thread.sleep(1000);
bj.busSay.setText(null);
bj.conductorSay.setText(“請抓緊時間上下車”);
Thread.sleep(2000);
bj.conductorSay.setText(null);
bj.busSay.setText(“開始上下車”);
Thread.sleep(2000);
bj.busSay.setText(null);
Seat.doorAvailable=true;
if(Seat.willOn>(Seat.seatRemain+Seat.willOff))
{
Seat.canOn=Seat.seatRemain+Seat.willOff;
}else
{
Seat.canOn=Seat.willOn;
}
//統計本次出車載客人次數
Seat.totalPassenger=Seat.totalPassenger+Seat.canOn;
//創建上下車乘客的進程
for(int i=0;i { 坐下班客車“); createOff();} for(int i=0;i createOn();} if(Seat.canOn==0&&Seat.willOff==0){ finish=true;}else { finish=false;//等待上下車完成 } while(!finish){Thread.sleep(100);} if(Seat.canOn bj.busSay.setText(”很抱歉n本車已滿n歡迎乘 Thread.sleep(2000);} Seat.doorAvailable=false;Seat.hasOn=0;//清零,防止出現累加 Seat.hasOff=0; bj.busSay.setText(“上下車完畢”); bj.seatRemain.setText(“"+Seat.seatRemain); bj.seatUsed.setText(”“+Seat.seatUsed); station++; if(station>Seat.totalStation) { timeToQuit=true; Driver.timeToQuit=true; break; } Thread.sleep(2000); bj.busSay.setText(null); bj.conductorSay.setText(”關門了“); Thread.sleep(2000); bj.conductorSay.setText(null); bState.closeDoor(); Thread.sleep(1000); } catch(InterruptedException ex){ Logger.getLogger(Conductor.class.getName()).log(Level.SEVERE, null, ex); } try { Thread.sleep(200); } catch(InterruptedException ex){ Logger.getLogger(Conductor.class.getName()).log(Level.SEVERE, null, ex); } } bj.conductorSay.setText(”終點站到了n謝謝乘坐本車n再見“); bj.willOff.setText(”“+0); bj.willOn.setText(”“+0); BusJFrame.sumrizeAvailable=true; dr.stop(); } } /* * To change this template, choose Tools | Templates * and open the template in the editor.*/ package ysu;import java.util.logging.Level;import java.util.logging.Logger;Driver類主要源代碼: public class Driver extends Thread{ //獲取主窗口指針 private static BusJFrame bj; public static void getBusJFrame(BusJFrame b) { bj=b; } //獲取BusState類的指針 private static BusState bState; public static void getBusState(BusState b) { bState=b; }//獲取BusState類的指針 public static boolean timeToQuit=false; public void run() { while(!timeToQuit) { try { bState.runBus(); Thread.sleep(1000); bj.driverSay.setText(”出發“); 已有的人 人數 bj.nowNextSation.setText(”下一站“);bj.nextStation.setText(”第“+(++Seat.nextStation)+”站“);int a=(int)(Math.random()*10);//下車人數不能多于車上if(Seat.seatUsed Seat.willOff=Seat.seatUsed;}else { Seat.willOff=a;} //提前創建下一站要下車的人數 if(Seat.nextStation==Seat.totalStation){ Seat.willOn=0; Seat.willOff=Seat.seatUsed;}else { Seat.willOn=(int)(Math.random()*10);//生成上車的} bj.willOff.setText(”“+Seat.willOff);bj.willOn.setText(”“+Seat.willOn);bj.busSay.setText(null);Thread.sleep(2000);bj.driverSay.setText(null); bj.busSay.setText(”客車行駛中“); Thread.sleep(3000); bj.busSay.setText(null); bj.driverSay.setText(”到站了“); bj.nowNextSation.setText(”本站“); Thread.sleep(1000); bj.driverSay.setText(null); bj.busSay.setText(”車已停“); Thread.sleep(1000); bState.stopBus(); Thread.sleep(1000); } catch(InterruptedException ex){ Logger.getLogger(Driver.class.getName()).log(Level.SEVERE, null, ex); } } } } Seat類的主要源代碼: /* * To change this template, choose Tools | Templates * and open the template in the editor.*/ package ysu;/** * * @author Administrator */ public class Seat { public static int totalStation=4; public static int totalPassenger=0; public static int totalSeat=30; public static int stationName=10; public static int busName=30; public static int seatTotal=30; public static int seatRemain=30; public static int seatUsed=0; public static int willOff=0; public static int willOn=0; public static int canOn=0; public static int hasOn=0; public static int hasOff=0; public static int nextStation=0; public static boolean doorAvailable=true; public static void reset() { totalStation=12; totalPassenger=0; totalSeat=30; stationName=0; busName=30; seatTotal=30; seatRemain=30; seatUsed=0; willOff=0; willOn=0; canOn=0; hasOn=0; hasOff=0; nextStation=0; doorAvailable=true; } public synchronized void takeOn()throws InterruptedException { while(!doorAvailable||hasOff { this.wait(); } doorAvailable=false; hasOn++; seatUsed++; seatRemain--; } public synchronized void takeOff()throws InterruptedException { while(!doorAvailable) { this.wait(); } doorAvailable=false; hasOff++; seatUsed--; seatRemain++; } public synchronized void hasOff() { doorAvailable=true; this.notifyAll(); if(Seat.hasOff==Seat.willOff&&Seat.canOn==0) { Conductor.finish=true; } } public synchronized void hasOn() { doorAvailable=true; this.notifyAll(); if(Seat.hasOn==Seat.canOn) { Conductor.finish=true; } } } PassengerOn類的主要源代碼如下: /* * To change this template, choose Tools | Templates * and open the template in the editor.*/ package ysu;import java.util.logging.Level;import java.util.logging.Logger;/** * * @author Administrator */ public class PassengerOn extends Thread{ //獲得Seat類的指針 private static Seat seat; public static void getSeat(Seat s) { seat=s; } //獲取主窗口指針 private static BusJFrame bj; public static void getBusJFrame(BusJFrame b) { bj=b; } @Override public void run() { try { Thread.sleep(100); } catch(InterruptedException ex){ Logger.getLogger(PassengerOn.class.getName()).log(Level.SEVERE, ex); } try { seat.takeOn(); } catch(InterruptedException ex){ Logger.getLogger(PassengerOn.class.getName()).log(Level.SEVERE, ex); } bj.busSay.append(”第“+Seat.hasOn+”人已經上車n“); bj.seatUsed.setText(”“+Seat.seatUsed); bj.seatRemain.setText(”“+Seat.seatRemain); bj.willOn.setText(”“+(Seat.canOn-Seat.hasOn)); bj.willOff.setText(”“+(Seat.willOff-Seat.hasOff)); try { Thread.sleep(2000); } catch(InterruptedException ex){ Logger.getLogger(PassengerOn.class.getName()).log(Level.SEVERE, ex); null,null, null,} seat.hasOn(); } } PassengerOff類的主要源代碼如下: /* * To change this template, choose Tools | Templates * and open the template in the editor.*/ package ysu;import java.util.logging.Level;import java.util.logging.Logger;/** * * @author Administrator */ public class PassengerOff extends Thread{ //獲得Seat類的指針 private static Seat seat; public static void getSeat(Seat s) { seat=s; } //獲取主窗口指針 private static BusJFrame bj; public static void getBusJFrame(BusJFrame b) { bj=b; } @Override public void run() { try { Thread.sleep(100); } catch(InterruptedException ex){ Logger.getLogger(PassengerOff.class.getName()).log(Level.SEVERE, ex); } try { seat.takeOff(); } catch(InterruptedException ex){ Logger.getLogger(PassengerOff.class.getName()).log(Level.SEVERE, ex); } bj.busSay.append(”第“+Seat.hasOff+”人已經下車n“); bj.seatUsed.setText(”“+Seat.seatUsed); bj.seatRemain.setText(”“+Seat.seatRemain); bj.willOn.setText(”“+(Seat.canOn-Seat.hasOn)); bj.willOff.setText(”"+(Seat.willOff-Seat.hasOff)); try { Thread.sleep(2000); } catch(InterruptedException ex){ Logger.getLogger(PassengerOff.class.getName()).log(Level.SEVERE, ex); } seat.hasOff(); } } null,null, null,5.5解決的技術難點、經常犯的錯誤 理清司機與售票員之間的同步互斥關系和用于實現互斥的變量和放法,理清上下車乘客的同步互斥關系的變量與方法,確定司機、售票員、上下車乘客同步互斥變量; 出現的錯誤有:互斥變量的使用,設計的位置不當,實現同步互斥的方法位置不當,最初的邏輯構架關系不對,以上錯誤經認真斟酌、校驗,均已解決。 6測試 在已經安裝JDK的操作系統中雙擊可執行文件,進入公交車模擬系統,可以根據菜單或者快捷鍵進行操作。 點擊開始,系統中顯示客車次、總站臺數等等,如圖: 上下車人員按先下后上進行上下車,如圖: 當到達終點站時,車上乘客必須全部下車,不允許上車操作,如圖: 當到達終點站,進行下車完畢后,點擊統計,可以查看本次出車載客人次,如圖: 點擊退出即可退出公交車模擬系統。 7.總結 突出特地:簡單、易操作。完整地表示了行車與開門的同步互斥,下車與上車的同步互斥。 經驗、教訓和感受: 總體說來,這次OS課程設計是一次很有趣味的歷程。實驗期間安裝了Netbeans并參考了一些基礎書籍,對Netbeans的基本操作和特性有了必須的了解,為課設的開展打下了一個最簡陋的基礎。實驗題目涵蓋面較廣,需要廣泛的查閱資料,以及開動腦筋獨立解決種種問題。Netbeans并不是易于使用的系統,因此在實驗過程中也自然的遇到了許許多多“稀奇古怪”的問題,同時又在解決與理解問題中對這個系統一個個精妙的強大的設計感嘆不已。 與其他同學的交流也是這次課設中有意思的地方。本班解決生產者消 費者問題和公交車模擬問題的同學幾乎各占一半,于是在討論的過程中也對不同的設計風發之間的差異有了更深的認識。從同學那里獲得幫助,幫助別人解決問題,自己都受益匪淺,也在這樣的氛圍中越來越感覺到應用編程與開發的樂趣。 在完成的源代碼中還存在相當多的不足,例如圖形顯示的Bug,忽略文件屬性控制等等。需要在以后的學習與工作中更加努力的改進。這次的OS課程設計,也為我們提供了一個鍛煉與審視自身能力的機會,意義匪淺。 8.參考文獻 Netbeans-JAVA桌面、WEB與企業級程序開發詳解 吳亞峰 王鑫磊著 人民郵電出版社 JAVA語言程序設計 郎波 著 清華大學出版社 學生工作管理系統包括學生工作計劃管理、團委工作管理、黨建工作管理、畢業管理、獎懲信息管理、獎學金管理、助學管理、學生干部管理、學生思想教育管理、學生綜合測評、學生心理咨詢、網上調研、人文素質學分管理等功能,是學生管理工作的有效輔助工具,可使學校管理人員擺脫煩雜、重復的信息統計和維護工作,將更多的精力用于學生思想及文化素質教育,對建立良好的學風、維護穩定的校園秩序、提升管理及服務水平具有重大的現實意義。 學生工作管理系統功能實現: 一、學生事務管理 學生事務包含學生基本信息管理、學生獎懲、學生欠費清理及保險事宜等。 1、查詢:能隨時查看、統計全校學生各種基本詳細信息,并能導出相關信息。學生的基本信息還應包括:輔導員、聯系方式、家庭聯系方式、銀行卡號等,基本信息的字段以及修改權限可由管理員自行設定。 2、學生日常管理(校外住宿、請假、離校、學生活動組織、學生證補辦、學生保險管理等) 3、記錄學生獎懲情況 設置獎勵類別(校級、區級、市級、國家級)、登記學生獎勵、設置懲罰類別(警告、嚴重警告、記過、留校察看、開除學籍)、登記學生懲罰、解除學生察看期(學生登錄系統可以直接查看自己的處分,留校察看期始于,止于什么時間,解除留校察看期,以及其他處 分)、分類別按院(系)/部/年級查看學生獎勵。 4、學生欠費清理 未交清學費的學生,可以隨時生成名單,包括學生的各種基本信息、獲資助情況等。 5、記錄學生保險辦理與理賠情況。設置保險類別、登記參加保險學生、登記保險理賠情況、查看參保學生、查看保險理賠情況。管理員能夠對已購買保險的名單進行批量刪減、增加、修改。 6、退學:查看退學學生名單、生成分析退學學生圖表。 二、助學管理 包括貧困生檔案、助學金、勤工助學、貧困資助、助學貸款等。 1、貧困生檔案:審核學生貧困申請,建立學生貧困檔案。 2、勤工助學管理:審核學生勤工助學申請,確定勤工助學學生,學校為這些學生提供勤工儉學的機會,先確定學校提供的助學崗位信息,容納人數,崗位標準;為已安排崗位的學生實行登記、管理,確定資助金額,發放日期;統計上崗學生人數、發放金額。 3、學生資助管理:為在校特困生、受資助生、少數民族學生發放資助,登記資助金額,發放原因。 4、學生貸款管理:查詢,管理申請生源地貸款的學生信息,包括申請金額,申請的起始時間,結束時間,申請銀行及經辦人。 5、銀行卡信息更新:整理收集由財務處提供的全院學生銀行卡信息,學生憑統一身份認證更新自己的銀行卡信息,導出學院學生銀行卡賬號等。 三、評獎評優管理 實現學生在校期間的獎學金評定、優秀學生、優秀畢業生等評定管理,實現由學生處負責人在線設置各項獎勵的評定等級、評定原則、人數、金額等。通過時間控制學生在線申請的起止時間,有資格的學生在線申請各項獎勵,由院系進行審核,學生處進行在線審批等流程化管理,并打印出相關的綜合統計報表。 (一)具體有以下幾個方面功能: 1、學生處設置評獎評優的條件,包括時間、等級、金額、人數的設置等; 2、發布評獎評優的信息,提供學生在線申請機制; 3、記載班級榮譽; 4、設置榮譽項目、分榮譽項目登記榮譽班級; 5、學生在線申請評獎評優,包括申請的等級、金額、申請的事由、在校的特殊表現等; 6、院系輔導員在線進行審核,審核通過的學生信息自動上報二級學院,由二級學院負責人在線進行復審,提交最后名單報學生處; 7、評獎評優的發放管理等; 8、綜合匯總統計,報表輸出。 (二)學生綜合測評成績管理 1、每個學生的成績設置三個大類,每個大類分若干個加分項目。 2、能進行一些簡單的運算,自動生成每個學生每一大類的總分,以及每個學生的排名情況。 3、進行動態管理,修改某一個數據后,能自動修改相應的所有數據。 4、每個學生的成績需要按學院、專業進行相關匯總、排名。 四、心理健康管理 (一)人員及機構管理系統 實現不同學院、專業、班級多級管理,通過EXCEL文件自動導入人員信息,并自動檢索生成對應院系機構信息,系統提供分院系或人員授權訪問學生檔案,實現中心到院系與兼職心理咨詢師的訪問管理。通過審核與授權控制系統訪問權限和報告的反饋。 (二)心理測評系統 提供多種咨詢過程中常用的心理健康、人格、情緒、智力、職業生涯、人際關系、學習壓力等多個方面的測評量表,可以在線測試,并提供測試結果分析報告;采用多種技術優化措施,單臺Web服務器支持1000人以上在線測評。 (三)人口學調查系統 自定義調查項目,用于不同角色的背景信息調查,滿足樣本分析變量需要數據報表輸出含調查項目,滿足SPSS樣本分析與統計;調查項目在檔案及數據分析子系統作為查詢條件滿足樣本篩選需要。支持單選、多選、填空、問答項目,讓心理老師更全面的了解學生心理健康狀況。 (四)個案輔導管理系統 完善的個案輔導管理系統,實現個案建檔、問題分類、訪談記錄、輔導總結報告、回訪反饋跟蹤的規范化管理;個案檔案管理為案例分析與檔案查詢提供網絡化管理;心理咨詢師的時間安排實現網絡化管理;通過多種條件對個案進行統計,了解學生常見問題,制定針對性的干預措施,如心理健康教育講座、團體活動、成長訓練等。同時咨詢中心可以通過個案輔導管理系統對咨詢師個人成長進行督導溝通。 (五)心理檔案系統 心理檔案系統更全面的讓心理老師了解學生的個人心理狀況,包含個人基本信息、人口學調查項目、心理測評結果與報告、網絡調查結果、心理咨詢記錄、個人成長報告、教師評價等;實現報告在線反饋;支持綜合報告輸出和批量報告輸出打印;并滿足心理老師自定義報告格式的輸出免費升級;系統可以控制輸出報告圖表的維度開放與關閉,靈活的管理與控制滿足心理檔案個性化、專業化需要。 (六)心理咨詢與預約系統 系統支持兩種方式供學生向老師咨詢心理問題,一種開放在心理網站的匿名方式向老師進行咨詢,一種是設置心理老師咨詢專欄,向指定老師實名進行心理咨詢,心理咨詢的記錄保密處理,僅限于咨詢者和輔導老師查詢,其他人查詢需要經管理員授權;預約系統通過心理咨詢老師設定自己的預約時間、地點、聯系方式,由學生選擇合適的時間段和適合自身情況的老師進行預約。預約發布支持單個時間段發布也支持批量發布。并對學生退約情況進行關注。 (七)學生心理自助查詢系統 心理知識手冊 五、團委工作管理 團委工作是高校管理工作的一個重要方面,涉及到組織工作、宣傳工作、社團活動及素質拓展。 1.組織工作:維護組織機構,管理團員檔案,積極發展團員,定期收繳團費,團籍注冊,嚴格團干選拔,登記團內獎懲,推薦優秀團員入黨。 2.活動場地的申請,實現直接在網上進行審批的功能。3.宣傳工作:團內刊物,通訊稿件,宣傳活動,宣傳板報。4.社團管理:社團成員基本信息、指導老師的評定、學生參加社團活動情況登記,記載成績等(每一個社團的評定權限為每一個指導老師)、社團的注冊情況。 5.社團活動:社團登記并通過校園網發布社團信息,接受學生網上報名、審核參加社團申請;開展社團活動并通過校園網發布社團活動信息。 六、輔導員隊伍管理 對全院的輔導員隊伍進行管理,為全校所有班級任命輔導員。首先由學生處設定工作量標準,然后各院系為本院系的班級任命輔導員,提交學生處審核。審核通過之后,輔導員就可以管理本人所帶班級的學生,對學生提交的相關申請進行審核。學生處具有最高權限,對全校班級的輔導員進行任命或取消。 七、輔導員工作考評 對全院輔導員進行考評,參評者分別在網上填寫考評表,各二級 學院考評后統一將數據提交,學生處將各學院考評結果進行匯總并公示。 八、交流平臺 該平臺提供留言、回復的網上交流機制,是家長、輔導員、學生三方面溝通的渠道,系統可設置查看權限,允許家長的留言只有自己的孩子及其輔導員才能查看。 九、活動的統計分析 統計學生處舉辦的所有活動信息:按學年統計開展活動的場次、報名人數、參加人數等。 十、在線調查 此項功能主要用于簡單的問卷調查、學生評教等。 管理員根據需要設置問卷題目和選項,學生登錄系統后可在線作答,系統對各變量做統計分析; 管理員可以批量導出數據,用于更復雜的統計分析。 學員管理系統功能需求 學員卡管理子系統: 對每個學員生成相應的IC卡或其他類型的卡 可以增加、修改、查詢學員卡。可對學員卡進行掛失操作,學員卡包含住宿信息(與酒店管理系統、門禁系統整合),包含飯堂的用餐信息(與飯堂的一卡通系統整合),借書信息(與圖書館的系統整合)。 住宿管理子系統: 學員住宿管理用于管理學員的住宿,包含分房、退房、對調功能,可以根據班級、組別、是否已分配等條件查詢,同時也可以按樓宇、狀態、樓層標示、時間段進行查詢。 住宿管理系統若可以替代現有的“酒店管理系統”則可以在后期制作。需要進一步完善現有酒店管理系統,具體業務由到總臺調研寫出需求分析報告。 后臺系統管理系統: 包括用戶管理、系統參數設置、權限管理、角色管理、工作流配置、日志管理等功能。具備靈活定制的功能,權限管理能對角色和數據分別定制,工作流配置提供圖形化操作。系統管理中的權限及后臺登陸用戶需要與現有OA系統結合,可在現有OA系統中配置每個管理員的權限及賬號。不在學員管理系統中制作相應模塊,而是改造現有OA系統的功能模塊。 考勤管理子系統: 包括刷卡簽到等多種先進的上課考勤方式,有效考勤、記錄、查詢,但不造成堵塞,并可以講到課率等信息公布到網上,方便各班對比(要求可以靈活支持調課、聽課等事件的發生);記錄學員行為描述,如:班主任或有權限的人可以錄入或由系統自動記錄上課期間某學員走出教室打電話多少次,每次多少分鐘。 班級考勤管理,班級考勤管理包括考勤管理、考勤統計、外出考勤、考勤數據導出、考勤任務管理 考勤通過學員卡來進行考勤。 考勤管理,用于管理學員的考勤狀態,按照班級、日期時間查詢。考勤統計,用于統計班級學員在一個時間段內的考勤情況統計。 學籍管理子系統: 虛擬檔案功能,每一項都有審核人,每一項都有是否已審核的標記。學員信息可以終身保留、跟蹤。 學籍管理包括對班級學員的基本信息進行管理,包括查詢、班級組別管理、新增、修改、批量修改、刪除、查看、退學、學籍、導入、導出、下載模板、打印操作。 班組管理: 包括班級科目管理,對班級成績科目進行管理,包括新增、修改、刪除科目、提取科目、初始化成績、導出、打印操作。班級信息查詢,班級信息查詢是從教務管理中的班級信息管理中抽出查詢功能而來,包括查看當前班級和歷年班級的信息,功能包括查詢班級信息、查看班級信息、查看班級課程、查看班級的學員名冊、導出、打印功能。當前班級,查詢當前班級信息、查看班級信息、查看班級課程、查看班級的學員名冊、導出、打印功能。歷史班級,查詢歷史班級信息、查看班級信息、查看班級課程、查看班級的學員名冊、導出、打印功能。 教師管理子系統 教師管理包括教師基本信息,專業介紹,成果介紹,與學員和班級的對應等功能 成績管理子系統: 學員成績管理包括管理班級成績科目和班級學員成績。對學員成績進行管理,包括成績名冊查看、修改保存、提取論文成績、導出、打印操作。 網上報名子系統: 包括刷卡報到等多種先進的學員報到方式,有效緩解報到難、慢、繁的問題。學員可以自己填寫自己的每一項信息;也支持集中填寫個人資料;可以直接導入學員們的個人資料,與學校網站結合增加網上報名接口 統計分析報表子系統: 可以統計是否有人常來,有些單位總是某個人來。可以統計某人是不是每種不同的培訓都經常來參加。 重點培養對象統計:可以統計每人參加各種不同培訓的總次數,并可以排序,可以顯示Top 10、Top 20、Top 50、Top 100、Top 200等等。 應付了事的“擋箭牌”統計:可以統計每人參加相同的培訓的總次數,并可以排序,可以顯示Top 10、Top 20、Top 50、Top 100、Top 200等等。 基礎數據管理系統: 對基礎數據的綜合管理,對學員庫、班級庫、學科庫等基礎數據的管理。 用戶管理、系統參數設置、權限管理、角色管理、工作流配置、日志管理等功能。具備靈活定制的功能,權限管理能對角色和數據分別定制,工作流配置提供圖形化操作界面。 文章管理子系統: 學員文章管理包含學員文章上傳、學員文章分配、學員文章批改、學員文章查詢。學員文章上傳用于管理上傳的學員論文文章,并有制作發布到校園網的相應入口。 學員文章分配(是分配學員文章給相關教師批改。學員文章批改功能是教師批改文章,分代批改和已批改,已批改的文章可以重批等。 學員文章查詢可以根據設定條件查詢學員文章信息和批改情況。 相冊管理子系統 相冊管理包含查詢和瀏覽學員相片、貼框打印、班級全部相片上傳和單張照片上傳。其中貼框打印用于生成打印頁打印來貼學員相片;班級全部相片上傳和單張照片上傳則上傳學員的照片。 珉軒智能()--------智能家居一站式服務 一流品質,一流服務 餐廳亮點智能控制系統簡介 隨著智能技術的發展及其在酒店各不同區域的廣泛應用,照明控制系統僅僅達到上述要求已遠遠不夠。業主和設計師希望酒店照明控制系統不僅僅滿足使用要求,他們希望在系統控制場景變化的同時,還應做到便于管理和節省能源。具體而言,有以下幾點: (1)酒店對客人要強調第一印象,要求利用明暗有序和適度的照明環境讓人進入酒店就感受到典雅舒適的氣氛。 (2)需要因不同的場面而變幻的燈光效果,以營造出不同的照明環境。優秀的燈光設計可為酒店吸引眾多的顧客,并能營造出一種溫馨、舒適的環境,增添其藝術的魅力。高雅別致的光環境可給予顧客一種賓至如歸的感覺,增添顧客對酒店的好感,親切而又溫馨。溫和浪漫的可創造出立體感、層次感和不同色彩的環境氣氛,不僅使客人有個舒適的居住環境,而且還可以產生一種藝術欣賞感,對酒店產生流連忘返之感。 我司根據印象余干實際控制要求做以下控制方案:(聲光電同步控制方案)包間控制:整房控制理念的核心是利用現代科技為有高層次需求的人提供一個全方位服務的房屋控制系統,就是把整間包房的全部燈光結合背景音樂進行統一管理和資源配置,使其成為統一的為賓客服務的智能化系統。 舉例說明: 每個包間設置4個不同情景模式(迎賓情景、用餐情景、散場情景、清潔情景)和多個主菜語音播報情景模式; 迎賓情景: 地址:南昌市洪都北大道488號竑鼎福第4號樓2單元3樓 珉軒智能()--------智能家居一站式服務 一流品質,一流服務 每當迎來貴賓時,服務人員啟動“迎賓情景”燈光徐徐亮起,屋內的燈具將柔和的光線灑滿整個房間,射光燈照亮了壁畫,背景系統自動播放酒店特別介紹,完畢后傳出悠揚的音樂,這一切使得聚餐的賓客感覺到氣氛融洽,而這都是在家居智能控制器的控制下完成的,您只需要簡單地按動一個按鍵就可營造出如此美妙動人的場景! 頭菜或主菜語音播報情景模式: 每當頭菜或主菜送到包間門前時,服務人員啟動“相應(菜名)場景模式”,主燈漸暗至30%(漸變時間可編程控制),包間內少量燈光保留原有開啟狀態,其它部分燈光自動關閉,同時背景音樂自動語音播放相應菜品特色(工藝、做法、口感、營養成分等等),服務人員把主餐送至餐桌,聚光燈同時啟動,烘托菜品,菜名播放完畢,聚光燈漸暗至關閉,包間其它燈光全部開啟,主燈漸至100%(漸變時間可編程控制)。 江西珉軒智能科技有限公司 2012/5/30 地址:南昌市洪都北大道488號竑鼎福第4號樓2單元3樓第三篇:學生工作管理系統功能需求報告
第四篇:廣西區委黨校學員管理系統功能需求
第五篇:智能餐廳系統功能簡介 - 副本