活動室申請系統是乙個廣泛存在的系統,如學生想要組織活動,需要學校的場地,那麼他們會去向有許可權的老師申請場地,然後在規定時間去規定的場地活動,如果這個場地是乙個有鎖的房間,那麼可能還需要找門衛要鑰匙開門,通常還需要出示申請通過的證明……
這是一件邏輯簡單的事務,隨著辦公網際網路化、無紙化辦公的需要,活動室申請系統應運而生。
我們可以抽象地描述剛才的事務:
首先有若干場地、空間、房間(room)需要掛載在系統上;
然後管理員(administrator)審批申請;
然後門衛(gatekeeper)核對申請並提供進入場地的方法;
由於這個東西與線下資源結合緊密,自動提供進入場地的設施需(自動門衛)要嵌入式裝置的支援,目前暫不考慮。
可以看到,場地是最根本的東西,沒有場地,那後面所說的一切都不重要了,但場地絕不是這個系統第乙個誕生的物件。
前後端耦合度非常低,可以說後端僅僅是提供了一套api。
前後端通過ajax,json格式傳遞資訊。
使用者有乙個屬性:使用者組——來區別申請人、管理員或者是門衛。
我們假設管理員與門衛是堅決站在場地所有人一方的,管理員具有系統基本上所有的權力(但他們可能不能修改系統**),門衛則僅僅有管理線下場地的權力。
另外,隱藏有乙個可以作業系統後台**檔案的人(通常是運維人員),這不屬於系統內部,不作考慮(儘管它可能對系統具有無上的權力)。
但開放註冊的使用者群,不能排除存在惡意使用者的情況,必須嚴加提防。
乙個門衛可以管多個場地,但乙個場地最多只能歸乙個門衛管。因此場地應該具有乙個門衛的引用屬性,但可以為空,因為有一些場地是不需要門衛的。
場地有不重複的名稱、描述、門衛三個屬性,我們假設乙個場地的合法門衛只能是乙個人,避免責任分攤;他可以授權給其他人(線下),但一旦發生門禁意外,由門衛負責財產損失。
申請表是由使用者提出的,是申請人為了場地的使用許可權而提交的表單。
我們假設,申請至少要自擬乙個標題,並作詳細的使用場地的描述。
除此之外,要提供「具體申請的是哪個場地」、「是誰申請的」、「在哪個時間段使用」這樣的資訊。
管理員可以審核這個申請,給出「通過」或者「拒絕」的判斷,或者來回切換,至於如何傳送通知,可以借助email,或者傳送簡訊等(通知的部分我沒有實現)。
可以通過演算法判斷當時場地是否被使用:
在使用者新增申請時,判斷這個區間內是否已有已經通過審核的申請:如果有,申請提交直接失敗;如果沒有,加入資料庫。這個口令有兩個設計原則:在管理員審核申請時,當審批「通過」時,將其他所有具有公共區間的申請全部自動審批為「拒絕」。
對口令要方便,不能生成乙個長的hash碼,讓人直接比對,這不現實。
口令不能僅根據申請資訊生成,要加入足夠的隨機因子,使得口令不能被別人直接算出來。
初始化在剛剛部署的時候,乙個管理員都沒有,因此需要乙個api來建立第乙個管理員,以便後續操作。
}
這個api會檢查當前的管理員數量,如果是0才會新增管理員,否則將返回錯誤(**為1)。
註冊註冊使用者的api
}
登入
登入使用者的api
}
查詢當前狀態
這個api會返回當前使用者的狀態(會直接將當前使用者的可公開資料回傳)
登出
使用者登出的api
列出使用者的資訊
會列出所有(也可以自定義查詢)使用者的可公開資訊(即隱藏密碼),僅有管理員身份的使用者可以呼叫這個api。
檢視使用者的資訊
會列出某使用者的可公開資訊,所有人可以呼叫。
更改使用者的資訊
更改使用者的賬戶、密碼等,僅限使用者本人與管理員
更改使用者的許可權組,僅限管理員。
刪除使用者
僅管理員可以呼叫。
建立場地
準確的說是登記場地,僅管理員可用。
}
列出場地
列出所有場地,所有人可用。
更改場地
更改某場地的名稱或描述或門衛,僅管理員可用。
刪除場地
僅管理員可用。
提交申請
新建乙個申請並提交,僅登入的使用者可用。
}
檢視申請列表
所有人均可以自定義查詢條件,至少要給出要查詢的場地id。
缺省會查詢從現在開始24小時內的所有已通過的申請。
}
檢視某申請(口令)
按照申請的id來檢視申請,如果申請通過並且檢視人是申請者或者是對應的門衛,則會顯示口令。
更改申請狀態(審批)
僅管理員可用,可以更改申請的狀態(通過或者不通過)
}
刪除申請
僅管理員可用。
從遊戲系統角度看遊戲活動設計
最近正找工作,在遊戲行業一年過去,發現我已經不是過去的那個啦,一點意氣都沒有,簡歷也寫得羅哩八嗦,投了如泥牛入海,唉,咋壓力這麼重呢。怎麼證明自己啊!為了這個,我不得不去整理自己腦海裡的想法和過去的記錄。寫了個破東西。理論一大堆啊,呵呵。從遊戲系統角度看遊戲活動設計 1概念 遊戲系統 乙個完整的遊戲...
虛擬演播室系統
系統中整合了摳像功能 連線功能 燈光效果 倒影及映象功能 字幕與台標功能 幀動畫效果製作 導播臺功能 軌道編輯功能 實時錄製與直播功能 虛擬機器位設定 多個虛擬螢幕新增等全面的產品功能,實現眾多高階需求。4通道真三維全場景的虛擬演播室系統 具有三維空間 三維模型和三維跟蹤,廣播級影象輸出,系統穩定性...
會議室預定系統
最近完成的小系統,會議室預定系統。可預覽 技術分析 1,準備乙個表,儲存會議室,可以新增,編輯,啟用或禁用 為控制某一會議室是否顯示給使用者在預定時是否可見 刪除功能,可有可無,如果實現,當刪除時,需要寫觸發器,把此預定過此會議室的記錄一同刪除。2,準備兩個表,儲存時間記錄 id,timename ...