《軟件工程》重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第1頁
《軟件工程》重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第2頁
《軟件工程》重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第3頁
《軟件工程》重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第4頁
《軟件工程》重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余10頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、WORD完美格式第一章1、軟件概念:由計(jì)算機(jī)程序,數(shù)據(jù),軟件文檔組成軟件的特點(diǎn):無法直接觀察它的物理形態(tài),只能通過觀察他的是實(shí)際運(yùn)行情況來了解他的功能特性和質(zhì)量等; 人們?cè)诜治鲈O(shè)計(jì)開發(fā)測(cè)試過程以及軟件開發(fā)項(xiàng)目的管理過程中滲透了大量的人類的腦力勞動(dòng);不存在磨損和老化但存在缺陷維護(hù)和技術(shù)更新的問題;開發(fā)運(yùn)行依賴一定的計(jì)算機(jī)系統(tǒng)環(huán)境;具有可復(fù)用性軟件的分類:按功能分:系統(tǒng)支撐應(yīng)用軟件;按服務(wù)對(duì)象:通用定制軟件;按規(guī)模:大中小型軟件;按工作方式:實(shí)時(shí)分時(shí)交互式批處理2、軟件危機(jī):是指落后的軟件生產(chǎn)方式無法滿足迅速增長(zhǎng)的計(jì)算機(jī)軟件需求,從而導(dǎo)致軟件的開發(fā)與 維護(hù)過程中出現(xiàn)一系列嚴(yán)重問題的現(xiàn)象。主要表現(xiàn):

2、開發(fā)人員開發(fā)的軟件產(chǎn)品不能完全滿足用戶的需求;軟件產(chǎn)品的質(zhì)量難以得到保障;開發(fā)周期開發(fā)經(jīng)費(fèi)和維護(hù)費(fèi)用很難被準(zhǔn)確估計(jì)從而給項(xiàng)目的管理帶來很多麻煩; 隨著技術(shù)的更新,用戶的擴(kuò)大,已有的軟件產(chǎn)品不能靈活地適應(yīng)環(huán)境的改變; 軟件文檔不完備并且存在文檔內(nèi)容與軟件產(chǎn)品不符的情況。原因:軟件開發(fā)是一項(xiàng)復(fù)雜的工程,需要用科學(xué)的工程化思想來組織和指導(dǎo)軟件開發(fā)的各個(gè)階段沒有完善的質(zhì)量保證體系軟件文檔的重要性沒有得到軟件開發(fā)人員和用戶的足夠重視從事軟件開發(fā)的專業(yè)人員對(duì)這個(gè)產(chǎn)業(yè)認(rèn)識(shí)不夠充分缺乏經(jīng)驗(yàn)軟件獨(dú)有的特點(diǎn)也給軟件的開發(fā)和維護(hù)帶來困難3、軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)與技術(shù),數(shù)學(xué)和管理學(xué)的原理,運(yùn)用工程學(xué)理論方法和技

3、術(shù),研究和 指導(dǎo)軟件開發(fā)和演化的一門交叉學(xué)科。軟件工程的目標(biāo):使軟件開發(fā)的成本控制在預(yù)計(jì)的合理范圍內(nèi);使軟件產(chǎn)品的各項(xiàng)功能和性能能夠滿足用戶需求;提高軟件產(chǎn)品的可靠性;使生產(chǎn)出來的軟件產(chǎn)品易于移植維護(hù)升級(jí)和使用;使軟件產(chǎn)品的開發(fā)周期能夠控制在預(yù)計(jì)的合理時(shí)間范圍內(nèi)。軟件工程學(xué)科內(nèi)容:軟件工程原理過程方法模型管理度量環(huán)境應(yīng)用。軟件工程的基本原則:將軟件的生命周期劃分為多個(gè)階段,對(duì)各個(gè)階段實(shí)施嚴(yán)格的項(xiàng)目管理;堅(jiān)持階段評(píng)審制度已確保軟件產(chǎn)品的質(zhì)量;實(shí)施嚴(yán)格的產(chǎn)品控制以適應(yīng)軟件規(guī)格的變更;采用現(xiàn)代程序設(shè)計(jì)技術(shù);開發(fā)出來的產(chǎn)品應(yīng)該能夠清楚地被審查;合理地安排軟件開發(fā)小組人員并且開發(fā)小組的人員要少而精;不斷

4、改進(jìn)軟件工程的實(shí)踐。IEEE計(jì)算機(jī)學(xué)會(huì)建立軟件工程知識(shí)體系指南的目的:促進(jìn)世界范圍內(nèi)對(duì)軟件工程的一致觀點(diǎn); 闡明軟件工程相對(duì)于其他學(xué)科的位置; 刻畫軟件工程學(xué)科的內(nèi)容;提供使用知識(shí)體系的主題。4、軟件的生命周期:是指從設(shè)計(jì)該產(chǎn)品的構(gòu)想開始到軟件的需求的確定軟件設(shè)計(jì)軟件實(shí)現(xiàn)產(chǎn)品的測(cè)試 與驗(yàn)收投入使用及版本的不斷升級(jí),到最終被市場(chǎng)淘汰的全過程。各個(gè)階段:編碼可行性研究軟件測(cè)試需求分析軟件維護(hù)。軟件設(shè)計(jì)5、軟件開發(fā)模型:瀑布模型。是一種線性的軟件開發(fā)模型回溯性很差,是一種基于里程碑的階段過程模型,強(qiáng)調(diào)軟件開發(fā)的階段性,每個(gè)階段完成特定的任務(wù)。瀑布模型適應(yīng):需求可以一次性全部獲得,開發(fā)人員經(jīng)驗(yàn)豐富,軟

5、件項(xiàng)目風(fēng)險(xiǎn)低。優(yōu)點(diǎn):階段性強(qiáng)易于管理缺點(diǎn)開發(fā)過程不靈活不能適應(yīng)環(huán)境的變化。原型模型:是開發(fā)人員為了快速而準(zhǔn)確的獲取需求常采用的方法。特點(diǎn):主要用于挖掘需求,原型系統(tǒng)通常針對(duì)軟件開發(fā)系統(tǒng)的指功能模塊,功能相對(duì)不完善,通常結(jié) 合其他模塊共同使用。適應(yīng):對(duì)現(xiàn)有的軟件系統(tǒng)產(chǎn)品進(jìn)行升級(jí)或完善,開發(fā)人員與用戶需求受限需求獲取困難,開發(fā)人員對(duì)將要采 用的技術(shù)手段不熟悉,具備快速開發(fā)工具。優(yōu)點(diǎn):是簡(jiǎn)單快速缺點(diǎn)是需要花費(fèi)一些額外的成本。增量模型:、是把帶開發(fā)軟件系統(tǒng)模塊化和組件化。優(yōu)點(diǎn):可以分批次的提交軟件產(chǎn)品,減低了軟件開發(fā)的風(fēng)險(xiǎn),開發(fā)順序靈活。缺點(diǎn):要求待開發(fā)的項(xiàng)目可模塊化。(4)螺旋模型:用于風(fēng)險(xiǎn)較大的大

