軟件系統設計方案


1.項目介紹

設計和開發選課系統必定會涉及很多數據。因為我們發選修系統的最終目標是實現數據無紙化管理。在開發前對數據流程進行分析,不僅能夠使開發的業務邏輯更加明朗,還能避免因數據混亂造成開發失敗。
此次選課系統數據流程的分析主要是根據用戶和選課系統的交互及其交互過程中產生的數據信息的走向、流動和存儲來進行的,由此設計出合理的數據邏輯,保證選課系統運行過程中數據的流通,同時也確保
了業務邏輯的正常開發。同學們選課的數據,老師開設課程的數據能夠確保存入數據庫。在老師打分和學生選課的時候數據庫又能夠向相關的用戶提供他們所需要的信息。
2.系統架構

架構模式是一個通用的、可重用的解決方案,用於在給定上下文中的軟件體系結構中經常出現的問題。架構模式與軟件設計模式類似,但具有更廣泛的范圍。

  模型-視圖-控制器模式,也稱為MVC模式(Model View Controller)。用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,

不需要重新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。它把軟件系統分為三個基本部分:

    模型(Model):負責存儲系統的中心數據。

    視圖(View):將信息顯示給用戶(可以定義多個視圖)。

    控制器(Controller):處理用戶輸入的信息。負責從視圖讀取數據,控制用戶輸入,並向模型發送數據,是應用程序中處理用戶交互的部分。負責管理與用戶交互交互控制。

  視圖和控制器共同構成了用戶接口。

  且每個視圖都有一個相關的控制器組件。控制器接受輸入,通常作為將鼠標移動、鼠標按鈕的活動或鍵盤輸入編碼的時間。時間被翻譯成模型或試圖的服務器請求。用戶僅僅通過控制器與系統交互。

3.分解視圖

  分解是構建軟件架構模型的關鍵步驟,分解視圖也是描述軟件架構模型的關鍵視圖,一般分解視圖呈現為較為明晰的分解結構(breakdown structure)特點。分解視圖用軟件模塊勾划出系統結構,

往往會通過不同抽象層級的軟件模塊形成層次化的結構。由於前述分解方法中已經明確呈現出了分解視圖的特征,我們這里簡要了解一下分解視圖中常見的軟件模塊術語。

 

 

 

 

 

4.執行視圖

    執行視圖展示了系統運行時的時序結構特點,比如流程圖、時序圖等。執行視圖中的每一個執行實體,一般稱為組件(Component),都是不同於其他組件的執行實體。如果有相同或相似的執行實體那么就把它們

合並成一個。

執行實體可以最終分解到軟件的基本元素和軟件的基本結構,因而與軟件代碼具有比較直接的映射關系。在設計與實現過程中,我們一般將執行視圖轉換為偽代碼之后,再進一步轉換為實現代碼。

 

 

5.部署視圖

 

 

 

 

 

 

 

 

 

 6.依賴視圖

依賴視圖展現了軟件模塊之間的依賴關系。比如一個軟件模塊A調用了另一個軟件模塊B,那么我們說軟件模塊A直接依賴軟件模塊B。如果一個軟件模塊依賴另一個軟件模塊產生的數據,

那么這兩個軟件模塊也具有一定的依賴關系。

 

 

 

 7.項目目錄

 

 

 8.數據庫設計

Student表即學生信息表。主要用於存放學生的信息。

 

   Teacher表。主要用於存儲老師的信息數據。

 

  Course表即課程信息表。主要用於課程信息的存儲。

9.概念原型與核心工作機制

  概念是人對能代表某種事物或發展過程的特點及意義所形成的思維結論,概念原型是一種虛擬化的、理想化的軟件產品形式。也就是說,概念原型 = 用例 + 數據模型。

  軟件架構代表了軟件系統的整體設計結構,它應該是所有這些視圖的集合。但我們不會將不同角度的這些視圖整合起來,因為不便於閱讀和更新。不過我們會有意識地將不同角度的

  視圖之間的映射關系和重疊部分了然於胸,從而深刻理解軟件架構內在的一致性和完整性,這就是系統概念原型。

  因此基於以上分析和建模,我們就可以總結出此項目的概念原型,同時對此概念模型的工作過程進行分析。

通過之前的分析與設計可以總結出項目的概念原型工作過程:用戶將需要申請的信息通過瀏覽器端上傳到服務器上,服務器通過部署在服務器上的模型對接受到的圖片進行推理,隨后將結果返還給前端。

用戶可以對返回的結果進行評價,服務器會將用戶不滿意的bad case存儲下來,方便之后對於算法與模型的分析。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM