軟件工程》-重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第1頁(yè)
軟件工程》-重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第2頁(yè)
軟件工程》-重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第3頁(yè)
軟件工程》-重點(diǎn)考試知識(shí)點(diǎn),簡(jiǎn)答_第4頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、程客戶(hù)評(píng)估。6、敏捷模型:是一種輕量級(jí)的軟件法。避免了傳統(tǒng)重量級(jí)軟件開(kāi)發(fā)過(guò)程復(fù)雜文檔繁瑣的弊端,強(qiáng)調(diào)軟件開(kāi)發(fā)過(guò)程中團(tuán)員的交流,過(guò)程的簡(jiǎn)潔,用戶(hù)反饋的特性第二章1、可行性研究的目的不在于提出解決問(wèn)題的案,而在于研究解決問(wèn)題的必要性和可能性。意義是盡早的停止項(xiàng)目的開(kāi)發(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)目的開(kāi)發(fā)總成本與開(kāi)發(fā)系統(tǒng)將帶來(lái)的經(jīng)濟(jì)效益之間的差值進(jìn)行度量。社會(huì)可行性研究從政策、法律和制度等社會(huì)因素面考慮項(xiàng)目開(kāi)發(fā)的合理性和意義4、可行性研究的步驟:確定

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

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

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

10、細(xì)節(jié)。2、軟件設(shè)計(jì)的原則 模塊化 抽象 逐步求精 信息隱藏3、模塊化就是把系統(tǒng)或程序劃分為獨(dú)立命名且可以獨(dú)立訪(fǎng)問(wèn)的模塊,每個(gè)模塊完成一個(gè)特定的子功能。在模塊化的過(guò)程中需要注意:模塊的規(guī)模要適中,提高模塊的獨(dú)立性,降低模塊間的耦合程度,提高模塊的聚程度,加強(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é)構(gòu)分為三種基本類(lèi)型:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、和循環(huán)結(jié)構(gòu)。專(zhuān)業(yè)資料7、

11、流程圖是對(duì)過(guò)程、算法、流程的一種圖形表示,它對(duì)某個(gè)問(wèn)題的定義、分析或解法進(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ì)原則 模塊化 抽象化 信息隱藏 低耦合 高聚 復(fù)用性。11、軟件系統(tǒng)的設(shè)計(jì)模式解決某一類(lèi)相似問(wèn)題的法論。描述了該問(wèn)題的解決案的核心。12、 23 種模式分3 類(lèi): 創(chuàng)建型模式 結(jié)構(gòu)型模式 行為型模式。13、所謂模式,就是只解決某一類(lèi)相似問(wèn)題的法論。每種設(shè)計(jì)模式都包含四個(gè)要素:模式名稱(chēng),問(wèn)題,解決案,效果描述第七章

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

13、的錯(cuò)誤數(shù)成正比 讓不同的測(cè)試人員參與到測(cè)試工作中 讓開(kāi)發(fā)小組和測(cè)試小組分離 盡早并不斷的進(jìn)行測(cè)試 要重點(diǎn)測(cè)試容易出錯(cuò)或錯(cuò)誤較多的模塊 應(yīng)該長(zhǎng)期保留所有的測(cè)試用例3、常用的軟件測(cè)試模型有:V 模型, W模型和 H 模型專(zhuān)業(yè)資料4、軟件測(cè)試的分類(lèi):按照時(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ì)軟件中最小的可測(cè)試單元進(jìn)

14、行檢查和驗(yàn)證,基本單元一般來(lái)說(shuō)是一個(gè)函數(shù)、一個(gè)過(guò)程或者一個(gè)類(lèi)。通常情況下,測(cè)試人員采用的白盒測(cè)試的法。8、集成測(cè)試是指在單元測(cè)試的基礎(chǔ)上,對(duì)通過(guò)測(cè)試的單元模塊組裝成系統(tǒng)或子系統(tǒng)進(jìn)行測(cè)試,由于測(cè)試的對(duì)象是經(jīng)過(guò)單元限額是的代碼,所以集成測(cè)試并不關(guān)注各個(gè)模塊的部細(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è)模塊用過(guò)程語(yǔ)句調(diào)用其他模塊模塊間傳送的參數(shù)作數(shù)據(jù)用 模塊間共用的信息盡量少設(shè)計(jì)優(yōu)化應(yīng)該力求做到