6、型軟件開發(fā)模型,分為制定計(jì)劃風(fēng)險(xiǎn)分析實(shí)施工程客戶評(píng)估。6、敏捷模型:是一種輕量級(jí)的軟件方法。避免了傳統(tǒng)重量級(jí)軟件開發(fā)過程復(fù)雜文檔繁瑣的弊端,強(qiáng)調(diào) 軟件開發(fā)過程中團(tuán)員的交流,過程的簡(jiǎn)潔,用戶反饋的特性第二章1、可行性研究的目的不在于提出解決問題的方案,而在于研究解決問題的必要性和可能性。意義是盡 早的停止項(xiàng)目的開發(fā)就能夠避免時(shí)間、資金、人力和物力的浪費(fèi)2、可行性研究包括:技術(shù)、社會(huì)、經(jīng)濟(jì)可行性研究3、技術(shù)型可行性研究是對(duì)技術(shù)解決方案的實(shí)用性、技術(shù)資源的可用性和設(shè)備條件作出評(píng)估。經(jīng)濟(jì)可研究要對(duì)項(xiàng)目的開發(fā)總成本與開發(fā)系統(tǒng)將帶來的經(jīng)濟(jì)效益之間的差值進(jìn)行度量。社會(huì)可行性研究從政策、 法律和制度等社會(huì)因素

7、方面考慮項(xiàng)目開發(fā)的合理性和意義4、可行性研究的步驟:確定系統(tǒng)的目標(biāo);分析研究正在運(yùn)行的系統(tǒng);設(shè)計(jì)新系統(tǒng)的高層邏輯模型;提出可行的解決方案并對(duì)其進(jìn)行評(píng)估和比較;選擇合適的解決方案;撰寫可行性研究報(bào)告5、可行性研究的結(jié)論一般有三種:可以按計(jì)劃進(jìn)行軟件項(xiàng)目的開發(fā);需要解決某些存在的問題或者需要對(duì)現(xiàn)有的解決方案進(jìn)行一些調(diào)整或改善后才能進(jìn)行軟件項(xiàng)目的開發(fā);待開發(fā)的軟件項(xiàng)目部不具有可行性、立即停止該軟件項(xiàng)目6、成本-效益分析第三章1、面向?qū)ο蟮幕靖拍畎▽?duì)象類封裝繼承多態(tài),對(duì)象是客觀世界中存在的事物,已可以是概念化的實(shí)體,他由一組屬性和操作組成。類是對(duì)對(duì)象的抽象,是對(duì)具有相同屬性和相同操作的一組相似對(duì)象

8、的 定義。封裝是指把對(duì)象的屬性和操作結(jié)合在一起組成一個(gè)獨(dú)立的單元,強(qiáng)調(diào)獨(dú)立與封閉。繼承表示類之間 的層次關(guān)系他使得某類對(duì)象可以自動(dòng)擁有另外一個(gè)或多個(gè)對(duì)象的全部屬性和操作。多態(tài)是一種使父類中定 義的屬性或操作被子類繼承后可以有不同的實(shí)現(xiàn)的機(jī)制。2、面向?qū)ο筌浖こ谭椒ǖ膬?yōu)點(diǎn):符合人們的思維習(xí)慣,穩(wěn)定性好,可復(fù)用性好。3、目標(biāo)系統(tǒng)的類可以劃分為邊界類、控制類和實(shí)體類4、UML統(tǒng)一建模語言,是一種標(biāo)準(zhǔn)的圖形化建模語言,主要用于軟件的分析和設(shè)計(jì),用定義完善的符 號(hào)來圖形化的展現(xiàn)一個(gè)軟件系統(tǒng)第四章1、需求分析是在可行性研究的基礎(chǔ)上,將用戶對(duì)系統(tǒng)的描述,通過開發(fā)人員的分析概括,抽象為完整 的需求定義,再形

9、成一系列文檔的過程。2、需求分析的步驟:獲取需求識(shí)別問題,分析需求建立目標(biāo)系統(tǒng)的邏輯框架,將需求文檔化,需求驗(yàn) 證3、數(shù)據(jù)流圖data flow diagram是描述系統(tǒng)中數(shù)據(jù)流的圖形工具,是一種用來表示信息流和信息變換過程的圖解方法可以標(biāo)識(shí)一個(gè)系統(tǒng)的邏輯輸入和輸出,以及把邏輯輸入轉(zhuǎn)化為邏輯輸出所需的加工處理。4、結(jié)構(gòu)化需求分析采用的是:自頂向下由外到內(nèi)逐層分解的思想5、數(shù)據(jù)字典用數(shù)據(jù)流圖流圖來表示系統(tǒng)的邏輯模型直觀且形象,但是缺乏細(xì)節(jié)描述,也就是說他沒有準(zhǔn)確和完整的定義各個(gè)圖元。包含四類條目:數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)項(xiàng)、數(shù)據(jù)加工6、ER圖包括實(shí)體、聯(lián)系、屬性第五章1、軟件設(shè)計(jì)的分類前期進(jìn)行概要

10、設(shè)計(jì),得到軟件系統(tǒng)的基本框架; 后期進(jìn)行詳細(xì)設(shè)計(jì),明確系統(tǒng)內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。2、軟件設(shè)計(jì)的原則模塊化抽象逐步求精信息隱藏3、模塊化就是把系統(tǒng)或程序劃分為獨(dú)立命名且可以獨(dú)立訪問的模塊,每個(gè)模塊完成一個(gè)特定的子功能。在模塊化的過程中需要注意:模塊的規(guī)模要適中,提高模塊的獨(dú)立性,降低模塊間的耦合程度,提高模塊的內(nèi)聚程度,加強(qiáng)模 塊的保護(hù)性。4、事務(wù)型數(shù)據(jù)流的設(shè)計(jì)步驟 確定以事務(wù)為中心的結(jié)構(gòu),找出事務(wù)中心、接收數(shù)據(jù)、處理路三個(gè)部分。 將數(shù)據(jù)流圖轉(zhuǎn)換為廚師的系統(tǒng)結(jié)構(gòu)圖。分解和細(xì)化接收分支和處理分支。5、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法比較流行的有 Jackon方法和Warnier方法。6、Jackon 方法把數(shù)據(jù)結(jié)

11、構(gòu)分為三種基本類型:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、和循環(huán)結(jié)構(gòu)。7、流程圖是對(duì)過程、算法、流程的一種圖形表示,它對(duì)某個(gè)問題的定義、分析或解法進(jìn)行描述,用定義完善的 符號(hào)表示操作、數(shù)據(jù)、流向等概念。8、流程圖分為數(shù)據(jù)、程序、系統(tǒng)、程序網(wǎng)絡(luò)圖和系統(tǒng)資源圖。9、流程圖五種基本結(jié)構(gòu):順序型、選擇型、先判定型循環(huán)、后判定型循環(huán)和多路分支選擇型。10、面向?qū)ο蟮脑O(shè)計(jì)原則模塊化抽象化信息隱藏低耦合高內(nèi)聚復(fù)用性。11、軟件系統(tǒng)的設(shè)計(jì)模式解決某一類相似問題的方法論。描述了該問題的解決方案的核心。12、23種模式分3類:創(chuàng)建型模式 結(jié)構(gòu)型模式 行為型模式。13、所謂模式,就是只解決某一類相似問題的方法論。每種設(shè)計(jì)模式都包含四

