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