15、在有效模塊化的前提下使用最少量的模塊,并且在能夠滿(mǎn)足信息要求的前提下使用最簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。12、耦合耦合:是對(duì)一個(gè)軟件結(jié)構(gòu)不同模塊間彼此聯(lián)系程度的一種定性耦合度量。13、對(duì)象對(duì)象:是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,是具有明確語(yǔ)義、對(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è)試:是通過(guò)輸入一組預(yù)先按照一定的測(cè)試準(zhǔn)則構(gòu)造的動(dòng)態(tài)測(cè)試實(shí)例數(shù)據(jù)來(lái)動(dòng)態(tài)運(yùn)行程序,從而達(dá)到發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。它包括黑盒測(cè)試和白盒測(cè)試。16測(cè)試技術(shù) 黑盒測(cè)試 黑盒測(cè)試:在測(cè)

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

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

18、包括功能性、可靠性、可用性、效率、可維護(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ù)。軟件文檔是用來(lái)表示對(duì)需求、過(guò)程或結(jié)果進(jìn)行描述、定義、規(guī)定或認(rèn)證的圖示信息,他描述或規(guī)定了軟件設(shè)計(jì)和實(shí)現(xiàn)的細(xì)節(jié)。10、軟件工程文檔可以分為:用戶(hù)文檔、開(kāi)發(fā)文檔和管理文檔。二解釋名

19、詞1. 軟件 :是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)、相關(guān)文檔的完整集合以及后續(xù)的維護(hù)服務(wù)。2. 白盒測(cè)試 :是對(duì)軟件的過(guò)程性描述做細(xì)致的檢查,軟件測(cè)試員利用程序部的邏輯結(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ù)稱(chēng)為模塊的扇入,上級(jí)調(diào)用下級(jí)模塊的個(gè)數(shù)稱(chēng)為扇出數(shù)。5. 靜態(tài)模型 :是通過(guò)系統(tǒng)對(duì)象類(lèi)及其之間的關(guān)系描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。6. 模塊的控制圍: 指該模塊及所包含的子樹(shù)。7.

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

21、。也稱(chēng)塊間聯(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)存在缺陷和缺陷的過(guò)程。15. 可移植性 :將軟件從一個(gè)系統(tǒng)平臺(tái)搬到另一個(gè)系統(tǒng)平臺(tái)的容易程度。16. 環(huán)路度量 :程序的復(fù)雜性很大程度上取決于程序控制流的復(fù)雜性,單一的順序程序結(jié)構(gòu)最簡(jiǎn)單,循專(zhuān)業(yè)資料環(huán)和選擇所構(gòu)成的環(huán)路越多,程

22、序就越復(fù)雜。17. 軟件危機(jī) 是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列重問(wèn)題。軟件危機(jī)包含下述兩面的問(wèn)題:如開(kāi)發(fā)軟件,怎樣滿(mǎn)足對(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)人們用良好的思想法開(kāi)發(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ī)概念,它是有限自動(dòng)機(jī)的圖形表示,它

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

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

25、時(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)系的情況,稱(chēng)為結(jié)構(gòu)沖突。32. 可行性分析 :用最小的代價(jià)在盡可能短的時(shí)間確定問(wèn)題是否能夠解決。33. 信息隱藏 :是指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊包含的信息(過(guò)程或數(shù)據(jù))對(duì)于不需要這些信息的模塊來(lái)說(shuō)是不能訪(fǎng)問(wèn)的。34. 測(cè)試 是由一個(gè)用戶(hù)在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是開(kāi)發(fā)機(jī)構(gòu)部的用戶(hù)在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試。測(cè)試 是由軟件的多個(gè)用戶(hù)在一個(gè)或多個(gè)用戶(hù)的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。35. 測(cè)試 是為了發(fā)現(xiàn)錯(cuò)誤;調(diào) 試是要找出錯(cuò)誤的位置并改正錯(cuò)誤。36. 程序的可維護(hù)性 :為滿(mǎn)足