12、個(gè)要素:模式名稱,問 題,解決方案,效果描述第七章1 .編碼的過程就是把軟件設(shè)計(jì)階段得到的解決方案轉(zhuǎn)化為可以在計(jì)算機(jī)上運(yùn)行的軟件產(chǎn)品的過程。2 .編程語言機(jī)器語言 匯編-面向機(jī)器的低級(jí)語言(簡(jiǎn)捷、快速)高級(jí)語言面向過程、對(duì)象超高級(jí)語言。3、選擇編程語言時(shí),考慮的因素:應(yīng)用領(lǐng)域用戶要求開發(fā)人員喜好能力可移植要求算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。4、源程序文檔化按實(shí)際意義命名遵循一定命名規(guī)則變量不要過于相似 定義時(shí)作出解釋; 數(shù)據(jù)說明; 語句構(gòu)造; 輸入輸出; 效率。第八章、第九章1軟件測(cè)試是發(fā)現(xiàn)軟件中錯(cuò)誤和缺陷的主要手段。2軟件測(cè)試的原則: 完全測(cè)試是不可能的 測(cè)試中存在風(fēng)險(xiǎn) 軟件測(cè)試只能表明缺陷的存在

13、軟件產(chǎn)品中潛在的錯(cuò)誤數(shù)與已發(fā)現(xiàn)的錯(cuò)誤數(shù)成正比讓不同的測(cè)試人員參與到測(cè)試工作中讓開發(fā)小組和測(cè)試小組分離 盡早并不斷的進(jìn)行測(cè)試 要重點(diǎn)測(cè)試容易出錯(cuò)或錯(cuò)誤較多的模塊 應(yīng)該長(zhǎng)期保留所有的測(cè)試用例3、常用的軟件測(cè)試模型有:V模型,W模型和H模型4、軟件測(cè)試的分類:按照時(shí)間階段:?jiǎn)卧獪y(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試。按照是否運(yùn)行程序:動(dòng)態(tài)測(cè)試,靜態(tài)測(cè)試。按照是否看源碼:黑盒測(cè)試,白盒測(cè)試。按照質(zhì)量因素:功能測(cè)試,可靠性測(cè)試,可用性測(cè)試,性能測(cè)試,安全性測(cè)試5、審查和走查是靜態(tài)測(cè)試的常用形式,且靜態(tài)測(cè)試的效率比較高6、動(dòng)態(tài)測(cè)試中有兩種非常流行的測(cè)試技術(shù),即黑盒測(cè)試和白盒測(cè)試7、單元測(cè)試是指對(duì)軟件中最小的可

14、測(cè)試單元進(jìn)行檢查和驗(yàn)證,基本單元一般來說是一個(gè)函數(shù)、一個(gè)過 程或者一個(gè)類。通常情況下,測(cè)試人員采用的白盒測(cè)試的方法。8、集成測(cè)試是指在單元測(cè)試的基礎(chǔ)上,對(duì)通過測(cè)試的單元模塊組裝成系統(tǒng)或子系統(tǒng)進(jìn)行測(cè)試,由于測(cè) 試的對(duì)象是經(jīng)過單元限額是的代碼,所以集成測(cè)試并不關(guān)注各個(gè)模塊的內(nèi)部細(xì)節(jié),而是關(guān)注模塊之間的接口是否運(yùn)行正常9、軟件測(cè)試的一般步驟:?jiǎn)卧獪y(cè)試、集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試10、面向?qū)ο蟮能浖y(cè)試可分為:面向?qū)ο蟮姆治?、設(shè)計(jì)、實(shí)現(xiàn)、單元、集成、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試11、軟件結(jié)構(gòu)優(yōu)化設(shè)計(jì)準(zhǔn)則:使每個(gè)模塊執(zhí)行一個(gè)功能每個(gè)模塊用過程語句調(diào)用其他模塊模塊間傳送的參數(shù)作數(shù)據(jù)用模塊間共用的信息盡量少設(shè)計(jì)優(yōu)化

15、應(yīng)該力求做到在有效模塊化的前提下使用最少量的模塊,并且在能夠滿足信息要求的前提 下使用最簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。12、耦合 耦合:是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊間彼此聯(lián)系程度的一種定性耦合度量。13、對(duì)象 對(duì)象:是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,是具有明確語義、對(duì)象、邊界的實(shí)體。14、測(cè)試方法 靜態(tài)測(cè)試 靜態(tài)測(cè)試:通常不要求在計(jì)算機(jī)上實(shí)際執(zhí)行所測(cè)程序,主要靜態(tài)測(cè)試 以一些人工的模擬技術(shù)對(duì)軟件進(jìn)行分析和測(cè)試。主要包括代碼審查和靜態(tài)結(jié)構(gòu)分析。動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試:是通過輸入一組預(yù)先按照一定的測(cè)試準(zhǔn)則構(gòu)造的動(dòng)態(tài)測(cè)試實(shí)例數(shù)據(jù)來動(dòng)態(tài)運(yùn)行程序,從而達(dá)到發(fā)現(xiàn)程序錯(cuò)誤的過程。它包括黑盒測(cè)試和白盒測(cè)試。16.測(cè)試技術(shù) 黑盒測(cè)

16、試 黑盒測(cè)試:在測(cè)試時(shí),吧、把程序看作一個(gè)不能打開的黑盒黑盒測(cè)試 子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口處進(jìn)行測(cè)試。 白盒測(cè)試 白盒測(cè)試:是一種廣泛使用的邏輯測(cè)試技術(shù)。它的對(duì)象基本白盒測(cè)試上是源程序,是以 程序的內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ)的一種測(cè)試技術(shù)。18、軟件測(cè)試要經(jīng)過哪幾個(gè)階段?每個(gè)階段與什么文檔有關(guān)?軟件測(cè)試要經(jīng)過哪幾個(gè)階段?每個(gè)階段與什么文檔有關(guān)?軟件測(cè)試要經(jīng)過測(cè)試計(jì)劃過程、測(cè)試設(shè)計(jì)過程、測(cè)試執(zhí)行過程、測(cè)試結(jié)束過4個(gè)階段測(cè)試計(jì)劃輸出文檔:測(cè)試計(jì)劃與測(cè)試需求測(cè)試設(shè)計(jì)過程輸出文檔:測(cè)試說明與測(cè)試方案測(cè)試執(zhí)行過程輸出文檔:測(cè)試用例與測(cè)試規(guī)程測(cè)試結(jié)束過程輸出文檔:測(cè)試結(jié)論與

