一個教務系統的界面設計、UML類、用戶權限、數據轉換,這是上課講的幾個題目。
一款應用軟件,還有很多功能要做。
後續改進:
除了將實驗1到實驗4,整合做出一個項目。還有很多提高編程能力的項目,可以嘗試設計、編碼:
-
瞭解工作事務流。
-
適配器模式,實現數據類型轉換。
-
創建型的原型模式,從一個javabean得到另一個javabean。
-
策略模式、模板方法模式,實現不同的排課算法。
-
外觀模式,把排課算法封裝成一個工具類。
-
裝飾模式、代理模式,實現函數執行前後觸發攔截器功能,比如行爲統計、時長統計和用戶積分處理。
-
裝飾模式、責任鏈模式,實現多個攔截器。
-
使用觀察者模式,業務類包含主題Subject(不要繼承Subject)。執行函數前後,發出消息,由觀察者完成行爲統計和用戶積分處理。
-
宏命令,實現批量處理;自動發出消息,實現批量化測試。
-
熟悉JSON、xml、map格式的數據處理,用javascript、python改寫實驗3、實驗4的程序。
其他應用類項目:
-
設計一款客戶端、服務端軟件。
-
使用第三方網絡接口,查詢股票信息。
-
學習Model、View、Control架構。不同專業方向,View差別很大、Control基本接近。不同終端,Model可能不同。
-
設計一個功能全面的圖書管理系統。圖書管理系統,同樣是由增刪改查、用戶權限、工作事務流、用戶行爲統計和積分管理、數據彙總和統計分析,五部分組成。
後臺工程師和前端工程師的具體模塊
一、後臺工程師
當SSH、SSM框架的攔截器技術更新換代,用裝飾模式一樣可以實現多種功能,完成面向切面編程。
應用裝飾模式,使得程序不變、替換JAR包,動態改變業務功能。
使用裝飾模式,實現以下功能:
-
檢查用戶是否已登錄
-
獲取用戶身份
-
判斷用戶是否有當前操作的權限
-
記錄用戶看網頁的起始時間、結束時間,看視頻的起止時間,計算時長
-
根據積分規則,增加用戶積分
積分規則作爲獨立的JAR包、插件、補丁。
規則1:看文章不足1分鐘,積分爲0. 看視頻不足1分鐘,積分爲0.
看視頻累計10分鐘,積6分,上限6分。
規則2:打開文章積1分,不限時間. 看視頻累計10分鐘,積6分。後續每多看5分鐘,增加0.5分,無上限。
規則3:分數增加較快的項目,降低權重。
瞭解電商網站程序不變,使用數據庫設計,實現一項或多項優惠活動;或者使用JAR包(或者XML等配置文件),實現優惠規則的動態變化。
二、前端工程師
1.使用jq、jQuery、html、H5、jsp等技術,製作彩色課程表。
瞭解後臺用java語句生成一張圖片,發送到網頁上顯示(驗證碼技術)。
2.課程表的兩種展示方式:
(1)一張課程表,展示整個學期的課程。比如:週一,第1大節,6-9周體系結構,11-14周人機交互。
(2)按周分頁,每次展示某一週的課程。
3. 交換課程:
(1)點擊某節課,變爲選中狀態。點擊另一節課,變爲選中狀態。點擊交換按鈕,兩節課交換。
(2)拖動某節課,到一個新的空閒時間段;拖動某節課到另一節課上,兩節課交換。
4. 雙擊某節課,點擊確認對話框後,刪除一節課。
5. 拖拽鼠標,畫出選擇框,覆蓋的課程同時被選中。
6.錄入成績時,假設有90行、6列的成績輸入框。
(1)按方向鍵,使相鄰的另一個輸入框激活。
(2)錄入成績時,每輸完一個成績,按Tab鍵激活右側輸入框,按回車鍵激活下方輸入框,按Q鍵激活左側輸入框。按鍵可以自定義。
前端的表單組件、表格,後臺的增刪改查,這都屬於通用功能。複雜的功能、插件庫沒有的功能,需要編程技術能力實現。
應用軟件組成和工作事務流
應用軟件組成部分:
1.用戶類型和權限設置
2.用戶關係:好友,關注,聯繫人,羣組,一級版主,二級版主。
3.用戶行爲記錄和積分
4.產品增刪改查。比如,商品、博客、文章列表。
5.用戶反饋數據的增刪改查。比如,留言、評價、留言的留言、朋友圈的回覆。
6.工作事務流
7.數據彙總統計
8.數據挖掘和個性化推送
工作事務流,常見的是多級處理流程,用UML活動圖、狀態圖、順序圖表示。
工作事務流有專用的輔助工具,例如activiti開發庫,降低了開發難度。
比如:一個購物訂單經歷的處理步驟,買家生成,買家付款,賣家發貨,買家確認收貨,買家評價。
一項電子政務的多級審批。
工作事務流主要內容:
1. 一次處理流程執行到了哪個步驟。
2. 某個處理步驟的責任人、業務單據、處理意見、處理結果。
3. 流程的三種情況:正常流程、中途停止、駁回到上一步。
工作事務流,用於電子政務、購物流程、倉儲物流管理、財務審批、採購審批等多種應用軟件。
還用於文章發佈審批、考試流程、影院票務管理、多步驟的工程事務管理。