26、用戶(hù)新的需求,或當(dāng)環(huán)境發(fā)生了變化,或運(yùn)行中發(fā)現(xiàn)了新的錯(cuò)誤時(shí),對(duì)一個(gè)已投入運(yùn)行的軟件進(jìn)行相應(yīng)診斷和修改所需工作量的大小。37. 模塊的控制圍 :指該模塊及所包含的子樹(shù)。38. 容錯(cuò)技術(shù) :對(duì)那些無(wú)法避開(kāi)的差錯(cuò),使其影響減少至最小的技術(shù)。也就是說(shuō),當(dāng)錯(cuò)誤發(fā)生時(shí),盡可能地不影響其它的系統(tǒng)元素,或是把用戶(hù)的影響限制在某些容的圍。39. 驅(qū)動(dòng)模塊與樁模塊 :在測(cè)試過(guò)程中,用以代替被測(cè)試模塊的上級(jí)模塊稱(chēng)為驅(qū)動(dòng)模塊,用以替代被測(cè)試模塊的下級(jí)模塊稱(chēng)為樁模塊。專(zhuān)業(yè)資料40. 漸增式測(cè)試 :在對(duì)系統(tǒng)的測(cè)試過(guò)程中,將模塊是按照測(cè)試案,一個(gè)一個(gè)逐步添加到被測(cè)試的系統(tǒng)中。三簡(jiǎn)要回答下列問(wèn)題1. 需求分析的任務(wù)是什么?需

27、求分析的任務(wù)是確定待開(kāi)發(fā)的軟件系統(tǒng)“做什么”。具體任務(wù)包括確定軟件系統(tǒng)的功能需求、性能需求和運(yùn)行環(huán)境約束,編制軟件需求規(guī)格說(shuō)明書(shū)、軟件系統(tǒng)的驗(yàn)收測(cè)試準(zhǔn)則和初步的用戶(hù)手冊(cè)。2. 數(shù)據(jù)流圖由哪幾種基本部件組成?畫(huà)數(shù)據(jù)流圖時(shí)最常犯的有哪些錯(cuò)誤? 主要成分:數(shù)據(jù)的源點(diǎn)或終點(diǎn),數(shù)據(jù)處理,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)流。 沒(méi)有分支,條件和循環(huán); 沒(méi)有數(shù)據(jù)出錯(cuò)處理, 沒(méi)有文件的打開(kāi)和關(guān)閉; 數(shù)據(jù)處理必須 “有進(jìn)有出” ;數(shù)據(jù)存儲(chǔ)必須“有進(jìn)有出” ;數(shù)據(jù)流線(xiàn)上有數(shù)據(jù)流名,且數(shù)據(jù)流名是名詞;數(shù)據(jù)處理的命名是動(dòng)詞。3. 什么叫模塊化?設(shè)計(jì)一個(gè)系統(tǒng)時(shí)是否分的模塊越多就越好說(shuō)明原因。 模塊化就是把程序劃分成可獨(dú)立命名且獨(dú)立訪(fǎng)問(wèn)的模

28、塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成指定的功能滿(mǎn)足用戶(hù)的需求。 不一定。 當(dāng)模塊數(shù)目增加時(shí)每個(gè)模塊的規(guī)模將減小,開(kāi)發(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)。圖中的豎線(xiàn)為程序的層次線(xiàn),最左豎線(xiàn)是程序的主線(xiàn),其后一層一層展開(kāi),層次關(guān)系一目了然。 支持逐步求精的設(shè)計(jì)法,左邊層次中的容可以抽象,然后由左到右逐步細(xì)化。 易讀易寫(xiě),使用便。 支持結(jié)構(gòu)化的程序設(shè)計(jì)原理。 可自

29、動(dòng)生成程序。5軟件測(cè)試過(guò)程中需要哪些信息?軟件測(cè)試時(shí)需要三類(lèi)信息: 軟件配置:指需求規(guī)格說(shuō)明書(shū)、設(shè)計(jì)說(shuō)明書(shū)、源程序等。 測(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ì),為模塊的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定每個(gè)模塊的部特性,包括模塊的算法和使用的數(shù)據(jù)。對(duì)數(shù)據(jù)庫(kù)進(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)需求分析的重要性,即體現(xiàn)軟件開(kāi)發(fā)中用戶(hù)至上的原則; 開(kāi)發(fā)過(guò)程的階段劃分,各階段的具體任務(wù)明確; 各階段有具體的描述工具易于掌握; 強(qiáng)調(diào)文檔的

30、重要性,并給出文檔的容和格式,因此法具有易操作性,是軟件開(kāi)發(fā)人員應(yīng)該掌握的基本法。結(jié)構(gòu)化法更適合于需求能夠預(yù)先明確定義的軟件系統(tǒng),如系統(tǒng)軟件或某些實(shí)時(shí)控制軟件等。8.畫(huà)數(shù)據(jù)流圖要注意哪些事項(xiàng)? 設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮系統(tǒng)必須完成的基本邏輯功能,不需要考慮怎樣具體的實(shí)現(xiàn)這些功能。 從頂層數(shù)據(jù)流開(kāi)始。 并不是所有數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都能直接從問(wèn)題描述中提取出來(lái); 當(dāng)進(jìn)一步分解將涉及如具體地實(shí)現(xiàn)一個(gè)功能時(shí),就不應(yīng)該在分解了; 數(shù)據(jù)流圖中個(gè)成分的命名要仔細(xì)推敲,看是否恰當(dāng);9簡(jiǎn)述 Jackson 法的設(shè)計(jì)步驟。專(zhuān)業(yè)資料Jackson法( JSP)設(shè)計(jì)步驟: 分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用Ja