17、測(cè)試報(bào)告第十章1、軟件的維護(hù)是軟件產(chǎn)品生命周期的最后一個(gè)階段2、軟件維護(hù)的過程: 建立維護(hù)機(jī)構(gòu) 用戶提供維護(hù)申請(qǐng)并提交維護(hù)申請(qǐng)報(bào)告維護(hù)人員確認(rèn)維護(hù)類型并實(shí)施相應(yīng)的維護(hù)工作整理維護(hù)記錄并對(duì)維護(hù)工作進(jìn)行評(píng)審3、軟件的維護(hù)可以分為:糾錯(cuò)性維護(hù)是為了識(shí)別并糾正軟件產(chǎn)品中所淺嘗的錯(cuò)誤,改正軟件性能上的缺陷所進(jìn)行的維護(hù);適應(yīng)性維護(hù)時(shí)為了使軟件產(chǎn)品適應(yīng)硬件環(huán)境的變更而進(jìn)行的維護(hù);完善性維護(hù)是主要部分,他是針對(duì)用戶對(duì)軟件產(chǎn)品所提出新的需求所進(jìn)行的維護(hù);預(yù)防性維護(hù)。4、影響可維護(hù)性的因素:可理解性,可測(cè)試性,可修改性等。提高可維護(hù)性的措施:建立完整的文檔;采用先進(jìn)的維護(hù)工具和技術(shù);注重可維護(hù)性的評(píng)審環(huán)節(jié)。5、軟

18、件的質(zhì)量的特性包括功能性、可靠性、可用性、效率、可維護(hù)性和可移植性6、McCall軟件的質(zhì)量特性模型中的每種特性有(運(yùn)行維護(hù)移植):正確性、效率、可靠性、可用性、 完整性、可維護(hù)性、可測(cè)試性、靈活性、可移植性、互聯(lián)性、可復(fù)用性。7、軟件質(zhì)量的保證的措施:基于非執(zhí)行的測(cè)試 基于執(zhí)行的測(cè)試 程序的正確性證明。8、配置管理的工作范圍一般包括:標(biāo)識(shí)配置項(xiàng)、進(jìn)行配置控制、記錄配置狀態(tài)、執(zhí)行配置審計(jì)。9、文檔是指某種數(shù)據(jù)介質(zhì)和其中所記錄的數(shù)據(jù)。軟件文檔是用來表示對(duì)需求、過程或結(jié)果進(jìn)行描述、 定義、規(guī)定或認(rèn)證的圖示信息,他描述或規(guī)定了軟件設(shè)計(jì)和實(shí)現(xiàn)的細(xì)節(jié)。10、軟件工程文檔可以分為:用戶文檔、開發(fā)文檔和管理

19、文檔。2 .解釋名詞1 .軟件:是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)、相關(guān)文檔的完整集合以及后續(xù)的維護(hù)服務(wù)。2 .白盒測(cè)試:是對(duì)軟件的過程性描述做細(xì)致的檢查,軟件測(cè)試員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息, 設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。3 .邊界值分析:就是首先確定邊界情況,然后選取正好等于、剛剛大于,或剛剛小于邊界的值作為測(cè)試 數(shù)據(jù)。4 .模塊的扇入/扇出數(shù):在軟件結(jié)構(gòu)中,下級(jí)模塊被上級(jí)模塊調(diào)用的個(gè)數(shù)稱為模塊的扇入,上級(jí)調(diào)用下級(jí)模塊的個(gè)數(shù)稱為扇出數(shù)。5 .靜態(tài)模型:是通過系統(tǒng)對(duì)象類及其之間的關(guān)系描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。6 .模塊的控制范圍: 指該模塊及所包含

20、的子樹。7 .測(cè)試和調(diào)試:測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤;調(diào)試是要找出錯(cuò)誤的位置并改正錯(cuò)誤。8 .繼承:就是子類自動(dòng)共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制。9 .漸增式測(cè)試:在對(duì)系統(tǒng)的測(cè)試過程中, 將模塊是按照測(cè)試方案, 一個(gè)一個(gè)逐步添加到被測(cè)試的系統(tǒng)中。10 .需求分析:是指開發(fā)人員要準(zhǔn)確理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述 轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。11 .數(shù)據(jù)流圖,簡(jiǎn)稱DFD,是結(jié)構(gòu)化分析方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描 繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。

21、12 .耦合性。也稱塊間聯(lián)系。指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系 越緊密,其耦合性就越強(qiáng),模塊的獨(dú)立性則越差。13 .對(duì)象是人們要進(jìn)行研究的任何事物,從最簡(jiǎn)單的整數(shù)以至復(fù)雜的飛機(jī)等均可著作對(duì)象,它不僅能表 示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。14 .代碼檢查:以小組為單位閱讀代碼,應(yīng)用一系列規(guī)程和缺陷檢查技術(shù),檢查實(shí)際的產(chǎn)品,包括文檔 和程序代碼,發(fā)現(xiàn)存在缺陷和缺陷的過程。15 .可移植性:將軟件從一個(gè)系統(tǒng)平臺(tái)搬到另一個(gè)系統(tǒng)平臺(tái)的容易程度。16 .環(huán)路度量:程序的復(fù)雜性很大程度上取決于程序控制流的復(fù)雜性,單一的順序程序結(jié)構(gòu)最簡(jiǎn)單,循環(huán)和選擇所構(gòu)成的環(huán)路越

22、多,程序就越復(fù)雜。17 .軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。軟件危機(jī)包含下述兩方 面的問題:如何開發(fā)軟件,怎樣滿足對(duì)軟件的日益增長(zhǎng)的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。18 .功能測(cè)試:即黑盒測(cè)試,測(cè)試者值考慮程序的輸入和輸出,主要看程序是否實(shí)行其要求的功能。19 .結(jié)構(gòu)化程序設(shè)計(jì):結(jié)構(gòu)化程序設(shè)計(jì)是實(shí)現(xiàn)該目標(biāo)的關(guān)鍵技術(shù)之一,它指導(dǎo)人們用良好的思想方法開 發(fā)易于理解、易于驗(yàn)證的程序。結(jié)構(gòu)化程序設(shè)計(jì)方法的基本要點(diǎn)是:1)采用自頂向下、逐步求精的程序設(shè)計(jì)方法2)使用三種基本控制結(jié)構(gòu)構(gòu)造程序3)主程序員組的組織形式。20 .狀態(tài)圖:狀態(tài)圖是一個(gè)標(biāo)準(zhǔn)的計(jì)算機(jī)概念,它是有

23、限自動(dòng)機(jī)的圖形表示,它反映了狀態(tài)與事件的關(guān) 系,狀態(tài)圖確定了由事件序列引起的狀態(tài)序列。21 .軟件配置管理: 軟件配置管理,簡(jiǎn)稱 SCM,它用于整個(gè)軟件工程過程。其主要目標(biāo)是:標(biāo)識(shí)變更;控制變更;確保變更正確地實(shí)現(xiàn);報(bào)告有關(guān)變更。SCM是一組管理整個(gè)軟件生存期各階段中變更的活動(dòng)。22 .軟件生存周期模型:描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型23 .數(shù)據(jù)字典(DD):數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個(gè)成分的具體含義的。它以一種準(zhǔn)確的、無 二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。24 .內(nèi)聚性:內(nèi)聚性是模塊獨(dú)立性的衡量標(biāo)準(zhǔn)之一,它是指模塊的功能強(qiáng)度的度量

24、,即一個(gè)模塊內(nèi)部各 個(gè)元素彼此結(jié)合的緊密程度的度量25 . JSP方法:JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,其定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,它根 據(jù)輸入,輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,即程序結(jié)構(gòu)。26 .多態(tài)性:指相同的操作或函數(shù)、 過程可作用于多種類型的對(duì)象上并獲得不同結(jié)果?;颍ú煌膶?duì)象,收到同一消息可以產(chǎn)生不同的結(jié)果。)內(nèi)容。27 .經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開發(fā)的項(xiàng)目是否值得投資開發(fā)。28 .社會(huì)可行性: 要開發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目目的運(yùn)行方式在用戶 組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操

