這幾天在網上看了電影《最好的我們》,主演是陳飛宇和何藍逗,其中女主的表演之細把人物演活了,特別是眼睛的表演,通過眼睛和面部的表情,再加上應景的**,高中生的形象展現在觀眾面前,不經使人回想起自己的高中生活和備戰高考的場景,容易產生共鳴,不管是否忠實原著,僅僅是上面的幾點可以說是一部好電影。
在軟體設計中同樣有很多細節,好的軟體和工程**實現上,質量的好壞其實都是表現在細節上。在軟體的系統設計過程中,細節可以說到處都是,如何通過細節的設計提高軟體的工程質量,可以從幾個方面來考慮
1、業務流程細節體現
在實際的業務流程的分析上,不能停留在客戶說什麼,你就實現什麼,客戶不是專業的計算機人員,只能在業務流程表面上給與幫助,業務流程的梳理還是需要設計人員深刻理解業務,將業務抽象出模型,通常業務流程中,特別是環節和環節間的連線很容易出現問題,需要認真對待。
另外乙個細節就是環節中的異常,在實際的業務環節中是如何處理的,比如生產訂單出現返工,工廠是如何處理的,業務流程可以是將此重新生成新的訂單進行生產,重新排進生產計畫,也可以是訂單返回上一環節。
系統設計人員在進行業務流程模型化的設計過程中,最好有多個模型的設計方案,乙個是留有後手,以應對業務的不可知的變化,另乙個作用是為更好地找到適合的方案,是乙個綜合比較的過程。
2、架構中細節體現
架構中對層次的劃分,層次的設計對軟體架構也是很重要,層次多了軟體就會變複雜,實現和維護都比較困難,層次少了,軟體結構化就不是很好,容易產生粘連。同時靜態的層次設計應該和軟體動態設計統一起來,這樣對於層次間的通訊或者是呼叫關係就會比較簡單明瞭,一般的設計原則都會講業務作為單獨的一層,這一層都是動態設計,有執行任務,在業務的上一層通常是表現和ui互動,在業務層下的一般為業務支撐層次,這一層基本上是功能模組層,提供業務所需要的各項功能。
層次間盡量不要跨層次通訊或呼叫,如何有比較多的互動的話,中間的層次肯定設計有問題,要麼是層次過高,要麼就是功能沒有歸一化好。
同一層次中模組間的互動設計過程中盡量不要有,及時有,也要通過上面層次來互動,因為在同一層次間進行互動,容易導致呼叫關係的混亂,使得架構關係變得複雜。
3、功能分解的細節體現
將功能分到不同的模組中,不能有交叉的情況,比較乙個規格,模組a有一部分,模組b有一部分,這種情況就是沒有把規格定義好,應該是乙個規格就是乙個模組來實現。在實際的設計當中常常會出現規格大小定義的問題,到底乙個功能要有多少個規格來組成,設計粒度大小的問題,比較考驗水平。通用的做法是將規格相關性強的放到乙個模組中,有點物以類聚的感覺。
4、執行關係的細節體現
大多數軟體都是多工系統,所以充分利用時序圖來進行多工的互動設計,以及任務狀態遷移圖對任務執行內部的設計。
時序圖的設計可以最大程度描述執行的時間順序,將不同的執行流程放到不同的任務中,這個業務設計中需要進行細緻設計的地方,如何進行合理的任務劃分,通常是按資源來進行,乙個資源的使用盡量安排在乙個任務中,可以避免引入競爭,減少複雜度。
另外在時序圖中,注意呼叫關係,同步呼叫和非同步呼叫,非同步執行的流程,而且這個在實現過程中常常出現問題,系統設計人員要將此部門明確地描述出來,越詳細越好,因為在編寫**的過程中,實現人員的視野聚焦點在自己的模組上,容易忽略全域性的關係。
4、模組互動的細節體現
通訊的設計,多工系統下必須有的,通常是訊息的方式進行,這是典型的非同步方式,所以執行時序圖和任務狀態遷移圖就是基礎,如果前面這兩者設計得好,此處訊息定義就非常簡單,定義訊息時保留些餘量;
另外訊息設計過程中,訊息也不需要發散定義太多的訊息,滿足任務狀態遷移即可,同時任務狀態也應該盡量少,要不然狀態遷移的條件也會很麻煩,容易把人搞暈;
共用資訊的設計,包含結構體,類的設計,訪問的設計(單任務訪問還是多工訪問)
呼叫引數的設計,對於容易變化的引數使用資料結構的方式進行傳遞,保證介面的一致,擴充套件性也比較好。
5、除錯資訊的細節體現
通常是日誌列印資訊和狀態量和統計量,往往在設計過程中被忽略,定義統一的除錯資訊對於軟體質量也有很好地促進作用。
就先寫這麼多,總之細節是魔鬼,但這個魔鬼會讓使用者為此入迷,你的產品還能賣不出去嗎?
C 細節體現水平
1 為什麼c 中要設定public private protected 因為前期良好的設計會給後期帶來良好的效能 較低的維護成本。在設計的類時候就考慮了對外的介面,其實無形中就是給後面維護的人員提供了一種信心 類開發者的設計思路是這樣的,你要遵循,減少了後面軟體開發者對此類設計初衷的誤解 2 變數定...
報表設計細節
一.小清新報表 1.表頭的設計 背景色 backgroud color rgb 108,202,205 字型顏色 color rgb 255,255,255 字型 font family 微軟雅黑 2.表內容設計 背景色 backgroud color rgb 195,237,233 字型顏色 co...
翻頁設計細節
首先乙個問題是 為什麼翻頁?其實問題很簡單,既當內容數量較多時,不能再一屏內展示完,或者是不能以無限拉評展示的時候就需要用不同的頁面來展示內容或資訊。這種問題多用於列表頁面和部分內容頁面。雖然翻頁的呈現方式大多類似,但是不同的細節卻決定使用者能不能更便捷的找到所需要的內容。如 現在具體記錄每乙個元素...