31、ckson 結(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ù)容上、數(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)。 列出基本操作與條件,并把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。 用偽碼寫(xiě)出程序。10. 如控制因修改而引起的副作用?為了控制因修改而引起的副作用,要做到: 按模塊把修改分組。 自頂向下地安排被修改模塊的順序。 每次修改一個(gè)模塊。 對(duì)每個(gè)修改了的模塊,在安排修改下個(gè)模塊之前,要確定這個(gè)修改的副作用,可使用交叉引用表、存儲(chǔ)映像表、執(zhí)行流程跟蹤等

32、。11. 軟件工程是指什么?軟件工程的性質(zhì)是什么?軟件工程是用科學(xué)知識(shí)和技術(shù)原理來(lái)定義、開(kāi)發(fā)、維護(hù)軟件的一門(mén)學(xué)科。軟件工程是一門(mén)綜合性的交叉性學(xué)科,它涉及計(jì)算機(jī)科學(xué)、工程學(xué)科、管理學(xué)科數(shù)學(xué)等領(lǐng)域。計(jì)算機(jī)科學(xué)中的研究成果均可用于軟件工程,但計(jì)算機(jī)科學(xué)著重于原理和理論,而軟件工程著重于如建造一個(gè)軟件系統(tǒng)。軟件工程要用工程科學(xué)中的觀點(diǎn)來(lái)進(jìn)行費(fèi)用估算、制定進(jìn)度、制定計(jì)劃和案。軟件工程要用管理科學(xué)中的法和原理進(jìn)行軟件生產(chǎn)的管理。軟件工程要用數(shù)學(xué)的法建立軟件開(kāi)發(fā)中的各種模型和各種算法,如可靠性模型,說(shuō)明用戶(hù)需求的形式化模型等。12. 為了進(jìn)行測(cè)試,為什么需要一個(gè)規(guī)格說(shuō)明?規(guī)格說(shuō)明用來(lái)決定程序的實(shí)際行為時(shí)正

33、確,時(shí)不正確。13. 衡量模塊獨(dú)立的兩個(gè)標(biāo)準(zhǔn)是什么?它們各表示什么含義?衡量模塊的獨(dú)立性的標(biāo)準(zhǔn)是兩個(gè)定性的度量標(biāo)準(zhǔn):耦合性和聚性。 耦合性。也稱(chēng)塊間聯(lián)系,是指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互之間聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就越強(qiáng),模塊的獨(dú)立性則越差。模塊間的耦合高低取決于模塊間接口的復(fù)雜性、調(diào)用的式及傳遞的信息。 聚性。又稱(chēng)塊聯(lián)系,是指模塊的功能強(qiáng)度的度量,即一個(gè)模塊部各個(gè)元素彼此結(jié)合的緊密程度的度量。若一個(gè)模塊各元素(語(yǔ)句之間、程序段之間)聯(lián)系得越緊密,則它的聚性就越高。耦合性與聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),在軟件系統(tǒng)劃分模塊時(shí),盡量做到高聚低耦合,提高模塊的獨(dú)立性,為設(shè)

34、計(jì)高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。14謂軟件維護(hù)?常用的軟件維護(hù)有幾種?軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿(mǎn)足新的需要而修改軟件的過(guò)程。通常有四項(xiàng)基本維護(hù):糾錯(cuò)性維護(hù)、完善性維護(hù)、適應(yīng)性維護(hù)以及預(yù)防性維護(hù)等。15什么是序言性注釋?zhuān)克男┤荩啃蜓孕宰⑨屚ǔ7旁诿總€(gè)程序模塊的開(kāi)頭部分,它應(yīng)當(dāng)給出程序的整體說(shuō)明,對(duì)于理解程序具有引導(dǎo)作用。序言性注釋一般包含下列容: 程序標(biāo)題;有關(guān)該模塊的功能和目的說(shuō)明;主要算法; 接口說(shuō)明:包括調(diào)用形式,參數(shù)描述、子程序清單; 有關(guān)數(shù)據(jù)描述(重要的變量及其用途,約束或限制條件,以及其他有關(guān)信息);專(zhuān)業(yè)資料 模塊位置(在哪一個(gè)源文件中,或隸屬于哪一個(gè)軟件

35、包); 開(kāi)發(fā)簡(jiǎn)歷模塊設(shè)計(jì)者,復(fù)審者,復(fù)審日期,修改日期及有關(guān)說(shuō)明等16. 功能模型的特征有哪些?功能模型描述了系統(tǒng)的所有計(jì)算。功能模型指出發(fā)生了什么,對(duì)動(dòng)態(tài)模型確定什么時(shí)候發(fā)生,而對(duì)象模型確定發(fā)生的客體。功能模型表明一個(gè)計(jì)算如從輸入值得到輸出值,它不考慮所計(jì)算的次序。功能模型由多數(shù)據(jù)流圖組成。數(shù)據(jù)流圖說(shuō)明數(shù)據(jù)流是如從外部輸入、經(jīng)過(guò)操作和部存儲(chǔ)輸出到外部的。功能模型也包括對(duì)象模型中值的約束條件。17. 什么是測(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è)試法

36、。白盒測(cè)試法是從被測(cè)試程序的部邏輯入手來(lái)設(shè)計(jì)測(cè)試用例:黑盒測(cè)試法著重測(cè)試被測(cè)試程序的功能,而不關(guān)心部如實(shí)現(xiàn)其功能的結(jié)構(gòu),是從用戶(hù)觀點(diǎn)出發(fā)的測(cè)試。但無(wú)論白盒測(cè)試法還是黑盒測(cè)試法都只能選擇一些有代表性的測(cè)試用例進(jìn)行有限的測(cè)試。 白盒測(cè)試法:有 6 種用于有判定存在的邏輯覆蓋標(biāo)準(zhǔn),即程序部路徑的覆蓋程度。對(duì)于有循環(huán)存在的覆蓋用限制循環(huán)次數(shù)的辦法來(lái)測(cè)試。但是對(duì)于一個(gè)實(shí)際問(wèn)題的程序測(cè)試中,其路徑是一個(gè)龐大的數(shù)字,基本路徑測(cè)試告訴了最少路徑的計(jì)算辦法,在分析程序控制流程圖環(huán)路復(fù)雜性的基礎(chǔ)上,導(dǎo)出基本路徑集合,從而設(shè)計(jì)測(cè)試用例,保證這些基本路徑至少執(zhí)行一次,以最少的用例發(fā)現(xiàn)盡量多的錯(cuò)誤。 黑盒測(cè)試法: 具體

37、法有 4 種,采用黑盒測(cè)試法的綜合策略是先用等價(jià)類(lèi)劃分法 (包括邊界值分析法,即取邊值上的數(shù))設(shè)計(jì)出測(cè)試用例,然后用錯(cuò)誤推測(cè)法補(bǔ)充。如果被測(cè)試程序含有多個(gè)條件的邏輯組合,則開(kāi)始就用因果圖法。18. 怎樣克服軟件危機(jī)?(1) 充分吸收和借鑒人類(lèi)長(zhǎng)期以來(lái)從事各種工程項(xiàng)目中積累的行之有效的有效原理、概念、技術(shù)與法,特別是吸取幾十年來(lái)人類(lèi)從事計(jì)算機(jī)硬件研究和開(kāi)發(fā)的經(jīng)驗(yàn)教訓(xùn)。在開(kāi)發(fā)軟件的過(guò)程中努力作到良好的組織,格的管理,相互友好的協(xié)作。(2) 推廣在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功的技術(shù)和法,并研究更好、更有效的技術(shù)和法,盡快克服在計(jì)算機(jī)系統(tǒng)早期發(fā)展階段形成的一些錯(cuò)誤概念和作法。(3) 根據(jù)不同的應(yīng)用領(lǐng)

38、域,開(kāi)發(fā)更好的軟件工具并使用這些工具。將軟件開(kāi)發(fā)各個(gè)階段使用的軟件工具集合成一個(gè)整體,形成一個(gè)很好的軟件開(kāi)發(fā)支撐環(huán)境??傊疄榱私鉀Q軟件危機(jī),既要有技術(shù)措施( 法和工具 ) ,又要有必要的組織管理措施。19說(shuō)明軟件工程管理的重要性。由軟件危機(jī)引出軟件工程,是計(jì)算機(jī)發(fā)展史上的一個(gè)重大進(jìn)展。為了對(duì)付大型復(fù)雜的軟件系統(tǒng),須采用傳統(tǒng)的“分解”法。軟件工程的分解是從橫向和縱向即空間和時(shí)間兩個(gè)面進(jìn)行的。橫向分解就是把一個(gè)大系統(tǒng)分解為若干個(gè)小系統(tǒng),小系統(tǒng)分解為子系統(tǒng),子系統(tǒng)分解為模塊,模塊分解為過(guò)程??v向分解就是生存期,把軟件開(kāi)發(fā)分為幾個(gè)階段,每個(gè)階段有不同的任務(wù)、特點(diǎn)和法。為此,軟件工程管理需要有相應(yīng)的管理

39、策略。根據(jù)軟件產(chǎn)品的特征,且隨著軟件規(guī)模的不斷增大,開(kāi)發(fā)人員也隨之增多,開(kāi)發(fā)時(shí)間也相應(yīng)地持續(xù)增長(zhǎng),這些都增加了軟件工程管理的難度,同時(shí)也突出了軟件工程管理的必要性與重要性。事實(shí)證明,由管理失誤造成的后果比程序錯(cuò)誤造成的后果更為重。很少有軟件項(xiàng)目的實(shí)施進(jìn)程能準(zhǔn)確地符合預(yù)定目標(biāo)、進(jìn)度和預(yù)算的,這也就是以說(shuō)明軟件工程管理的重要性。20. 請(qǐng)說(shuō)多態(tài)重用與繼承重用的關(guān)系。多態(tài)重用實(shí)際上是一種特殊的繼承重用,是充分利用多態(tài)性機(jī)制支持的繼承重用。一般來(lái)說(shuō),使用多態(tài)重用式重用已有的類(lèi)構(gòu)件時(shí),在子類(lèi)中需要重新定義的操作比較少,因此,多態(tài)重用式比繼承重用式成本低。專(zhuān)業(yè)資料21. 簡(jiǎn)述演繹法調(diào)試的具體步驟。演繹法調(diào)

40、試步驟:列出所有可能的錯(cuò)誤原因的假設(shè);排除不適當(dāng)?shù)募僭O(shè);精化余下的假設(shè);證明余下的假設(shè)。22. 簡(jiǎn)述增量模型和瀑布模型的本質(zhì)區(qū)別。瀑布模型屬于整體開(kāi)發(fā)模型,它規(guī)定在開(kāi)始下一個(gè)階段的工作之前,必須完成前一階段的所有細(xì)節(jié)。而增量模型屬于非整體開(kāi)發(fā)模型,它推遲某些階段或所有階段中的細(xì)節(jié),從而較早的產(chǎn)生工作軟件。23. 簡(jiǎn)述設(shè)計(jì)一個(gè)容錯(cuò)系統(tǒng)的步驟。( 1)按設(shè)計(jì)任務(wù)要求進(jìn)行常會(huì)設(shè)計(jì),盡量保證設(shè)計(jì)的正確( 2)對(duì)可能出現(xiàn)的錯(cuò)誤分類(lèi),確定實(shí)現(xiàn)容錯(cuò)的圍( 3)按照“成本效率”最優(yōu)原則,選用某種冗余手段(結(jié)構(gòu),信息,時(shí)間)來(lái)實(shí)現(xiàn)對(duì)各類(lèi)錯(cuò)誤的屏蔽( 4)分析或驗(yàn)證上述冗余結(jié)構(gòu)的容錯(cuò)效果24. 簡(jiǎn)述在項(xiàng)目開(kāi)發(fā)時(shí),

41、選擇程序設(shè)計(jì)語(yǔ)言應(yīng)考慮因素。( 1)項(xiàng)目的應(yīng)用領(lǐng)域; (2)軟件開(kāi)發(fā)的法 ( 3)軟件執(zhí)行的環(huán)境( 4)算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性( 5)軟件開(kāi)發(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í)行指令或程序來(lái)消除瞬時(shí)錯(cuò)誤帶來(lái)的影響。4) 冗余附加技術(shù):指為實(shí)現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。26以的觀點(diǎn),簡(jiǎn)述對(duì)軟件測(cè)試的目的。軟件測(cè)試是( 1)為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;( 2)一個(gè)好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。( 3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)