25、作方式是否可行。29 .投資回收期:投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。30 .對(duì)應(yīng)關(guān)系:即有直接因果關(guān)系在程序中可以同時(shí)處理。31 .結(jié)構(gòu)沖突:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對(duì)應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。32 .可行性分析:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。33 .信息隱藏:是指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù))對(duì)于不需要這些 信息的模塊來說是不能訪問的。34 . “測(cè)試是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是開發(fā)機(jī)構(gòu)內(nèi)部的用戶在模擬實(shí)際操作環(huán)境 下進(jìn)行的測(cè)試。3測(cè)試是由軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測(cè)

26、試。35 .測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤;調(diào)試是要找出錯(cuò)誤的位置并改正錯(cuò)誤。36 .程序的可維護(hù)性:為滿足用戶新的需求,或當(dāng)環(huán)境發(fā)生了變化,或運(yùn)行中發(fā)現(xiàn)了新的錯(cuò)誤時(shí),對(duì)一 個(gè)已投入運(yùn)行的軟件進(jìn)行相應(yīng)診斷和修改所需工作量的大小。37 .模塊的控制范圍:指該模塊及所包含的子樹。38 .容錯(cuò)技術(shù):對(duì)那些無法避開的差錯(cuò),使其影響減少至最小的技術(shù)。也就是說,當(dāng)錯(cuò)誤發(fā)生時(shí),盡可 能地不影響其它的系統(tǒng)元素,或是把用戶的影響限制在某些容許的范圍內(nèi)。39 .驅(qū)動(dòng)模塊與樁模塊:在測(cè)試過程中,用以代替被測(cè)試模塊的上級(jí)模塊稱為驅(qū)動(dòng)模塊,用以替代被測(cè) 試模塊的下級(jí)模塊稱為樁模塊。40 .漸增式測(cè)試:在對(duì)系統(tǒng)的測(cè)試過程中,將模塊是

27、按照測(cè)試方案,一個(gè)一個(gè)逐步添加到被測(cè)試的系統(tǒng) 中。3 .簡(jiǎn)要回答下列問題1 .需求分析的任務(wù)是什么?需求分析的任務(wù)是確定待開發(fā)的軟件系統(tǒng)“做什么”。具體任務(wù)包括確定軟件系統(tǒng)的功能需求、性能需求和運(yùn)行環(huán)境約束,編制軟件需求規(guī)格說明書、軟件 系統(tǒng)的驗(yàn)收測(cè)試準(zhǔn)則和初步的用戶手冊(cè)。2 .數(shù)據(jù)流圖由哪幾種基本部件組成?畫數(shù)據(jù)流圖時(shí)最常犯的有哪些錯(cuò)誤?主要成分:數(shù)據(jù)的源點(diǎn)或終點(diǎn),數(shù)據(jù)處理,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)流。沒有分支,條件和循環(huán);沒有數(shù)據(jù)出錯(cuò)處理,沒有文件的打開和關(guān)閉;數(shù)據(jù)處理必須“有進(jìn)有出”; 數(shù)據(jù)存儲(chǔ)必須“有進(jìn)有出”;數(shù)據(jù)流線上有數(shù)據(jù)流名,且數(shù)據(jù)流名是名詞;數(shù)據(jù)處理的命名是動(dòng)詞。3 .什么叫模塊化?設(shè)計(jì)

28、一個(gè)系統(tǒng)時(shí)是否分的模塊越多就越好說明原因。 模塊化就是把程序劃分成可獨(dú)立命名且獨(dú)立訪問的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集 成起來構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求。 不一定。當(dāng)模塊數(shù)目增加時(shí)每個(gè)模塊的規(guī)模將減小,開發(fā)單個(gè)模塊需要的成本(工作量)確實(shí)減少了,但是,隨著模塊數(shù)量增加,設(shè)計(jì)模塊間接上所需要的工作量也將增加,根據(jù)這兩個(gè)因素,得出設(shè)計(jì)一個(gè)系 統(tǒng)時(shí)并不一定模塊越多越好。4 . PAD圖的特點(diǎn)是什么?4 . PAD圖的特點(diǎn)如下:清晰地反映了程序的層次結(jié)構(gòu)。圖中的豎線為程序的層次線,最左豎線是程序的主線,其后一層一 層展開,層次關(guān)系一目了然。 支持逐步求精的設(shè)計(jì)方法,左邊

29、層次中的內(nèi)容可以抽象,然后由左到右逐步細(xì)化。易讀易寫,使用方便。(4)支持結(jié)構(gòu)化的程序設(shè)計(jì)原理。 可自動(dòng)生成程序。5 .軟件測(cè)試過程中需要哪些信息?軟件測(cè)試時(shí)需要三類信息: 軟件配置:指需求規(guī)格說明書、設(shè)計(jì)說明書、源程序等。 測(cè)試配置:指測(cè)試方案、測(cè)試用例、測(cè)試驅(qū)動(dòng)程序等。測(cè)試工具:指計(jì)算機(jī)輔助測(cè)試的有關(guān)工具。6 .描述詳細(xì)設(shè)計(jì)的基本任務(wù)。詳細(xì)設(shè)計(jì)的基本任務(wù)是為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì),為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定每個(gè)模塊 的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對(duì)數(shù)據(jù)庫進(jìn)行物理設(shè)計(jì)等。7 .結(jié)構(gòu)化生命周期方法的優(yōu)點(diǎn)及其適應(yīng)對(duì)象。結(jié)構(gòu)化生命周期方法的主要優(yōu)點(diǎn)是: 方法強(qiáng)調(diào)需求分析的重要性

30、,即體現(xiàn)軟件開發(fā)中用戶至上的原則 ; 開發(fā)過程的階段劃分, 各階段的具體任務(wù)明確;各階段有具體的描述工具易于掌握 ;強(qiáng)調(diào)文檔的重要性,并給 出文檔的內(nèi)容和格式,因此方法具有易操作性,是軟件開發(fā)人員應(yīng)該掌握的基本方法。結(jié)構(gòu)化方法更適合于需求能夠預(yù)先明確定義的軟件系統(tǒng),如系統(tǒng)軟件或某些實(shí)時(shí)控制軟件等。8 .畫數(shù)據(jù)流圖要注意哪些事項(xiàng)?具體的實(shí)現(xiàn)這些功能。設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮系統(tǒng)必須完成的基本邏輯功能,不需要考慮怎樣從頂層數(shù)據(jù)流開始。并不是所有數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都能直接從問題描述中提取出來;(4)當(dāng)進(jìn)一步分解將涉及如何具體地實(shí)現(xiàn)一個(gè)功能時(shí),就不應(yīng)該在分解了;數(shù)據(jù)流圖中個(gè)成分的命名要仔細(xì)推敲,看是否恰當(dāng)

