版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!軟件工程復(fù)習(xí)第一章一、什么是軟件?軟件(Software )是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分, 它是包括程序(Program ),數(shù)據(jù)(Data )及其相關(guān)文檔(Document ) 的完整集合。程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開(kāi)發(fā),維護(hù)和使用有關(guān)的圖文材料二、軟件危機(jī)原因:與軟件本身的特點(diǎn)有關(guān)(難于維護(hù),邏輯復(fù)雜)與軟件開(kāi)發(fā)與維護(hù)的方法不正確有關(guān):軟件?程序急于求成=拔苗助長(zhǎng)各自為陣無(wú)方法/學(xué)現(xiàn)象:1.成本高.計(jì)算機(jī)軟件和硬件費(fèi)用比.軟件質(zhì)量得不到保證.由于軟件質(zhì)量問(wèn)題導(dǎo)致失敗的
2、軟件項(xiàng)目非常多.進(jìn)度難以控制.維護(hù)非常困難1 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!辦法:軟件工程(學(xué))三、軟件工程軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開(kāi)發(fā)軟件的 工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的。 開(kāi)發(fā)、運(yùn)行和維護(hù)軟件的系統(tǒng)方法四、軟件工程三要素軟件工程方法學(xué)包含3個(gè)要素:方法、工具和過(guò)程。五、軟件生命周期六、軟件過(guò)程模型瀑布模型瀑布模型適合于用戶(hù)需求明確、 完整、無(wú)重大變化的軟件項(xiàng) 目開(kāi)發(fā)。瀑布模型的成功在很大程度上是由于它基本上是一種 文檔驅(qū)動(dòng)的模型?!捌俨寄P褪怯晌臋n驅(qū)動(dòng)的”這個(gè)事實(shí)也是它的一個(gè)主要缺點(diǎn)。在項(xiàng)目開(kāi)始的時(shí)候,用戶(hù)常常難
3、以清楚地給出所有需求; 用戶(hù)與開(kāi)發(fā)人員對(duì)需求理解存在差異。實(shí)際的項(xiàng)目很少按照順序模型進(jìn)行。用戶(hù)必須有耐心,等到系統(tǒng)開(kāi)發(fā)完成。缺乏靈活性:因?yàn)槠俨寄P痛_定了需求分析的絕對(duì)重要2 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!性,但是在實(shí)踐中要想獲得完善的需求說(shuō)明是非常困難的, 導(dǎo)致“阻塞狀態(tài)”。反饋信息慢,開(kāi)發(fā)周期長(zhǎng)。雖然存在不少缺陷,瀑布模型經(jīng)常被嘲笑為“舊式的” 但是在需求被很好地理解的情況下,仍然是一種合理的方法。 快速原型模型增量模型增量模型是迭代和演進(jìn)的過(guò)程。增量模型把軟件產(chǎn)品分解成一系列的增量構(gòu)件,在增量開(kāi)發(fā)迭代中逐步加入。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定
4、的功能。早先完成的增量可以為后期的增量提供服務(wù)。增量開(kāi)發(fā)方法的新演進(jìn)版本叫做“極限程序設(shè)計(jì) (eXtreme Programming )”。3 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!針對(duì)每個(gè)埼門(mén)完成*詳細(xì)及計(jì)、編碼和 集成,經(jīng)測(cè)試后交. 付給用戶(hù).維護(hù)螺旋模型噴泉模型各個(gè)開(kāi)發(fā)步驟多次反復(fù)迭代,達(dá)到認(rèn)識(shí)的逐步深化特點(diǎn):主要用于支持面向?qū)ο箝_(kāi)發(fā)過(guò)程體現(xiàn)了軟件創(chuàng)建所固有的迭代和無(wú)間隙的特征Rational統(tǒng)一過(guò)程 極限編程 微軟過(guò)程4 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!第二章可行性研究一、可行性研究的任務(wù):技術(shù),經(jīng)濟(jì),操作,社會(huì),抉擇(1)技術(shù)可行性度量一個(gè)特定技
5、術(shù)信息系統(tǒng)解決方案的實(shí)用性及技術(shù)資源的可用性??紤]的問(wèn)題(1)開(kāi)發(fā)風(fēng)險(xiǎn)分析(2)資源分析(3)相關(guān)技術(shù)的發(fā)展(現(xiàn)有技術(shù)能否實(shí)現(xiàn)新系統(tǒng),技術(shù)難點(diǎn)、建議采用技術(shù)的先進(jìn)性)(2)經(jīng)濟(jì)可行性度量系統(tǒng)解決方案的性能價(jià)格比考慮的問(wèn)題成本/效益分析(開(kāi)發(fā)、運(yùn)行的成本/效益)有形成本、效益無(wú)形成本、效益價(jià)值和成本的關(guān)系質(zhì)量與價(jià)值、成本的關(guān)系價(jià)值/成本的均衡(3)操作可行性用戶(hù)使用可能性時(shí)間進(jìn)度可行性5 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!組織和文化上的可行性(4)社會(huì)可行性(法律可行性)開(kāi)發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上引起侵權(quán)、 破 壞或其它責(zé)任問(wèn)題二、可行性研究過(guò)程:8步驟.復(fù)查系統(tǒng)規(guī)模和目
6、標(biāo).研究目前正在使用的系統(tǒng).導(dǎo)出新系統(tǒng)的高層邏輯模型.進(jìn)一步定義問(wèn)題.導(dǎo)出和評(píng)價(jià)供選擇的解法.推薦行動(dòng)方針.草擬開(kāi)發(fā)計(jì)劃.書(shū)寫(xiě)文檔提交審查三、系統(tǒng)流程圖:數(shù)據(jù)在系統(tǒng)(人,軟,硬)各部件之間流動(dòng) 系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它的基本思想是用圖形符號(hào)以黑盒子形式描繪組成系 統(tǒng)的每個(gè)部件(程序,文檔,數(shù)據(jù)庫(kù),人工過(guò)程等)。四、數(shù)據(jù)流圖:源點(diǎn)或終點(diǎn),處理,數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流.在數(shù)據(jù)流圖中沒(méi)有任何具體的物理部件,它只是描繪數(shù) 據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程, 是系統(tǒng)邏輯功能的圖 形表示。6 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!.例題1經(jīng)調(diào)查,該儲(chǔ)蓄所處理系統(tǒng)能完成儲(chǔ)戶(hù)的存
7、 /取款要 求處理。如果是新儲(chǔ)戶(hù),則將該儲(chǔ)戶(hù)數(shù)據(jù)記入存款賬文件。 如果是老儲(chǔ)戶(hù)存款,按儲(chǔ)戶(hù)編號(hào)在存款賬中查找該儲(chǔ)戶(hù)的 記錄,填寫(xiě)存款額并修改余額;如果是取款,就檢查是否 超支。存/取款后應(yīng)修改存款帳和儲(chǔ)戶(hù)的存折,并將存折 交還儲(chǔ)戶(hù)。第1層五、數(shù)據(jù)字典:流,元素,存儲(chǔ),處理.數(shù)據(jù)字典的任務(wù)是:對(duì)于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在字典中作為一個(gè)詞條加以定義, 使得每一個(gè)圖7 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!形元素的名字都有一個(gè)確切的解釋.數(shù)據(jù)結(jié)構(gòu)的描述出舉例=被定義為+ 與 x = a + b.,. 或|或 x = a , b , x = a | b或 m.n 重復(fù) x
8、 = a , x = 3a8(.)可選x =“”基本數(shù)據(jù)元素x =“a”. 連結(jié)符x = 1.9.例題北京某高校可用的電話(huà)號(hào)碼有以下幾類(lèi):校內(nèi)電話(huà)號(hào)碼由4位數(shù)字組成,第1位數(shù)字不是0;校外電話(huà)又分為本市電話(huà)和外地電話(huà)兩類(lèi),撥校外電話(huà)需先撥 0,若是本市電話(huà)則 再接著撥8位數(shù)字(第1位不是0),若是外地電話(huà)則撥3位 區(qū)碼再撥8位電話(huà)號(hào)碼(第1位不是0)。請(qǐng)用定義數(shù)據(jù)字典的方法,定義上述的電話(huà)號(hào)碼。電話(huà)號(hào)碼=校內(nèi)電話(huà)號(hào)碼|校外電話(huà)號(hào)碼校內(nèi)電話(huà)號(hào)碼=非零數(shù)字+ 3位數(shù)字 后面繼續(xù)定義校外電話(huà)號(hào)碼=本市號(hào)碼|外地號(hào)碼本市號(hào)碼=數(shù)字零+8位數(shù)字8 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!外
9、地號(hào)碼=數(shù)字零+3位數(shù)字+8位數(shù)字非零數(shù)字=1|2|3|4|5|6|7|8|9數(shù)字零=03位數(shù)字=3數(shù)字3/3 至3個(gè)數(shù)字8位數(shù)字=非零數(shù)字+7位數(shù)字7位數(shù)字=7數(shù)字7數(shù)字=0|1|2|3|4|5|6|7|8|9六、成本/效益分析:估計(jì),ROI,貨幣的時(shí)間價(jià)值第3章需求分析就是研究一種無(wú)二義性的表達(dá)工具,它能為用戶(hù)和軟件人員雙方都接受并能夠把“需求”嚴(yán)格地、形式地表達(dá)出來(lái)。準(zhǔn)確地回答“系統(tǒng)必須做什么?”一、需求分析的任務(wù):綜合要求+數(shù)據(jù)要求+邏輯模型+修正計(jì)劃1確定對(duì)系統(tǒng)的綜合要求功能需求性能需求可靠性和可用性需求出錯(cuò)處理需求接口需求約束逆向需求、將來(lái)可能提出的要求。2分析系統(tǒng)的數(shù)據(jù)要求9 /
10、 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!軟件需求分析的重要任務(wù)分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法3導(dǎo)出系統(tǒng)的邏輯模型用數(shù)據(jù)流圖、實(shí)體-關(guān)系圖(ER圖)、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典、主要的處理算法描述邏輯模型4修正系統(tǒng)開(kāi)發(fā)計(jì)劃準(zhǔn)確地估計(jì)系統(tǒng)的成本及進(jìn)度修正以前我們所制定的開(kāi)發(fā)計(jì)劃二、獲取需求的方法:訪談、自頂向下、規(guī)格說(shuō)明、軟件原型。 訪談訪談兩種基本形式:正式和非正式當(dāng)需要調(diào)查大量人員的意見(jiàn)時(shí),請(qǐng)被調(diào)查人填寫(xiě)調(diào)查表是有效方法.面向數(shù)據(jù)流自頂向下求精可行性研究-目標(biāo)系統(tǒng)的高層數(shù)據(jù)流圖把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到元素級(jí).簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)提倡用戶(hù)與開(kāi)發(fā)者密切合作,共同標(biāo)識(shí)問(wèn)題,提出
11、解決方案要素,商討不同方案并指定基本需求.快速建立軟件原型最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù)軟件原型:快速建立起來(lái)的旨在演示目標(biāo)系統(tǒng)主要功能的可運(yùn)10 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!行的程序構(gòu)建軟件原型的要點(diǎn):實(shí)現(xiàn)用戶(hù)看得見(jiàn)的功能,省略目標(biāo)系統(tǒng) 的“隱含”功能軟件原型應(yīng)具有的特性第一特性:快速第二特性:容易修改三、分析建模與規(guī)格說(shuō)明:數(shù)據(jù)模型、功能模型和行為模型建立數(shù)據(jù)模型:實(shí)體-了解圖建立功能模型:數(shù)據(jù)流圖建立行為模型:狀態(tài)轉(zhuǎn)換圖四、實(shí)體-了解圖(ER圖)五、數(shù)據(jù)規(guī)范化:第一、二、三范式(1 )第一范式每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡(jiǎn)單值而不含內(nèi)部 結(jié)構(gòu)。(
12、2)第二范式滿(mǎn)足第一范式條件,而且每個(gè)非關(guān)鍵字屬性都由整個(gè)關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來(lái)決定)(3)第三范式符合第二范式的條件。滿(mǎn)足第三范式(3NF)必須先滿(mǎn)足第二 范式(2NF)。簡(jiǎn)而言之,第三范式(3NF)要求一個(gè)數(shù)據(jù)庫(kù)表中 不包含已在其它表中已包含的非主關(guān)鍵字信息11 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!六、狀態(tài)轉(zhuǎn)換圖:狀態(tài)、事件、符號(hào)通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的 行為狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的 一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。事件就是引起系統(tǒng)做動(dòng)作或(和)轉(zhuǎn)換狀態(tài)的控制信息。七、其他圖形工具
13、:層次方框圖、 Warnier圖、IPO圖層次方框圖用樹(shù)形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次 結(jié)構(gòu)。Warnier圖也用樹(shù)形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方 框圖提供了更豐富的描繪手段。用 Warnier圖可以表明信息的邏輯 組織。在需求分析階段可以使用IPO表簡(jiǎn)略地描述系統(tǒng)的主要算法(即 數(shù)據(jù)流圖中各個(gè)處理的基本算法)。八、驗(yàn)證軟件需求:一致性、完整性、現(xiàn)實(shí)性和有效性(1) 一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。(2)完整性需求必須是完整的,規(guī)格說(shuō)明書(shū)應(yīng)該包括用戶(hù)需要的每一個(gè)功能或性能。(3)現(xiàn)實(shí)性指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)
14、的。(4)有效性必須證明需求是正確有效的,確實(shí)能解決用戶(hù)面對(duì)的 問(wèn)題。12 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!九、例題:狀態(tài)轉(zhuǎn)化圖復(fù)印機(jī)的工作過(guò)程大致如下:未接到復(fù)印命令時(shí)處于閑置狀態(tài),一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài),完成一個(gè)復(fù)印命令規(guī)定的工作后 又回到閑置狀態(tài),等待下一個(gè)復(fù)印命令;如果執(zhí)行復(fù)印命令時(shí)發(fā)現(xiàn)沒(méi) 紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿(mǎn)紙后進(jìn)入閑置狀態(tài), 準(zhǔn)備接收復(fù)印命令;如果復(fù)印時(shí)發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā) 出警告等待維修人員來(lái)排除故障,故障排除后回到閑置狀態(tài)。請(qǐng)用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為。第四章一、形式化說(shuō)明的優(yōu)點(diǎn)形式化的規(guī)格說(shuō)明可以用數(shù)學(xué)方法研
15、究、驗(yàn)證形式化的規(guī)格說(shuō)明消除了二義性鼓勵(lì)軟件開(kāi)發(fā)者在軟件工程過(guò)程的早期階段使用更嚴(yán)格的方法,13 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!從而可以減少差錯(cuò) 二、形式化方法的缺點(diǎn)大多數(shù)形式化的規(guī)格說(shuō)明主要關(guān)注于系統(tǒng)的功能和數(shù)據(jù),而問(wèn)題的時(shí)序、控制和行為等方面的需求卻更難于表示形式化方法比欠形式化方法更難學(xué)習(xí),不僅在培訓(xùn)階段要花大量的投資,而且對(duì)某些軟件工程師來(lái)說(shuō),它代表了一種“文化沖擊”把形式化方法和欠形式化方法有機(jī)地結(jié)合起來(lái), 取長(zhǎng)補(bǔ)短,應(yīng)該能獲得更理想的效果第五章一、總體設(shè)計(jì)階段的基本目的是用比較抽象概括的方式確定系統(tǒng)如何完成預(yù)定的任務(wù)確定系統(tǒng)的物理配置方案進(jìn)而確定組成系統(tǒng)的每
16、個(gè)程序的結(jié)構(gòu)二、總體設(shè)計(jì)階段主要由兩階段組成系統(tǒng)設(shè)計(jì)階段從數(shù)據(jù)流圖出發(fā)設(shè)想完成系統(tǒng)功能的若干種合理物理方案分析員應(yīng)仔細(xì)分析比較方案,和用戶(hù)共同選定一最佳方案軟件結(jié)構(gòu)設(shè)計(jì)階段確定軟件由哪些模塊組成及這些模塊之間的動(dòng)態(tài)調(diào)用關(guān)系 三、軟件結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)該遵循模塊獨(dú)立原理1.耦合14 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!耦合:對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊間互連程度的度量(1)數(shù)據(jù)耦合如果兩個(gè)模塊彼此間通過(guò)參數(shù)交換信息,而且交換的信息 僅僅是數(shù)據(jù),那么這種耦合稱(chēng)為數(shù)據(jù)耦合。數(shù)據(jù)耦合是低耦合。 (2)控制耦合如果兩個(gè)模塊彼此間傳遞的信息中有控制信息(有時(shí)該控制信息以數(shù)據(jù)形式出現(xiàn)),這種耦合稱(chēng)控
17、制耦合??刂岂詈鲜侵械瘸潭鹊鸟詈?,它增加了系統(tǒng)的復(fù)雜程度(3)特征耦合如果被調(diào)用的模塊需要使用作為參數(shù)傳遞進(jìn)來(lái)的數(shù)據(jù)結(jié)構(gòu) 中的所有元素,那么,把整個(gè)數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞就是完全 正確的。但當(dāng)把整個(gè)數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只 需使用其中一部分?jǐn)?shù)據(jù)元素時(shí),即出現(xiàn)特征耦合(4)公共環(huán)境耦合當(dāng)兩個(gè)或多個(gè)模塊通過(guò)一個(gè)公共數(shù)據(jù)環(huán)境相互作用時(shí),它們之間的耦合稱(chēng)為公共環(huán)境耦合(5)內(nèi)容耦合出現(xiàn)下列情況之一,兩個(gè)模塊間就發(fā)生了內(nèi)容耦合:? 一個(gè)模塊訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù)? 一個(gè)模塊不通過(guò)正常入口而轉(zhuǎn)到另一個(gè)模塊的內(nèi) 部?兩模塊有部分程序代碼重疊(只可能出現(xiàn)在匯編程15 / 28文檔供參考,可復(fù)制、編
18、制,期待您的好評(píng)與關(guān)注!序)? 一個(gè)模塊有多個(gè)入口 (這意味著一個(gè)模塊有幾種功能)內(nèi)容耦合是最高程度的耦合(6)設(shè)計(jì)原則?盡量使用數(shù)據(jù)耦合?少用控制耦合和特征耦合?限制公共環(huán)境耦合的范圍?完全不用內(nèi)容耦合2.內(nèi)聚內(nèi)聚標(biāo)志一個(gè)模塊內(nèi)各元素相結(jié)合的緊密程度(1)低內(nèi)聚:偶然內(nèi)聚,邏輯內(nèi)聚,時(shí)間內(nèi)聚偶然內(nèi)聚:如果一個(gè)模塊完成一組任務(wù),這些任務(wù)彼此間即使有關(guān)系也是很松散的,就叫做偶然內(nèi)聚邏輯內(nèi)聚:如果一個(gè)模塊完成的任務(wù)在邏輯上屬于相同或相似的一類(lèi),則稱(chēng)為邏輯內(nèi)聚時(shí)間內(nèi)聚:如果一個(gè)模塊包含的任務(wù)必須在同一段時(shí)間內(nèi)執(zhí)行(如模塊初始化工作),就叫時(shí)間內(nèi)聚(2)中內(nèi)聚:過(guò)程內(nèi)聚,通信內(nèi)聚過(guò)程內(nèi)聚:如果一個(gè)模塊
19、內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行,則稱(chēng)為過(guò)程內(nèi)聚通信內(nèi)聚:如果模塊中所有元素都使用同一個(gè)輸入數(shù)據(jù)和16 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!(或)產(chǎn)生同一個(gè)輸出數(shù)據(jù),則稱(chēng)通信內(nèi)聚(3)高內(nèi)聚:順序內(nèi)聚,功能內(nèi)聚順序內(nèi)聚:如果一個(gè)模塊內(nèi)的處理元素和同一個(gè)功能密切 相關(guān),而且這些處理必須順序執(zhí)行(通常一個(gè)處理元素的輸出 數(shù)據(jù)作為下一個(gè)處理元素的輸人數(shù)據(jù)),則稱(chēng)為順序內(nèi)聚功能內(nèi)聚:如果模塊內(nèi)所有處理元素屬于一個(gè)整體,完成 一個(gè)單一的功能,則稱(chēng)為功能內(nèi)聚。功能內(nèi)聚是最高程度的內(nèi) 聚四、抽象和求精:由抽象到具體地構(gòu)造軟件層次結(jié)構(gòu)五、軟件開(kāi)發(fā)過(guò)程中既要充分重視和利用啟發(fā)式規(guī)則
20、, 又要從實(shí)際情 況出發(fā)避免生搬硬套六、自頂向下逐步求精是軟件結(jié)構(gòu)設(shè)計(jì)的常用途徑在詳細(xì)的過(guò)程設(shè)計(jì)和編寫(xiě)程序之前,首先進(jìn)行結(jié)構(gòu)設(shè)計(jì),具好處 在于可以在軟件開(kāi)發(fā)早期站在全局高度對(duì)軟件結(jié)構(gòu)進(jìn)行優(yōu)化。在該時(shí) 期進(jìn)行優(yōu)化付出的代價(jià)不高,卻可使軟件質(zhì)量得到重大改進(jìn)第六章一、詳細(xì)設(shè)計(jì)階段的關(guān)鍵任務(wù)1.確定怎樣具體地實(shí)現(xiàn)用戶(hù)需要的軟件系統(tǒng),即要設(shè)計(jì)出程序的“藍(lán)圖”詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序代碼的質(zhì)量二、詳細(xì)設(shè)計(jì)階段最重要的目標(biāo)17 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!.保證軟件的可靠性.使將來(lái)編寫(xiě)出的程序可讀性好、容易理解、容易測(cè)試、容易修改和維護(hù)三、結(jié)構(gòu)程序設(shè)計(jì)技術(shù)是實(shí)現(xiàn)上述目標(biāo)的基
21、本保證, 是進(jìn)行詳細(xì)設(shè)計(jì) 的邏輯基礎(chǔ)如果一個(gè)程序的代碼塊僅僅通過(guò)順序、選擇和循環(huán)這 3種基本控 制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口, 則稱(chēng)這 個(gè)程序是結(jié)構(gòu)化的。結(jié)構(gòu)程序設(shè)計(jì)是盡可能少用 GO TO語(yǔ)句的程序 設(shè)計(jì)方法。四、人機(jī)界面設(shè)計(jì)是接口設(shè)計(jì)的重要的組成部分.對(duì)于交互式系統(tǒng)來(lái)說(shuō),人機(jī)界面設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)及過(guò)程設(shè)計(jì)一樣重要.人機(jī)界面的質(zhì)量直接影響用戶(hù)對(duì)軟件產(chǎn)品的接受程度.在設(shè)計(jì)人機(jī)界面的過(guò)程中,必須充分重視并認(rèn)真處理好系統(tǒng)響應(yīng)時(shí)間、用戶(hù)幫助設(shè)施、出錯(cuò)信息處理和命令交互等 4個(gè)設(shè)計(jì)問(wèn)題(1)系統(tǒng)響應(yīng)時(shí)間長(zhǎng)度系統(tǒng)響應(yīng)時(shí)間過(guò)長(zhǎng),用戶(hù)就會(huì)感到緊張和沮喪系統(tǒng)響應(yīng)時(shí)間過(guò)短會(huì)迫
22、使用戶(hù)加快操作節(jié)奏, 從而可能 會(huì)犯錯(cuò)誤易變性:系統(tǒng)響應(yīng)時(shí)間相對(duì)于平均響應(yīng)時(shí)間的偏差響應(yīng)時(shí)間易變性低有助于用戶(hù)建立起穩(wěn)定的工作節(jié)奏18 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!響應(yīng)時(shí)間變化暗示系統(tǒng)工作出現(xiàn)了異常(2)用戶(hù)幫助設(shè)施集成的幫助設(shè)施一開(kāi)始就設(shè)計(jì)在軟件里面縮短用戶(hù)獲得幫助的時(shí)間,增加界面的友好性附加的幫助設(shè)施在系統(tǒng)建成后再添加到軟件中多數(shù)情況實(shí)際是一種查詢(xún)能力有限的聯(lián)機(jī)用戶(hù)手冊(cè)(3)出錯(cuò)信息處理出錯(cuò)信息和警告信息,是出現(xiàn)問(wèn)題時(shí)交互式系統(tǒng)給出的“壞消息”出錯(cuò)信息設(shè)計(jì)得不好,將向用戶(hù)提供無(wú)用的甚至誤導(dǎo)的信息,反而會(huì)加重用戶(hù)的挫折感(4)命令交互面向窗口的、點(diǎn)擊和拾取方式的界面
23、已經(jīng)減少了用戶(hù)對(duì)命令行的依賴(lài)許多高級(jí)用戶(hù)仍然偏愛(ài)面向命令行的交互方式多數(shù)情況,用戶(hù)既可以從菜單中選擇軟件功能,也可以通過(guò)鍵盤(pán)命令序列調(diào)用軟件功能五、過(guò)程設(shè)計(jì)-詳細(xì)設(shè)計(jì)階段應(yīng)完成的主要工作精化、迭代、原型.在數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)和接口設(shè)計(jì)完成之后進(jìn)行19 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!.任務(wù)是設(shè)計(jì)解題的詳細(xì)步驟(即算法)(1)程序流程圖(2)盒圖(N-S圖)(3)PAD圖-問(wèn)題分析圖任務(wù)1任翳1PAD圖基本結(jié)構(gòu)選擇結(jié)構(gòu)分支途擇的構(gòu)任務(wù)1任翳1PAD圖基本結(jié)構(gòu)選擇結(jié)構(gòu)分支途擇的構(gòu)VSTIL,柒件先判定蜃弄蠟構(gòu)后判定型看環(huán)州構(gòu)(4)判定表當(dāng)算法中包含多重嵌套的條件選擇時(shí),能
24、清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系判定樹(shù)判定樹(shù)是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系(6)過(guò)程設(shè)計(jì)語(yǔ)言過(guò)程設(shè)計(jì)語(yǔ)言也稱(chēng)為偽碼六、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法(完成過(guò)程設(shè)計(jì)).Jackson結(jié)構(gòu)程序設(shè)計(jì)方法程序中實(shí)際使用的數(shù)據(jù)結(jié)構(gòu)種類(lèi)繁多,但是它們的數(shù)據(jù)元素彼此間的邏輯關(guān)系卻只有順序、選擇和重復(fù)3類(lèi),因此,邏輯數(shù)據(jù)20 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!結(jié)構(gòu)也只有這3類(lèi)七、程序復(fù)雜程度的定量度量I.McCabe 方法(1)使用環(huán)形復(fù)雜度定量度量程序的復(fù)雜程度(2)實(shí)踐表明,環(huán)形復(fù)雜度 V(G) = 10是模塊規(guī)模的合理上限.HaIst
25、ead 方法(1)根據(jù)程序中運(yùn)算符和操作數(shù)的總數(shù)度量程序復(fù)雜度(2)H = n 110g25 + n 210g2n2第七章一、實(shí)現(xiàn)包括編碼和測(cè)試兩個(gè)階段二、編碼=設(shè)計(jì)結(jié)果翻譯成程序(某種程序語(yǔ)言編寫(xiě))把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序三、測(cè)試包含靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試,測(cè)試步驟至少分為:.模塊測(cè)試 - 單元測(cè)試重點(diǎn)-5個(gè)方面.模塊接口.局部數(shù)據(jù)結(jié)構(gòu).重要的執(zhí)行通路.出錯(cuò)處理通路21 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!.邊界條件2,子系統(tǒng)測(cè)試-局部.系統(tǒng)測(cè)試-集成.驗(yàn)收測(cè)試-用戶(hù)參與確認(rèn)測(cè)試也稱(chēng)為驗(yàn)收測(cè)試,它的目標(biāo)是驗(yàn)證軟件的有效性。確認(rèn)(validation ):
26、指的是為了保證軟件確實(shí)滿(mǎn)足了用戶(hù)需求 而進(jìn)行的一系列活動(dòng)。驗(yàn)證(verification ):指的是保證軟件正確地實(shí)現(xiàn)了某個(gè)特定 要求的一系列活動(dòng)。有效性的簡(jiǎn)單定義:如果軟件的功能和性能如同用戶(hù)所合理期待的那樣,軟件就是有效的。四、白盒測(cè)試和黑盒測(cè)試是軟件測(cè)試的兩類(lèi)基本方法.白盒測(cè)試邏輯覆蓋-是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計(jì)測(cè)試用 例的技術(shù)。(1)語(yǔ)句覆蓋使程序中每個(gè)語(yǔ)句至少執(zhí)行一次22 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!(2)判定覆蓋使每個(gè)判定的真假分支都至少執(zhí)行一次。(3)條件覆蓋使每個(gè)判定的每個(gè)條件的可能取值至少執(zhí)行一次。(4)判定/條件覆蓋選取足夠多的測(cè)試用例,使
27、判斷中的每個(gè)條件的所有可能取值 至少執(zhí)行一次,同時(shí)每個(gè)判斷本身的所有可能判斷結(jié)果至少執(zhí)行 一次.(5)條件組合覆蓋所有可能的條件取值組合至少執(zhí)行一次(6)點(diǎn)覆蓋圖論中點(diǎn)覆蓋的概念定義如下:如果連通圖 G的子圖G是 連通的,而且包含G的所有結(jié)點(diǎn),則稱(chēng)G是G的點(diǎn)覆蓋。(7)邊覆蓋圖論中邊覆蓋的定義是:如果連通圖G的子圖G是連通的, 而且包含G的所有邊,則稱(chēng)G是G的邊覆蓋。為了滿(mǎn)足邊覆 蓋的測(cè)試標(biāo)準(zhǔn),要求選取足夠多測(cè)試數(shù)據(jù),使得程序執(zhí)行路徑至 少經(jīng)過(guò)流圖中每條邊一次。通常邊覆蓋和判定覆蓋是一致的。(8)路徑覆蓋路徑覆蓋的含義是,選取足夠多測(cè)試數(shù)據(jù),使程序的每條可能 路徑都至少執(zhí)行一次(如果程序圖中有
28、環(huán),則要求每個(gè)環(huán)至少經(jīng)過(guò) 一次)。23 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!2.黑盒測(cè)試黑盒測(cè)試并不能取代白盒測(cè)試,它是與白盒測(cè)試互補(bǔ)的測(cè)試方 法,它很可能發(fā)現(xiàn)白盒測(cè)試不易發(fā)現(xiàn)的其他類(lèi)型的錯(cuò)誤。1等價(jià)類(lèi)劃分法(等價(jià)分配)把所有可能的輸入數(shù)據(jù)(有效的和無(wú)效的)劃分成若干個(gè)等 價(jià)的子集(稱(chēng)為等價(jià)類(lèi)別或等價(jià)區(qū)間),使得每個(gè)子集中的一個(gè) 典型值在測(cè)試中的作用與這一子集中所有其它值的作用相同 .2邊界值分析法邊界值分析法與等價(jià)類(lèi)劃分法區(qū)別(1)邊界值分析不是從某等價(jià)類(lèi)中隨便挑一個(gè)作為代表,而是使這個(gè)等價(jià)類(lèi)的每個(gè)邊界都要作為測(cè)試條件。(2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生
29、 的測(cè)試情況3 錯(cuò)誤推測(cè)法(error guessing)根據(jù)經(jīng)驗(yàn)、直覺(jué)和預(yù)感來(lái)進(jìn)行測(cè)試4因果圖法因果圖適合于描述對(duì)于多種輸入條件的組合, 相應(yīng)產(chǎn)生多個(gè)動(dòng) 作的形式來(lái)設(shè)計(jì)測(cè)試用例。因果圖方法最終生成的是判定表。第八章一、軟件維護(hù)的4類(lèi)活動(dòng)(改正性、適應(yīng)性、完善性、預(yù)防性)24 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!軟件維護(hù)-就是在軟件已經(jīng)交付使用之后,為保證軟件在相當(dāng)長(zhǎng)的時(shí)期能夠正常運(yùn)作所進(jìn)行的軟件活動(dòng)。改正性維護(hù):為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、 排除實(shí)施中的誤使用,所進(jìn)行的診斷和改正錯(cuò)誤的過(guò)程就叫做改正性 維護(hù)。適應(yīng)性維護(hù):為使軟件適應(yīng)外部環(huán)境和數(shù)據(jù)環(huán)境的變化
30、,而去修 改軟件的過(guò)程就叫做適應(yīng)性維護(hù)。擴(kuò)充與完善性維護(hù):在軟件的使用過(guò)程中,用戶(hù)往往會(huì)對(duì)軟件提 出新的功能與性能要求。為了滿(mǎn)足這些要求,需要修改或再開(kāi)發(fā)軟件, 以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù) 性。預(yù)防性維護(hù):預(yù)防性維護(hù)是為了提高軟件的可維護(hù)性、 可靠性等, 為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)。二、決定軟件可維護(hù)性的基本要素(可理解、可測(cè)試、可修改、可移植和可重用性).可理解性表現(xiàn)為外來(lái)讀者理解軟件的結(jié)構(gòu)、功能、接口和內(nèi)部處理過(guò)程的難易程度。模塊化(模塊結(jié)構(gòu)良好,高內(nèi)聚,松耦合)、詳細(xì)的設(shè)計(jì)文檔、 結(jié)構(gòu)化設(shè)計(jì)、程序內(nèi)部的文檔和良好的高級(jí)程序設(shè)計(jì)語(yǔ)言等等, 都對(duì)提高軟件的可理解性有重要貢獻(xiàn)。.可測(cè)試性25 / 28文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!診斷和測(cè)試的容易程度取決于軟件容易理解的程度。軟件結(jié)構(gòu)、可用的測(cè)試工具和調(diào)試工具,以及以前設(shè)計(jì)的測(cè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年1月廣東廣州市天河區(qū)美好居幼兒園編外聘用制專(zhuān)任教師招聘1人考試備考試題及答案解析
- 2026新疆昆東經(jīng)開(kāi)區(qū)管委會(huì)招聘19人考試備考試題及答案解析
- 2026青海海東市第二人民醫(yī)院校園引才招聘10人考試參考題庫(kù)及答案解析
- 2026湖南師大附中雙語(yǔ)實(shí)驗(yàn)學(xué)校(南校區(qū))教師招聘考試備考題庫(kù)及答案解析
- 2026福建廈門(mén)市集美區(qū)新亭幼兒園非在編教職工招聘1人考試參考試題及答案解析
- 2026中煤陜西能源化工集團(tuán)有限公司面向社會(huì)招聘54人考試參考題庫(kù)及答案解析
- 2026年西安慶華醫(yī)院招聘(9人)考試參考題庫(kù)及答案解析
- 2026上海大學(xué)招聘崗位210人(第一批)考試參考試題及答案解析
- 高級(jí)護(hù)理查房:姑息治療與安寧療護(hù)
- 2026年河南實(shí)達(dá)國(guó)際人力資源合作有限公司關(guān)于招聘公共安全服務(wù)人員備考題庫(kù)參考答案詳解
- 整體護(hù)理病歷課件
- 算法歧視法律規(guī)制-洞察及研究
- 《質(zhì)量比較儀校準(zhǔn)規(guī)范》
- 去極端化宣傳課件
- 2025至2030中國(guó)智能VR手術(shù)眼鏡市場(chǎng)發(fā)展現(xiàn)狀及未來(lái)前景預(yù)測(cè)分析報(bào)告
- 2025春季學(xué)期國(guó)開(kāi)電大本科《人文英語(yǔ)4》一平臺(tái)機(jī)考真題及答案(第八套)
- 2025-2030中國(guó)房地產(chǎn)與房地產(chǎn)軟件行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 委托貸款購(gòu)車(chē)協(xié)議書(shū)
- 婚后子女撫養(yǎng)協(xié)議書(shū)
- R-Breaker交易系統(tǒng)策略(TB版)
- 光伏勞務(wù)居間合同范例
評(píng)論
0/150
提交評(píng)論