• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    設計模式在高校教科研工作量管理系統(tǒng)中的應用

    2021-06-16 16:42:34韋婷張揚陳藝璇
    電子技術與軟件工程 2021年4期
    關鍵詞:設計模式工作量視圖

    韋婷 張揚 陳藝璇

    (1.廣西工業(yè)職業(yè)技術學院 廣西壯族自治區(qū)南寧市 530000 2.廣西職業(yè)技術學院 廣西壯族自治區(qū)南寧市 530000)

    1 引言

    在計算機軟件行業(yè)里,軟件設計模式、軟件架構(gòu)、框架等概念的提出,是前人探索如何在軟件開發(fā)的不同過程、不同層次上實現(xiàn)重用而總結(jié)出來的思想、方法和技術。從代碼級語句復用、模塊復用、結(jié)構(gòu)復用、系統(tǒng)復用、文檔復用到思想復用,軟件復用技術幾乎覆蓋了整個軟件開發(fā)的生命周期。設計模式即是抽象層級較高的思想復用技術,與語言無關,與平臺無關,一套被反復使用、多人知曉的,并經(jīng)過分類編目的代碼設計經(jīng)驗的總結(jié)。前人總結(jié)出了很多種設計模式[1],也提出了很多模式的形式化方法,但是很少有人對模式組合進行正式的研究[2]。而模式組合最直接的體現(xiàn)便是復合模式,形式上是將多個設計模式結(jié)合起來形成一個“框架”,以解決一般性問題。對于一個軟件系統(tǒng),最密切相關的三類人員,即用戶、開發(fā)者、維護者,本文即通過這三個不同的視角去探究設計模式及其復合關系、設計原則是如何指導系統(tǒng)設計,在達到降低開發(fā)難度,利于團隊開發(fā),提高系統(tǒng)可維護性的目標下,開發(fā)出一個高質(zhì)量、高標準化、高安全性,符合高職院校實際工作需求的教師工作量管理系統(tǒng)。

    2 設計模式概述

    2.1 設計模式的分類

    設計模式主要分為三個大類,創(chuàng)建型模式包括工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式等五種;結(jié)構(gòu)型模式包括適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式等七種;行為型模式包括策略模式、模板方法模式、觀察者模式、迭代子模式等十一種。

    2.2 設計模式選擇的步驟

    如何在客觀世界的具體場景中選擇不同的設計模式,再根據(jù)編程語言實現(xiàn)?首先將需要解決的問題進行抽象,其次根據(jù)不同設計模式適用的場景進行選擇,最后再使用編程語言進行實現(xiàn)。多個設計模式之間必須要考慮到融合性、可擴展性,在設計過程中可使用UML 建模工具進行詳細設計。通過反復的修改和擴展,從而得到一個高質(zhì)量的軟件結(jié)構(gòu)。

    2.3 設計模式在軟件設計中的應用

    圖1:應用群系統(tǒng)的單點登錄

    圖2:教師工作量管理系統(tǒng)功能總體架構(gòu)圖

    圖3:教師工作量系統(tǒng)中的設計模式

    在用戶視角中運用到的策略模式和單例模式,保證了各類用戶的只有一個實例,在用戶的權(quán)限管理設計中,可以根據(jù)部門、增刪查改權(quán)限、職務級別等多種途徑進行管理,可以設計不同的類來封裝不同的途徑算法,并使它們之間可以相互替換,這是典型的策略模式應用場景。在維護者視角中主要使用抽象工廠模式、策略模式和觀察者模式,體現(xiàn)在統(tǒng)一數(shù)據(jù)接口功能和計算過程參數(shù)化功能模塊,在根據(jù)權(quán)重自動計算教師工作量的模塊中,當權(quán)重參數(shù)進行調(diào)整時,將自動通知所有依賴這個參數(shù)對象的其他所有對象,在這里權(quán)重參數(shù)對象就是觀察目標,其他被通知的對象就是觀察者,這是典型的觀察者模式的模式動機。

    3 用戶視角

    3.1 單點登錄

    在文獻[3]中的“用戶為中心”,“以人為本”的設計理念,認為在開發(fā)產(chǎn)品的每一個步驟中,都要把用戶列入考慮范圍,除了產(chǎn)品的功能,用戶體驗起著關鍵的影響。本文研究的重點不在于用戶體驗的諸多要素,而是把其中的思想,用于設計模式的分析及應用中。作為一個軟件產(chǎn)品,在智慧校園和高職院校爭創(chuàng)“高水平學校、高水平專業(yè)”的多驅(qū)動背景下,本文設計的是一個覆蓋教學、科研等諸多方面,涉及教務處、人事處、財務處等多個部門的教師工作量系統(tǒng),屬于Web 應用系統(tǒng)。用戶不僅是教師,還有相關的系部、學院行政部門人員及領導。對于用戶,面對的不止有教師工作量系統(tǒng),往往還有學校的其他業(yè)務應用系統(tǒng)。如果每個系統(tǒng)都要登錄/退出之后,再一次登錄去使用下一個系統(tǒng),這種用戶體檢是不太好的。而系統(tǒng)間跳轉(zhuǎn)一般需要系統(tǒng)與系統(tǒng)之間建立連接,若原系統(tǒng)間未曾對接過,便需要修改新增對接功能。這樣既不具備可行性,也違背了設計模式中一條最基礎,最重要的原則,即開閉原則——當新增一個功能時,盡量去擴展而不是修改。對于這樣多系統(tǒng)組成的應用群,復雜性應該由系統(tǒng)內(nèi)部承擔,而不是用戶。用戶期待的應該是一次登錄/退出,訪問整個應用群與訪問單個系統(tǒng)一樣,即單點登錄。本文項目基于統(tǒng)一的身份認證系統(tǒng)/中心,采用的是Webservice 技術實現(xiàn)的單點登錄。統(tǒng)一身份認證中心接受用戶的用戶名密碼等安全信息,其他系統(tǒng)不提供登錄入口,只接受認證中心的間接授權(quán)。統(tǒng)一身份認證中心,承擔的是多應用群中共性的功能或模塊。這種具有共性,同時具備整體-部分關系正是 “組合模式”的設計思想的體現(xiàn)。應用群系統(tǒng)的單點登錄如圖1 所示。

    3.2 細粒度權(quán)限控制

    粗粒度的權(quán)限管理,一般指的是資源類型的權(quán)限管理,比如菜單、頁面按鈕。等。而細粒度權(quán)限管理,就是數(shù)據(jù)級別的權(quán)限管理,比如系部的領導只能訪問本系教師的信息,教師只看到自己的菜單。實現(xiàn)方式如當服務接口提供一個系部的id 參數(shù),設計一個控制器,根據(jù)當前用戶的信息得到該用戶屬于哪個系,調(diào)用服務時將系部id傳入,實現(xiàn)該用戶只查詢本系的教師員工信息。對于同樣的數(shù)據(jù),對于不同的用戶或者角色,可以有不同的顯示,并支持進行各種處理,這是“策略模式”的應用。

    4 維護者視角

    4.1 統(tǒng)一數(shù)據(jù)接口

    對于一個學院,教師的基礎數(shù)據(jù)以及學院組織架構(gòu)數(shù)據(jù)應由人事系統(tǒng)下行到數(shù)據(jù)庫,保證工作量管理系統(tǒng)和學院共享數(shù)據(jù)中心的數(shù)據(jù)保持一致性,而工作量管理系統(tǒng)中的數(shù)據(jù)有可能也會提供給其他系統(tǒng)使用,因而設計一個開放數(shù)據(jù)接口十分必要。有了統(tǒng)一的數(shù)據(jù)接口,系統(tǒng)間便具備了很好的擴展性。遵循接口規(guī)范,未來需要進行大規(guī)模數(shù)據(jù)分析、數(shù)據(jù)可視化的各類各級系統(tǒng)便能方便獲取到相關數(shù)據(jù)。這便是設計原則中的依賴倒轉(zhuǎn),中心思想是接口編程,制定好規(guī)范,把展現(xiàn)細節(jié)的任務交給實現(xiàn)類去完成。

    4.2 計算過程參數(shù)化

    分析了國內(nèi)高校的工作量管理系統(tǒng),學校間的差異性使得計算公式和流程并未做到通用化。在完成教務處提供的工作量計算表格提取計算的公式并參數(shù)化的工作后,面對類別多,公式復雜的工作量統(tǒng)計,需要一個靈活擴展的算法或策略,根據(jù)字符串進行判斷選擇計算參數(shù),建立一個字符串和計算權(quán)重的對應關系,當工作量的計算方法和參數(shù)改變時不需要對系統(tǒng)進行大量修改,只需維護對應關系表即可,這里也用到了“策略模式”的設計思想。

    5 開發(fā)者視角

    工作量管理系統(tǒng)面向的是多用戶、多角色,用戶界面邏輯的更改比業(yè)務和數(shù)據(jù)邏輯更為頻繁。所以,把數(shù)據(jù)和表示層分開,再頻繁的用戶界面的更改,也不影響到數(shù)據(jù)和業(yè)務邏輯。通過經(jīng)典的MVC 模式來設計及實現(xiàn),它的基本思想是數(shù)據(jù),顯示和處理相分離。模型(Model)負責數(shù)據(jù)管理,視圖(View)負責數(shù)據(jù)顯示,控制器(Controller)負責業(yè)務邏輯和響應策略。把分離出來的業(yè)務邏輯,交由控制器負責,實現(xiàn)視圖將請求先發(fā)送給控制器,由控制器選擇對應的模型來處理;模型返回的處理結(jié)果要先發(fā)送給控制器,由控制器選擇對應的視圖來展現(xiàn),繼而形成一個閉環(huán)。模型作為一個“觀察者”,讓控制器和視圖在松耦合的狀態(tài)實現(xiàn)更新,這便是“觀察者模式”。

    根據(jù)圖2 教師工作量的系統(tǒng)功能,需要設計多個視圖,多個模型,多個控制器才能完成,本文項目按照視圖組-控制器組-模型組來構(gòu)造整個程序框架。

    視圖組的設計,按照子功能模塊做相應設計,如工作量的錄入視圖、工作量的審核視圖等。對于每個視圖頁面,會有一些如導航、頁腳是每個頁面共有的,采用模板模式,封裝不變的部分,擴展可變部分,提取各個頁面的共有代碼,而變化(不同)的那部分將作為擴展,共同構(gòu)成頁面視圖。對于樹形菜單、按鈕等各類組件的視圖,通過使用“組合模式”,能一致地處理組合視圖和普通視圖。

    模型組的設計,包括工作量表單的增、刪、改、查模型、用戶表單的增、、刪、改、查模型等。一個模型可以對應不同的視圖。而對于這些模型,都需要建立在數(shù)據(jù)庫連接的基礎上進行數(shù)據(jù)交換的,因此設計一個數(shù)據(jù)庫連接公共模型,其他如工作量表單、用戶表單等對應數(shù)據(jù)模型把其當做工廠類,調(diào)用并創(chuàng)建一個連接即可進一步做數(shù)據(jù)操作。這里用到了“工廠模式”。再則,對于數(shù)據(jù)庫的增、刪、改、查,每個不同表單都用到的相同操作,因此進行封裝并且暴露方法接口,既能減少重復的代碼,也使得程序結(jié)構(gòu)清晰。這種封裝作為公共模塊供其他模型使用,實例化之后即可使用,也是用到了“工廠模式”。

    控制器組的設計,本文進行了細化,分為兩個層次的處理,一是路由設置,二是控制器的處理邏輯。路由中定義了一定的請求分發(fā)邏輯,建立數(shù)據(jù)模型與視圖之間的映射關系。部分請求,還要掛載中間件,用于自動執(zhí)行一些函數(shù)。經(jīng)過路由選擇后,交由不同的處理程序,如查詢、刪除、添加、修改等。這種映射關系,實現(xiàn)了不同的控制器實例響應不同的用戶操作視圖,即用到了“策略模式”。

    如圖3 所示,MVC 作為復合模式,本文項目使用到了 “觀察者模式”、 “組合模式”、“工廠模式”、“策略模式”、“模板模式”等多種模式。通過MVC 模式的設計思想而構(gòu)建的項目或者系統(tǒng)框架,一些軟件開發(fā)人員亦稱之為MVC 框架。不同的項目或者系統(tǒng),根據(jù)實際情況,構(gòu)建的MVC 框架都會有所不同。MVC模式的出現(xiàn)最早可追溯到上世紀的70年代,經(jīng)過多年發(fā)展依然有很強的生命力,如今還衍生出了MVP、MVVM 等模式,但圍繞的核心問題還是界面的展示與業(yè)務邏輯的分割。本文在MVC 模式具體的應用中,進行了細化,對于視圖(組)、控制器(組)、模型(組)的實現(xiàn)上均做了接口化的處理,采用了資源接口的編程方式。在代碼實現(xiàn)上,采用先精細化、模塊化,后組合構(gòu)建的方式,亦順應了當前在云計算發(fā)展下興起的微服務思想。

    6 總結(jié)

    本文以一個高職院校教師工作量管理系統(tǒng)為例,探析了設計原則、設計模式及其復合關系是如何應用到系統(tǒng)設計及開發(fā)中的。設計模式作為最佳的實踐代表,對其合理的應用,不應只基于開發(fā)者、維護者視角,還應基于用戶視角。各類軟件系統(tǒng)最終是要面向用戶的,用戶需求及用戶體驗是軟件設計與開發(fā)的終極目標?;ヂ?lián)網(wǎng)快速發(fā)展,需求變更頻繁,要求持續(xù)交付,是微服務興起的關鍵背景[4]。用戶層面,是模式和架構(gòu)發(fā)展的根本驅(qū)動力。對于開發(fā)者和維護者,使用合適的設計模式,一方面提高協(xié)同開發(fā)效率,提高模塊、框架的復用性,另一方面利于日后的維護、升級、擴展。設計原則、設計模式及其復合關系所體現(xiàn)的思想,對軟件系統(tǒng)設計與開發(fā)具有重要的指導意義,是理論與實踐辯證統(tǒng)一、持續(xù)發(fā)展的最佳體現(xiàn)。

    猜你喜歡
    設計模式工作量視圖
    仿生設計模式的創(chuàng)新應用探索
    玩具世界(2023年6期)2024-01-29 12:14:36
    “1+1”作業(yè)設計模式的實踐探索
    應用地表覆蓋數(shù)據(jù)估算LiDAR內(nèi)業(yè)工作量的方法研究
    交通機電工程設計模式創(chuàng)新探討
    5.3 視圖與投影
    視圖
    Y—20重型運輸機多視圖
    SA2型76毫米車載高炮多視圖
    一個兼顧教學科研的高校教師績效考核模型及其應用
    思科發(fā)布云計算市場發(fā)展報告
    栖霞市| 东山县| 汽车| 襄樊市| 皮山县| 沈丘县| 昌黎县| 昌邑市| 安丘市| 黄骅市| 无为县| 江源县| 梅州市| 沾化县| 龙胜| 溧水县| 手机| 桃园市| 定远县| 偃师市| 灌云县| 静宁县| 崇义县| 都兰县| 孝昌县| 五家渠市| 商丘市| 蕲春县| 特克斯县| 桦南县| 贵定县| 扎鲁特旗| 永州市| 饶阳县| 进贤县| 辉县市| 望城县| 盐边县| 卢氏县| 三亚市| 义马市|