31、;9 .簡(jiǎn)述Jackson方法的設(shè)計(jì)步驟。Jackson方法(JSP)設(shè)計(jì)步驟:分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用 Jackson結(jié)構(gòu)圖表示這些數(shù)據(jù)結(jié)構(gòu)。找出輸入數(shù)據(jù)和輸出數(shù)據(jù)結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元。“對(duì)應(yīng)關(guān)系”指這些數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)最上和順序上有直接的因果關(guān)系,對(duì)于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對(duì)應(yīng)關(guān)系。 按一定的規(guī)則由輸入輸出的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)。(4)列出基本操作與條件,并把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。用偽碼寫出程序。10 .如何控制因修改而引起的副作用?為了控制因修改而引起的副作用,要做到:按模塊把修改分組。自頂向下地安排被修改模塊的順序。每次修

32、改一個(gè)模塊。(4)對(duì)每個(gè)修改了的模塊,在安排修改下個(gè)模塊之前,要確定這個(gè)修改的副作用,可使用交叉引用表、 存儲(chǔ)映像表、執(zhí)行流程跟蹤等。11 .軟件工程是指什么?軟件工程的性質(zhì)是什么?軟件工程是用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。軟件工程是一門綜合性的交叉性學(xué)科,它涉及計(jì)算機(jī)科學(xué)、工程學(xué)科、管理學(xué)科數(shù)學(xué)等領(lǐng)域。計(jì)算機(jī)科 學(xué)中的研究成果均可用于軟件工程,但計(jì)算機(jī)科學(xué)著重于原理和理論,而軟件工程著重于如何建造一個(gè)軟 件系統(tǒng)。軟件工程要用工程科學(xué)中的觀點(diǎn)來進(jìn)行費(fèi)用估算、制定進(jìn)度、制定計(jì)劃和方案。軟件工程要用管 理科學(xué)中的方法和原理進(jìn)行軟件生產(chǎn)的管理。軟件工程要用數(shù)學(xué)的方法建立軟件開發(fā)

33、中的各種模型和各種 算法,如可靠性模型,說明用戶需求的形式化模型等。12 .為了進(jìn)行測(cè)試,為什么需要一個(gè)規(guī)格說明?規(guī)格說明用來決定程序的實(shí)際行為何時(shí)正確,何時(shí)不正確。13 .衡量模塊獨(dú)立的兩個(gè)標(biāo)準(zhǔn)是什么?它們各表示什么含義?衡量模塊的獨(dú)立性的標(biāo)準(zhǔn)是兩個(gè)定性的度量標(biāo)準(zhǔn):耦合性和內(nèi)聚性。耦合性。也稱塊間聯(lián)系,是指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互之間聯(lián)系緊密程度的一種度量。模塊之 間聯(lián)系越緊密,其耦合性就越強(qiáng),模塊的獨(dú)立性則越差。模塊間的耦合高低取決于模塊間接口的復(fù)雜性、 調(diào)用的方式及傳遞的信息。內(nèi)聚性。又稱塊內(nèi)聯(lián)系,是指模塊的功能強(qiáng)度的度量,即一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程 度的度量。若一個(gè)模塊內(nèi)

34、各元素(語句之間、程序段之間)聯(lián)系得越緊密,則它的內(nèi)聚性就越高。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),在軟件系統(tǒng)劃分模塊時(shí),盡量做到高內(nèi)聚低耦合,提高模 塊的獨(dú)立性,為設(shè)計(jì)高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。14 .何謂軟件維護(hù)?常用的軟件維護(hù)有幾種?軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程。通常有四項(xiàng) 基本維護(hù):糾錯(cuò)性維護(hù)、完善性維護(hù)、適應(yīng)性維護(hù)以及預(yù)防性維護(hù)等。15 .什么是序言性注釋?它包涵哪些內(nèi)容?序言性注釋通常放在每個(gè)程序模塊的開頭部分,它應(yīng)當(dāng)給出程序的整體說明,對(duì)于理解程序具有引導(dǎo)作 用。序言性注釋一般包含下列內(nèi)容: 程序標(biāo)題;有關(guān)該模塊的功能和目的

35、說明;主要算法; 接口說明:包括調(diào)用形式,參數(shù)描述、子程序清單;有關(guān)數(shù)據(jù)描述(重要的變量及其用途,約束或限制條件,以及其他有關(guān)信息) 模塊位置(在哪一個(gè)源文件中,或隸屬于哪一個(gè)軟件包) ; 開發(fā)簡(jiǎn)歷 模塊設(shè)計(jì)者,復(fù)審者,復(fù)審日期,修改日期及有關(guān)說明等16 .功能模型的特征有哪些?功能模型描述了系統(tǒng)的所有計(jì)算。功能模型指出發(fā)生了什么,對(duì)動(dòng)態(tài)模型確定什么時(shí)候發(fā)生,而對(duì)象模型 確定發(fā)生的客體。功能模型表明一個(gè)計(jì)算如何從輸入值得到輸出值,它不考慮所計(jì)算的次序。功能模型由 多張數(shù)據(jù)流圖組成。數(shù)據(jù)流圖說明數(shù)據(jù)流是如何從外部輸入、經(jīng)過操作和內(nèi)部存儲(chǔ)輸出到外部的。功能模 型也包括對(duì)象模型中值的約束條件。17

36、.什么是測(cè)試用例?動(dòng)態(tài)測(cè)試有哪些方法?所謂“測(cè)試用例”是指為尋找程序中的錯(cuò)誤而精心設(shè)計(jì)的一組測(cè)試數(shù)據(jù),每個(gè)測(cè)試用例一般是一個(gè)二元組(輸入數(shù)據(jù)、預(yù)期結(jié)果)。動(dòng)態(tài)測(cè)試主要有兩種方法:白盒測(cè)試法和黑盒測(cè)試法。白盒測(cè)試法是從被測(cè)試程序的內(nèi)部邏輯入手來設(shè)計(jì)測(cè)試用例:黑盒測(cè)試法著重測(cè)試被測(cè)試程序的功能,而不關(guān)心內(nèi)部如何實(shí)現(xiàn)其功 能的結(jié)構(gòu),是從用戶觀點(diǎn)出發(fā)的測(cè)試。但無論白盒測(cè)試法還是黑盒測(cè)試法都只能選擇一些有代表性的測(cè)試 用例進(jìn)行有限的測(cè)試。 白盒測(cè)試法:有6種用于有判定存在的邏輯覆蓋標(biāo)準(zhǔn),即程序內(nèi)部路徑的覆蓋程度。對(duì)于有循環(huán)存在的覆蓋用限制循環(huán)次數(shù)的辦法來測(cè)試。但是對(duì)于一個(gè)實(shí)際問題的程序測(cè)試中,其路徑是一

37、個(gè)龐大的數(shù)字,基本路徑測(cè)試告訴了最少路徑的計(jì)算辦法,在分析程序控制流程圖環(huán)路復(fù)雜性的基礎(chǔ)上,導(dǎo)出基本路徑集 合,從而設(shè)計(jì)測(cè)試用例,保證這些基本路徑至少執(zhí)行一次,以最少的用例發(fā)現(xiàn)盡量多的錯(cuò)誤。黑盒測(cè)試法:具體方法有 4種,采用黑盒測(cè)試法的綜合策略是先用等價(jià)類劃分法(包括邊界值分析法,即取邊值上的數(shù))設(shè)計(jì)出測(cè)試用例,然后用錯(cuò)誤推測(cè)法補(bǔ)充。如果被測(cè)試程序含有多個(gè)條件的邏輯組 合,則開始就用因果圖法。18 .怎樣克服軟件危機(jī)?(1)充分吸收和借鑒人類長(zhǎng)期以來從事各種工程項(xiàng)目中積累的行之有效的有效原理、概念、技術(shù)與方法, 特別是吸取幾十年來人類從事計(jì)算機(jī)硬件研究和開發(fā)的經(jīng)驗(yàn)教訓(xùn)。在開發(fā)軟件的過程中努力作

