軟件設計的最終目標是要取得最佳方案?!白罴选笔侵冈谒泻蜻x方案中,就節(jié)省開發(fā)費用,降低資源消耗,縮短開發(fā)時間的條件,選擇能夠贏得較高的生產(chǎn)率、較高的可靠性和可維護性的方案。在整個設計的過程中,各個時期的設計結(jié)果需要經(jīng)過一系列的設計質(zhì)量的評審,以便及時發(fā)現(xiàn)和及時解決在軟件設計中出現(xiàn)的問題,防止把問題遺留到開發(fā)的后期階段,造成后患。
設計監(jiān)理總則
軟件設計監(jiān)理的基本準則包括: 審查提交的文檔是否齊全,審查文檔編制與描述工具是否符合規(guī)范。確定承辦單位提出的軟件總體結(jié)構(gòu)設計是否實現(xiàn)了軟件需求規(guī)格說明的要求,評價軟件設計方案與數(shù)學模型的可行性,評價接口設計方案和運行環(huán)境的適應性,審查軟件集成測試計劃的合理性和完備性,審查數(shù)據(jù)庫設計的完備性和一致性。并確定該階段文檔能否作為詳細設計的依據(jù),決定可否轉(zhuǎn)入詳細設計階段。確認軟件詳細設計文檔的內(nèi)容符合軟件編碼的要求。
設計階段中監(jiān)理單位要盡可能與業(yè)主單位協(xié)調(diào)配合工作,聽取業(yè)主單位從業(yè)務角度出發(fā)提出的對開發(fā)方設計的意見。監(jiān)理單位主要從文檔的規(guī)范性、可實施性出發(fā),以國家相關(guān)標準為依據(jù),從軟件工程學的角度對承建單位提出意見與建議,配合業(yè)主單位工作,敦促承建單位做好工程項目的設計工作。在設計階段,監(jiān)理單位主要針對需求的覆蓋性及可跟蹤性、模塊劃分的合理性、接口的清晰性、技術(shù)適用性、技術(shù)清晰度、可維護性、約束與需求的一致性、可測試性、對軟件設計的質(zhì)量特性的評估、對軟件設計的風險評估、對比情況、文檔格式的規(guī)范性等幾個方面進行評審。在此過程中,業(yè)主單位也需要對設計文檔做檢查,主要在功能設計是否全面準確地反映了需求、輸入項是否完全與正確并符合需求、輸出項是否符合需求、與外界的數(shù)據(jù)接口是否完全與正確并符合需求、各類編碼表是否完全與準確并符合需求、界面設計是否符合需求、維護設計是否符合需求、各類數(shù)據(jù)表格式和內(nèi)容是否符合要求、是否存在其它有疑問的設計等幾個方面進行核查。
設計的評審內(nèi)容
?。?) 可追溯性:即分析該軟件的系統(tǒng)結(jié)構(gòu)、子系統(tǒng)結(jié)構(gòu),確認該軟件設計是否復蓋了所有已確定的軟件需求,軟件每一成分是否可追溯到某一項需求。
?。?) 接口:即分析軟件各部分之間的聯(lián)系,確認該軟件的內(nèi)部接口與外部接口是否已經(jīng)明確定義。模塊是否滿足高內(nèi)聚和低耦合的要求。模塊作用范圍是否在其控制范圍之內(nèi)。
(3) 風險:即確認該軟件設計在現(xiàn)有技術(shù)條件下和預算范圍內(nèi)是否能按時實現(xiàn)。
?。?) 實用性:即確認該軟件設計對于需求的解決方案是否實用。
?。?) 技術(shù)清晰度:即確認該軟件設計是否以一種易于翻譯成代碼的形式表達。
?。?) 可維護性:從軟件維護的角度出發(fā),確認該軟件設計是否考慮了方便未來的維護。
?。?) 質(zhì)量:即確認該軟件設計是否表現(xiàn)出良好的質(zhì)量特征。
?。?) 各種選擇方案:看是否考慮過其它方案,比較各種選擇方案的標準是什么。
?。?) 限制:評估對該軟件的限制是否現(xiàn)實,是否與需求一致。
?。?0) 其它具體問題:對于文檔、可測試性、設計過程,……,等等進行評估。
在這里需要特別注意:軟件系統(tǒng)的一些外部特性的設計,例如軟件的功能、一部分性能、以及用戶的使用特性等,在軟件需求分析階段就已經(jīng)開始。這些問題的解決,多少帶有一些“怎么做”的性質(zhì),因此有人稱之為軟件的外部設計。
McGlanghlin給出在將需求轉(zhuǎn)換為設計時判斷設計好壞的三條特征:
?、?設計必須實現(xiàn)分析模型中描述的所有顯式需求,必須滿足用戶希望的所有隱式需求。
?、?設計必須是可讀、可理解的,使得將來易于編程、易于測試、易于維護。
?、?設計應從實現(xiàn)角度出發(fā),給出與數(shù)據(jù)、功能、行為
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html