首先,我們先看個例子。場景是學校。
每個班級有數十名學生,可能每天都有一些注意事項或是家庭作業,這些訊息需 要通知學生本人或者學生家長。因此系統必須要有機制將學生及學生家長組成一個通 訊群組,方便老師交待事項、學生及家長們交換訊息。
網球社需要兩個通訊群組:(1)社團內部使用,成員限定為社員及指導老師,所交 換的訊息可能為社團行政、訓練時程等。(2)開放給社團外部的人員使用,社團可能有 些比賽訊息、活動宣傳等,此通訊群組開放給對網球社有興趣的學生或老師自由加入 群組,分享球賽資訊。因此,系統必須能夠分辨通訊群組間的需求差異,以及對群組 成員的控管。
建築物的閉館通知。校內的建築,系館、圖書館、教學大樓、行政中心等,皆不 是 24 小時開放的,當一棟建築即將要關閉時,可以通知還在館內(建築內)的人員、學 生、老師,請他們儘速離開,以免建築物關閉後,仍然有人還困在建築物裡面。因此,
系統需要一個機制將在建築裡面的人員群成群組,方便通知。
再來,換個方向想想,當我們是接受訊息的人時,想必會希望系統能以我們最習 慣的通訊網路來通知訊息,或者是使用最適合當下的通訊方式。因此系統需要知道使 用者的喜好,甚至要知道什麼情況下要用什麼種的通訊網路。
綜合上述的內容,我們理想中的系統,應滿足下列的功能需求。
3.1 伺服器端系統之功能需求
1. 基於網頁的存取方式
我們希望能以 Web 的方式呈現系統。隨著 World Wide Web 的盛行,無論是 用哪種裝置,個人電腦或是 PDA,瀏覽器(Browser)都可見其蹤影。而 www 也有其 標準供大家遵循。因此,使用網頁的方式來呈現系統能夠跨足多數平台,滿足多數的 使用時機。
2. 存取權限管理
由於通訊資料是屬於個人較隱私的部份,為了避免被不相干的外人得到資料,因 此我們要有授權認證的機制,來確保存取資料的合法性。
3. 通訊群組管理
讓系統的使用者可以建立自己的通訊群組。包含建立、刪除通訊群組,及群組成 員的選擇及管理。在通訊群組建立方面,需要一個額外的機制,一個能夠自動維護成 員,自動選擇成員的機制,這是一方面是給使用者方便,另一方面則是考慮到類似閉 館通知的通訊群組,某方面來說,這樣子的通訊群組並不會很在意其成員的來源、成 員是誰,只要做到「通知」即達成這通訊群組的目的。
4. 個人、通訊群組喜好設定
每個人都自己使用習慣、每個通訊群組也可能有各自的偏好設定。因此,我們必 需讓使用者、群組管理者能夠替個人、群組設定各別的喜好設定。讓系統以最合乎使 用者的習慣,替他服務。
5. 結合即時通訊
結合現今市場上已有的即時通訊系統,讓使用者能以自己最習慣的方式接收資 訊。甚至可以因時因地因情形進一步來選擇使用的即時通訊系統。如此一來,使用者 不必重新適應新的軟體、新的介面,可以在適當的時機,使用適當的即時通訊系統。
3.2 系統功能設計與實作上之考量
本系統旨在整合,期望能夠支援多種通訊軟體及通訊管道。因此,我們在設計上,
儘可能地保持彈性及擴充性,以便在後續的維護及持續開發上簡單化,方便往後的技 援,同時我們以模組化的設計,將功能切割開來,每個系統元件有專職負責的部份,
方便程式的維護及改進,也方便後續功能的開發,且減少對於原本系統的影響,將衝 擊降至最低。
由於在設計之初,考慮到本系統除了可以自行運作外,亦希望本系統可以與其他 系統共同服務,因此我們需要提供一個方便的介面讓外部系統存取,使其能夠完美的 與其他系統結合。
3.3 系統應用實例示意
在這邊,我們再次利用本章開頭的例子,並更詳細的說明本系統的規劃及運作過 程。
班級:一年一班的級任導師建立一個通訊群組,此級任導師即為此群組的管 理者,並替該通訊群組設定偏好,「班級為一年一班的學生及家長」、「成員的 加入需經過管理者同意」,接下來導師就可以透過這個通訊群組傳送訊息給一 年一班內的學生及家長。
社團:網球社的社長希望建立兩個通訊群組,一個為內部社員使用,因此可 以將群組偏好設定為「社團為網球社」、「成員的加入需經過管理者同意」,並 且發出邀請,邀請社團的指導老師加入,此群組可能為社團行政、社員訓練 等可以使用;另一個則為公開的通訊群組,讓對網球社有興趣的使用者自行 加入,因此可以設定為「要求加入群組時自動同意加入」,若有比賽消息等,
可以透過此群組發送訊息,讓希望取得消息的人有個獲知的管道。
閉館通知:以圖書館為例,每天晚上要閉館時,除了有廣播或是閉館音樂外,
我們還可以透過本系統,利用即時通訊軟體、手機簡訊的方式通知館內的人 員,因此通訊群組的設定可以是「使用者位置在圖書館內的使用者」,利用系 統提供的機制(4.3.2.2 群組成員管理) ,自動選擇群組成員,在圖書館將要關 閉前,發送群組訊息,通知閉館。