38、到良好的組 織,嚴(yán)格的管理,相互友好的協(xié)作。(2)推廣在實(shí)踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法,并研究更好、更有效的技術(shù)和方法,盡快克服在計(jì)算機(jī)系統(tǒng)早期發(fā)展階段形成的一些錯(cuò)誤概念和作法。(3)根據(jù)不同的應(yīng)用領(lǐng)域, 開發(fā)更好的軟件工具并使用這些工具。將軟件開發(fā)各個(gè)階段使用的軟件工具集合成一個(gè)整體,形成一個(gè)很好的軟件開發(fā)支撐環(huán)境??傊疄榱私鉀Q軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。19 .說明軟件工程管理的重要性。由軟件危機(jī)引出軟件工程,是計(jì)算機(jī)發(fā)展史上的一個(gè)重大進(jìn)展。為了對(duì)付大型復(fù)雜的軟件系統(tǒng),須采用傳 統(tǒng)的“分解”方法。軟件工程的分解是從橫向和縱向即空間和時(shí)間兩個(gè)

39、方面進(jìn)行的。橫向分解就是把一個(gè) 大系統(tǒng)分解為若干個(gè)小系統(tǒng),小系統(tǒng)分解為子系統(tǒng),子系統(tǒng)分解為模塊,模塊分解為過程。縱向分解就是 生存期,把軟件開發(fā)分為幾個(gè)階段,每個(gè)階段有不同的任務(wù)、特點(diǎn)和方法。為此,軟件工程管理需要有相 應(yīng)的管理策略。根據(jù)軟件產(chǎn)品的特征,且隨著軟件規(guī)模的不斷增大,開發(fā)人員也隨之增多,開發(fā)時(shí)間也相 應(yīng)地持續(xù)增長(zhǎng),這些都增加了軟件工程管理的難度,同時(shí)也突出了軟件工程管理的必要性與重要性。事實(shí) 證明,由管理失誤造成的后果比程序錯(cuò)誤造成的后果更為嚴(yán)重。很少有軟件項(xiàng)目的實(shí)施進(jìn)程能準(zhǔn)確地符合 預(yù)定目標(biāo)、進(jìn)度和預(yù)算的,這也就是以說明軟件工程管理的重要性。20 .請(qǐng)說多態(tài)重用與繼承重用的關(guān)系。

40、多態(tài)重用實(shí)際上是一種特殊的繼承重用,是充分利用多態(tài)性機(jī)制支持的繼承重用。一般來說,使用多態(tài)重 用方式重用已有的類構(gòu)件時(shí),在子類中需要重新定義的操作比較少,因此,多態(tài)重用方式比繼承重用方式成本低。21 .簡(jiǎn)述演繹法調(diào)試的具體步驟。演繹法調(diào)試步驟:列出所有可能的錯(cuò)誤原因的假設(shè);排除不適當(dāng)?shù)募僭O(shè);精化余下的假設(shè);證明余下 的假設(shè)。22 .簡(jiǎn)述增量模型和瀑布模型的本質(zhì)區(qū)別。瀑布模型屬于整體開發(fā)模型,它規(guī)定在開始下一個(gè)階段的工作之前,必須完成前一階段的所有細(xì)節(jié)。而增量模型屬于非整體開發(fā)模型,它推遲某些階段或所有階段中的細(xì)節(jié),從而較早的產(chǎn)生工作軟件。23 .簡(jiǎn)述設(shè)計(jì)一個(gè)容錯(cuò)系統(tǒng)的步驟。1 1)按設(shè)計(jì)任務(wù)要

41、求進(jìn)行常會(huì)設(shè)計(jì),盡量保證設(shè)計(jì)的正確2 2)對(duì)可能出現(xiàn)的錯(cuò)誤分類,確定實(shí)現(xiàn)容錯(cuò)的范圍3 3)按照成本一效率”最優(yōu)原則,選用某種冗余手段(結(jié)構(gòu),信息,時(shí)間)來實(shí)現(xiàn)對(duì)各類錯(cuò)誤的屏蔽4 4)分析或驗(yàn)證上述冗余結(jié)構(gòu)的容錯(cuò)效果24 .簡(jiǎn)述在項(xiàng)目開發(fā)時(shí),選擇程序設(shè)計(jì)語言應(yīng)考慮因素。(1)項(xiàng)目的應(yīng)用領(lǐng)域;(2)軟件開發(fā)的方法(3)軟件執(zhí)行的環(huán)境(4)算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性(5)軟件開發(fā)人員的知識(shí)25 .簡(jiǎn)述容錯(cuò)技術(shù)的四種主要手段,并解釋。1)結(jié)構(gòu)冗余:包括靜態(tài)冗余、動(dòng)態(tài)冗余和混合冗余。2)信息冗余:為檢測(cè)或糾正信息在運(yùn)算或傳輸中的錯(cuò)誤,須外加一部分信息。3)時(shí)間冗余:指重復(fù)執(zhí)行指令或程序來消除瞬時(shí)錯(cuò)誤帶來的影

42、響。4)冗余附加技術(shù):指為實(shí)現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。26 .以G.J.Myers的觀點(diǎn),簡(jiǎn)述對(duì)軟件測(cè)試的目的。軟件測(cè)試是(1)為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;(2) 一個(gè)好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。(3) 一個(gè)成功的測(cè)試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。27 .就程序設(shè)計(jì)語言的工程特性而言,對(duì)程序編碼有哪些要求?就程序設(shè)計(jì)語言的工程特性而言,對(duì)程序編碼有如下要求:(1)可移植性 (2)開發(fā)工具的可利用性(3)軟件的可重用性(4)可維護(hù)性28 .模塊的內(nèi)聚性包括哪些類型?模塊的內(nèi)聚性包括:(1)偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時(shí)間內(nèi)聚(4)通信內(nèi)聚(5)順序內(nèi)聚(6)功能內(nèi)聚29

43、.可行性研究報(bào)告的主要內(nèi)容有哪些?解:一個(gè)可行性研究報(bào)告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。(2)可行性研究前提:說明開發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究 方法和決定可行性的主要因素。(3)對(duì)現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類專 業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡(jiǎn)要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的 優(yōu)越性;采用所建議系統(tǒng)對(duì)用戶的影響;對(duì)各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運(yùn)行

44、環(huán)境的影響;對(duì)經(jīng)費(fèi)支 出的影響;對(duì)技術(shù)可行性的評(píng)價(jià)。(5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明所建議系統(tǒng)的各種支出, 各種效益;收益投資比;投資回收周期。(6)社會(huì)因素可行性分析:說明法律因素,對(duì)合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶 使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。(8)結(jié)論意見:說明項(xiàng)目是否能開發(fā);還需要什么條件才能開發(fā);對(duì)項(xiàng)目目標(biāo)有什么變動(dòng)等。解析做軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā), 是否值得去開發(fā),其中的問題能否解決,報(bào)告共分