42、至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。27就程序設(shè)計(jì)語(yǔ)言的工程特性而言,對(duì)程序編碼有哪些要求?就程序設(shè)計(jì)語(yǔ)言的工程特性而言,對(duì)程序編碼有如下要求:( 1)可移植性( 2)開(kāi)發(fā)工具的可利用性( 3)軟件的可重用性(4)可維護(hù)性28模塊的聚性包括哪些類(lèi)型?模塊的聚性包括:(1)偶然聚( 2)邏輯聚( 3)時(shí)間聚( 4)通信聚( 5)順序聚( 6)功能聚29可行性研究報(bào)告的主要容有哪些?解:一個(gè)可行性研究報(bào)告的主要容如下:( 1)引言:說(shuō)明編寫(xiě)本文檔的目的;項(xiàng)目的名稱(chēng)、背景;本文檔用到的專(zhuān)門(mén)術(shù)語(yǔ)和參考資料。( 2)可行性研究前提:說(shuō)明開(kāi)發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究法和決定可

43、行性的主要因素。( 3)對(duì)現(xiàn)有系統(tǒng)的分析:說(shuō)明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類(lèi)專(zhuān)業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問(wèn)題。( 4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡(jiǎn)要說(shuō)明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對(duì)用戶(hù)的影響;對(duì)各種設(shè)備、現(xiàn)有軟件、開(kāi)發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對(duì)經(jīng)費(fèi)支出的影響;對(duì)技術(shù)可行性的評(píng)價(jià)。( 5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說(shuō)明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收期。( 6)社會(huì)因素可行性分析:說(shuō)明法律因素,對(duì)合同責(zé)任、侵犯專(zhuān)利權(quán)、侵犯等問(wèn)題的分析;說(shuō)明用戶(hù)使用可行性,是否滿(mǎn)足用戶(hù)行

44、政管理、工作制度、人員素質(zhì)的要求。專(zhuān)業(yè)資料( 7)其他可供選擇案:逐一說(shuō)明其他可供選擇的案,并說(shuō)明未被推薦的理由。( 8)結(jié)論意見(jiàn):說(shuō)明項(xiàng)目是否能開(kāi)發(fā);還需要什么條件才能開(kāi)發(fā);對(duì)項(xiàng)目目標(biāo)有什么變動(dòng)等。 解析 做軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間確定該軟件項(xiàng)目是否能夠開(kāi)發(fā),是否值得去開(kāi)發(fā),其中的問(wèn)題能否解決,報(bào)告共分為八個(gè)基本容。30系統(tǒng)設(shè)計(jì)的容是什么?解:系統(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)中主要的組成部分稱(chēng)為子系統(tǒng),子系統(tǒng)既不是一個(gè)對(duì)象也不是一個(gè)功能,而是類(lèi)、關(guān)聯(lián)、操作

45、、時(shí)間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱(chēng)為模塊。( 2)確定并發(fā)性。分析模型、現(xiàn)實(shí)世界及硬件中不少對(duì)象均是并發(fā)的。系統(tǒng)設(shè)計(jì)的一個(gè)重要目標(biāo)就是確定哪些是必須同時(shí)動(dòng)作的對(duì)象,哪些不是同時(shí)動(dòng)作的對(duì)象。后者可以放在一起,而綜合成單個(gè)控制線(xiàn)或任務(wù)。( 3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)必須分配給單個(gè)硬件單元,要么是一個(gè)一般的處理器,要么是一個(gè)具體的功能單元,必須完成下面的工作:估計(jì)性能要求和資源需求,選擇實(shí)現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿(mǎn)足性能要求和極小化處理器之間的通信,決定實(shí)現(xiàn)各子系統(tǒng)的各物理單元的連接。( 4)數(shù)據(jù)存儲(chǔ)管理。系統(tǒng)中的部數(shù)據(jù)和外部數(shù)據(jù)的存儲(chǔ)管

46、理是一項(xiàng)重要的任務(wù)。通常各數(shù)據(jù)存儲(chǔ)可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫(kù)組合在一起,不同數(shù)據(jù)存儲(chǔ)要在費(fèi)用、訪(fǎng)問(wèn)時(shí)間、容量以及可靠性之間做折中考慮。( 5)全局資源的處理。必須確定全局資源,并且制定訪(fǎng)問(wèn)全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動(dòng)器等;空間,如盤(pán)空間、工作站屏等;邏輯名字,如對(duì)象標(biāo)識(shí)符、類(lèi)名、文件名等。如果資源是物理對(duì)象,則可以通過(guò)建立協(xié)議實(shí)現(xiàn)對(duì)并發(fā)系統(tǒng)的訪(fǎng)問(wèn),以達(dá)到自身控制;如果資源是邏輯實(shí)體,如對(duì)象標(biāo)識(shí)符,那么在共享環(huán)境中有沖突訪(fǎng)問(wèn)的可能,如獨(dú)立的事務(wù)可能同時(shí)使用同一個(gè)對(duì)象標(biāo)識(shí)符,則各個(gè)全局資源都必須有一個(gè)保護(hù)對(duì)象,由保護(hù)對(duì)象來(lái)控制對(duì)該資源的訪(fǎng)問(wèn)。( 6)選擇軟件控制機(jī)制。分

47、析模型中所有交互行為都表示為對(duì)象之間的事件。系統(tǒng)設(shè)計(jì)必須從多種法中選擇某種法來(lái)實(shí)現(xiàn)軟件的控制。( 7)人機(jī)交互接口設(shè)計(jì)。設(shè)計(jì)中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶(hù)使用系統(tǒng)的交互接口。31什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?解:軟件發(fā)展第二階段的末期,由于計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算機(jī)運(yùn)行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計(jì)算機(jī)的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開(kāi)發(fā)項(xiàng)目提出來(lái)了,但是,軟件開(kāi)發(fā)技術(shù)的進(jìn)步一直未能滿(mǎn)足發(fā)展的需要。在軟件開(kāi)發(fā)中遇到的問(wèn)題找不到解決辦法,使問(wèn)題積累起來(lái),形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。軟件危機(jī)表現(xiàn)在以

48、下四個(gè)面:( 1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延。由于缺乏軟件開(kāi)發(fā)的經(jīng)驗(yàn)和軟件開(kāi)發(fā)數(shù)據(jù)的積累,使得開(kāi)發(fā)工作的計(jì)劃很難制定。主觀盲目制定計(jì)劃,執(zhí)行起來(lái)與實(shí)際情況有很大差距,使得開(kāi)發(fā)經(jīng)費(fèi)一再突破。由于對(duì)工作量估計(jì)不足,對(duì)開(kāi)發(fā)難度估計(jì)不足,進(jìn)度計(jì)劃無(wú)法按時(shí)完成,開(kāi)發(fā)時(shí)間一再拖延。( 2)開(kāi)發(fā)的軟件不能滿(mǎn)足用戶(hù)要求。開(kāi)發(fā)初期對(duì)用戶(hù)的要求了解不夠明確,未能得到明確的表達(dá)。開(kāi)發(fā)工作開(kāi)始后,軟件人員和用戶(hù)又未能及時(shí)交換意見(jiàn),使得一些問(wèn)題不能及時(shí)解決,導(dǎo)致開(kāi)發(fā)的軟件不能滿(mǎn)足用戶(hù)的要求,因而導(dǎo)致開(kāi)發(fā)失敗。( 3)開(kāi)發(fā)的軟件可維護(hù)性差。開(kāi)發(fā)過(guò)程中沒(méi)有同意的、公認(rèn)的規(guī),軟件開(kāi)發(fā)人員按各自的風(fēng)格工作,各行其是,開(kāi)

49、發(fā)過(guò)程無(wú)完整、規(guī)的文檔,發(fā)現(xiàn)問(wèn)題后進(jìn)行雜亂無(wú)章的修改。程序結(jié)構(gòu)不好,運(yùn)行時(shí)發(fā)現(xiàn)錯(cuò)誤也很難修改,導(dǎo)致維護(hù)性差。專(zhuān)業(yè)資料( 4)開(kāi)發(fā)的軟件可靠性差。由于在開(kāi)發(fā)過(guò)程中,沒(méi)有確保軟件質(zhì)量的體系和措施,在軟件測(cè)試時(shí),又沒(méi)有格的、充分的、完全的測(cè)試,提交給用戶(hù)的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問(wèn)題。造成軟件危機(jī)的原因是:( 1)軟件的規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜。(2)軟件開(kāi)發(fā)管理困難而復(fù)雜。(3)軟件開(kāi)發(fā)費(fèi)用不斷增加。( 4)軟件開(kāi)發(fā)技術(shù)落后。(5)生產(chǎn)式落后。6)開(kāi)發(fā)工具落后,生產(chǎn)率提高緩慢。32軟件質(zhì)量保證應(yīng)做好哪幾面的工作?解:軟件質(zhì)量保證是軟件工程管理的重要容,軟件質(zhì)量保證應(yīng)做好以下幾面的工作:

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

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論