改進軟體企業的設計能力的二點建議

2021-06-15 20:10:30 字數 1667 閱讀 9395

在很多的軟體企業中,存在設計環節薄弱的毛病。他們通常的做法是,由公司的設計能力較強的技術人員,給出乙個概要的設計,這些概要的設計,往往是相當的概要,也就只是對子系統劃分、介面、關鍵的實體模型的關鍵屬性、系統執行結構等進行定義。做得好的,會做乙個類圖、時序圖什麼的。然後這些設計就交給了編碼人員。編碼人員根據這些設計開始編碼,一切好像很順暢。但是編碼人員出來的是什麼呢?有二種可能,這個編碼人員水平很好,他根據自己對系統的理解,自己增加一些新的設計,或者他發現原有的設計有很多不足的地方,它改進了一下。但是設計人員不知道,這個改進無法作為組織財富在下次設計被採用。另一種可能則是,編碼人員的水平一般,他根本不清楚如何細化這些設計產物,只是「依葫蘆畫瓢」地堆砌**。

如何改善這種局面呢?

第一、架構師要深入到開發組中、深入到編碼環節。

第二、採用設計workshop,提供設計產物的質量。

在乙個專案中,一般會有首席架構師(csa)和架構師(sa)之分,csa和sa都需要深入到開發組中,建議的做法是,csa需要組織sa團隊對系統關鍵模組的設計,以及關鍵設計問題的進行討論,確定細節,並跟蹤到實現。sa可以直接作為開發小組的負責人,負責詳細設計工作。sa需要和編碼人員進行日常溝通,要求編碼人員對設計所有的疑惑,或者對設計改進建議都必須提給sa確認,不能直接在**中體現。對於大中型專案或者產品化軟體而言,不能採用「**即設計」的敏捷方法。

在開發後期,sa或者編碼人員會直接把使用者的需求變更在**中實現,而沒有通過設計步驟,或者不更新設計文件,這種做法雖然減少了專案的時間成本,但是,由於sa或編碼人員對需求理解深度不足,會導致最初的達成一致理解的設計思路被逐漸偏離。而且會導致高層次的設計人員逐漸疏離業務,使設計逐漸脫離實際。

那麼,如何才能進行有效控制出現,編碼人員的**已經編寫完成時,才申明自己處於某種考慮沒有遵循設計這種情況呢?

首先,是在角色職責定義上,csa需要對系統的關鍵模型、系統/模組劃分、關鍵設計機制、介面等負責,需要保證總體設計文件的更新。sa需要對所承擔的子系統/模組的設計負責,需要保證系統實現和設計文件一致,設計文件中沒有遺漏實現中的細節。編碼人員只需要對**負責。需要遵循設計文件,對設計文件的變更需要取得sa的認可。

另外,需要制訂定期的review機制,sa需要負責對**的review,csa負責對關鍵部分的**review,對子系統設計文件的review。

最後,我們還可以借助於設計和編碼結合的工具,能夠讓編碼實時體現到設計中來,而減輕sa更新設計文件的機械工作。

對於大中型應用系統或產品化軟體而言,乙個可執行的系統不是成果的全部,全部的一致的文件加上可執行的系統才是工作的全部。

提供設計能力的第二個方法就是把設計workshop被確定為開發過程的一部分。在需求分析後,設計評審之前,增進乙個設計研討環節。在需求分析後,csa/sa/高階編碼人員首先一起對需求進行初步的設計研討,就各自的經驗提出各自的方案,並對設計的關鍵問題達成初步一致,這個初步設計研討的結論應包括:關鍵的資訊模型的主要屬性、關鍵設計機制或者關鍵演算法,設計模式(或關鍵類)。負責具體設計工作的sa將這些意見彙總成文。借鑑這些討論結果,sa最終得出自己的設計文件,csa評估設計文件的質量,如果達到要求,可以組織評審,如果達不到,需要進行又一次workshop。

workshop和評審的區別在於workshop是內部人員的活動,評審更多是外部專家參與的。

設計workshop可以提高設計質量,對多種設計思路進行比較,選擇優解。同時,可以提高sa和高階程式設計人員的設計水平,並能夠讓程式設計人員更進一步的了解設計者的思路和目的。

如何提高自己的業務設計能力

明確資料需求需要考慮以下幾點 1 有哪些頁面 2 每個頁面需要哪些資料 3 頁面之間是否有公共的地方 4 在以上幾點的基礎上歸納出介面 設計資料結構需要考慮以下幾點 1 介面傳入哪些引數 2 介面返回哪些引數 3 返回的引數以什麼樣的結構返回 4 使用什麼來儲存資料,存在資料庫裡還是配置檔案裡 5 ...

研發產品設計能力的綜合應用設計出什麼樣的產品

研發乙個是國家 乙個公司占領制高點出發的過程 研發是乙個小公司生存之道 當然,研發也有樂在其中,比如詩仙李白的千古絕句 祖沖之之絕高數學造詣!研發不能只能侷限於社會中的流行的技術 金融,應該是多元化的,至少思想應該是open。文化創新 流程創新 文學創新 思想創新 模組華創新等也是為人類萌福利!孜孜...

企業IT架構能力,是企業IT管理的核心能力之一

隨著中古哦企業資訊化成都與it管理水平的提高,企業it架構規劃會受到越來越多的企業所重視,it架構能力是企業核心it管理能力之一。在80 年代未,美國的 部門與大型企業就已經把企業 it架構作為提高 it管理水平的核心能力來做,如 美國的 國防部與財政部已經通過企業 it架構的規劃,建立了完善的 i...