45、為八個(gè)基本內(nèi)容。30 .系統(tǒng)設(shè)計(jì)的內(nèi)容是什么?解:系統(tǒng)設(shè)計(jì)階段先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計(jì)要決定整個(gè)結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計(jì)階 段的更詳細(xì)策略的設(shè)計(jì)提供了基礎(chǔ)。(1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個(gè)對(duì)象也不是一個(gè)功能,而是類、關(guān) 聯(lián)、操作、時(shí)間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。(2)確定并發(fā)性。分析模型、現(xiàn)實(shí)世界及硬件中不少對(duì)象均是并發(fā)的。系統(tǒng)設(shè)計(jì)的一個(gè)重要目標(biāo)就是確 定哪些是必須同時(shí)動(dòng)作的對(duì)象,哪些不是同時(shí)動(dòng)作的對(duì)象。后者可以放在一起,而綜合成單個(gè)控制線或任 務(wù)。(3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)必須分配給單個(gè)硬件單元,

46、要么是一個(gè)一般的處理器,要么是一 個(gè)具體的功能單元,必須完成下面的工作:估計(jì)性能要求和資源需求,選擇實(shí)現(xiàn)子系統(tǒng)的硬軟件,將軟件 子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實(shí)現(xiàn)各子系統(tǒng)的各物理單元的連 接。(4)數(shù)據(jù)存儲(chǔ)管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲(chǔ)管理是一項(xiàng)重要的任務(wù)。通常各數(shù)據(jù)存儲(chǔ)可以 將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲(chǔ)要在費(fèi)用、訪問時(shí)間、容量以及可靠性之間做折中 考慮。(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源, 如處理器、驅(qū)動(dòng)器等;空間,如盤空間、工作站屏等;邏輯名字,如對(duì)象標(biāo)識(shí)符、類名、文件名等

47、。如果資源是物理對(duì)象,則可以通過建立協(xié)議實(shí)現(xiàn)對(duì)并發(fā)系統(tǒng)的訪問,以達(dá)到自身控制;如果資源是邏輯 實(shí)體,如對(duì)象標(biāo)識(shí)符,那么在共享環(huán)境中有沖突訪問的可能,如獨(dú)立的事務(wù)可能同時(shí)使用同一個(gè)對(duì)象標(biāo)識(shí) 符,則各個(gè)全局資源都必須有一個(gè)保護(hù)對(duì)象,由保護(hù)對(duì)象來控制對(duì)該資源的訪問。(6)選擇軟件控制機(jī)制。分析模型中所有交互行為都表示為對(duì)象之間的事件。系統(tǒng)設(shè)計(jì)必須從多種方法 中選擇某種方法來實(shí)現(xiàn)軟件的控制。(7)人機(jī)交互接口設(shè)計(jì)。設(shè)計(jì)中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交 互接口。31 .什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?解:軟件發(fā)展第二階段的末期,由于計(jì)算機(jī)硬件技術(shù)

48、的進(jìn)步,計(jì)算機(jī)運(yùn)行速度、容量、可靠性有顯著 的提高,生產(chǎn)成本顯著下降,這為計(jì)算機(jī)的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開發(fā)項(xiàng)目提出 來了,但是,軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法, 使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。軟件危機(jī)表現(xiàn)在以下四個(gè)方面:(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗(yàn)和軟件開發(fā)數(shù)據(jù)的積累,使得開 發(fā)工作的計(jì)劃很難制定。主觀盲目制定計(jì)劃,執(zhí)行起來與實(shí)際情況有很大差距,使得開發(fā)經(jīng)費(fèi)一再突破。 由于對(duì)工作量估計(jì)不足,對(duì)開發(fā)難度估計(jì)不足,進(jìn)度計(jì)劃無法按時(shí)完成,開發(fā)時(shí)間一再拖延。(2)開發(fā)的軟件

49、不能滿足用戶要求。開發(fā)初期對(duì)用戶的要求了解不夠明確,未能得到明確的表達(dá)。開發(fā) 工作開始后,軟件人員和用戶又未能及時(shí)交換意見,使得一些問題不能及時(shí)解決,導(dǎo)致開發(fā)的軟件不能滿 足用戶的要求,因而導(dǎo)致開發(fā)失敗。(3)開發(fā)的軟件可維護(hù)性差。開發(fā)過程中沒有同意的、公認(rèn)的規(guī)范,軟件開發(fā)人員按各自的風(fēng)格工作, 各行其是,開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進(jìn)行雜亂無章的修改。程序結(jié)構(gòu)不好,運(yùn)行時(shí)發(fā)現(xiàn) 錯(cuò)誤也很難修改,導(dǎo)致維護(hù)性差。(4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測(cè)試時(shí),又沒 有嚴(yán)格的、充分的、完全的測(cè)試,提交給用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問題。造成

50、軟件危機(jī)的原因是:(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。(2)軟件開發(fā)管理困難而復(fù)雜。(3)軟件開發(fā)費(fèi)用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。6)開發(fā)工具落后,生產(chǎn)率提高緩慢。32 .軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?解:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:(1)采用技術(shù)手段和工具。質(zhì)量保證活動(dòng)要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用 軟件開發(fā)環(huán)境來進(jìn)行軟件開發(fā)。(2)組織正式技術(shù)評(píng)審。在軟件開發(fā)的每一個(gè)階段結(jié)束時(shí),都要組織正式的技術(shù)評(píng)審。國家標(biāo)準(zhǔn)要求單 位必須采用審查、文檔評(píng)審、設(shè)計(jì)評(píng)審、審計(jì)和測(cè)試等具體手段來保證質(zhì)量。

51、(3)加強(qiáng)軟件測(cè)試。軟件測(cè)試是質(zhì)量保證的重要手段,因?yàn)闇y(cè)試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯(cuò)誤。(4)推行軟件工程規(guī)范(標(biāo)準(zhǔn))。用戶可以自己制定軟件工程規(guī)范(標(biāo)準(zhǔn)),但標(biāo)準(zhǔn)一旦確認(rèn)就應(yīng)貫徹 執(zhí)行。(5)對(duì)軟件的變更進(jìn)行控制。軟件的修改和變更常常會(huì)引起潛伏的錯(cuò)誤,因此必須嚴(yán)格控制軟件的修改 和變更。(6)對(duì)軟件質(zhì)量進(jìn)行度量。即對(duì)軟件質(zhì)量進(jìn)行跟蹤,及時(shí)記錄和報(bào)告軟件質(zhì)量情況。解析軟件的質(zhì)量保證是向用戶及社會(huì)提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所 有階段的質(zhì)量的活動(dòng),是軟件工程管理中的重要33 .軟件工程是指什么?軟件工程的性質(zhì)是什么?軟件工程是用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。軟件工程是一門綜合性的交叉性學(xué)科,它涉及計(jì)算機(jī)科學(xué)、工程學(xué)科、管理學(xué)科數(shù)學(xué)等領(lǐng)域。計(jì)算機(jī)科

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論