系統設計 活動室申請系統

2021-07-11 06:03:02 字數 2828 閱讀 6960

活動室申請系統是乙個廣泛存在的系統,如學生想要組織活動,需要學校的場地,那麼他們會去向有許可權的老師申請場地,然後在規定時間去規定的場地活動,如果這個場地是乙個有鎖的房間,那麼可能還需要找門衛要鑰匙開門,通常還需要出示申請通過的證明……

這是一件邏輯簡單的事務,隨著辦公網際網路化、無紙化辦公的需要,活動室申請系統應運而生。

我們可以抽象地描述剛才的事務:

首先有若干場地、空間、房間(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 ...