1、前言
本文主要是針對一個高校教務管理系統的分析與總結,主要闡述項目的完整設計方案和一些軟件結構特點,並采用不同的視圖來描述項目的軟件系統概念原型。高校教務管理水平的高低直接反映了學校教學管理水平的高低,關系到學校在社會競爭中的生存與發展。隨着科學技術的不斷發展,隨着教育改革的不斷深入,學校教務管理將面臨許多新的問題和挑戰。而高校教務管理系統,可以有效地解決問題,提高工作效率,改進教學管理方式,提高教育教學管理水平。讓用戶、開發人員等更好的了解本項目。
2、軟件設計方案總述
軟件設計從大的方面來說,有軟件架構風格與策略的不同,從具體實現方面來說,有設計模式的不同,從底層來說,數據的存取以及語言的實現也不一樣。只有采取最適合項目的軟件設計方案,綜合性能、成本、開發效益、可用性,才能獲得最好的軟件設計效果。軟件架構風格有很多,如分層架構、典型的MVC架構和MVVM架構、管道-過濾器、客戶端-服務、P2P(如區域鏈)、發布訂閱風格、CRUD、層次化架構等;典型的設計模式有工廠模式、單例模式、裝飾模式、代理模式、外觀模式、享元模式等;典型的軟件架構的描述方法視圖,比如分解視圖、依賴視圖、泛化視圖、執行視圖、實現視圖、部署視圖等。
3、設計模式
設計模式的本質是面向對象設計原則的實際運用總結出的經驗模型。對類的封裝性、繼承性和多態性以及類的關聯關系和組合關系的充分理解的基礎上才能准確理解設計模式。正確使用設計模式具有以下優點。可以提高程序員的思維能力、編程能力和設計能力。使程序設計更加標准化、代碼編制更加工程化,使軟件開發效率大大提高,從而縮短軟件的開發周期。使設計的代碼可重用性高、可讀性強、可靠性高、靈活性好、可維護性強。
4、軟件架構
本系統包含多種用戶,包含教師、學生、管理員等等,選擇適應系統開發的B/S框架。B/S結構指的是Browser/Server(瀏覽器/服務器)結構,就是只需要安裝維護一個服務器,而客戶端采用瀏覽器的方式來運行軟件。它是隨着Internet技術而興起的,是對C/S結構的一種變化和改進。主要利用了WWW瀏覽器技術,結合多種Script語言和新技術,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。是一種全新的軟件系統構造技術。它只需要安裝一個瀏覽器和數據庫,就可以讓瀏覽器通過Web Server同數據庫進行數據交互。
- 該架構不需要安裝客戶端,可以直接運行在Web瀏覽器中。
- B/S架構可以直接放在Internet網絡上,從而達到通過某些特權來控制多客戶端訪問的目的以及交互方式。
- B/S架構由於不需要安裝客戶端,因此不存在更新多個客戶端以及升級服務器等問題。
B/S架構工作原理如下:
5、視圖
分解視圖
分解是構建軟件架構模型的關鍵步驟,分解視圖也是描述軟件架構模型的關鍵視圖,一般分解視圖呈現為較為明晰的分解結構(breakdown structure)特點。分解視圖用軟件模塊勾划出系統結構,往往會通過不同抽象層級的軟件模塊形成層次化的結構。分解視圖由子系統(Subsystem)、包(Package)、類(Class)、組件(Component)、庫(Library)、軟件模塊(Module)、軟件單元(Software unit)等部分組成。
根據對高校教務管理系統的分析,分為四大模塊,系統的分解視圖如下:
依賴視圖
依賴視圖展現了軟件模塊之間的依賴關系。比如一個軟件模塊A調用了另一個軟件模塊B,那么我們說軟件模塊A直接依賴軟件模塊B。如果一個軟件模塊依賴另一個軟件模塊產生的數據,那么這兩個軟件模塊也具有一定的依賴關系。依賴視圖在項目計划中有比較典型的應用。比如它能幫助我們找到沒有依賴關系的軟件模塊或子系統,以便獨立開發和測試,同時進一步根據依賴關系確定開發和測試軟件模塊的先后次序。依賴視圖在項目的變更和維護中也很有價值。比如它能有效幫助我們理清一個軟件模塊的變更對其他軟件模塊帶來影響范圍。
根據對高校教務管理系統的分析,系統的依賴視圖如下:
泛化視圖
泛化視圖展現了軟件模塊之間的一般化或具體化的關系,典型的例子就是面向對象分析和設計方法中類之間的繼承關系。值得注意的是,采用對象組合替代繼承關系,並不會改變類之間的泛化特征。因此泛化是指軟件模塊之間的一般化或具體化的關系,不能局限於繼承概念的應用。泛化視圖有助於描述軟件的抽象層次,從而便於軟件的擴展和維護。比如通過對象組合或繼承很容易形成新的軟件模塊與原有的軟件架構兼容。
執行視圖
執行視圖展示了系統運行時的時序結構特點,比如流程圖、時序圖等。執行視圖中的每一個執行實體,一般稱為組件(Component),都是不同於其他組件的執行實體。如果有相同或相似的執行實體那么就把它們合並成一個。執行實體可以最終分解到軟件的基本元素和軟件的基本結構,因而與軟件代碼具有比較直接的映射關系。在設計與實現過程中,我們一般將執行視圖轉換為偽代碼之后,再進一步轉換為實現代碼。
根據對高校教務管理系統的分析,分為四大模塊,系統的執行視圖如下:
學籍管理模塊:
排課管理模塊:
選課管理模塊:
教務管理模塊:
實現視圖
實現視圖是描述軟件架構與源文件之間的映射關系。比如軟件架構的靜態結構以包圖或設計類圖的方式來描述,但是這些包和類都是在哪些目錄的哪些源文件中具體實現的呢?一般我們通過目錄和源文件的命名來對應軟件架構中的包、類等靜態結構單元,這樣典型的實現視圖就可以由軟件項目的源文件目錄樹來呈現。實現視圖有助於碼農在海量源代碼文件中找到具體的某個軟件單元的實現。實現視圖與軟件架構的靜態結構之間映射關系越是對應的一致性高,越有利於軟件的維護,因此實現視圖是一種非常關鍵的架構視圖。
系統源代碼目錄如下:
部署視圖
部署視圖是將執行實體和計算機資源建立映射關系。這里的執行實體的粒度要與所部署的計算機資源相匹配,比如以進程作為執行實體那么對應的計算機資源就是主機,這時應該描述進程對應主機所組成的網絡拓撲結構,這樣可以清晰地呈現進程間的網絡通信和部署環境的網絡結構特點。當然也可以用細粒度的執行實體對應處理器、存儲器等。部署視圖有助於設計人員分析一個設計的質量屬性,比如軟件處理網絡高並發的能力、軟件對處理器的計算需求等。
系統的部署視圖如下:
工作分配視圖
工作分配視圖將系統分解成可獨立完成的工作任務,以便分配給各項目團隊和成員。工作分配視圖有利於跟蹤不同項目團隊和成員的工作任務的進度,也有利於在個項目團隊和成員之間合理地分配和調整項目資源,甚至在項目計划階段工作分配視圖對於進度規划、項目評估和經費預算都能起到有益的作用。每個視圖都是從不同的角度對軟件架構進行描述和建模,比如從功能的角度、從代碼結構的角度、從運行時結構的角度、從目錄文件的角度,或者從項目團隊組織結構的角度。軟件架構代表了軟件系統的整體設計結構,它應該是所有這些視圖的集合。但我們不會將不同角度的這些視圖整合起來,因為不便於閱讀和更新。不過我們會有意識地將不同角度的視圖之間的映射關系和重疊部分了然於胸,從而深刻理解軟件架構內在的一致性和完整性,這就是系統概念原型。
最終小組內部工作分配安排如下:
6、數據庫設計
數據庫設計如下:
教師信息
數據項名稱 | 字段數據類型 | 長度 |
---|---|---|
教工號 | char | 20 |
教師姓名 | varchar | 20 |
密碼 | varchar | 20 |
學生信息
數據項名稱 | 字段數據類型 | 長度 |
---|---|---|
學號 | char | 20 |
學生姓名 | char | 20 |
專業 | char | 20 |
班級號 | int | 20 |
密碼 | varchar | 20 |
教務員信息
數據項名稱 | 字段數據類型 | 長度 |
---|---|---|
教務員編號 | char | 20 |
教務員姓名 | varchar | 20 |
密碼 | varchar | 20 |
課程信息
數據項名稱 | 字段數據類型 | 長度 |
---|---|---|
課程號 | char | 20 |
學號 | char | 20 |
教工號 | char | 20 |
教室 | char | 20 |
上課時間 | char | 20 |
7、軟件系統運行環境和技術選型
本項目采用JavaWeb應用開發技術,前端部分采用HTML、CSS、JavaScript等技術實現用戶界面的開發,后台服務器端基於Java語言進行開發。數據庫使用mysql數據庫。
開發平台:javaeclipse
數據庫:mysql
8、概念原型和系統核心工作機制
概念原型
- 概念是人對能代表某種事物或發展過程的特點及意義所形成的思維結論。
- 概念原型是一種虛擬的、理想化的軟件產品形式。
本例中樣例主要包括教務員可以通過Excel表格批量導入學生信息,同時對個別的學生信息進行修改,教務員可以錄入預計開設的課程及相關信息,教務員可對已錄入課程的信息進行修改,教務員可以刪除已錄入的課程,學生可對本人的課表信息進行查詢,學生可以根據培養計划進行選課,教務員可以安排考場和考試時間,任課教師可以在規定的時間段內錄入學生成績。
核心工作機制
學籍管理模塊
教務員可以通過Excel表格批量導入學生信息,同時對個別的學生信息進行修改。
排課管理模塊
教務員進行
1.課程錄入,教務員可以錄入預計開設的課程及相關信息。
2.課程修改,教務員可對已錄入課程的信息進行修改。
3.刪除課程,教務員可以刪除已錄入的課程。
選課管理模塊
學生進行
1.學生課表,學生可對本人的課表信息進行查詢。
2.選課,學生可以根據培養計划進行選課。
考務管理模塊
考務員進行
1.考試安排,教務員可以安排考場和考試時間。
2.成績錄入,任課教師可以在規定的時間段內錄入學生成績。
9、總結
根據上課所學知識最終完成了高校教務管理系統的設計方案,實現了對項目設計模式、軟件架構、概念原型、以及運行環境和人員分工的描述,指導我們更好的進行系統開發。
參考資料:
https://gitee.com/mengning997/se/tree/master/ppt
https://zhuanlan.zhihu.com/p/71222679