软件工程--软件设计
1.軟件設(shè)計(jì)的目標(biāo)和任務(wù):根據(jù)用信息域表示的軟件的需求以及功能和性能需求進(jìn)行數(shù)據(jù)設(shè)計(jì),系統(tǒng)結(jié)構(gòu)設(shè)計(jì),程序設(shè)計(jì)。
2.軟件設(shè)計(jì)的過(guò)程:1.規(guī)定規(guī)范2.軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)3.處理方式設(shè)計(jì)4.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)5.可靠性色痕跡6.編寫(xiě)概要設(shè)計(jì)階段的文檔7.概要設(shè)計(jì)評(píng)審。
3.軟件設(shè)計(jì)基礎(chǔ):自頂向下,逐步細(xì)化;模塊 每個(gè)名字都不相同模塊的調(diào)用關(guān)系和接口;模塊建的信息傳遞;表示模塊A有條件地調(diào)用另一個(gè)模塊B;一般采用兩個(gè)準(zhǔn)則度量模塊獨(dú)立性 ?即 模塊耦合和模塊內(nèi)聚;高內(nèi)聚低耦合。
4.變換分析的步驟:第一重畫(huà)數(shù)據(jù)流圖;第二有效輸入,有效輸出,中心變換部分;第三,級(jí)分解,設(shè)計(jì)上層模塊;?第四,進(jìn)行二級(jí)分解,設(shè)計(jì)輸入,輸出和中心變換部分的中、下層模塊。
5.模塊功能的完善化:1,執(zhí)行規(guī)定的功能的部分2出錯(cuò)處理的部分3.給他的調(diào)用者返回一個(gè)結(jié)束狀態(tài)標(biāo)識(shí)。
6.過(guò)程設(shè)計(jì):程序流程圖,N-S圖盒圖,PAD 問(wèn)題分析圖
7.PDL 結(jié)構(gòu)化語(yǔ)言:一種用于描述功能模塊的算法設(shè)計(jì)和加工需要的語(yǔ)言。成為設(shè)計(jì)程序用的語(yǔ)言
8.概要設(shè)計(jì)的過(guò)程:1設(shè)計(jì)系統(tǒng)方案2選取一組合理的方案3推薦最佳實(shí)施方案4功能分解5軟件結(jié)構(gòu)設(shè)計(jì)6數(shù)據(jù)庫(kù)設(shè)計(jì)、文檔結(jié)構(gòu)的設(shè)計(jì)7制定測(cè)試計(jì)劃8編寫(xiě)概要設(shè)計(jì)文檔9審查與復(fù)審概要設(shè)計(jì)文檔。
9.模塊獨(dú)立性的重要性:1 具有獨(dú)立的模塊的軟件比較容易開(kāi)發(fā)出來(lái)2 比較容易測(cè)試和維護(hù)
10.結(jié)構(gòu)設(shè)計(jì)原則:1顯著改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性2模塊規(guī)模應(yīng)該適中3適當(dāng)選擇深度、寬度、扇出和扇入4模塊的作用域應(yīng)該在控制域之內(nèi)5力爭(zhēng)降低模塊接口的復(fù)雜程度6設(shè)計(jì)單入口單出口的模塊7模塊功能應(yīng)該可以預(yù)測(cè)
11.語(yǔ)言選擇總原則:1先求正確后求快2先求清晰后求快3求快不忘保持程序正確4保持程序整潔以求快5不要因效率而犧牲清晰。
12.結(jié)構(gòu)化程序設(shè)計(jì)主要包括:1在編寫(xiě)程序時(shí)候,使用幾種基本控制結(jié)構(gòu)2在程序設(shè)計(jì)過(guò)程中,盡量采用自頂向下和逐步細(xì)化的原則,由粗到細(xì),一步步展開(kāi)。
13.源程序文檔化:1標(biāo)識(shí)符的命名2 安排注釋3 程序的視覺(jué)組織
14.數(shù)據(jù)說(shuō)明:1次序規(guī)范化2 語(yǔ)句變量安排有序化3使用注釋說(shuō)明復(fù)雜數(shù)據(jù)結(jié)構(gòu)4.除非對(duì)效率由特殊的要求,程序編寫(xiě)要做到清晰第一,效率第二5.首先要寶澤和那個(gè)正確然后速度6.避免是應(yīng)用臨時(shí)變量而使用可讀性下降7.讓編譯程序簡(jiǎn)單的優(yōu)化8盡可能使用庫(kù)函數(shù)9避免不必要的轉(zhuǎn)移 10.盡量只采用三種基本的控制結(jié)構(gòu) 循環(huán),選擇和順序結(jié)構(gòu)11避免使用空的ELSE語(yǔ)句和IF。。。Then if 。。。語(yǔ)句 12 避免采用過(guò)于復(fù)雜的條件測(cè)試13 盡量減少使用“否定”條件的語(yǔ)句 14 盡可能用通俗易懂的偽代碼來(lái)描述程序的流程,然后再翻譯成必須使用的語(yǔ)言 15 數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡(jiǎn)化16要模塊化17 利用信息隱蔽,確保每個(gè)模塊的獨(dú)立性 18 從數(shù)據(jù)出去去構(gòu)造程序19 不要修補(bǔ)不好的程序,要重新編寫(xiě)20 對(duì)太大的程序,要分塊編寫(xiě)、測(cè)試,然后再集成
15.計(jì)算環(huán)路復(fù)雜性方法: v(G)=m-n+p
M是弧數(shù) n 是節(jié)點(diǎn)數(shù) p 是強(qiáng)連通分量個(gè)數(shù) ?v(G) 是有向圖G中環(huán)路個(gè)數(shù)
Halstead 程序長(zhǎng)度 ?程序編完后測(cè)量
H=n1*log2n1+n2*log2n2
程序員工作量 ?E=V /L
總結(jié)
以上是生活随笔為你收集整理的软件工程--软件设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CentOS 7安装Keepalived
- 下一篇: 在CentOS7上配置SVN