Internet上的排課系統之設計
Automated course scheduling by component-based technique of Internet
林敏慧,李沿儒,邱鈺雯
黃雅翎,蔡馥后,謝明宏
淡水工商管理學院資訊管理系 E-mail:lmh@jupiter.touc.edu.tw汪柏
,陳慶帆
淡江大學資訊工程研究所 E-mail:cfchen@jupiter.touc.edu.tw摘要
利用校園網路(TANET),我們得以快速的進行各種開發與應用。延續我們在這個平台上所發展出的Internet選課系統,Intranet公文交換系統,進一步的利用既 有的經驗發展物件導向技術在排課問題上加以應用。現行校園中的排課系統雖然是引用了群組決策與人工智慧技術進行排課問題的研究,卻仍缺乏排課系統所需的 彈性變更問題與網路環境。本文以物件導向技術針對現行排課系統來解決排課系統所需的彈性變更問題,結合COM技術在INTERNET上建置一個四階段的實務應 用。 關鍵字:COM、物件導向技術、INTERNET,intranet、UML第一章
緒論
現代的資訊技術快速發展,伴隨著internet技術的成熟與廣泛應用,資訊分散所需的處理已成為諸多系統開發的必然工作。在思索創造排課問題的階段式發展過程 中,可以理解四個階段是線性的相依。排課問題的解決所仰賴的又不單單只有四個階段的發展而已,它與校務工作平台亦有一個緊密的關係。利用我們在這幾年所 發展的Internet選課系統,進行中的公文交換系統,我們得到一個適當的工作平台。這就是以三層式網路架構出主從式Intranet環境。在過去我們不僅發展出了3-tier,也在目前進行COM與DCOM的元件建置。四個階段的工作便在過去所發展出的平台上被進一步的利用與整合。我們將此歸屬於支援性活動,以支援完整的排 課活動。在排課資訊系統的設計上,我們所寄望不僅是教務處工作的自動化,而是學校整體工作的自動化工作。譬如個別單位之間溝通協商的自動化,不同單位的 資料搜集與查詢。一套排課資訊系統涉及的不單是開發、設計、維護,還有如何利用資訊技術重新建立流程,如何從滿足個別單位導向的系統環境,轉移到符合多 數參與者的便利環境。 發展的過程中我們不僅對如何使用物件導向技術,對於現有由公文交換系統所建立的群組軟體,選課系統所建立的三層式架構更希望能加強整合。第二章
國內的排課問題研究
國內對於排課問題的相關研究如下
民國73年,陳志昇以數學模式來支持老師為導向排課作業的要求與目標,使用反覆比較法。採用結構化分析與設計。民國75年,金國忠採用Rule based system利用 模組化設計,盡量以黑箱概念製做成專家系統。對於教室限制、場定限制、學生限制,定有一先後順序去滿足不同情形下的教學環境。民國79年,劉明洲在微電腦 上建構一套輔助大專院校的排課系統。採取C語言,DBASE III+ 與CLIPPER開發於DOS環境下。規劃有自動排課演算法、課程調整、科目規劃、查詢和列印功 能。民國83年,以人工智慧語言TURBO PROLOG對問題提出有三種解。線性解雖然未必是最佳解,卻是能接受的可行解。組合最佳化需要一一進行試驗,需要最 多的時間進行運算。優先權方式則依據科目的優先等級進行。
第三章
系統架構
在系統架構上我們考量了現有軟體的開發平台與硬體設備。目前在淡水學院的選課系統即是架設在三層式主從架構下。考量了現有的已開發軟體與開發人員對開發 工具的熟悉程度,我們將排課資訊系統也架設在三層式架構下。第一節
use case技術
整合模式語言(Unified Model language)表現了物件導向所注重的程序,它採用的軟體發展程序=使用案例導向(use case driven)+系統主架構(architecture- centered) +螺旋式(interactive)+漸增式(incremental)。但為了不同環境對發展程序的不同策略,UML與發展程序又分開以求使用者和研究者有較大的自由空間,所以在不同 的開發程序下仍然使用相同的模式語言來表達與溝通。
UML讓企業資訊人員有一個共通一致的表達方式來作為資訊系統的藍圖。並藉由一致的設計理念去完成容易互相溝通、互相協調,而讓大家接受的系統架構。而 use case 就定義出com元件所應提供的服務,透過其表達出系統的外部觀點。最完美時我們所創造的COM元件能完全迎合使用者對系統的期望。
第二節
COM/DCOM標準物件模型
COM提供了一些標準的定義來規定物件間如何通訊與分享資料,使得元件能透過標準或自訂的COM的介面來溝通 更因為COM是一個Binary interface使得任何的程 式語言都可以用來發展COM的系統,透過物件的標準化模型加速了元件式架構系統的開發—這尤其有助於Multi - tier solution之發展。
透過物件發展模型,可以毫不費力的移植到PC平台上繼續使用,不管是在內部的AP或外購的AP上引用這個模組。這個關鍵就在於清礎定義介面而非結構的優點 上。 由以上例子可知COM的二個特性: 1. 獨立於程式語言-所以可以用任何支援Active x的工具。 2. 獨立於應用軟體-透過完善的interface重複使用於不同環境。 在如火如荼的物件導向研究中,在同一系統內C++無疑是一個相當嚴緊的物件處理與開發工具,但卻沒有定義如何與外界的物件做交換和存取,COM看來似乎解決 了這個問題。 COM的優點對於不同的對象有 1. 對企業而言:維護成本隨著彈性的增加而降低其教育訓練與學習成本。管理成本也隨著元件化和DCOM的制訂而降低。面對程式開發者的異動,採用元件導向 得以在公司的系統受到最小的影響。 2. 對開發者而言:程式設計者可以使用不同的工具去開發一套系統,不用過度遷就開發軟體。技術經理可以依據系統不同部份的需求採取不同的開發軟體。比如 使用FoxPro開發語音部份,採用Visual Basic發展整合部份。 3. 對市場而言: 象徵著軟體元件可以自由買賣朝向積木式的開發模式可以獲得工業化的生產。一方面可以增進軟體的可靠度;一方面可以增進開發速度與彈性。 如此一來客戶可以更自由的制訂他們所需的系統規格,不用受限於套裝軟體的工作流程與自行開發的昂貴成本。
第三節
階段分析
第四節
排課元件的彈性
我們透過排課條件中學生意願、排課時間、老師時間、教學設備等四項可以做24種線性排列方式。前者適用於學習效果為優先考量,老師與設備充足的學校。老師 時間、學生意願、排課時間、教學設備則適用於教師人數較不充足的學校。以此類推各校可依照師生比例、資源設備進行適當的調整。此外更在學生意願、排課時 間、老師時間三者皆以權重加強在應用上的彈性變更。第五節
COM介面的整合
我們依據不同階段發展所需的元件如下