評教系統 設計的重要性

2021-05-27 09:35:28 字數 1534 閱讀 3095

最近一直在開發教務系統中的評教系統,可以說這個系統的功能可大可小,正是因為這些可大可小、可有可無的功能整的整個系統需求一直很混亂,也導致我一直也沒有設計出來乙個像樣的設計。沒有設計的開發,及時就是這個人從需求到開發也會向無頭的蒼蠅找在一頭霧水中不到正確的方向,更別提乙個團隊兩三個人去合作開發了,肯定會亂成一鍋粥了。

最近我算是深刻體會到了這一點:沒有乙個明確的軟體需求,沒有乙個合理的軟體設計,這款軟體在開發的過程當中真是毫無頭緒、一片混亂、最後步履維艱,很難再進行下去。

評教系統本來是我和吉慶我兩個一起開發的。開始,我們手裡的資料是乙個不成熟的教務系統軟體和以往提高班前幾期做的系統做的需求,因為那個不成熟的系統中設計到好多需求,而且大部分不能夠讓

使用者很好的弄清楚是怎樣使用。我揣摩它的需求揣摩了有三四天功夫,最後定了幾個最常用的,自己又增添了一些自己設計出來的簡單功能。(其實這些需求最後做的

bll層得時候才發現,有幾個需求邏輯還不簡單,都實現的話時間上實在是有些困難)

猶猶豫豫、舉棋不定的需求,再加上這次教務系統分的各個子系統之間或多或少都有關聯,評教系統要用到基礎資料和排課系統中提供的資料介面,再加上設計的資料庫都是儲存的介面傳來的

id號,使整個系統在做到

bll層查詢顯示資訊時非常困難。

因為,評教系統的基礎資料(如學生、教師、課程、學院、專業、年級等的基本資訊)都要來自基礎資料和排課系統中提供的資料介面。兩三個資料庫之間介面的呼叫和得到資訊的查詢與拼接,使得整個系統在不完善的設計中,寫到

bll層才發現,從

1資料庫中得到資料後利用它再去

2資料庫中查詢相應的資訊,然後在與

1資料庫中選出的資料按順序拼接。有的資料甚至是兩三個資料庫中的好幾張表相互查詢呼叫之後才能找到相應的資訊。這樣實在是太累人了,一不留神,乙個字段拼接錯了,顯示的資訊就會完全錯亂!邏輯太複雜了

!需求,需求,設計,設計,最終死在了你們的手中!!!

不得不重新審視需求,把一些旁支末節先去掉,只留下主幹功能(幾項設定功能和幾項查詢功能)。重新設計資料庫,功能減少了,資料表相應的也減少了很多,由原來的

12張表縮減到了

5張表。為了減少幾個資料表中的重複呼叫查詢,有些資料表中也相應的多加了幾個字段,以便保留從基礎資訊或者排課資訊資料庫中得到的資訊,這樣就減輕了

bll層壓力。

資料表改了,實體類相應的也要發生變化。接下來就是設計

dal層的類和方法,然後設計

bll層的類和方法。因為這次功能相對減少了許多,就是對幾個評分指標、評分選項進行設定,然後對評價結果進行不同條件的查詢,所以沒有用到設計模式。

bll層大多是

return

的dal

層得方法,然後就是為了達到顯示的效果出現的幾個利用迴圈拼接

datatable

的部分,最後就是需要解決大資料量的用到的乙個事務的整體讀入和回滾。(對事務的學習和理解在接下來的博文中會有涉及)

通過這次重新更改需求、對軟體進行重新設計,我深刻的體會到了需求的驅動性、設計的導航性。對於開發軟體來說,沒有明確的需求就像航船失去了前進的方向,只能在無盡的大海中漫無目的的漂泊;合理的軟體設計就像群狼中的頭狼,帶領著整個團隊前進。

Linux系統日誌的重要性

linux系統在程式開發及設計方面十分優秀,大多數企業都會使用,為了保證linux系統正常執行 準確解決遇到的系統問題,高效的分析linux系統日誌檔案是管理員的一項非常重要的任務。日誌檔案其實是純文字的檔案,每一行就是乙個訊息。只要是在linux下能夠處理純文字的工具都能用來檢視日誌檔案。linu...

1 監控系統的重要性

作為運維人員,雖然現在運維人員的分類越來越細緻,但是知道監控系統還是非常有必要的。那麼在企業中為什麼要部署監控系統呢?我們都知道在軍隊裡面,哨兵的角色非常重要,敵人來了,一般首先要把哨兵乾掉。在動物世界裡,如果有一群猴子要吃東西,肯定有乙個猴子在上面警戒著。現在在大的公司,伺服器都是成百上千,何況是...

DBA在系統設計 開發中的重要性

一 現階段dba對系統效能及穩定性所做的調整工作 目前dba對系統效能的調整工作大致是這麼幾個方面 1 在硬體層面進行調優,這通常就是直接花錢,買裝置 擴容。2 在db層面進行調優,比如調整初始化引數,調整資料庫物理結構。3 對應用的sql進行優化,比如在資料庫分析statspack,調整top s...