欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      軟件工程課后答案

      時(shí)間:2019-05-14 01:42:29下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《軟件工程課后答案》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《軟件工程課后答案》。

      第一篇:軟件工程課后答案

      第七章價(jià)類, 重復(fù)這一步驟,直到所第十三章

      1.軟件測試的方法:黑盒測試,白盒測試

      (1)黑盒測試:如果已經(jīng)知道了產(chǎn)品應(yīng)具有的功能,可以通過測試來檢驗(yàn)是否每個(gè)功能

      都能正常使用,這就是黑盒測試:

      (2)白盒測試:如果知道產(chǎn)品的內(nèi)部工作過

      程,可以通過測試來檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否

      按照規(guī)格說明書的規(guī)定正常進(jìn)行。

      2.測試步驟;(1)模塊測試(2)子系統(tǒng)測試(3)

      系統(tǒng)測試(4)驗(yàn)收測試(5)平行運(yùn)行

      3.測試重點(diǎn):(1)模塊接口(2)局部數(shù)據(jù)結(jié)

      構(gòu)(3)重要的執(zhí)行通路(4)出錯(cuò)處理通路

      (5)邊界條件

      4.(1)主程序:驅(qū)動(dòng)程序也就是一個(gè)主程序,他接受測試數(shù)據(jù),把這些數(shù)據(jù)傳送給

      被測試的模塊,并且印出有關(guān)的結(jié)

      果,(2)虛擬子程序:存根程序也可以稱為

      虛擬子程序,他使用被他代替的模

      塊的接口,可能做最少量的數(shù)據(jù)操

      作,印出對(duì)入口的檢驗(yàn)或操作結(jié)

      果,并且把控制歸還給調(diào)用它的模

      塊。

      5.模塊組裝成程序時(shí)有兩種方法:(1)非漸

      增式(2)漸增式{自頂向下集成,自底向上

      集成}

      6.混合法:對(duì)軟件結(jié)構(gòu)中較上層使用的自頂

      向下方法與軟件結(jié)構(gòu)中較下層使用的自底向

      上方法相結(jié)合。

      7.回歸測試:在集成測試的范疇中,所謂的回

      歸測試是指重新執(zhí)行已經(jīng)做過的測試的某個(gè)

      子集,以保證上述的這些變化沒有帶來非預(yù)

      期的副作用。

      8.確認(rèn)測試:也稱為驗(yàn)收測試,他的目標(biāo)是

      驗(yàn)證軟件的有效性。

      驗(yàn)證:指的是保證軟件正確的實(shí)現(xiàn)了

      某個(gè)特定要求的一系列活動(dòng)。

      確認(rèn):指的是為了保證軟件確實(shí)滿足

      了用戶需求而進(jìn)行的一系列活動(dòng)。

      9.確認(rèn)測試的范圍:確認(rèn)測試必須由用戶積

      極參與,或者以用戶為主進(jìn)行。確認(rèn)測試通

      常使用黑盒測試法

      10.Alpha和Beta測試

      (1)Alpha:有用戶在開發(fā)者的場所進(jìn)行,并且在開發(fā)者對(duì)用戶的指導(dǎo)下進(jìn)行測試。開

      發(fā)者負(fù)責(zé)記錄發(fā)現(xiàn)的錯(cuò)誤和使用中遇到的問

      題。Alpha測試是在受控的環(huán)境中進(jìn)行的。

      (2)Beta:油軟件的最終用戶們?cè)谝粋€(gè)

      或多個(gè)客戶場所進(jìn)行,開發(fā)者通常不在測試的現(xiàn)場用戶記錄在測試過程中遇到的問題,并定期把這些問題報(bào)告給開發(fā)者。

      11.什么是白盒測試?

      測試者了解被測程序的內(nèi)部結(jié)構(gòu)和

      處理過程,對(duì)程序的所有邏輯路徑進(jìn)

      行測試,在不同點(diǎn)檢查程序狀態(tài),確

      定實(shí)際狀態(tài)與預(yù)期狀態(tài)是否一致。白盒測試主要采用的技術(shù)有:路徑測試技術(shù)

      和事務(wù)處理流程技術(shù),對(duì)包含有大量邏輯判

      斷或條件組合的程序采用基于邏輯的測試技

      術(shù)。邏輯覆蓋:所謂的邏輯覆蓋是對(duì)一系列測試

      過程的總稱,這組測試過程逐漸進(jìn)行越來越

      完整的通路測試。

      12.黑盒測試:也稱為功能測試,它著眼于程

      序的外部特征,而不考慮程序的內(nèi)部邏輯結(jié)

      構(gòu)。測試者把被測程序看成一個(gè)黑盒,不用關(guān)

      心程序的內(nèi)部結(jié)構(gòu)。黑盒測試是在程序接口

      處進(jìn)行測試,它只檢查程序功能是否能按照

      規(guī)格說明書的規(guī)定正常使用,程序是否能適

      當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并

      且保持外部信息(如數(shù)據(jù)庫或文件)的完整

      性。黑盒測試主要采用的技術(shù)有:等價(jià)分類

      法、邊沿值分析法、錯(cuò)誤推測法和因果圖等

      技術(shù)。

      13.等價(jià)劃分:是一種黑盒測試技術(shù),這種技

      術(shù)把程序的輸入域劃分成若干個(gè)數(shù)據(jù)類,據(jù)

      此導(dǎo)出數(shù)據(jù)用例。

      等價(jià)分類法的測試技術(shù)采用的一般方法?

      (1)為每個(gè)等價(jià)類編號(hào);

      (2)設(shè)計(jì)一個(gè)新的測試方案,以盡

      可能多的覆蓋尚未被覆蓋的有

      效等價(jià)類,重復(fù)這一步驟,直到

      所有有效等價(jià)類被覆

      (3)設(shè)計(jì)一個(gè)新的測試方案,使它

      覆蓋一個(gè)尚未被覆蓋的無效等有無效等價(jià)類被覆蓋為止。1.管理:就是通過計(jì)劃、組織和控制等 14.邊界值分析: 一系列活動(dòng),合理的配置和使用各種15.調(diào)試:也稱為糾錯(cuò),作為成功測試的后果資源,以達(dá)到既定目標(biāo)的過程 出現(xiàn),調(diào)試是在測試發(fā)現(xiàn)錯(cuò)誤之后排除2.軟件的質(zhì)量:就是軟件與明確地和隱錯(cuò)誤的過程。調(diào)試就是把癥狀和原因聯(lián)含地定義的需求相一致的程度,軟件系起來的尚未被人認(rèn)識(shí)的智力過程。的質(zhì)量是軟件與明確的敘述的開發(fā)標(biāo)16.軟件測試的一般步驟:單元測試、子系準(zhǔn)以及任何專業(yè)開發(fā)的軟件產(chǎn)品都應(yīng)統(tǒng)測試、系統(tǒng)測試、驗(yàn)收測試、平行測試。該具有的隱含特征相一致的程度。調(diào)試途徑:(1)蠻干法(2)回溯法(3)3.工作量估算:(1)靜態(tài)單變量模型(2)原因排除法 動(dòng)太多變量模型(3)COCOMO2模型回溯法:從發(fā)現(xiàn)癥狀的地方開始,人工4.軟件配置管理主要有五項(xiàng)任務(wù):標(biāo)示,沿程序的控制流往回追蹤分版本控制,變化控制,配置審計(jì),報(bào)析源程序代碼,直到找到錯(cuò)誤告 原因?yàn)橹埂?.能力成熟度的五個(gè)等級(jí):初始級(jí),可原因排除法:(1)對(duì)分查找法(2)歸重復(fù)級(jí),已定義級(jí),已管理級(jí),優(yōu)化納法(3)演繹法 級(jí) 17.軟件可靠性的定義:軟件可靠性是程序在給定的時(shí)間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運(yùn)行的概率軟件可用性的一個(gè)定義: 軟件可用性是程序在給定的時(shí)間點(diǎn),按照規(guī)格說明書的規(guī)定,成功地運(yùn)行的概率。18.選擇程序設(shè)計(jì)語言:(主要的實(shí)用標(biāo)準(zhǔn))(1)系統(tǒng)用戶要求(2)可以使用的編譯程序(3)可以得到的軟件工具(4)工程規(guī)模(5)程序員的知識(shí)(6)軟件可移植性要求(7)軟件的應(yīng)用領(lǐng)域 19.編碼風(fēng)格(1)程序內(nèi)部的文檔(2)數(shù)據(jù)說明,應(yīng)易于理解便于查閱(3)語句結(jié)構(gòu),盡可能簡單直觀(4)輸入輸出,遵守人機(jī)界面準(zhǔn)則(5)效率,能媽祖用戶要求即可 19.軟件測試目標(biāo):為了發(fā)現(xiàn)程序中的錯(cuò)誤代碼審查:人工測試源程序可以由審查小組正式進(jìn)行,即稱為審查。審查小組組成:組長,程序的設(shè)計(jì)者,程序的編寫者,程序的測試者 第八章 1.四種軟件維護(hù)類型:(1)改正性維護(hù):滿足用戶對(duì)已開發(fā)產(chǎn)品的性能與運(yùn)行環(huán)境不斷提高的要求,進(jìn)而達(dá)到延長軟件壽命的目的。(2)適應(yīng)性維護(hù):對(duì)程序使用期間發(fā)現(xiàn)的程序錯(cuò)誤進(jìn)行診斷和改正的過程,配合變化了的環(huán)境進(jìn)行修改軟件的活動(dòng);(3)完善性維護(hù):滿足用戶在使用過程中提出增加新的功能或修改已有功能的建議而進(jìn)行的工作;(4)預(yù)防性維護(hù):為了改善未來的可維護(hù)性或可靠性而修改軟件的工作。2.決定軟件可維護(hù)性的因素:可理解性,可測試性,可修改性,可移植性,可重用性 3.軟件系統(tǒng)的文檔:可以分為用戶文檔和系統(tǒng)文檔用戶文檔:主要描述系統(tǒng)功能和使用方法,并不關(guān)心這些功能怎樣實(shí)現(xiàn) 用戶文檔包括:功能描述,安裝文檔,使用手冊(cè),參考手冊(cè),操作員指南 系統(tǒng)文檔:描述系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和測試等各方面的內(nèi)容。4.軟件維護(hù):所謂的軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤而滿足心得需要而修改軟件的過程。1.面向?qū)ο蠓椒▽W(xué)的優(yōu)點(diǎn):(1)與人類的思維方法一致(2)穩(wěn)定性好(3)可重用性好(4)較易開發(fā)大型軟件產(chǎn)品(5)可維護(hù)性好 2.對(duì)象的特點(diǎn):以數(shù)據(jù)為中心;對(duì)象時(shí)主動(dòng)的;實(shí)現(xiàn)了數(shù)據(jù)封裝;實(shí)質(zhì)上具有并行性;模塊獨(dú)立性好 3.其他概念:(1)類:具有相同數(shù)據(jù)相同操作的一組相似對(duì)象的定義(2)實(shí)例(3)消息:就是要求某個(gè)對(duì)象執(zhí)行在定義它的那個(gè)類中所定義的某個(gè)操作的規(guī)格說明(4)方法(5)屬性(6)封裝(7)繼承:是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們

      第二篇:軟件工程課后習(xí)題答案

      第一章習(xí)題參考答案

      1﹑軟件產(chǎn)品的特性是什么? 答:軟件產(chǎn)品特性:

      ⑴是一種邏輯產(chǎn)品,與物質(zhì)產(chǎn)品有很大的區(qū)別。

      ⑵軟件產(chǎn)品的生產(chǎn)主要是研制,生產(chǎn)成本主要在開發(fā)和研制,開發(fā)研制完成后,通過復(fù)制就產(chǎn)生了大量軟件產(chǎn)品。⑶軟件產(chǎn)品不會(huì)用壞,不存在磨損,消耗。

      ⑷生產(chǎn)主要是腦力勞動(dòng),還末完全擺脫手工開發(fā)方式,大部分產(chǎn)品是“定做”的⑸開發(fā)軟件的費(fèi)用不斷增加,致使生產(chǎn)成本相當(dāng)昂貴。2﹑軟件生產(chǎn)有幾個(gè)階段?各有何特征?

      答:⑴程序設(shè)計(jì)時(shí)代:這個(gè)階段生產(chǎn)方式是個(gè)體勞動(dòng),使用的生產(chǎn)工具是機(jī)器語言,匯編語言。

      ⑵程序系統(tǒng)時(shí)代:這個(gè)階段生產(chǎn)方式是小集團(tuán)合作生產(chǎn),使用的生產(chǎn)工具是高級(jí)語言,開發(fā)方法仍依靠個(gè)人技巧,但開始提出結(jié)構(gòu)化方法。

      ⑶軟件工程時(shí)代:這個(gè)階段生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫﹑開發(fā)工具﹑開發(fā)環(huán)境﹑網(wǎng)絡(luò)﹑分布式﹑面向?qū)ο蠹夹g(shù)來開發(fā)軟件。

      3﹑什么是軟件危機(jī)?產(chǎn)生原因是什么?答:軟件開發(fā)技術(shù)的進(jìn)步未能滿足發(fā)展的要求。在軟件開發(fā)中遇到的問題找不到解決的辦法,問題積累起來,形態(tài)尖銳的矛盾,導(dǎo)致了軟件危機(jī)。產(chǎn)生原因:⑴ 軟件規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。⑵ 軟件開發(fā)管理困難而復(fù)雜。⑶ 軟件包開發(fā)費(fèi)用不斷增加。⑷ 軟件開發(fā)技術(shù)落后。⑸ 生產(chǎn)方式落后,仍采用手工方式。⑹ 開發(fā)工具落后,生產(chǎn)率提高緩慢。

      4﹑什么是軟件工程?它目標(biāo)和內(nèi)容是什么?

      答:軟件工程就是用科學(xué)的知識(shí)程和技術(shù)原理來定義,開發(fā),維護(hù)軟件的一門學(xué)科。軟件工程目標(biāo):付出較低開發(fā)成本;達(dá)到要求的功能;取得較好的性能;開發(fā)的軟件易于移植;只需較低的維護(hù)費(fèi)用;能按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用;開發(fā)的軟件可靠性高。軟件工程內(nèi)容:研究內(nèi)容包括開發(fā)技術(shù)和開發(fā)管理兩個(gè)方面。開發(fā)技術(shù)主要研究:軟件開發(fā)方法,開發(fā)過程,開發(fā)工具和環(huán)境。開發(fā)管理主要研究:軟件管理學(xué),軟件經(jīng)濟(jì)學(xué),軟件心理學(xué)。

      5﹑軟件工程面臨的問題是什么?

      答:軟件工程需要解決的問題:軟件的費(fèi)用,可靠性,可維護(hù)性,軟件生產(chǎn)率和軟件的重用。

      6﹑什么是軟件生存周期?它有哪幾個(gè)活動(dòng)?

      答:軟件生存周期:一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。包括:可行性分析和項(xiàng)目開發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測試,維護(hù)。7﹑什么是軟件生存周期模型?有哪些主要模型?

      答:生存周期模型:描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型。對(duì)軟件開發(fā)提供強(qiáng)有力的支持,為開發(fā)過程中的活動(dòng)提供統(tǒng)一的政策保證,為參與開發(fā)的人員提供幫助和指導(dǎo),是軟件生存周期模型化技術(shù)的基礎(chǔ),也是建立軟件開發(fā)環(huán)境的核心。主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識(shí)的模型,變換模型。

      8﹑什么是軟件開發(fā)方法?有哪些主要方法?

      答:使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣來組織軟件生產(chǎn)的過程。通過使用成功的軟件開發(fā)方法,在規(guī)定的投資和時(shí)間內(nèi),開發(fā)出符合用戶需求的高質(zhì)量的軟件。軟件開發(fā)方法是克服軟件危機(jī)的重要方面之一,對(duì)軟件工程及軟件包產(chǎn)業(yè)的發(fā)展起了不可估量的作用。

      主要有:結(jié)構(gòu)化方法,JACKSON方法,維也納開發(fā)方法﹙VDM﹚,面向?qū)ο箝_發(fā)方法。第二章習(xí)題參考答案

      1.可行性研究的任務(wù)是什么?

      答:可行研究的任務(wù):首先需要進(jìn)行概要的分析研究,初步確定項(xiàng)目的規(guī)模,目標(biāo),約束和限制。分析員再進(jìn)行簡要的需求分析,抽象出項(xiàng)目的邏輯結(jié)構(gòu),建立邏輯模型。從邏輯模型出發(fā),經(jīng)過壓縮的設(shè)計(jì),探索出若干種可供選擇的解決方法,對(duì)每種解決方法都要研究它的可行性。

      主要從三個(gè)方面考慮:⑴技術(shù)可行性:一般要考慮的情況包括 開發(fā)的風(fēng)險(xiǎn)即設(shè)計(jì)出的系統(tǒng)能否達(dá)到要求的功能和性能;資源的有效性;相關(guān)技術(shù)的發(fā)展是否支持;⑵經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開發(fā)的項(xiàng)目是否值得投資。⑶社會(huì)可行性:要開發(fā)的項(xiàng)目是否存在任何侵權(quán)問題,運(yùn)行方式在用戶組織內(nèi)是否可行,現(xiàn)有管理制度﹑人員素質(zhì)﹑操作方式是否可行。2.可行性研究有哪些步驟?

      答:⑴確定項(xiàng)目規(guī)模和目標(biāo);⑵研究正在運(yùn)行的系統(tǒng);收集﹑研究﹑分析現(xiàn)有系統(tǒng)的文檔資料,實(shí)地考察系統(tǒng)訪問有關(guān)人員,然后描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖。⑶建立新系統(tǒng)的高層邏輯模型;使用數(shù)據(jù)流圖和數(shù)據(jù)字典描述數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理情況。⑷導(dǎo)出和評(píng)價(jià)各種方案;導(dǎo)出若干較高層次的物理解決方法,根據(jù)技術(shù)可行性﹑經(jīng)濟(jì)可行性﹑社會(huì)可行性進(jìn)行評(píng)估,得到可行的解決方法。⑸推薦可行方案;進(jìn)行成本~效益分析,決定該項(xiàng)目是否值得開發(fā),若值得開發(fā)那么解決方案是什么,并且說明該方案可行的原因和理由。⑹編寫可行性研究報(bào)告;將上述可行性過程的結(jié)果寫成相應(yīng)文檔,即可行性研究報(bào)告。

      3.可行性研究報(bào)告有哪些主要內(nèi)容?

      答:⑴引言:編寫本文檔的目的;項(xiàng)目名稱﹑背景;本文檔用到的專門術(shù)語和參考資料。⑵可行性研究前提:說明開發(fā)項(xiàng)目的功能﹑性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。⑶對(duì)現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需各類專業(yè)技術(shù)人吧和數(shù)量;所需各種設(shè)備;向有系統(tǒng)存在什么問題。⑷所建議的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對(duì)用戶的影響;對(duì)各種設(shè)備﹑現(xiàn)有軟件﹑開發(fā)環(huán)境﹑運(yùn)行環(huán)境的影響;對(duì)經(jīng)費(fèi)支出的影響;對(duì)技術(shù)可行性的評(píng)價(jià)。⑸所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明建議系統(tǒng)的確良各種支出,各種效益;收益投資比;投資順收周期。⑹社會(huì)因素可行性分析:說明法律因素,對(duì)合同責(zé)任﹑侵犯專利權(quán)﹑侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理﹑工作制度﹑人吧素質(zhì)的要求。⑺其它可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。⑻結(jié)論意見:說明項(xiàng)目是否能開發(fā);還需什么條件才能開發(fā);對(duì)項(xiàng)目目標(biāo)有何變動(dòng)等。

      4.成本--效益分析可用哪些指標(biāo)進(jìn)行度量?

      答:⑴投資回收率:通常把建立系統(tǒng)若干年后能取得的收益折算成現(xiàn)在的價(jià)值和開發(fā)系統(tǒng)所需的費(fèi)用進(jìn)行比較得出投資回收率。⑵投資回收期:就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。⑶純收入:整個(gè)生存周期之內(nèi)的累計(jì)經(jīng)濟(jì)效益(折成現(xiàn)在值)與投資之差。5.項(xiàng)目開發(fā)計(jì)劃有哪些內(nèi)容?

      答:⑴項(xiàng)目概述:說明項(xiàng)目的各項(xiàng)主要工作;說明軟件的功能﹑性能;為完成項(xiàng)目應(yīng)具有的條件;用戶及合同承包者承擔(dān)的工作完成的期限及其他條件限制;應(yīng)交付的程序名稱;所使用的語言及程儲(chǔ)形式;應(yīng)交付的文檔。⑵實(shí)施計(jì)劃:說明任務(wù)的劃分,各任務(wù)責(zé)任人,項(xiàng)目開發(fā)進(jìn)度,項(xiàng)目的預(yù)算,各階段的費(fèi)用支出,各階段應(yīng)完成的任務(wù),用圖表說明每項(xiàng)任務(wù)的開始和完成時(shí)間。⑶人員組織及分工:所需人員類型﹑數(shù)量﹑組成結(jié)構(gòu)。⑷交付期限:最后完工日期。

      第三章習(xí)題參考答案

      ⒈什么是需求分析?需求分析階段的基本任務(wù)是什么?

      答:需求分析:開發(fā)人員準(zhǔn)確地理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的需求規(guī)格說明的過程。

      基本任務(wù):⑴問題識(shí)別:雙方確定對(duì)問題的綜合需求,這些需求包括功能需求,性能需求,環(huán)境需求,用戶界面需求。⑵分析與綜合,導(dǎo)出軟件的邏輯模型⑶編寫文檔:包括編寫“需求規(guī)格說明書”,“初步用戶使用手冊(cè)”,“確認(rèn)測試計(jì)劃”,“修改完善軟件開發(fā)計(jì)劃”

      ⒉什么是結(jié)構(gòu)分析方法?該方法使用什么描述工具?

      答:結(jié)構(gòu)化分析:簡稱SA,面向數(shù)據(jù)流進(jìn)行數(shù)據(jù)分析的方法。采用自頂向下逐層分解的分析策略。頂層抽象地描述整個(gè)系統(tǒng),底層具體地畫出系統(tǒng)工程的每個(gè)細(xì)節(jié)。中間層則是從抽象到具體的過渡。使用數(shù)據(jù)流圖,數(shù)據(jù)字典,作為描述工具,使用結(jié)構(gòu)化語言,判定表,判定樹描述加工邏輯。⒊結(jié)構(gòu)化分析方法通過哪些步驟來實(shí)現(xiàn)? 答:⑴了解當(dāng)前系統(tǒng)的工作流程,獲得當(dāng)前系統(tǒng)的物理模型。⑵抽象出當(dāng)前系統(tǒng)的邏輯模型。⑶建立目標(biāo)系統(tǒng)的邏輯模型。⑷作進(jìn)一步補(bǔ)充和優(yōu)化。

      ⒌畫數(shù)據(jù)流圖應(yīng)注意什么事項(xiàng)?

      答:命名: 不能使用缺乏具體含義的名字,加工名應(yīng)能反映出處理的功能。1.畫數(shù)據(jù)流而不是控制流。數(shù)據(jù)流名稱只能是名詞或名詞短語,整個(gè)圖中不反映加工的執(zhí)行順序。

      一般不畫物質(zhì)流。2.每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流,反映出此加工數(shù)據(jù)的來源與加工的結(jié)果。

      編號(hào): 某個(gè)加工分解成加一張數(shù)據(jù)流圖時(shí),上層圖為父圖,下

      層圖為子圖。子圖應(yīng)編號(hào)子圖上的所有加工也應(yīng)編號(hào),子圖的編號(hào)應(yīng)與父圖的編號(hào)相對(duì)應(yīng)。3.父圖與子圖的平衡:子圖的輸入輸出 數(shù)據(jù)流同父圖相應(yīng)加工的輸入輸出數(shù)據(jù)流必須一致⑵抽象:認(rèn)識(shí)復(fù)雜現(xiàn)象過程所使用權(quán)的工具,只考慮事物本質(zhì)的共同特性,忽略細(xì)節(jié)和其它因素。通過抽象確定組成軟件的過程實(shí)體。⑶信息隱蔽:將模塊實(shí)現(xiàn)自身功能的細(xì)節(jié)與數(shù)據(jù)“局部數(shù)據(jù)存儲(chǔ):當(dāng)某慨?dāng)?shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ)不是父圖中相應(yīng)加工的外部接口,而只是本圖中某些加工之間的數(shù)據(jù)接口,則稱這些數(shù)據(jù)存儲(chǔ)為局部數(shù)據(jù)存儲(chǔ)。注意數(shù)據(jù)流圖的易理解性。

      ⒍什么是數(shù)據(jù)字典?其作用是什么?共有哪些條目?

      答:數(shù)據(jù)字典(DD)用來定義數(shù)據(jù)庫流圖中的各個(gè)成分的具體含義。有以下四類條目:數(shù)據(jù)流,數(shù)據(jù)項(xiàng),數(shù)據(jù)存儲(chǔ),基本加工。

      ⒎描述加工邏輯有哪些工具?

      答:加工邏輯的描述:一般用結(jié)構(gòu)化語言,判定表,判定樹 結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種半形式化語言。它的結(jié)構(gòu)可分里層和內(nèi)層

      ⑴外層:用來描述控制結(jié)構(gòu),采用順序,選擇,重復(fù)三種基本結(jié)構(gòu)。

      順序結(jié)構(gòu):是一組祈使語句,選擇語句,重復(fù)語句的順序排列 ②選擇結(jié)構(gòu):一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等關(guān)鍵詞。

      ③重復(fù)結(jié)構(gòu):一般用DO-WHILE-ENDDO,REPEAT-UNTIL等關(guān)鍵詞。⑵內(nèi)層:一般采用祈使語句的自然語言短語,使用數(shù)據(jù)字典中的名詞和有限的自定義詞,其 動(dòng)詞含義要具體,盡量不使用形容詞和副詞來修飾。

      ⒏什么是IDEF方法?IDEF0方法有哪些特點(diǎn)?答:IDEF方法是美國空軍針對(duì)計(jì)算機(jī)輔助制造工程項(xiàng)目中用于進(jìn)行復(fù)雜系統(tǒng)分析和設(shè)計(jì)的方法,是在結(jié)構(gòu)化分析方法基礎(chǔ)上提出來的。

      包括: IDEF0描述系統(tǒng)的功能活動(dòng)及聯(lián)系,建立系統(tǒng)的功能模型。即反映系統(tǒng)”做什么“折功能。IDEF1描述系統(tǒng)的信息及聯(lián)系,建立系統(tǒng)的信息模型。IDEF2進(jìn)行系統(tǒng)模擬,建立系統(tǒng)的動(dòng)態(tài)模型。IDEF0特點(diǎn):

      ⑴采用方框和箭頭等簡單圖形符號(hào)描述系統(tǒng)的活動(dòng)和數(shù)據(jù)流,描述活動(dòng)所受的約束條件及實(shí)現(xiàn)機(jī)制。

      如下圖描述,其中輸入為完成某活動(dòng)時(shí)所需的數(shù)據(jù),輸出指執(zhí)行活動(dòng)產(chǎn)生時(shí)的數(shù)據(jù),控制活動(dòng)指所受到的約束條件,機(jī)制是指活動(dòng)由誰來完成。⑵采用嚴(yán)格的自頂向下﹑逐層分解的方式建立系統(tǒng)功能模型。

      ⒐簡述SA方法的優(yōu)缺點(diǎn)。答:SA方法是軟件需求分析中公認(rèn)的,有成效的,技術(shù)成熟,使用廣泛的一種結(jié)構(gòu)化分析方法。較適用于開發(fā)數(shù)據(jù)處理類型軟件的需求分析。利用圖形等半形式化工具表達(dá)需求,簡明,易讀,也易于使用。但也存在一些弱點(diǎn),表現(xiàn)如下:⑴SA方法僅是一個(gè)靜態(tài)模型,沒有反映處理的順序,即控制流程。⑵SA方法使用DFD在分析與描述”數(shù)據(jù)要求“方面是有局限的,只有與數(shù)據(jù)庫技術(shù)中的實(shí)體聯(lián)系圖(ER圖)結(jié)合起來,才能較完整地描述用戶對(duì)系統(tǒng)的需求。⑶DFD不適合描述人機(jī)界面系統(tǒng)的要求,一些人機(jī)交互較頻繁的軟件系統(tǒng)。⑷SA方法要與形式化方法結(jié)合起來,才能更精確地描述軟件需求。⑸要借助需求分析工具,提高需求分析的質(zhì)量及效率。

      第四章習(xí)題參考答案

      1、什么是軟件概要設(shè)計(jì)?該階段的基本任務(wù)是什么?

      答:把一個(gè)軟件需求轉(zhuǎn)換為軟件表示時(shí),首先設(shè)計(jì)出軟件總的體系結(jié)構(gòu)。稱為概要設(shè)計(jì)或結(jié)構(gòu)設(shè)計(jì)?;救蝿?wù):⑴設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu),具體為:1.采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分為模塊。2.確定每個(gè)模塊的功能。3.確定模塊之間的調(diào)用關(guān)系。4.確定模塊之間的接口(模塊之間傳遞的信息)評(píng)價(jià)模塊的結(jié)構(gòu)質(zhì)量⑵進(jìn)行數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫的設(shè)計(jì)⑶編寫概要設(shè)計(jì)的文檔 主要內(nèi)容有:概要設(shè)計(jì)說明書,數(shù)據(jù)庫說明書(DBMS的簡介,概念模型,邏輯設(shè)計(jì),結(jié)果)用戶手冊(cè),修訂測試計(jì)劃(測試的策略﹑方法﹑步驟)⑷評(píng)審:是否完整地實(shí)現(xiàn)了規(guī)定的功能﹑性能要求。設(shè)計(jì)方案是否可行。關(guān)鍵的處理及內(nèi)部接口定義的正確性,有效性,各部分的一致性。

      2、軟件設(shè)計(jì)的基本原理包括哪些內(nèi)容?

      答:⑴模塊化:模塊是軟件的組成部分,是具有獨(dú)立功能且可命名的一段程序,所有模塊組成整體,可以滿足問題的要求。模塊化即按照一定的原則,將軟件劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)特定的功能,然后把這些模塊按照某種方法組裝成一個(gè)軟件系統(tǒng)。(可降低復(fù)雜度、減少工作量)

      模塊具有以下幾種特性:接口:模塊的輸入輸出。功能:指模塊實(shí)現(xiàn)什么功能。邏輯:描述模塊內(nèi)部如何實(shí)現(xiàn)要求及所需的數(shù)據(jù)。狀態(tài):該模塊的運(yùn)行環(huán)境,模塊間調(diào)用與被調(diào)用關(guān)系。

      隱蔽”起來。模塊間僅交換為完成系統(tǒng)功能所必須的信息。⑷模塊獨(dú)立性:每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能。

      3、衡量模塊獨(dú)立性的兩個(gè)標(biāo)準(zhǔn)是什么?各表示什么含義? 答:內(nèi)聚:又稱為塊內(nèi)聯(lián)系,指模塊內(nèi)部各成分之間相互關(guān)聯(lián)的程度,以高內(nèi)聚為設(shè)計(jì)目標(biāo)。耦合:也稱塊間聯(lián)系,模塊之間相互聯(lián)系程度的度量,聯(lián)系越緊密,耦合性越強(qiáng),獨(dú)立性越差,以低耦合為設(shè)計(jì)目標(biāo)。

      4、模塊的耦合性有哪幾種?各表示什么含義?

      答:⑴內(nèi)容耦合:一個(gè)模塊直接操作或修改另一模塊的數(shù)據(jù),或者不通過正常入口直接轉(zhuǎn)入另一模塊⑵公共耦合:兩個(gè)或多個(gè)模塊通過共同引用一個(gè)全局?jǐn)?shù)據(jù)環(huán)境相互作用⑶控制耦合:模塊之間通過傳遞控制信息相互作用⑷標(biāo)記耦合:兩個(gè)模塊之間通過傳遞公共指針或地址相互作用的耦合⑸數(shù)據(jù)耦合:模塊之間通過傳遞數(shù)據(jù)交換信息⑹無耦合:模塊間無任何關(guān)系,獨(dú)立工作

      5、模塊的內(nèi)聚性有哪幾種?各表示什么含義?答:⑴偶然內(nèi)聚:一個(gè)模塊各個(gè)成分之間毫無關(guān)系⑵邏輯內(nèi)聚:將幾個(gè)邏輯上相關(guān)的功能放在同一個(gè)模塊中⑶時(shí)間內(nèi)聚:一個(gè)模塊完成的功能在同一時(shí)間執(zhí)行⑷過程內(nèi)聚:一個(gè)模塊內(nèi)部的處理成分是相關(guān)的,而且必須以特定的次序執(zhí)行⑸通信內(nèi)聚:一個(gè)模塊的所有成分都集中在同一個(gè)數(shù)據(jù)結(jié)構(gòu)上⑹順序內(nèi)聚:一個(gè)模塊的各個(gè)成分同一個(gè)功能密切相關(guān),而且一個(gè)成分的輸出,作為另外一個(gè)成分的輸入⑺功能內(nèi)聚:模塊內(nèi)的所有成分屬于一個(gè)整體,完成單一的功能。(內(nèi)聚最高)

      6、什么是軟件結(jié)構(gòu)?簡述軟件結(jié)構(gòu)設(shè)計(jì)的優(yōu)化準(zhǔn)則。

      答:⑴改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性 首先設(shè)計(jì)出軟件初始結(jié)構(gòu),評(píng)價(jià)該結(jié)構(gòu),通過模塊分解或合并,力求降低耦合提高內(nèi)聚。⑵模塊的規(guī)模應(yīng)該適中⑶模塊結(jié)構(gòu)的深度、寬度、扇出和扇入應(yīng)適中。深度:軟件結(jié)構(gòu)中控制的層數(shù) 寬度:軟件結(jié)構(gòu)中同一層次上最大模塊總數(shù) 扇入:某一模塊有多少直接調(diào)用它的上級(jí)模塊數(shù)目(越大越好)扇出:一個(gè)模塊直接控制(調(diào)用)下級(jí)模塊的數(shù)目。(越少越好,3,4個(gè)為宜,不超過9個(gè),“頂層扇出較高,中間扇出較少,底層模塊高扇入多”⑷一個(gè)模塊的作用域(范圍),應(yīng)處在這個(gè)模塊的控制域(范圍)之內(nèi) 模塊的作用域:受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合模塊的控制域:這個(gè)模塊本身以及所有直接或間接從屬于它的模塊的集合一個(gè)模塊的影響范圍(作用域),應(yīng)處在這個(gè)模塊的模塊的控制范圍(控制域)內(nèi)。

      8、什么樣是“事物流”?什么是“變換流”?試將相應(yīng)形式的數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu)圖

      答:數(shù)據(jù)流圖(DFD)一般可分為“變換流”,“事物流”兩種。“變換流”:由輸入﹑輸出﹑變換(或稱處理)三部分組成,是一順序結(jié)構(gòu)?!笆挛锪鳌保核哪硞€(gè)加工,分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并且根據(jù)輸入值選擇其中一個(gè)路徑來執(zhí)行。(這人加工稱為事務(wù)處理中心)

      9.試述“變換分析”﹑“事務(wù)分析”設(shè)計(jì)步驟。

      答:變換分析設(shè)計(jì)步驟:⑴確定變換中心,邏輯輸入和輸出。⑵設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層--變換結(jié)構(gòu):頂層的功能是完成所有模塊的控制(名稱應(yīng)是系統(tǒng)名,以體現(xiàn)完成整個(gè)系統(tǒng)功能)第一層至少有三種功能模塊:輸入﹑輸出和變換模塊⑶設(shè)計(jì)中﹑下層模塊,對(duì)第一層的模塊自頂向下分解。輸入模塊由兩部分組成:接收數(shù)據(jù)﹑轉(zhuǎn)換成調(diào)用模塊所需信息。輸出模塊由兩部分組成:將數(shù)據(jù)轉(zhuǎn)換成下屬模塊所需的形式﹑ 發(fā)送數(shù)據(jù) 變換模塊:對(duì)每個(gè)基本加工建立一功能模塊、⑷設(shè)計(jì)的優(yōu)化 :輸入部分求精,每個(gè)物理輸入設(shè)置專門模塊,以體現(xiàn)系統(tǒng)的外部接口。其它輸入模塊與轉(zhuǎn)換數(shù)據(jù)模塊都很簡單時(shí),可將它們合并。輸出部分求精:每個(gè)物理輸出設(shè)置專門模塊,其它也可適當(dāng)合并。變換部分求精:根據(jù)設(shè)計(jì)準(zhǔn)則,對(duì)模塊適當(dāng)合并。事務(wù)分析的設(shè)計(jì)步驟:⑴確定事務(wù)中心和加工路徑⑵設(shè)計(jì)頂層(事務(wù)機(jī)構(gòu))和第一層 頂層模塊有兩個(gè)功能:接收數(shù)據(jù)和根據(jù)事務(wù)類型調(diào)動(dòng)相應(yīng)處理模塊。⑶中下層模塊的設(shè)計(jì)﹑優(yōu)化工作與變換結(jié)構(gòu)相同。事務(wù)型軟件結(jié)構(gòu)包括兩部分: 接收分支 發(fā)送分支出 通常包括一調(diào)度模塊,當(dāng)事務(wù)類型不多時(shí),可與主模塊合并。

      第五章習(xí)題參考答案

      1、詳細(xì)設(shè)計(jì)的基本任務(wù)是什么,有哪幾種描述方法?答:詳細(xì)設(shè)計(jì)的基本任務(wù)包括:(1)為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì)(2)為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì)(3)對(duì)數(shù)據(jù)庫進(jìn)行物理設(shè)計(jì)(4)其他設(shè)計(jì)(5)編寫詳細(xì)設(shè)計(jì)說明書(6)評(píng)審 詳細(xì)設(shè)計(jì)的描述

      方法有圖形、表格和語言,其中圖形常用結(jié)構(gòu)化程序流程圖、盒圖和PAD(問題分析圖)為描述工具,語言常用過程設(shè)計(jì)語言(PDL)來作為工具。

      2、結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn)是什么?答:主要有三個(gè):(1)采用自頂向下、逐步求精的程序設(shè)計(jì)方法(2)使用三種基本控制結(jié)構(gòu)構(gòu)造程序。任何程序都可以由順序、選擇、重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)構(gòu)造,這三種基本結(jié)構(gòu)的共同點(diǎn)是單入口、單出口。(3)主程序員組的組織形式。

      3、簡述Jackson方法的設(shè)計(jì)步驟。答:Jackson方法的設(shè)計(jì)步驟如下:1.分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用Jackson結(jié)構(gòu)圖表示這些數(shù)據(jù)結(jié)構(gòu)。(2)找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元。3.按一定的規(guī)則由輸入、輸出的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)。4.列出基本操作與條件,并把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。(5)用偽碼寫出程序。比較?

      答:白盒法測試法把測試對(duì)象看作一個(gè)打開的盒子,測試人員須了解程序內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為基礎(chǔ),對(duì)程序中盡可能多的邏輯路徑進(jìn)行測試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò),實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。

      白盒法有下列幾種覆蓋標(biāo)準(zhǔn):語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋

      從上到下的覆蓋標(biāo)準(zhǔn)其檢錯(cuò)能力也從弱到強(qiáng),其中條件組合發(fā)現(xiàn)錯(cuò)誤的能力較強(qiáng),凡滿足其標(biāo)準(zhǔn)的測試用例,也必然滿足前四種覆蓋標(biāo)準(zhǔn)。在實(shí)際的邏輯測試中,一般以條件組合覆蓋為主設(shè)計(jì)測試用例,然后再補(bǔ)充部分用例來達(dá)到路徑覆蓋的測試標(biāo)準(zhǔn)。

      什么是黑盒測試法?采用黑盒技術(shù)測試用例有哪幾種方法?這些第六章習(xí)題參考答案

      程序語言有哪些共同特征?

      答:程序語言的共同特征(似為特性更符合題意)是指程序設(shè)計(jì)語言的語言特性,包括心理特性、工程特性和技術(shù)特性三個(gè)方面。語言的心理特性對(duì)人機(jī)通信的質(zhì)量有主要的影響;語言的工程特性對(duì)軟件開發(fā)成功一否有重要的影響,此外,語言的技術(shù)特性也會(huì)影響軟件設(shè)計(jì)的質(zhì)量。

      在項(xiàng)目開發(fā)時(shí)選擇程序設(shè)計(jì)語言通常考慮哪些因素?

      答:通常要考慮的因素有:項(xiàng)目的應(yīng)用領(lǐng)域、軟件開發(fā)的方法、軟件執(zhí)行的環(huán)境、算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性以及軟件開發(fā)人員的知識(shí)等。

      第4代語言(4GL)有哪些主要特征?答:4GL的主要特征是:1.友好的用戶界面2.兼有過程性和非過程性雙重特性3.高效的程序代碼4.完備的數(shù)據(jù)庫(5)應(yīng)用程序生成器舉例說明各種程序設(shè)計(jì)語言的特點(diǎn)及適用范圍?

      答:以常見的一些編程語言為例:FORTRAN語言,它不僅面向科學(xué)計(jì)算,數(shù)據(jù)處理能力也極強(qiáng)。適用于科學(xué)工程計(jì)算;Pascal語言,具有很強(qiáng)的數(shù)據(jù)和過程結(jié)構(gòu)化能力,它語言簡明,數(shù)據(jù)類型豐富,程序結(jié)構(gòu)嚴(yán)謹(jǐn)。它是第一個(gè)體現(xiàn)結(jié)構(gòu)化編程思想的語言。用于描述結(jié)構(gòu)化算法和科學(xué)計(jì)算,操作系統(tǒng)的編寫 ;C語言:功能強(qiáng)大,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),可大量運(yùn)用指針,具有豐富靈活的操作運(yùn)算符及數(shù)據(jù)處理操作符,它還具有匯編語言的某些特征,使程序運(yùn)行效率高??捎糜谠S多領(lǐng)域,特別是在操作系統(tǒng)等方面有較大優(yōu)勢。Coble語言,它具有極強(qiáng)的數(shù)據(jù)定義能力,程序說明與硬件環(huán)境說明分開、數(shù)據(jù)描述與算法描述分開。結(jié)構(gòu)嚴(yán)謹(jǐn)層次分明,廣泛用于商業(yè)數(shù)據(jù)處理。SQL:結(jié)構(gòu)化查詢語言,用于對(duì)數(shù)據(jù)庫進(jìn)行存取管理。

      匯編語言和Ada語言,主要用于實(shí)時(shí)處理和編寫系統(tǒng)軟件。Prolog、Lisp語言。Lisp是一種函數(shù)型語言,特別適用于組合問題中符號(hào)運(yùn)算和表處理,用于定理證明、樹的搜索和其他問題的求解。Prolog是一種邏輯型語言,它提供了支持知識(shí)表示的特性,每一個(gè)程序由一組表示事實(shí)、規(guī)則和推理的句子組成,比較接近與自然語言。這兩種語言主要用于人工智能系統(tǒng)開發(fā)。C++、Java語言,是面向?qū)ο蟮脑O(shè)計(jì)語言,用于面向?qū)ο蟮姆介_發(fā)軟件。

      什么是程序設(shè)計(jì)風(fēng)格?為了具有良好的設(shè)計(jì)風(fēng)格,應(yīng)注意哪些方面的問題?

      答:程序設(shè)計(jì)風(fēng)格是指一個(gè)人編制程序時(shí)所表現(xiàn)出來的特點(diǎn)、習(xí)慣、邏輯思路等。

      要形成良好的程序設(shè)計(jì)風(fēng)格,應(yīng)從源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出和追求效率幾個(gè)方面加以注意。第七章習(xí)題參考答案

      軟件測試的目的是什么?軟件測試中,應(yīng)注意哪些原則?

      答:軟件測試的目的是為了發(fā)現(xiàn)軟件的錯(cuò)誤。軟件測試中應(yīng)注意的原則有:

      測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成。這樣便 于對(duì)照檢查,做到有的放矢。測試且例不僅選用合理輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。這樣能更多地發(fā)現(xiàn)錯(cuò)誤,提高程序的可靠性。對(duì)于不合理的輸入數(shù)據(jù),程序應(yīng)拒絕接受,并給出相應(yīng)的提示。

      除了檢查程序是否做了它應(yīng)該做的事,還應(yīng)該檢查程序是否做了它不應(yīng)該做的事。

      應(yīng)制定測試計(jì)劃并嚴(yán)格執(zhí)行,排除隨意性。長期保留測試用例。

      對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測試。(7)程序員應(yīng)避免測試自己的程序。測試是一種“挑剔性”的行為,心理狀態(tài)是測試自己程序的障礙。

      什么是白盒測試法?有哪些覆蓋標(biāo)準(zhǔn)?試對(duì)他們的檢錯(cuò)能力進(jìn)行

      方法各有什么特點(diǎn)?

      答:黑盒測試法把被測試對(duì)象看成是一相黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件接口處進(jìn)行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求。

      采用黑盒技術(shù)測試用例的方法有:等價(jià)類的劃分、邊界值分析、錯(cuò)誤推測和因果圖。

      軟件測試要經(jīng)過哪些步驟?這些測試與軟件開發(fā)各階段之間有什么關(guān)系?

      答:軟件測試要經(jīng)過的步驟是:單元測試→集成測試→確認(rèn)測試→系統(tǒng)測試。

      單元測試對(duì)源程序中每一個(gè)程序單元進(jìn)行測試,檢查各個(gè)模塊是否正確實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯(cuò)誤。該階段涉及編碼和詳細(xì)設(shè)計(jì)文檔。

      集成測試是為了檢查與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問題,也就是檢查概要設(shè)計(jì)是否合理有效。

      確認(rèn)測試主要是檢查已實(shí)現(xiàn)的軟件是否滿足需求規(guī)格說明書中確定了的各種需求。

      系統(tǒng)測試是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起進(jìn)行測試。以確定軟件是否可以支付使用。

      單元測試有哪些內(nèi)容?測試中采用什么方法?答:單元測試主要針對(duì)模塊的以下五個(gè)基本特征進(jìn)行測試:1.模塊接口 2.局部數(shù)據(jù)結(jié)構(gòu) 3.重要的執(zhí)行路徑4.錯(cuò)誤處理 5.邊界條件6.測試的方法是為被測試模塊編寫驅(qū)動(dòng)模塊和樁模塊來實(shí)現(xiàn)被測試單元的可運(yùn)行。通過驅(qū)動(dòng)模塊來模擬被測試模塊的上級(jí)調(diào)用模塊,以上級(jí)模塊調(diào)用被測模塊的格式驅(qū)動(dòng)被測模塊,接收被測模塊的測試結(jié)構(gòu)并輸出。樁模塊則用來代替被測試模塊所調(diào)用的模塊。它的作用是返回被測模塊所需的信息。

      什么是集成測試?非漸增式測試與漸增式測試有什么區(qū)別? 漸增式測試如何組裝模塊?

      答:集成測試是指在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成一個(gè)完整的系統(tǒng)進(jìn)行的測試。

      非漸增式測試是指首先對(duì)每個(gè)模塊分別進(jìn)行單元測試,再把所有模塊組裝成一個(gè)完整的系統(tǒng)進(jìn)行的測試。而漸增式測試就是逐個(gè)把未經(jīng)測試的模塊組裝到已經(jīng)過測試的模塊上去進(jìn)行集成測試,每加入一個(gè)新模塊進(jìn)行一次集成測試,重復(fù)此過程直到程序組裝完畢。漸增式測試有兩種不同的組裝方法:自頂向下和自底向上結(jié)合。兩者區(qū)別是:(1)非漸增式方法把單元測試和集成測試分成兩個(gè)不同的階段,前一階段完成模塊的單元測試,后一階段完成集成測試。而漸增式測試往往把單元測試和集成測試合在一起,同時(shí)完成。(2)非漸增式需要更多的工作量,因?yàn)槊總€(gè)模塊都需要驅(qū)動(dòng)模塊和樁模塊,而漸增式利用已測試過的模塊作為驅(qū)動(dòng)模塊或樁模塊,因此工作量少。漸增式可以較早地發(fā)現(xiàn)接口之間的錯(cuò)誤,非漸增式最后組裝時(shí)才發(fā)現(xiàn)。(3)漸增式有利于排錯(cuò),發(fā)生錯(cuò)誤往往和最近新加入的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯(cuò)誤推遲到最后,很難判斷是哪一部分接口出錯(cuò)。(4)漸增式比較徹底,已測試的模塊和新的模塊再測試。(5)漸增式點(diǎn)用時(shí)間較多,但非漸增式所需更多的驅(qū)動(dòng)模塊和樁模塊也占用一些時(shí)間。(6)非漸增式開始可并行測試所有模塊,能充分利用人力,對(duì)測試大型軟件很有意義。什么是確認(rèn)測試?該階段有哪些工作?

      答:確認(rèn)測試又稱有效性測試。它的任務(wù)是檢查軟件的功能與性能是否與需求規(guī)格說明書中確定的指標(biāo)相符合。因而需求說明是確認(rèn)測試的基礎(chǔ)。確認(rèn)測試階段有兩項(xiàng)工作:進(jìn)行確認(rèn)測試與軟件配置審查。

      調(diào)試的目的是什么?調(diào)試有哪些技術(shù)手段?

      答:調(diào)試則是在進(jìn)行了成功的測試之后才開始的工作。調(diào)試的目的是確定錯(cuò)誤的原因和位置,并改正錯(cuò)誤,因此調(diào)試也稱為

      糾錯(cuò)(Debug)。調(diào)試的技術(shù)手段有簡單的調(diào)試方法、歸納法、演繹法和回溯法等。第八章習(xí)題參考答案 軟件維護(hù)有哪些內(nèi)容? 答:(1)校正性維護(hù)。在軟件交付使用后,一些隱含的錯(cuò)誤在某些特定的使用環(huán)境下會(huì)暴露出來。為了識(shí)別和糾正錯(cuò)誤,修改軟件性能上的缺陷,應(yīng)進(jìn)行確定和修改錯(cuò)誤的過程,這個(gè)過程就稱為校正性維護(hù)。

      (2)適應(yīng)性維護(hù)。為了使應(yīng)用軟件適應(yīng)計(jì)算機(jī)硬件、軟件環(huán)境及數(shù)據(jù)環(huán)境的不斷發(fā)生的變化而修改軟件的過程稱為適應(yīng)性維護(hù)。

      (3)完善性維護(hù)。為增加軟件功能、增強(qiáng)軟件性能、提高軟件運(yùn)行效率而進(jìn)行的維護(hù)活動(dòng)稱為完善性維護(hù)。

      (4)預(yù)防性維護(hù)。為了提高軟件的可維護(hù)性和可靠性而對(duì)軟件進(jìn)行的修改稱為預(yù)防性維護(hù)。軟件維護(hù)的特點(diǎn)是什么? 答:主要體現(xiàn)在三個(gè)方面:

      (1)非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)。軟件的開發(fā)過程對(duì)軟件的維護(hù)有很大的影響。若不采用軟件工程的方法開發(fā)軟件,則軟件只有程序而無文檔,維護(hù)工作非常困難,這是一種非結(jié)構(gòu)化的維護(hù)。若采用軟件工程的方法開發(fā)軟件,則各階段都有相應(yīng)的文檔,容易進(jìn)行維護(hù)工作,這是一種結(jié)構(gòu)化的維護(hù)。

      (2)維護(hù)的困難性。軟件維護(hù)的困難性是由于軟件需求分析和開發(fā)方法的缺陷。軟件生存周期中的開發(fā)階段沒有嚴(yán)格而又科學(xué)的管理和規(guī)劃,就會(huì)引起軟件運(yùn)行時(shí)的維護(hù)困難。

      (3)軟件維護(hù)的費(fèi)用。軟件維護(hù)的費(fèi)用在總費(fèi)用中的比重是在不斷增加的,這是軟件維護(hù)有形的代價(jià)。另外還有無形的代價(jià),即要占有更多的資源。軟件維護(hù)費(fèi)用增加的占有原因是軟件維護(hù)的生產(chǎn)率非常低。軟件維護(hù)的流程是什么?

      答:軟件維護(hù)的流程如下:知道維護(hù)申請(qǐng)報(bào)告、審查申請(qǐng)報(bào)告并批準(zhǔn)、運(yùn)行維護(hù)并做詳細(xì)記錄、復(fù)審。軟件維護(hù)的副作用有哪些? 答:維護(hù)的副作用有以下三種:

      (1)編碼副作用。在使用程序設(shè)計(jì)語言修改源代碼時(shí)可能引入的錯(cuò)誤。

      (2)數(shù)據(jù)副作用。在修改數(shù)據(jù)結(jié)構(gòu)時(shí),有可能造成軟件設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)不匹配,因而導(dǎo)致軟件錯(cuò)誤。數(shù)據(jù)副作用是修改軟件信息結(jié)構(gòu)導(dǎo)致的結(jié)果。但它可以通過詳細(xì)的設(shè)計(jì)文檔加以控制。(3)文檔副作用。如果對(duì)可執(zhí)行軟件的修改沒有反映在文檔中,就會(huì)產(chǎn)生文檔副作用。

      什么是軟件可維護(hù)性?可維護(hù)性度量的特性是什么?

      答:軟件可維護(hù)性的定義:軟件能夠被理解、校正、適應(yīng)及增強(qiáng)功能的容易程度。軟件的可維護(hù)性可用以下七個(gè)質(zhì)量特性來衡量,即可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。

      提高可維護(hù)性的方法有哪些? 答:(1)建立明確的軟件質(zhì)量目標(biāo)。(2)使用先進(jìn)的軟件開發(fā)技術(shù)和工具。(3)建立明確的質(zhì)量保證。(4)選擇可維護(hù)性的程序設(shè)計(jì)語言。(5)改進(jìn)程序的文檔。第九章習(xí)題參考答案

      漸增模型有幾種?各有何特點(diǎn)?

      答:漸增模型有兩種類型,一是增量構(gòu)造模型,二是演化提交模型。增量構(gòu)造模型是在瀑布模型基礎(chǔ)上,對(duì)一些階段進(jìn)行整體開發(fā),對(duì)另一些階段進(jìn)行增量開發(fā)。演化提交模型則是在瀑布模型的基礎(chǔ)上,所有階段都進(jìn)行增量開發(fā),不僅是增量開發(fā),也是增量提交。

      2、快速原型模型有幾種,各有什么特點(diǎn)?

      答:快速原形模型根據(jù)原型的不同作用,有三類原型模型: 探索型原型:把原型用于開發(fā)的需求分析階段,目的是要弄清用戶的需求,確定所期望的特性,并探索各種方案的可行性。它主要針對(duì)開發(fā)目標(biāo)模糊,用戶與開發(fā)者對(duì)項(xiàng)目都缺乏經(jīng)驗(yàn)的情況,通過對(duì)原型的開發(fā)來明確用戶的需求。

      實(shí)驗(yàn)型原型:主要用于設(shè)計(jì)階段,考核實(shí)現(xiàn)方安是否合適,能否實(shí)現(xiàn)。對(duì)于一個(gè)大型系統(tǒng),若對(duì)設(shè)計(jì)方案心中沒有把握時(shí),可通過這種原型的開發(fā)來證實(shí)設(shè)計(jì)方案的正確性。

      (3)演化型原型:它將原型思想擴(kuò)展到軟件開發(fā)的全過程,就是及早向用戶提交一個(gè)原型系統(tǒng),在得到用戶認(rèn)可后,將原型系統(tǒng)不斷擴(kuò)充演化為最終的軟件系統(tǒng)。快速原型的開發(fā)步驟是什么? 答:快速原型的開發(fā)步驟是:(1)快速分析:在分析人員與用戶的配合下,迅速確定系統(tǒng)基本需求并開始構(gòu)造原型。(2)構(gòu)

      造原型:在快速分析的基礎(chǔ)上,根據(jù)基本需求說明盡快實(shí)現(xiàn)一

      個(gè)可運(yùn)行的系統(tǒng)。(3)運(yùn)行原型:通過運(yùn)行快速原型,發(fā)現(xiàn)問題,消除誤解,達(dá)到開發(fā)者也用戶的充分協(xié)調(diào)。(4)評(píng)價(jià)原型:在運(yùn)行的基礎(chǔ)上,評(píng)價(jià)原型的特性,分析運(yùn)行效果是否滿足用戶的需求,提出全面的修改意見。(5)修改:根據(jù)評(píng)價(jià)原型的活動(dòng)結(jié)果進(jìn)行修改,修改過程代替初始的快速分析,從而實(shí)現(xiàn)原型開發(fā)的循環(huán)過程。用戶與開發(fā)者在這種循環(huán)過程中不斷接近系統(tǒng)的最終要求。上述步驟在軟件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那樣嚴(yán)格的階段劃分,線性推進(jìn)。

      評(píng)價(jià)快速原型模型的優(yōu)缺點(diǎn)。答:快速原型的優(yōu)點(diǎn)是:(1)可及早為用戶提供有用的產(chǎn)品。(2)可及早發(fā)現(xiàn)問題,隨時(shí)糾正錯(cuò)誤。(3)減少技術(shù)、應(yīng)用風(fēng)險(xiǎn),縮短開發(fā)時(shí)間,減少費(fèi)用、提高生產(chǎn)率。(4)通過實(shí)際運(yùn)行原型,提供直接評(píng)價(jià)系統(tǒng)的方法,促使用戶主動(dòng)參與開發(fā)活動(dòng),加強(qiáng)了信息反饋,促進(jìn)各類人員的協(xié)調(diào),減少誤解,適應(yīng)需求變化,能有效提高系統(tǒng)質(zhì)量??焖僭偷娜秉c(diǎn)是:1.缺乏豐富而強(qiáng)有力的軟件工具和開發(fā)環(huán)境。2.缺乏有效的管理機(jī)制,還未建立起自己的開發(fā)標(biāo)準(zhǔn)。3.對(duì)設(shè)計(jì)開發(fā)環(huán)境要求較高。(4)在多次重復(fù)改變?cè)偷倪^程中,程序員會(huì)感到厭倦。(5)系統(tǒng)的易變性對(duì)測試有一定影響,難于做到徹底測試,更新文檔較為困難。

      4、比瀑布模型與增量模型,指出增量模型的新思路。答:瀑布模型屬于整體開發(fā)模型,它規(guī)定在開始下一個(gè)階段的工作之前,必須完成前一階段的所有細(xì)節(jié)。瀑布模型很難適應(yīng)需求可變、模糊不定的軟件系統(tǒng)的開發(fā),而且在開發(fā)過程中用戶很難參與進(jìn)去,只有到開發(fā)結(jié)束才能看到整個(gè)軟件系統(tǒng)。這種理想的、線性的開發(fā)過程缺乏靈活性,不適應(yīng)實(shí)際的開發(fā)過程。增量模型是在瀑布模型的基礎(chǔ)上加以修改而形成的。屬于非整體開發(fā)模型。

      它的基本思路是為了使開發(fā)過程具有一定的靈活性和可修改性,在開發(fā)過程中推遲某些階段或所有階段中的細(xì)節(jié),從而較早的產(chǎn)生工作軟件。第十章習(xí)題參考答案

      說明對(duì)象、類、類結(jié)構(gòu)、消息的基本概念。

      答:(1)對(duì)象:對(duì)象是人們要進(jìn)行研究的任何事物,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。對(duì)象包括有形實(shí)體、作用、事件、性能說明等類型。對(duì)象具有狀態(tài)和行為。一個(gè)對(duì)象用數(shù)據(jù)值來描述它的狀態(tài),對(duì)象的操作則用于改變狀態(tài),對(duì)象及其操作就是對(duì)象的行為。對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對(duì)象的統(tǒng)一體中。對(duì)象內(nèi)的數(shù)據(jù)具有自己的操作,從而可靈活地專門描述對(duì)象的獨(dú)特行為,具有較強(qiáng)的獨(dú)立性和自治性,其內(nèi)部狀態(tài)不受或很少受外界的影響,具有很好的模塊化特點(diǎn)。為軟件重用奠定了堅(jiān)實(shí)的基礎(chǔ)。(2)類:具有相同或相似性質(zhì)的對(duì)象的抽象就是類。因此,對(duì)象的抽象就是類,類的具體化就是對(duì)象,也可以說類的實(shí)例是對(duì)象。(3)類結(jié)構(gòu):類與類之間的結(jié)構(gòu)關(guān)系,包括一般-具體結(jié)構(gòu)關(guān)系和整體-部分結(jié)構(gòu)關(guān)系。一般-具體關(guān)系結(jié)構(gòu)稱為分類結(jié)構(gòu),也可以說是“或”關(guān)系或“is a”關(guān)系,類的這種層次結(jié)構(gòu)可用來描述現(xiàn)實(shí)世界中的一般化的抽象關(guān)系,通常越在上層的類越具有一般性和共性,越在下層的類越具體、越細(xì)化。整體-部分結(jié)構(gòu)稱為組裝結(jié)構(gòu),它們之間的關(guān)系是一種“與”關(guān)系,或者是“has a”關(guān)系。類的這種層次關(guān)系可用來描述現(xiàn)實(shí)世界中的類的組成的抽象關(guān)系。上層的類具有整體性,下層的類具有成員性。在類的層次結(jié)構(gòu)中,通常上層的類稱為父類或超類,下層類稱為子類。(4)消息:對(duì)象之間進(jìn)行通信的構(gòu)造叫做消息。在對(duì)旬的操作中,當(dāng)一個(gè)消息發(fā)送給某個(gè)對(duì)象時(shí),消息包含接收對(duì)象去執(zhí)行某種操作的信息。接收消息的對(duì)象經(jīng)過解釋,然后給予響應(yīng)。這種通信機(jī)制稱為消息傳遞。發(fā)送一條消息的格式是“對(duì)象名.方法名(參數(shù))”。

      說明面向?qū)ο蟮奶卣骱鸵亍4穑好嫦驅(qū)ο蟮奶卣魇牵海?)對(duì)象唯一性。每個(gè)對(duì)象都有自身唯一的標(biāo)識(shí),在對(duì)象生存期中,其標(biāo)識(shí)不變,不同的對(duì)象不能有不同的標(biāo)識(shí)。(2)分類性。是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類(3)繼承性。是子類自動(dòng)共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。(4)多態(tài)性。是指相同的操作或函數(shù)過程可以作用于多種類型的對(duì)象上并獲得不同的結(jié)果。面向?qū)ο蟮囊厥牵?.抽象。2.封裝性(信息隱蔽)(3)共享性。說明動(dòng)態(tài)模型的特征,說明事件,腳本、狀態(tài)的含義。

      答:動(dòng)態(tài)模型是與時(shí)間和變化有關(guān)的系統(tǒng)性質(zhì),該模型描述了系統(tǒng)的控制結(jié)構(gòu),它表示了瞬時(shí)的、行為化的系統(tǒng)控制性質(zhì),它關(guān)心的是系統(tǒng)的控制,操作的執(zhí)行順序,它從對(duì)象的事件和狀態(tài)的角度出發(fā),表現(xiàn)了相互行為。事件是指特定時(shí)刻發(fā)生的某件事情,它是某事情發(fā)生的信號(hào),它沒有持續(xù)時(shí)間,它是一種相對(duì)性的快速事件。腳本是完成系統(tǒng)某個(gè)功能事件序列,側(cè)重于表達(dá)說明發(fā)生于系統(tǒng)執(zhí)行過程中的一個(gè)特定場景,用事件跟蹤圖表達(dá)。狀態(tài)是對(duì)象屬性值的抽象。狀態(tài)指明了對(duì)象對(duì)輸入事件的響應(yīng)。

      說明功能模型的特征,比較功能模型的DFD和結(jié)構(gòu)化方法的DFD異同。

      答:功能模型描述了系統(tǒng)的所有計(jì)算。功能模型指出發(fā)生了什么,動(dòng)態(tài)模型確定什么時(shí)候發(fā)生,而對(duì)象模型確定發(fā)生的客體。功能模型表明一個(gè)計(jì)算如何從輸入值得到輸出值,它不考慮所計(jì)算的次序。功能模型由多張數(shù)據(jù)流圖組成。數(shù)據(jù)流圖說明數(shù)據(jù)流是如何從外部輸入、經(jīng)過操作和內(nèi)部存儲(chǔ)輸出到外部的。功能模型也包括對(duì)象模型中值的約束條件。

      說明三種分析模型的關(guān)系。答:三種分析模型之間關(guān)系是這樣的:功能模型指出發(fā)生了什么,動(dòng)態(tài)模型確定什么時(shí)候發(fā)生,而對(duì)象模型確定發(fā)生的客體。說明對(duì)象建模的過程。

      答:對(duì)象建模的過程如下:首先標(biāo)識(shí)類和關(guān)聯(lián),因?yàn)樗鼈冇绊懥苏w結(jié)構(gòu)和解決問題的方法,其次是增加屬性,進(jìn)一步描述類和關(guān)聯(lián)的基本網(wǎng)絡(luò),使用繼承合并和組織類,最后將操作增加到類中去作為構(gòu)造動(dòng)態(tài)模型和功能模型的副產(chǎn)品。(1)確定類。構(gòu)造對(duì)象模型的第一步是標(biāo)出來自問題域的相關(guān)對(duì)象類,包括物理實(shí)體和概念。所有類在應(yīng)用中都必須有意義。檢查問題陳述中的所有名詞,產(chǎn)生暫定類。然后去掉不必要的類和不正確的類。(2)準(zhǔn)備數(shù)據(jù)字典。為所有建模實(shí)體準(zhǔn)備一個(gè)數(shù)據(jù)詞典。準(zhǔn)確描述各個(gè)類的精確含義,描述當(dāng)前問題中的類的范圍,包括對(duì)類的成員、用法方面的假設(shè)或限制。1.確定關(guān)聯(lián)。兩個(gè)或多個(gè)類之間的相互依賴就是關(guān)聯(lián)。從問題中抽取所有可能的關(guān)聯(lián)表示,把它們記下來,但不要過早去細(xì)化這些表述。2.確定屬性。屬性是個(gè)體對(duì)象的性質(zhì),通常用修飾性的名詞詞組來表示。只考慮與具體應(yīng)用直接相關(guān)的屬性,不考慮那些超出問題范圍的屬性,首先找出重要屬性,避免那些只用于實(shí)現(xiàn)的屬性,要為各個(gè)屬性取有意義的名字。3使用繼承來細(xì)化類。4.完善對(duì)象模型。

      說明功能建模的過程。答:功能建模的過程如下:(1)確定輸入、輸出值(2)建立數(shù)據(jù)流圖

      10、說明對(duì)象設(shè)計(jì)的步驟。

      答:對(duì)象設(shè)計(jì)要確定實(shí)現(xiàn)用到的類、關(guān)聯(lián)的完整定義,接口的形式以及實(shí)現(xiàn)操作方法的算法,可以增加實(shí)現(xiàn)必須的內(nèi)部對(duì)象,對(duì)數(shù)據(jù)結(jié)構(gòu)和算法進(jìn)行優(yōu)化。1.獲得操作 2確定操作的目標(biāo)對(duì)象 3.算法設(shè)計(jì) 4.優(yōu)化設(shè)計(jì) 5.控制的實(shí)現(xiàn) 6調(diào)整繼承(7)關(guān)聯(lián)的設(shè)計(jì)

      第十一章習(xí)題參考答案

      軟件質(zhì)量與軟件質(zhì)量保證的含義是什么?

      答:從實(shí)際應(yīng)用來說,軟件質(zhì)量定義包括三個(gè)一致性:1.與所確定的功能和性能需求的一致性;(2)與所成文的開發(fā)標(biāo)準(zhǔn)的一致性; 3.與所有專業(yè)開發(fā)的軟件所期望的隱含特性的一致性。4.軟件質(zhì)量保證是指確定、達(dá)到和維護(hù)所需要的軟件質(zhì)量而進(jìn)行的所有有計(jì)劃、有系統(tǒng)的管理活動(dòng)。影響軟件質(zhì)量的因素有哪些? 答:影響軟件質(zhì)量的因素分為可以直接度量的因素(如單位時(shí)間內(nèi)千行代碼中所產(chǎn)生的錯(cuò)誤)和只能間接度量的因素(如可用性和可維護(hù)性)。

      什么是軟件質(zhì)量保證策略?軟件質(zhì)量保證的主要任務(wù)是什么? 答:軟件質(zhì)量保證策略是指軟件質(zhì)量保證工作的過程和側(cè)重點(diǎn)。質(zhì)量保證的主要任務(wù)包括以下幾點(diǎn):1.正確定義用戶的要求。2.技術(shù)方法的應(yīng)用。3.提高軟件開發(fā)的工程能力。4.軟件的復(fù)用。5.發(fā)揮每個(gè)開發(fā)者的能力。6.組織外部力量協(xié)作。7.排除無效勞動(dòng)。(8)提高計(jì)劃和管理質(zhì)量。程序復(fù)雜性的度量方法有哪些?

      答:軟件復(fù)雜性的度量方法有:1.代碼行度量法:以源代碼行數(shù)作為程序復(fù)雜性的度量。

      2、McCabe度量法:一種基于程序控制流的復(fù)雜性度量方法。

      什么是軟件的可靠性?它們能否定量計(jì)算?

      答:軟件可靠性是指在給定的時(shí)間內(nèi),在規(guī)定的環(huán)境條件下系統(tǒng)完成所指定功能的概率。衡量軟件可靠性的兩個(gè)常用指標(biāo)是平均失效等待時(shí)間MTTF和平均失效間隔時(shí)間MTBF。就是說可以定量計(jì)算。

      7、說明容錯(cuò)軟件的定義與容錯(cuò)的一般方法。

      答:容錯(cuò)軟件的定義有四種,指規(guī)定功能的軟件,(1)在一定程度上對(duì)自身錯(cuò)誤的作用具有屏蔽能力的軟件。(2)在一定程度上能從錯(cuò)誤狀態(tài)自動(dòng)恢復(fù)到正常狀態(tài)的軟件。(3)在因錯(cuò)誤而發(fā)生錯(cuò)誤時(shí),仍然能在一定程度上完成預(yù)期的功能的軟件。(4)在一定程度上具有容錯(cuò)能力的軟件。

      實(shí)現(xiàn)容錯(cuò)技術(shù)的主要手段是冗余。冗余通常分為四類:1.結(jié)構(gòu)冗余,又分為靜態(tài)、動(dòng)態(tài)和混合冗余三種。2.信息冗余 3.時(shí)間冗余(4)冗余附加技術(shù)第十二章習(xí)題參考答案

      軟件工程管理包括哪些內(nèi)容?

      答:軟件工程管理的具體內(nèi)容包括對(duì)開發(fā)人員、組織機(jī)構(gòu)、用戶、文檔資料等方面的管理。

      2、軟件項(xiàng)目計(jì)劃中包括哪些內(nèi)容?

      答:軟件項(xiàng)目計(jì)劃內(nèi)容包括:1.范圍 2.資源 3.進(jìn)度安排 4成本估算(5)培訓(xùn)計(jì)劃

      3、軟件開發(fā)成本估算方法有哪幾種? 答:軟件開發(fā)成本估算的方法主要有:(1)自頂向下估算方法(2)自底向上估算方法(3)差別估算方法

      以及專家估算法、類推估算法、算式估算法等幾類方法。

      4、什么是軟件配置管理?什么是基線?

      答:軟件配置管理,簡稱SCM(Software Configuration Management),是指一組管理整個(gè)軟件生存期各階段中變更的活動(dòng)。軟件配置管理技術(shù)可以使軟件變更所產(chǎn)生的錯(cuò)誤達(dá)到最小并最有效地提高生產(chǎn)率。

      基線:是軟件生存期中各開發(fā)階段的一個(gè)特定點(diǎn),它的作用是把開發(fā)各階段工作的劃分更加明確化,使本來連續(xù)的工作在這些點(diǎn)上斷開,以便于檢查與肯定階段成果。

      5、軟件工程標(biāo)準(zhǔn)化的意義是什么?都有哪些軟件工程標(biāo)準(zhǔn)? 答:軟件工程標(biāo)準(zhǔn)化可以為軟件工程各個(gè)階段的活動(dòng)提供統(tǒng)一的行動(dòng)規(guī)范和衡量準(zhǔn)則,使得各種工作都能有章可循。軟件工程標(biāo)準(zhǔn)根據(jù)其制定機(jī)構(gòu)與適用范圍,可分為:1.國際標(biāo)準(zhǔn)2.國家標(biāo)準(zhǔn) 3.行業(yè)標(biāo)準(zhǔn) 4.企業(yè)規(guī)范

      5、項(xiàng)目(課題)規(guī)范

      6、請(qǐng)說明軟件文檔的作用?

      答:軟件文檔的作用是:1.提高軟件開發(fā)過程的能見度;2.提高開發(fā)效率;3.作為開發(fā)人員階段工作成果和結(jié)束標(biāo)志;4.記錄開發(fā)過程的有關(guān)信息便于使用與維護(hù);5.提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料;6.便于用戶了解軟件功能、性能。第十三章習(xí)題參考答案

      1、什么是軟件開發(fā)環(huán)境?請(qǐng)列出其發(fā)展情況。

      答:軟件開發(fā)環(huán)境是指在計(jì)算機(jī)的基本軟件的基礎(chǔ)上,為支持軟件的開發(fā)而提供的一組工具軟件系統(tǒng)。具體地說,軟件開發(fā)環(huán)境是一組相關(guān)工具的集合。這些相關(guān)工具按一定的開發(fā)方法或一定開發(fā)處理模型組織起來的,這些相關(guān)工具支持整個(gè)軟件生存期的各階段或部分階段。軟件開發(fā)環(huán)境的發(fā)展階段:

      (1)70年代,軟件開發(fā)與設(shè)計(jì)方法出現(xiàn)了結(jié)構(gòu)化分析技術(shù)的一整套相互銜接的SA-SD的方法學(xué)。與此相適應(yīng)的計(jì)算機(jī)輔助軟件工程技術(shù)則主要由開發(fā)孤立的軟件工具而逐步向程序設(shè)計(jì)環(huán)境的開發(fā)和使用方向發(fā)展,出現(xiàn)了第一代的基于正文的CASE工具。

      (2)80年代中期與后期,主要是實(shí)時(shí)系統(tǒng)設(shè)計(jì)方法,以及面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法的發(fā)展,它克服了結(jié)構(gòu)化技術(shù)的缺點(diǎn)。在這期間開發(fā)了第二代的CASE工具,其特點(diǎn)是支持使用圖形表示的結(jié)構(gòu)化方法,如數(shù)據(jù)流圖與結(jié)構(gòu)圖。其開發(fā)環(huán)境表現(xiàn)在提高環(huán)境中工具的集成性方面,如“集成的項(xiàng)目支持環(huán)境”。(3)80年代后期和90年代初期出現(xiàn)了“基于信息工程CASE”技術(shù),這種環(huán)境集成了用于項(xiàng)目計(jì)劃、分析、設(shè)計(jì)、編程、測試和維護(hù)的一個(gè)工具箱的集合。

      (4)90年代出現(xiàn)一系列集成的CASE軟件產(chǎn)品,用以實(shí)現(xiàn)需求管理、應(yīng)用程序分析設(shè)計(jì)和建模、編碼、軟件質(zhì)量保證和測試、過程和項(xiàng)目管理及文檔生成管理等軟件開發(fā)工作的規(guī)范化、工程化和自動(dòng)化。

      2、請(qǐng)敘述軟件開發(fā)環(huán)境的分類。答:軟件開發(fā)環(huán)境可按解決的問題、軟件開發(fā)環(huán)境的演變趨向和集成化程度進(jìn)行分類:(1)按解決的問題可分為:程序設(shè)計(jì)環(huán)境、系統(tǒng)合成環(huán)境、項(xiàng)目管理環(huán)境三類。(2)按軟件開發(fā)環(huán)境的演變趨向可分為:以語言為中心的環(huán)境、工具箱環(huán)境和基于方法的環(huán)境三類。(3)按集成化程度有第一代、第二代、第三代的開發(fā)環(huán)境。

      3、何謂軟件工具?通常包含哪幾部分?答:軟件工具的定義是:可用來幫助和支持軟件需求分析、軟件開發(fā)、測試、維護(hù)、模擬、移植或管理而編制的計(jì)算機(jī)程序或軟件。軟件工具是一個(gè)程序系統(tǒng)。軟件工具通常由工具、工具接口和工具用戶接口三

      部分構(gòu)成。

      4、當(dāng)今軟件工具發(fā)展有何特點(diǎn)?

      答:軟件工具的發(fā)展有以下特點(diǎn):(1)軟件工具由單個(gè)工具向多個(gè)工具集成化方向發(fā)展。(2)重視用戶界面設(shè)計(jì)。(3)不斷地采用新理論和新技術(shù)。(4)軟件工具的商品化與軟件產(chǎn)業(yè)的發(fā)展形成良性互動(dòng)。

      5、什么是CASE?CASE工具有哪些分類?答:CASE是一組工具和方法的集合,可以輔助軟件開發(fā)生命周期各階段進(jìn)行軟件開發(fā)。CASE把軟件開發(fā)技術(shù)、軟件工具和軟件開發(fā)方法集成到一個(gè)統(tǒng)一而一致的架中,并且吸收了CAD(計(jì)算機(jī)輔助設(shè)計(jì))、軟件工程、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)和許多其他計(jì)算機(jī)領(lǐng)域的原理和技術(shù)。因而,CASE領(lǐng)域是一個(gè)應(yīng)用、集成和綜合的領(lǐng)域。根據(jù)CASE系統(tǒng)對(duì)軟件過程的支持范圍,CASE可分為三類:(1)支持單個(gè)過程任務(wù)的工具。(2)支持某一過程所有活動(dòng)或某些活動(dòng)的工作臺(tái)。(3)環(huán)境支持軟件過程大部分乃至所有活動(dòng),一般包括幾個(gè)不同工作臺(tái)的集合。

      6、請(qǐng)敘述集成化CASE的五級(jí)模型。答:集成化CASE的五級(jí)模型包括(1)平臺(tái)集成:工具運(yùn)行在相同的硬件/操作系統(tǒng)平臺(tái)上(2)數(shù)據(jù)集成:工具使用共享數(shù)據(jù)模型來操作(3)表示集成:工具使用相同的用戶界面(4)控制集成:工具激活后能控制其他操作(5)過程集成:工具在一個(gè)過程模型和“過程機(jī)”的指導(dǎo)下使用

      7、CASE工作臺(tái)有哪些分類?

      答:CASE工具臺(tái)是一組工具集,支持像設(shè)計(jì)、實(shí)現(xiàn)或測試等特定的軟件開發(fā)階段。CASE工具組裝成一個(gè)工具臺(tái)后工具能協(xié)同工作,可提供比單一工具更好的支持。CASE工作臺(tái)包括:(1)程序設(shè)計(jì)工作臺(tái)。由支持程序設(shè)計(jì)的一組工具組成。(2)分析和設(shè)計(jì)工作臺(tái)。支持軟件過程的分析和設(shè)計(jì)階段。(3)測試工作臺(tái)。(4)交叉開發(fā)工作臺(tái)。這些工作臺(tái)支持在一種機(jī)器上開發(fā)軟件,而在其他的系統(tǒng)上運(yùn)行所開發(fā)的軟件。(5)配置管理(CM)工作臺(tái)。這些工作臺(tái)支持配置管理。(6)文檔工作臺(tái)。這些工具支持高質(zhì)量文檔的制作。(7)項(xiàng)目管理工作臺(tái)。支持項(xiàng)目管理活動(dòng)。

      第三篇:軟件工程答案

      第一次作業(yè)

      1.什么是軟件?

      答:計(jì)算機(jī)程序和相關(guān)文檔。

      2.什么是軟件危機(jī)?

      答:軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。

      3.什么是軟件工程?

      答:軟件工程是關(guān)于軟件生產(chǎn)的各個(gè)方面的工程學(xué)科。或者說:采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,或者說把經(jīng)過時(shí)間考驗(yàn)而證明是正確的管理技術(shù)和當(dāng)前能夠得到的合適的開發(fā)工具結(jié)合起來開發(fā)與維護(hù)軟件,這就是“軟件工程”。

      第二次作業(yè)

      說明:以下題目在考試時(shí),可能變成填空題、也可能變成選擇題、還有可能變成名詞解釋。

      1.軟件工程方法學(xué)包括了幾個(gè)關(guān)鍵要素?

      答:包括了3個(gè)關(guān)鍵要素,即方法、工具和過程。

      2.軟件過程包含了那幾項(xiàng)基本活動(dòng)?

      答:軟件過程包含了4項(xiàng)基本活動(dòng):(1)軟件描述;(2)軟件開發(fā);(3)軟件有效性驗(yàn)證;

      例如:填空題

      軟件過程包含了4項(xiàng)基本活動(dòng):(1)軟件描述;(2)軟件開發(fā);(3)軟件有效性驗(yàn)證;

      (4)軟件維護(hù)或進(jìn)化。

      例如:選擇題

      軟件過程包含了4項(xiàng)基本活動(dòng):(1)軟件描述;(2)軟件開發(fā);(3)軟件有效性驗(yàn)證;

      (4)軟件維護(hù)或進(jìn)化。

      A.驗(yàn)證B.檢查C.軟件有效性驗(yàn)證D.軟件有效性檢查

      3.什么是模型?

      答:模型是人們認(rèn)識(shí)客觀事物時(shí),用文字、符號(hào)或者圖表等進(jìn)行簡化問題描述的一種方式。

      第三次作業(yè)

      1.可行性研究包含哪幾個(gè)方面?

      答:(1)技術(shù)可行性、(2)經(jīng)濟(jì)可行性、(3)操作可行性。

      2.軟件維護(hù)分為哪幾類?

      答:根據(jù)軟件維護(hù)的任務(wù)與性質(zhì)不同,通??蓪④浖S護(hù)分為糾錯(cuò)性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)四類活動(dòng)。

      3.軟件可維護(hù)性的定義是什么?

      答:指維護(hù)人員理解、改正軟件的難易程度。決定軟件可維護(hù)性的因素有:指整個(gè)軟件文檔和程序的可理解性、可測試性、可修改性。

      第四次作業(yè)

      1.原型法的基本概念是什么?

      答:原型法的基本概念有如下三點(diǎn):(1)原型法不僅可以幫助系統(tǒng)分析員盡早獲得更完整更準(zhǔn)確的需求,還可以幫助設(shè)計(jì)人員驗(yàn)證設(shè)計(jì)方案或演進(jìn)目標(biāo)系統(tǒng)。(2)原型法適用于需求非常不明確的系統(tǒng)開發(fā)。(3)快速原型法如果使用得當(dāng),可以減少軟件的總成本。

      2.快速原型模型的主要優(yōu)點(diǎn)是什么?

      答:快速原型的本質(zhì)是用原型系統(tǒng)獲取用戶的真正需求,開發(fā)人員便可依據(jù)原型系統(tǒng)書寫規(guī)格說明文檔,根據(jù)這份文檔開發(fā)出的軟件可以滿足用戶的真實(shí)需求。

      3.什么是面向數(shù)據(jù)結(jié)構(gòu)方法?

      答:面向數(shù)據(jù)結(jié)構(gòu)方法是結(jié)構(gòu)化方法的變形,它著重?cái)?shù)據(jù)結(jié)構(gòu)而不是數(shù)據(jù)流。根據(jù)需求基本上都采用順序、選擇和重復(fù)構(gòu)造成分表示數(shù)據(jù)結(jié)構(gòu)。

      第五次作業(yè)

      1.面向?qū)ο蠓治瞿P偷奈鍌€(gè)層次是什么?

      答:面向?qū)ο蠓治瞿P偷奈鍌€(gè)層次是主題層、類及對(duì)象層、結(jié)構(gòu)層、屬性層和服務(wù)層,因此其分析步驟也是按五個(gè)層次逐步展開。

      2.對(duì)象的五個(gè)特點(diǎn)是什么?

      答:對(duì)象的五個(gè)特點(diǎn)是:自治性;封裝性;通信性;被動(dòng)性(除主動(dòng)對(duì)象外);暫存性。

      3.為什么說對(duì)象是動(dòng)態(tài)的?

      答:面向?qū)ο蟮某绦蛴梢唤M相關(guān)類組成,所以類是靜態(tài)的,程序的執(zhí)行體現(xiàn)為一組相互通信的對(duì)象的活動(dòng),所以對(duì)象是動(dòng)態(tài)的。

      第六次作業(yè)

      1.需求分析階段的工作成果是產(chǎn)生大量的系統(tǒng)文檔,那么文檔的作用有哪些? 答:文檔的作用有(1)提高軟件的可理解性,便于開發(fā)人員之間的溝通與交流;(2)變可見性的軟件為部分可見性的文檔資料,階段性的工作成果,便于實(shí)施工程管理;(3)階段性的審查依據(jù);(4)便于用戶或其他非開發(fā)人員熟悉該軟件。

      2.需求分析有哪三種方法?

      答:需求分析有面向功能分析、面向數(shù)據(jù)分析、面向?qū)ο蠓治龇椒ā?/p>

      3.需求分析階段主要綜合考慮的因素有哪些?

      答:需求分析階段主要綜合考慮的因素有(1)功能、(2)性能、(3)運(yùn)行、(4)將來可能提出的要求。

      第七次作業(yè)

      1.軟件系統(tǒng)的非功能需求是什么?

      答:非功能需求是指那些不直接與系統(tǒng)具體業(yè)務(wù)功能相關(guān)的一類需求。它們與系統(tǒng)的總體特性相關(guān),如可靠性、信息安全性、響應(yīng)時(shí)間和存儲(chǔ)空間等。

      2.為什么對(duì)系統(tǒng)來說非功能需求比功能需求更關(guān)鍵?

      答:許多非功能需求關(guān)心的是系統(tǒng)整體特性而不是個(gè)別的系統(tǒng)特性,因此,非功能需求比功能需求對(duì)系統(tǒng)來說更關(guān)鍵。一個(gè)功能需求沒有滿足可能降低系統(tǒng)的能力,而一個(gè)非功能系統(tǒng)需求沒有滿足則可能使整個(gè)系統(tǒng)無法使用或者說系統(tǒng)的靈活性、應(yīng)變能力達(dá)不到要求。

      3.數(shù)據(jù)流圖的作用是什么?

      答:數(shù)據(jù)流圖的作用是用來描述系統(tǒng)的邏輯模型,表示信息在系統(tǒng)中的流動(dòng)和處理情況。

      4.畫數(shù)據(jù)流圖可采用的步驟是什么?

      答:畫數(shù)據(jù)流圖時(shí):首先考慮數(shù)據(jù)的源點(diǎn)和終點(diǎn)(人或者作為輸入/輸出對(duì)象);接下來考慮處理(動(dòng)詞);最后考慮數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)(名詞)。

      第八次作業(yè)

      1.什么是執(zhí)行者?

      答:執(zhí)行者是與系統(tǒng)交互的人或物,它代表外部實(shí)體,是一個(gè)群體概念,代表的是一類能夠使用某個(gè)功能的人或物,而不是某個(gè)個(gè)體。

      2.數(shù)據(jù)字典的定義是什么?

      答:數(shù)據(jù)字典的定義是指對(duì)數(shù)據(jù)流、數(shù)據(jù)流分量即數(shù)據(jù)元素、數(shù)據(jù)存儲(chǔ)和處理四類元素進(jìn)行定義。

      3.數(shù)據(jù)字典的作用是什么?

      答:數(shù)據(jù)字典的作用是:(1)與數(shù)據(jù)流圖配合、描述軟件系統(tǒng)的邏輯模型;(2)階段性文檔;(3)對(duì)數(shù)據(jù)流圖中除源、終點(diǎn)外的其余成分均進(jìn)行嚴(yán)格的無二義的、詳盡的定義。

      第九次作業(yè)

      1.軟件設(shè)計(jì)階段的任務(wù)是什么?

      答:軟件設(shè)計(jì)階段的任務(wù)是對(duì)軟件需求有了完整、準(zhǔn)確、具體的理解之后,接下來的工作任務(wù)就是用軟件正確地實(shí)現(xiàn)這些需求。這個(gè)階段的工作目標(biāo)是產(chǎn)生概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)文檔。

      2.結(jié)構(gòu)程序設(shè)計(jì)常見的三種結(jié)構(gòu)是什么?

      答:結(jié)構(gòu)程序設(shè)計(jì)常見的三種基本結(jié)構(gòu):順序、循環(huán)、選擇。

      3.面向?qū)ο蠼S心膸追N?

      答:面向?qū)ο蠼S?種:(1)描述系統(tǒng)功能的功能模型;(2)描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對(duì)象模型;(3)描述系統(tǒng)控制結(jié)構(gòu)的動(dòng)態(tài)模型。即功能模型;對(duì)象模型、動(dòng)態(tài)模型。

      第十次作業(yè)

      1.對(duì)象的定義是什么?

      答:對(duì)象的定義是(1)從面向?qū)ο蟪绦蛟O(shè)計(jì)角度看對(duì)象定義:對(duì)象是具有相同狀態(tài)的一組操作的集合;(2)從信息的模擬角度看對(duì)象定義:對(duì)象是對(duì)問題域某個(gè)東西的抽象,這種抽象反映了系統(tǒng)保存有關(guān)這個(gè)東西的信息或與它交互的能力。也就是說,對(duì)象是對(duì)屬性值和操作的封裝。(3)形式化定義:對(duì)象::=,其中:ID是對(duì)象的標(biāo)識(shí)或名字;MS是對(duì)象中的操作集合;DS是對(duì)象的數(shù)據(jù)結(jié)構(gòu);MI是對(duì)象受理的消息名集合(即對(duì)外接口)

      2.面向?qū)ο蠓椒▽W(xué)的主要優(yōu)點(diǎn)是什么?

      答:1.與人類習(xí)慣的思維方法一致;2.穩(wěn)定性好;3.可重用性好;4.較易開發(fā)大型軟件產(chǎn)品;5.可維護(hù)性好。

      3.什么是類(Class)?

      答: 類就是對(duì)相同數(shù)據(jù)和相同操作的一組相似對(duì)象的定義,或者說,類是對(duì)具有相同屬性和行為的一個(gè)或多個(gè)相似對(duì)象的描述。

      第十一次作業(yè)

      1.提高軟件可重用性的主要準(zhǔn)則是什么?

      答:提高軟件可重用性的主要準(zhǔn)則是:(1)提高方法內(nèi)聚;(2)減小方法的規(guī)模;(3)保持方法的一致性;(4)把策略與實(shí)現(xiàn)分開;(5)全面覆蓋;(6)盡量不使用全局信息;(7)利用繼承機(jī)制

      2.為什么說在軟件開發(fā)工作臨近結(jié)束時(shí)才補(bǔ)寫有關(guān)的一系列文檔是不符合軟件工程思想的?

      答:文檔作為軟件產(chǎn)品的有形部分,既可作為各開發(fā)階段的成果,又可作為評(píng)價(jià)、審查工作的主要對(duì)象,還可作為前后階段交接的重要文字資料,這樣有助于軟件工程管理工作的開展,對(duì)于規(guī)范化的工作有助于保證軟件各階段的工作質(zhì)量。若最后才補(bǔ)文檔就失去了上述的價(jià)值。

      3.假設(shè)你的任務(wù)是對(duì)一個(gè)已有的軟件做重大修改,而且只允許你從下述文檔中選取兩份:(a)程序的規(guī)格說明;(b)程序的詳細(xì)設(shè)計(jì)結(jié)果(自然語言描述加上某種設(shè)計(jì)工具表示);(c)源程序清單(其中有適當(dāng)數(shù)量的注釋)。你將選取哪兩份文檔?為什么這樣選???

      答:選擇(a)和(b)重大修改可能追加到改動(dòng)系統(tǒng)的需求約定和設(shè)計(jì)方案,而源程序的改動(dòng),甚至程序編制,在詳細(xì)設(shè)計(jì)完成后才可進(jìn)行,比起修改需求或設(shè)計(jì)方案而言要容易得多。

      第十二次作業(yè)

      1.測試的正確定義是什么?

      答:測試的正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程”。這和某些人通常想象的“測試是為了表明程序是正確的”,“成功的測試是沒有發(fā)現(xiàn)錯(cuò)誤的測試’等是完全相反的。

      2.什么是黑盒測試?

      答:黑盒測試把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。即只測試程序的接口信息。適用于黑盒測試方法有:邊界值分析、等價(jià)劃分、錯(cuò)誤推理。

      3.計(jì)算環(huán)形復(fù)雜度。

      答:流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度;流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中E是流圖中邊的條數(shù),N是流圖中節(jié)點(diǎn)數(shù);流圖G的環(huán)形復(fù)雜度V(G)=P + 1,其中P是流圖中判定節(jié)點(diǎn)的數(shù)目。

      4.調(diào)試的目標(biāo)是什么?它有幾種途徑?

      答:無論采用什么方法,調(diào)試的根本目標(biāo)都是尋找軟件錯(cuò)誤的原因并改正之。這個(gè)目標(biāo)是通過把系統(tǒng)地評(píng)估、直覺和運(yùn)氣組合起來實(shí)現(xiàn)的。一般來說,有下列三種調(diào)試途徑可以采用:·蠻干法;·回溯法;·原因排除法。

      第十三次

      1.主程序員組的核心有幾個(gè)人?其角色名稱與分工是什么?

      答:主程序員:全面負(fù)責(zé)系統(tǒng)定義、設(shè)計(jì)、編碼、調(diào)試、安裝。輔助程序員:協(xié)助主程序員,必要時(shí)替代主程序員(平時(shí)側(cè)重于測試方案,分析測試結(jié)果)。程序管理員:全部事務(wù)性工作(提交上機(jī)程序、保存運(yùn)行語言、進(jìn)行軟件配置)。

      2.什么是基線?

      答:在軟件工程范圍內(nèi),基線是軟件開發(fā)的里程碑,它的標(biāo)志是交付一個(gè)或多個(gè)軟件配置項(xiàng),這些軟件配置項(xiàng)已經(jīng)通過正式的技術(shù)復(fù)審而獲得認(rèn)可?;蛘哒f,基線是軟件生存期中各開發(fā)階段的一個(gè)特定點(diǎn),它標(biāo)志著一個(gè)階段的結(jié)束。

      3.能力成熟度模型的組成成分是什么?

      答:能力成熟度模型的組成包括以下成分。·成熟度等級(jí)(Maturity levels);·過程能力(Process Capability);·關(guān)鍵過程域(Key Process Areas,KPA);·目標(biāo)(Goals);·公共特性(Common Features);·關(guān)鍵實(shí)踐(Key Practices)。

      4.能力成熟度的五個(gè)等級(jí)是什么?

      答:能力成熟度的五個(gè)等級(jí)從低到高是:初始級(jí)、可重復(fù)級(jí)、已定義級(jí)、已管理級(jí)和優(yōu)化級(jí)。

      第十四次

      1.軟件重用的基本要求是什么?

      答:為使軟構(gòu)件也像硬件集成電路那樣,能在構(gòu)造各種各樣的軟件系統(tǒng)時(shí)方便地重復(fù)使用,就必須使它們滿足下列要求。(l)模塊獨(dú)立性強(qiáng);(2)具有高度可塑性;(3)接口清晰、簡明、可靠。

      2.類構(gòu)件的重用方式有哪些?

      答:類構(gòu)件的重用方式有:(1)實(shí)例重用;(2)繼承重用;(3)多態(tài)重用。

      3.什么是3C模型?

      答:描述可重用的軟件構(gòu)件一種理想的方式是3C模型——概念(concept)、內(nèi)容(content)和語境(context)。

      第四篇:軟件工程課后答案-殷鋒主編1(范文模版)

      軟件工程課后習(xí)題答案

      注:有些可能錯(cuò)誤,讀者自己注意

      第一章

      一、填空題:

      1、軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括、、及相關(guān)文檔的的完整集合2、軟件工程包括三要素:方法、工具 和 過程。

      3、軟件開發(fā)的基本方法包括和

      二、選擇題:

      1、C2、B3、C

      第二章

      一、填空題:

      1、軟件生存周期的各個(gè)過程可以分成三類,及 主要生存周期過程、支持生存周期過程 和 組織的生存周期過程。

      2、軟件生存周期包括 計(jì)劃、需求分析、設(shè)計(jì)、程序編碼、軟件測試 和 運(yùn)行維護(hù)6個(gè)階段。

      3、軟件過程改進(jìn)(SPI)幫助軟件企業(yè)對(duì)其軟件過程的改變進(jìn)行計(jì)劃,制定以及實(shí)施。

      二、填空題

      1、A2、B

      三、判斷題

      1、√

      2、X

      第三章

      三、填空題:

      1、可行性研究的目的是用最小的代價(jià),在盡可能短的時(shí)間內(nèi),確定能夠解決

      2、可行性研究在進(jìn)行簡要需求分析和設(shè)計(jì)時(shí),要在高層次上以進(jìn)行

      3、需求分析階段產(chǎn)生的最重要的文檔是。

      4、為解決一個(gè)復(fù)雜的問題,往往采取的策略是

      5、SA方法中使用半形式化的描述方式表達(dá)需求,采用的主要描述工具是 流圖和E-R圖。

      6、數(shù)據(jù)流圖中有四種負(fù)號(hào)元素,它們是 終點(diǎn)

      7、數(shù)據(jù)字典中有四類條目,分別是

      8、在IDEF0圖中,表示系統(tǒng)功能的圖形成為圖。

      9、在畫分層的DFD時(shí),父圖與子圖的輸入/輸出的數(shù)據(jù)流要

      10、用于描述基本加工的小說明的三種描述工具是判定表。

      二、選擇題

      1、A2、C3、B4、B5、D6、D7、D8、A9、D10、A11、C12、B

      第四章

      一、填空題

      1、變換型系統(tǒng)由3部分組成 :。

      2、模塊的分解的基本原則是

      3、在軟件開發(fā)的過程中必須遵循的軟件工程原則有:藏 和 模塊獨(dú)立性。

      二、選擇題

      1、D2、A3、A4、A5、B

      三、判斷題

      1、√

      2、X3、X4、√

      5、X

      第五章

      二、填空題

      1、軟件測試是為了 而執(zhí)行程序的過程。

      2、運(yùn)行被測程序的方法稱為測試。

      3、動(dòng)態(tài)測試中,主要測試軟件功能的方法稱為法

      4、選擇測試用例,使得被測程序中每個(gè)判定的每個(gè)分支至少執(zhí)行一次,這種邏

      輯覆蓋標(biāo)準(zhǔn)為 判定/覆蓋法。

      5、要覆蓋含有循環(huán)結(jié)構(gòu)的所有路徑是不可能的,一般通過限制來測

      試。

      6、用等價(jià)類劃分法設(shè)計(jì)測試用例時(shí),如果被測程序的某個(gè)輸入條件規(guī)定了取之

      范圍,則可確定一個(gè) 合理的等價(jià)類和 兩個(gè)不合理的等價(jià)類

      7、憑經(jīng)驗(yàn)或直覺推測程序中可能存在的錯(cuò)誤而設(shè)計(jì)測試用例的方法是 測。

      8、集成測試中的具體方法是 非漸增式、漸增式。

      9、確認(rèn)測試階段的兩項(xiàng)工作是。

      10、在單元測試中,測試一個(gè) 模塊時(shí),需要設(shè)計(jì)。

      11、與編碼風(fēng)格有關(guān)的因素有 數(shù)據(jù)說明、語句構(gòu)造、輸入/輸出、效率等,其中有個(gè)重要的因素是 源程序的文檔化。

      三、選擇題

      1、B2、C3、B4、D5、D6、A7、B8、D9、A10、A11、C12、B13、D14、A15、C

      第六章

      一、填空題

      1、用例之間的關(guān)系可以有包含關(guān)系、和。

      2、面向?qū)ο蟮幕咎匕ǎ撼橄蟆⒎庋b、和 繼承。

      3、類與類之間可以有具有關(guān)聯(lián)、聚合、和 等關(guān)系。

      二、選擇題

      1、C2、C3、B

      三、判斷題

      1、√

      2、√

      3、X4、X

      第七章

      一、填空題

      1、面向?qū)ο穹治龅牟襟E包括:分析問題域建立用例模型、發(fā)現(xiàn)和定義對(duì)象和類、識(shí)別對(duì)象的內(nèi)部特征、識(shí)別對(duì)象的外部特征、識(shí)別對(duì)象之間的交互。

      2、面向?qū)ο蠓治龅牡谝徊骄褪欠治鲇脩粜枨?,在此的基礎(chǔ)上建立 建模。

      3、用戶需求包括系統(tǒng)的功能、性能、可靠性等非技術(shù)性要求,其中需求分析階段需要著重考慮的是用戶對(duì)系統(tǒng)的功能要求。

      二、選擇題

      1、C2、D3、D

      三、判斷題

      1、X2、√

      3、X4、√

      第八章

      一、填空題

      1、復(fù)用性

      2、子系統(tǒng)

      3、數(shù)據(jù)庫設(shè)計(jì)

      二、選擇題

      1、D2、C3、D4、D

      三、判斷題

      1、X2、X3、√

      第九章

      一、填空題

      1、測試

      2、對(duì)對(duì)象之間交互的測試

      3、待維護(hù)的軟件是可以理解的、待維護(hù)的軟件是可以修改的二、選擇題

      1、A2、B3、C

      三、判斷題

      1、X2、√

      第十章

      一、填空題

      1、直接度量、間接度量

      2、人的因素、問題因素、過程因素、產(chǎn)品因素、過程因素

      3、甘特圖、時(shí)標(biāo)網(wǎng)狀圖、PERT技術(shù)和CPM方法

      4、項(xiàng)目風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、商業(yè)風(fēng)險(xiǎn) ;已知風(fēng)險(xiǎn)、可預(yù)測的風(fēng)險(xiǎn)、不可預(yù)測的風(fēng)險(xiǎn)

      5、項(xiàng)目經(jīng)理、配置控制委員會(huì)、配置管理員、系統(tǒng)集成員、開發(fā)人員

      6、配置項(xiàng)識(shí)別、工作空間管理、版本控制、變更控制、狀態(tài)報(bào)告、配置審計(jì)

      7、按課題劃分的模式、按職能劃分的模式、矩陣型模式

      8、(1)牢固掌握計(jì)算機(jī)軟件的基本知識(shí)和技能

      (2)善于分析、綜合問題、具有嚴(yán)密的邏輯思維能力

      (3)工作踏實(shí)、細(xì)致,遵循標(biāo)準(zhǔn)和規(guī)范,具有嚴(yán)格的科學(xué)作風(fēng)

      (4)工作中表現(xiàn)出耐心,毅力和責(zé)任心

      (5)善于聽取別人的意見,善于與周圍人員團(tuán)結(jié)協(xié)作,建立良好的人際關(guān)系

      (6)具有良好的書面和 空頭表達(dá)能力

      9、(1)能把用戶提出的 非技術(shù)性要求加以整理提煉,以技術(shù)說明書的形式轉(zhuǎn)告給分析員和測試員。

      (2)能說服用戶放棄 一些不切實(shí)際的要求,以便保證合理的要求得以滿足。

      (3)能夠把表面上似乎無關(guān)的要求集中在一起,歸結(jié)為“需要什么”“要解決什么問題”,這是一種綜合問題的能力。

      (4)要懂得心理學(xué),能說服上級(jí)領(lǐng)導(dǎo)和用戶,即讓他們理解什么事不切實(shí)際的要求。又使他們毫不勉強(qiáng),樂于接受。

      10、鼓勵(lì)、引導(dǎo)、通信

      11、選定標(biāo)準(zhǔn)、重大偏離、特殊情況

      二、選擇題1、2、3、4、5、6、7、8

      三、判斷題1、2、3、4、5、6、7、8

      第五篇:軟件工程自考課后習(xí)題4

      第八章習(xí)題參考答案 軟件維護(hù)有哪些內(nèi)容? 答:(1)校正性維護(hù)。在軟件交付使用后,一些隱含的錯(cuò)誤在某些特定的使用環(huán)境下會(huì)暴露出來。為了識(shí)別和糾正錯(cuò)誤,修改軟件性能上的缺陷,應(yīng)進(jìn)行確定和修改錯(cuò)誤的過程,這個(gè)過程就稱為校正性維護(hù)。(2)適應(yīng)性維護(hù)。為了使應(yīng)用軟件適應(yīng)計(jì)算機(jī)硬件、軟件環(huán)境及數(shù)據(jù)環(huán)境的不斷發(fā)生的變化而修改軟件的過程稱為適應(yīng)性維護(hù)。(3)完善性維護(hù)。為增加軟件功能、增強(qiáng)軟件性能、提高軟件運(yùn)行效率而進(jìn)行的維護(hù)活動(dòng)稱為完善性維護(hù)。(4)預(yù)防性維護(hù)。為了提高軟件的可維護(hù)性和可靠性而對(duì)軟件進(jìn)行的修改稱為預(yù)防性維護(hù)。軟件維護(hù)的特點(diǎn)是什么? 答:主要體現(xiàn)在三個(gè)方面:

      (1)非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)。軟件的開發(fā)過程對(duì)軟件的維護(hù)有很大的影響。若不采用軟件工程的方法開發(fā)軟件,則軟件只有程序而無文檔,維護(hù)工作非常困難,這是一種非結(jié)構(gòu)化的維護(hù)。若采用軟件工程的方法開發(fā)軟件,則各階段都有相應(yīng)的文檔,容易進(jìn)行維護(hù)工作,這是一種結(jié)構(gòu)化的維護(hù)。

      (2)維護(hù)的困難性。軟件維護(hù)的困難性是由于軟件需求分析和開發(fā)方法的缺陷。軟件生存周期中的開發(fā)階段沒有嚴(yán)格而又科學(xué)的管理和規(guī)劃,就會(huì)引起軟件運(yùn)行時(shí)的維護(hù)困難。

      (3)軟件維護(hù)的費(fèi)用。軟件維護(hù)的費(fèi)用在總費(fèi)用中的比重是在不斷增加的,這是軟件維護(hù)有形的代價(jià)。另外還有無形的代價(jià),即要占有更多的資源。軟件維護(hù)費(fèi)用增加的占有原因是軟件維護(hù)的生產(chǎn)率非常低。軟件維護(hù)的流程是什么?

      答:軟件維護(hù)的流程如下:知道維護(hù)申請(qǐng)報(bào)告、審查申請(qǐng)報(bào)告并批準(zhǔn)、運(yùn)行維護(hù)并做詳細(xì)記錄、復(fù)審。軟件維護(hù)的副作用有哪些? 答:維護(hù)的副作用有以下三種:

      (1)編碼副作用。在使用程序設(shè)計(jì)語言修改源代碼時(shí)可能引入的錯(cuò)誤。

      (2)數(shù)據(jù)副作用。在修改數(shù)據(jù)結(jié)構(gòu)時(shí),有可能造成軟件設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)不匹配,因而導(dǎo)致軟件錯(cuò)誤。數(shù)據(jù)副作用是修改軟件信息結(jié)構(gòu)導(dǎo)致的結(jié)果。但它可以通過詳細(xì)的設(shè)計(jì)文檔加以控制。

      (3)文檔副作用。如果對(duì)可執(zhí)行軟件的修改沒有反映在文檔中,就會(huì)產(chǎn)生文檔副作用。什么是軟件可維護(hù)性?可維護(hù)性度量的特性是什么?

      答:軟件可維護(hù)性的定義:軟件能夠被理解、校正、適應(yīng)及增強(qiáng)功能的容易程度。軟件的可維護(hù)性可用以下七個(gè)質(zhì)量特性來衡量,即可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。提高可維護(hù)性的方法有哪些? 答:(1)建立明確的軟件質(zhì)量目標(biāo)。(2)使用先進(jìn)的軟件開發(fā)技術(shù)和工具。(3)建立明確的質(zhì)量保證。(4)選擇可維護(hù)性的程序設(shè)計(jì)語言。(5)改進(jìn)程序的文檔。第九章習(xí)題參考答案

      漸增模型有幾種?各有何特點(diǎn)? 答:漸增模型有兩種類型,一是增量構(gòu)造模型,二是演化提交模型。增量構(gòu)造模型是在瀑布模型基礎(chǔ)上,對(duì)一些階段進(jìn)行整體開發(fā),對(duì)另一些階段進(jìn)行增量開發(fā)。演化提交模型則是在瀑布模型的基礎(chǔ)上,所有階段都進(jìn)行增量開發(fā),不僅是增量開發(fā),也是增量提交。

      2、快速原型模型有幾種,各有什么特點(diǎn)?

      答:快速原形模型根據(jù)原型的不同作用,有三類原型模型:

      探索型原型:把原型用于開發(fā)的需求分析階段,目的是要弄清用戶的需求,確定所期望的特性,并探索各種方案的可行性。它主要針對(duì)開發(fā)目標(biāo)模糊,用戶與開發(fā)者對(duì)項(xiàng)目都缺乏經(jīng)驗(yàn)的情況,通過對(duì)原型的開發(fā)來明確用戶的需求。

      實(shí)驗(yàn)型原型:主要用于設(shè)計(jì)階段,考核實(shí)現(xiàn)方安是否合適,能否實(shí)現(xiàn)。對(duì)于一個(gè)大型系統(tǒng),若對(duì)設(shè)計(jì)方案心中沒有把握時(shí),可通過這種原型的開發(fā)來證實(shí)設(shè)計(jì)方案的正確性。

      (3)演化型原型:它將原型思想擴(kuò)展到軟件開發(fā)的全過程,就是及早向用戶提交一個(gè)原型系統(tǒng),在得到用戶認(rèn)可后,將原型系統(tǒng)不斷擴(kuò)充演化為最終的軟件系統(tǒng)??焖僭偷拈_發(fā)步驟是什么? 答:快速原型的開發(fā)步驟是:(1)快速分析:在分析人員與用戶的配合下,迅速確定系統(tǒng)基本需求并開始構(gòu)造原型。(2)構(gòu)造原型:在快速分析的基礎(chǔ)上,根據(jù)基本需求說明盡快實(shí)現(xiàn)一個(gè)可運(yùn)行的系統(tǒng)。(3)運(yùn)行原型:通過運(yùn)行快速原型,發(fā)現(xiàn)問題,消除誤解,達(dá)到開發(fā)者也用戶的充分協(xié)調(diào)。(4)評(píng)價(jià)原型:在運(yùn)行的基礎(chǔ)上,評(píng)價(jià)原型的特性,分析運(yùn)行效果是否滿足用戶的需求,提出全面的修改意見。(5)修改:根據(jù)評(píng)價(jià)原型的活動(dòng)結(jié)果進(jìn)行修改,修改過程代替初始的快速分析,從而實(shí)現(xiàn)原型開發(fā)的循環(huán)過程。用戶與開發(fā)者在這種循環(huán)過程中不斷接近系統(tǒng)的最終要求。上述步驟在軟件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那樣嚴(yán)格的階段劃分,線性推進(jìn)。評(píng)價(jià)快速原型模型的優(yōu)缺點(diǎn)。答:快速原型的優(yōu)點(diǎn)是:(1)可及早為用戶提供有用的產(chǎn)品。(2)可及早發(fā)現(xiàn)問題,隨時(shí)糾正錯(cuò)誤。(3)減少技術(shù)、應(yīng)用風(fēng)險(xiǎn),縮短開發(fā)時(shí)間,減少費(fèi)用、提高生產(chǎn)率。(4)通過實(shí)際運(yùn)行原型,提供直接評(píng)價(jià)系統(tǒng)的方法,促使用戶主動(dòng)參與開發(fā)活動(dòng),加強(qiáng)了信息反饋,促進(jìn)各類人員的協(xié)調(diào),減少誤解,適應(yīng)需求變化,能有效提高系統(tǒng)質(zhì)量??焖僭偷娜秉c(diǎn)是:1.缺乏豐富而強(qiáng)有力的軟件工具和開發(fā)環(huán)境。2.缺乏有效的管理機(jī)制,還未建立起自己的開發(fā)標(biāo)準(zhǔn)。3.對(duì)設(shè)計(jì)開發(fā)環(huán)境要求較高。(4)在多次重復(fù)改變?cè)偷倪^程中,程序員會(huì)感到厭倦。(5)系統(tǒng)的易變性對(duì)測試有一定影響,難于做到徹底測試,更新文檔較為困難。

      4、比瀑布模型與增量模型,指出增量模型的新思路。

      答:瀑布模型屬于整體開發(fā)模型,它規(guī)定在開始下一個(gè)階段的工作之前,必須完成前一階段的所有細(xì)節(jié)。瀑布模型很難適應(yīng)需求可變、模糊不定的軟件系統(tǒng)的開發(fā),而且在開發(fā)過程中用戶很難參與進(jìn)去,只有到開發(fā)結(jié)束才能看到整個(gè)軟件系統(tǒng)。這種理想的、線性的開發(fā)過程缺乏靈活性,不適應(yīng)實(shí)際的開發(fā)過程。增量模型是在瀑布模型的基礎(chǔ)上加以修改而形成的。屬于非整體開發(fā)模型。

      它的基本思路是為了使開發(fā)過程具有一定的靈活性和可修改性,在開發(fā)過程中推遲某些階段或所有階段中的細(xì)節(jié),從而較早的產(chǎn)生工作軟件。第十章習(xí)題參考答案

      說明對(duì)象、類、類結(jié)構(gòu)、消息的基本概念。答:(1)對(duì)象:對(duì)象是人們要進(jìn)行研究的任何事物,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。對(duì)象包括有形實(shí)體、作用、事件、性能說明等類型。對(duì)象具有狀態(tài)和行為。一個(gè)對(duì)象用數(shù)據(jù)值來描述它的狀態(tài),對(duì)象的操作則用于改變狀態(tài),對(duì)象及其操作就是對(duì)象的行為。對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對(duì)象的統(tǒng)一體中。對(duì)象內(nèi)的數(shù)據(jù)具有自己的操作,從而可靈活地專門描述對(duì)象的獨(dú)特行為,具有較強(qiáng)的獨(dú)立性和自治性,其內(nèi)部狀態(tài)不受或很少受外界的影響,具有很好的模塊化特點(diǎn)。為軟件重用奠定了堅(jiān)實(shí)的基礎(chǔ)。(2)類:具有相同或相似性質(zhì)的對(duì)象的抽象就是類。因此,對(duì)象的抽象就是類,類的具體化就是對(duì)象,也可以說類的實(shí)例是對(duì)象。(3)類結(jié)構(gòu):類與類之間的結(jié)構(gòu)關(guān)系,包括一般-具體結(jié)構(gòu)關(guān)系和整體-部分結(jié)構(gòu)關(guān)系。一般-具體關(guān)系結(jié)構(gòu)稱為分類結(jié)構(gòu),也可以說是“或”關(guān)系或“is a”關(guān)系,類的這種層次結(jié)構(gòu)可用來描述現(xiàn)實(shí)世界中的一般化的抽象關(guān)系,通常越在上層的類越具有一般性和共性,越在下層的類越具體、越細(xì)化。整體-部分結(jié)構(gòu)稱為組裝結(jié)構(gòu),它們之間的關(guān)系是一種“與”關(guān)系,或者是“has a”關(guān)系。類的這種層次關(guān)系可用來描述現(xiàn)實(shí)世界中的類的組成的抽象關(guān)系。上層的類具有整體性,下層的類具有成員性。在類的層次結(jié)構(gòu)中,通常上層的類稱為父類或超類,下層類稱為子類。(4)消息:對(duì)象之間進(jìn)行通信的構(gòu)造叫做消息。在對(duì)旬的操作中,當(dāng)一個(gè)消息發(fā)送給某個(gè)對(duì)象時(shí),消息包含接收對(duì)象去執(zhí)行某種操作的信息。接收消息的對(duì)象經(jīng)過解釋,然后給予響應(yīng)。這種通信機(jī)制稱為消息傳遞。發(fā)送一條消息的格式是“對(duì)象名.方法名(參數(shù))”。說明面向?qū)ο蟮奶卣骱鸵?。答:面向?qū)ο蟮奶卣魇牵海?)對(duì)象唯一性。每個(gè)對(duì)象都有自身唯一的標(biāo)識(shí),在對(duì)象生存期中,其標(biāo)識(shí)不變,不同的對(duì)象不能有不同的標(biāo)識(shí)。(2)分類性。是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類(3)繼承性。是子類自動(dòng)共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。(4)多態(tài)性。是指相同的操作或函數(shù)過程可以作用于多種類型的對(duì)象上并獲得不同的結(jié)果。面向?qū)ο蟮囊厥牵?.抽象。2.封裝性(信息隱蔽)(3)共享性。說明動(dòng)態(tài)模型的特征,說明事件,腳本、狀態(tài)的含義。

      答:動(dòng)態(tài)模型是與時(shí)間和變化有關(guān)的系統(tǒng)性質(zhì),該模型描述了系統(tǒng)的控制結(jié)構(gòu),它表示了瞬時(shí)的、行為化的系統(tǒng)控制性質(zhì),它關(guān)心的是系統(tǒng)的控制,操作的執(zhí)行順序,它從對(duì)象的事件和狀態(tài)的角度出發(fā),表現(xiàn)了相互行為。事件是指特定時(shí)刻發(fā)生的某件事情,它是某事情發(fā)生的信號(hào),它沒有持續(xù)時(shí)間,它是一種相對(duì)性的快速事件。腳本是完成系統(tǒng)某個(gè)功能事件序列,側(cè)重于表達(dá)說明發(fā)生于系統(tǒng)執(zhí)行過程中的一個(gè)特定場景,用事件跟蹤圖表達(dá)。狀態(tài)是對(duì)象屬性值的抽象。狀態(tài)指明了對(duì)象對(duì)輸入事件的響應(yīng)。說明功能模型的特征,比較功能模型的DFD和結(jié)構(gòu)化方法的DFD異同。

      答:功能模型描述了系統(tǒng)的所有計(jì)算。功能模型指出發(fā)生了什么,動(dòng)態(tài)模型確定什么時(shí)候發(fā)生,而對(duì)象模型確定發(fā)生的客體。功能模型表明一個(gè)計(jì)算如何從輸入值得到輸出值,它不考慮所計(jì)算的次序。功能模型由多張數(shù)據(jù)流圖組成。數(shù)據(jù)流圖說明數(shù)據(jù)流是如何從外部輸入、經(jīng)過操作和內(nèi)部存儲(chǔ)輸出到外部的。功能模型也包括對(duì)象模型中值的約束條件。

      說明三種分析模型的關(guān)系。答:三種分析模型之間關(guān)系是這樣的:功能模型指出發(fā)生了什么,動(dòng)態(tài)模型確定什么時(shí)候發(fā)生,而對(duì)象模型確定發(fā)生的客體。說明對(duì)象建模的過程。

      答:對(duì)象建模的過程如下:首先標(biāo)識(shí)類和關(guān)聯(lián),因?yàn)樗鼈冇绊懥苏w結(jié)構(gòu)和解決問題的方法,其次是增加屬性,進(jìn)一步描述類和關(guān)聯(lián)的基本網(wǎng)絡(luò),使用繼承合并和組織類,最后將操作增加到類中去作為構(gòu)造動(dòng)態(tài)模型和功能模型的副產(chǎn)品。(1)確定類。構(gòu)造對(duì)象模型的第一步是標(biāo)出來自問題域的相關(guān)對(duì)象類,包括物理實(shí)體和概念。所有類在應(yīng)用中都必須有意義。檢查問題陳述中的所有名詞,產(chǎn)生暫定類。然后去掉不必要的類和不正確的類。(2)準(zhǔn)備數(shù)據(jù)字典。為所有建模實(shí)體準(zhǔn)備一個(gè)數(shù)據(jù)詞典。準(zhǔn)確描述各個(gè)類的精確含義,描述當(dāng)前問題中的類的范圍,包括對(duì)類的成員、用法方面的假設(shè)或限制。1.確定關(guān)聯(lián)。兩個(gè)或多個(gè)類之間的相互依賴就是關(guān)聯(lián)。從問題中抽取所有可能的關(guān)聯(lián)表示,把它們記下來,但不要過早去細(xì)化這些表述。2.確定屬性。屬性是個(gè)體對(duì)象的性質(zhì),通常用修飾性的名詞詞組來表示。只考慮與具體應(yīng)用直接相關(guān)的屬性,不考慮那些超出問題范圍的屬性,首先找出重要屬性,避免那些只用于實(shí)現(xiàn)的屬性,要為各個(gè)屬性取有意義的名字。3使用繼承來細(xì)化類。4.完善對(duì)象模型。說明功能建模的過程。答:功能建模的過程如下:(1)確定輸入、輸出值(2)建立數(shù)據(jù)流圖

      10、說明對(duì)象設(shè)計(jì)的步驟。

      答:對(duì)象設(shè)計(jì)要確定實(shí)現(xiàn)用到的類、關(guān)聯(lián)的完整定義,接口的形式以及實(shí)現(xiàn)操作方法的算法,可以增加實(shí)現(xiàn)必須的內(nèi)部對(duì)象,對(duì)數(shù)據(jù)結(jié)構(gòu)和算法進(jìn)行優(yōu)化。1.獲得操作 2確定操作的目標(biāo)對(duì)象 3.算法設(shè)計(jì) 4.優(yōu)化設(shè)計(jì) 5.控制的實(shí)現(xiàn) 6調(diào)整繼承(7)關(guān)聯(lián)的設(shè)計(jì) 第十一章習(xí)題參考答案

      軟件質(zhì)量與軟件質(zhì)量保證的含義是什么? 答:從實(shí)際應(yīng)用來說,軟件質(zhì)量定義包括三個(gè)一致性:1.與所確定的功能和性能需求的一致性;(2)與所成文的開發(fā)標(biāo)準(zhǔn)的一致性; 3.與所有專業(yè)開發(fā)的軟件所期望的隱含特性的一致性。4.軟件質(zhì)量保證是指確定、達(dá)到和維護(hù)所需要的軟件質(zhì)量而進(jìn)行的所有有計(jì)劃、有系統(tǒng)的管理活動(dòng)。影響軟件質(zhì)量的因素有哪些? 答:影響軟件質(zhì)量的因素分為可以直接度量的因素(如單位時(shí)間內(nèi)千行代碼中所產(chǎn)生的錯(cuò)誤)和只能間接度量的因素(如可用性和可維護(hù)性)。

      什么是軟件質(zhì)量保證策略?軟件質(zhì)量保證的主要任務(wù)是什么? 答:軟件質(zhì)量保證策略是指軟件質(zhì)量保證工作的過程和側(cè)重點(diǎn)。

      質(zhì)量保證的主要任務(wù)包括以下幾點(diǎn):1.正確定義用戶的要求。2.技術(shù)方法的應(yīng)用。3.提高軟件開發(fā)的工程能力。4.軟件的復(fù)用。5.發(fā)揮每個(gè)開發(fā)者的能力。6.組織外部力量協(xié)作。7.排除無效勞動(dòng)。(8)提高計(jì)劃和管理質(zhì)量。

      程序復(fù)雜性的度量方法有哪些? 答:軟件復(fù)雜性的度量方法有:1.代碼行度量法:以源代碼行數(shù)作為程序復(fù)雜性的度量。

      2、McCabe度量法:一種基于程序控制流的復(fù)雜性度量方法。什么是軟件的可靠性?它們能否定量計(jì)算? 答:軟件可靠性是指在給定的時(shí)間內(nèi),在規(guī)定的環(huán)境條件下系統(tǒng)完成所指定功能的概率。衡量軟件可靠性的兩個(gè)常用指標(biāo)是平均失效等待時(shí)間MTTF和平均失效間隔時(shí)間MTBF。就是說可以定量計(jì)算。

      7、說明容錯(cuò)軟件的定義與容錯(cuò)的一般方法。答:容錯(cuò)軟件的定義有四種,指規(guī)定功能的軟件,(1)在一定程度上對(duì)自身錯(cuò)誤的作用具有屏蔽能力的軟件。(2)在一定程度上能從錯(cuò)誤狀態(tài)自動(dòng)恢復(fù)到正常狀態(tài)的軟件。(3)在因錯(cuò)誤而發(fā)生錯(cuò)誤時(shí),仍然能在一定程度上完成預(yù)期的功能的軟件。(4)在一定程度上具有容錯(cuò)能力的軟件。

      實(shí)現(xiàn)容錯(cuò)技術(shù)的主要手段是冗余。冗余通常分為四類:1.結(jié)構(gòu)冗余,又分為靜態(tài)、動(dòng)態(tài)和混合冗余三種。2.信息冗余 3.時(shí)間冗余(4)冗余附加技術(shù) 第十二章習(xí)題參考答案

      軟件工程管理包括哪些內(nèi)容? 答:軟件工程管理的具體內(nèi)容包括對(duì)開發(fā)人員、組織機(jī)構(gòu)、用戶、文檔資料等方面的管理。

      2、軟件項(xiàng)目計(jì)劃中包括哪些內(nèi)容?

      答:軟件項(xiàng)目計(jì)劃內(nèi)容包括:1.范圍 2.資源 3.進(jìn)度安排 4成本估算(5)培訓(xùn)計(jì)劃

      3、軟件開發(fā)成本估算方法有哪幾種? 答:軟件開發(fā)成本估算的方法主要有:(1)自頂向下估算方法(2)自底向上估算方法(3)差別估算方法 以及專家估算法、類推估算法、算式估算法等幾類方法。

      4、什么是軟件配置管理?什么是基線?

      答:軟件配置管理,簡稱SCM(Software Configuration Management),是指一組管理整個(gè)軟件生存期各階段中變更的活動(dòng)。軟件配置管理技術(shù)可以使軟件變更所產(chǎn)生的錯(cuò)誤達(dá)到最小并最有效地提高生產(chǎn)率?;€:是軟件生存期中各開發(fā)階段的一個(gè)特定點(diǎn),它的作用是把開發(fā)各階段工作的劃分更加明確化,使本來連續(xù)的工作在這些點(diǎn)上斷開,以便于檢查與肯定階段成果。

      5、軟件工程標(biāo)準(zhǔn)化的意義是什么?都有哪些軟件工程標(biāo)準(zhǔn)? 答:軟件工程標(biāo)準(zhǔn)化可以為軟件工程各個(gè)階段的活動(dòng)提供統(tǒng)一的行動(dòng)規(guī)范和衡量準(zhǔn)則,使得各種工作都能有章可循。軟件工程標(biāo)準(zhǔn)根據(jù)其制定機(jī)構(gòu)與適用范圍,可分為:1.國際標(biāo)準(zhǔn)2.國家標(biāo)準(zhǔn) 3.行業(yè)標(biāo)準(zhǔn) 4.企業(yè)規(guī)范

      5、項(xiàng)目(課題)規(guī)范

      6、請(qǐng)說明軟件文檔的作用?

      答:軟件文檔的作用是:1.提高軟件開發(fā)過程的能見度;2.提高開發(fā)效率;3.作為開發(fā)人員階段工作成果和結(jié)束標(biāo)志;4.記錄開發(fā)過程的有關(guān)信息便于使用與維護(hù);5.提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料;6.便于用戶了解軟件功能、性能。第十三章習(xí)題參考答案

      1、什么是軟件開發(fā)環(huán)境?請(qǐng)列出其發(fā)展情況。

      答:軟件開發(fā)環(huán)境是指在計(jì)算機(jī)的基本軟件的基礎(chǔ)上,為支持軟件的開發(fā)而提供的一組工具軟件系統(tǒng)。具體地說,軟件開發(fā)環(huán)境是一組相關(guān)工具的集合。這些相關(guān)工具按一定的開發(fā)方法或一定開發(fā)處理模型組織起來的,這些相關(guān)工具支持整個(gè)軟件生存期的各階段或部分階段。軟件開發(fā)環(huán)境的發(fā)展階段:

      (1)70年代,軟件開發(fā)與設(shè)計(jì)方法出現(xiàn)了結(jié)構(gòu)化分析技術(shù)的一整套相互銜接的SA-SD的方法學(xué)。與此相適應(yīng)的計(jì)算機(jī)輔助軟件工程技術(shù)則主要由開發(fā)孤立的軟件工具而逐步向程序設(shè)計(jì)環(huán)境的開發(fā)和使用方向發(fā)展,出現(xiàn)了第一代的基于正文的CASE工具。

      (2)80年代中期與后期,主要是實(shí)時(shí)系統(tǒng)設(shè)計(jì)方法,以及面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法的發(fā)展,它克服了結(jié)構(gòu)化技術(shù)的缺點(diǎn)。在這期間開發(fā)了第二代的CASE工具,其特點(diǎn)是支持使用圖形表示的結(jié)構(gòu)化方法,如數(shù)據(jù)流圖與結(jié)構(gòu)圖。其開發(fā)環(huán)境表現(xiàn)在提高環(huán)境中工具的集成性方面,如“集成的項(xiàng)目支持環(huán)境”。

      (3)80年代后期和90年代初期出現(xiàn)了“基于信息工程CASE”技術(shù),這種環(huán)境集成了用于項(xiàng)目計(jì)劃、分析、設(shè)計(jì)、編程、測試和維護(hù)的一個(gè)工具箱的集合。

      (4)90年代出現(xiàn)一系列集成的CASE軟件產(chǎn)品,用以實(shí)現(xiàn)需求管理、應(yīng)用程序分析設(shè)計(jì)和建模、編碼、軟件質(zhì)量保證和測試、過程和項(xiàng)目管理及文檔生成管理等軟件開發(fā)工作的規(guī)范化、工程化和自動(dòng)化。

      2、請(qǐng)敘述軟件開發(fā)環(huán)境的分類。答:軟件開發(fā)環(huán)境可按解決的問題、軟件開發(fā)環(huán)境的演變趨向和集成化程度進(jìn)行分類:(1)按解決的問題可分為:程序設(shè)計(jì)環(huán)境、系統(tǒng)合成環(huán)境、項(xiàng)目管理環(huán)境三類。(2)按軟件開發(fā)環(huán)境的演變趨向可分為:以語言為中心的環(huán)境、工具箱環(huán)境和基于方法的環(huán)境三類。(3)按集成化程度有第一代、第二代、第三代的開發(fā)環(huán)境。

      3、何謂軟件工具?通常包含哪幾部分?答:軟件工具的定義是:可用來幫助和支持軟件需求分析、軟件開發(fā)、測試、維護(hù)、模擬、移植或管理而編制的計(jì)算機(jī)程序或軟件。軟件工具是一個(gè)程序系統(tǒng)。軟件工具通常由工具、工具接口和工具用戶接口三部分構(gòu)成。

      4、當(dāng)今軟件工具發(fā)展有何特點(diǎn)? 答:軟件工具的發(fā)展有以下特點(diǎn):(1)軟件工具由單個(gè)工具向多個(gè)工具集成化方向發(fā)展。(2)重視用戶界面設(shè)計(jì)。(3)不斷地采用新理論和新技術(shù)。(4)軟件工具的商品化與軟件產(chǎn)業(yè)的發(fā)展形成良性互動(dòng)。

      5、什么是CASE?CASE工具有哪些分類?答:CASE是一組工具和方法的集合,可以輔助軟件開發(fā)生命周期各階段進(jìn)行軟件開發(fā)。CASE把軟件開發(fā)技術(shù)、軟件工具和軟件開發(fā)方法集成到一個(gè)統(tǒng)一而一致的架中,并且吸收了CAD(計(jì)算機(jī)輔助設(shè)計(jì))、軟件工程、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)和許多其他計(jì)算機(jī)領(lǐng)域的原理和技術(shù)。因而,CASE領(lǐng)域是一個(gè)應(yīng)用、集成和綜合的領(lǐng)域。根據(jù)CASE系統(tǒng)對(duì)軟件過程的支持范圍,CASE可分為三類:(1)支持單個(gè)過程任務(wù)的工具。(2)支持某一過程所有活動(dòng)或某些活動(dòng)的工作臺(tái)。(3)環(huán)境支持軟件過程大部分乃至所有活動(dòng),一般包括幾個(gè)不同工作臺(tái)的集合。

      6、請(qǐng)敘述集成化CASE的五級(jí)模型。答:集成化CASE的五級(jí)模型包括(1)平臺(tái)集成:工具運(yùn)行在相同的硬件/操作系統(tǒng)平臺(tái)上(2)數(shù)據(jù)集成:工具使用共享數(shù)據(jù)模型來操作(3)表示集成:工具使用相同的用戶界面(4)控制集成:工具激活后能控制其他操作(5)過程集成:工具在一個(gè)過程模型和“過程機(jī)”的指導(dǎo)下使用

      7、CASE工作臺(tái)有哪些分類? 答:CASE工具臺(tái)是一組工具集,支持像設(shè)計(jì)、實(shí)現(xiàn)或測試等特定的軟件開發(fā)階段。CASE工具組裝成一個(gè)工具臺(tái)后工具能協(xié)同工作,可提供比單一工具更好的支持。CASE工作臺(tái)包括:(1)程序設(shè)計(jì)工作臺(tái)。由支持程序設(shè)計(jì)的一組工具組成。(2)分析和設(shè)計(jì)工作臺(tái)。支持軟件過程的分析和設(shè)計(jì)階段。(3)測試工作臺(tái)。(4)交叉開發(fā)工作臺(tái)。這些工作臺(tái)支持在一種機(jī)器上開發(fā)軟件,而在其他的系統(tǒng)上運(yùn)行所開發(fā)的軟件。(5)配置管理(CM)工作臺(tái)。這些工作臺(tái)支持配置管理。(6)文檔工作臺(tái)。這些工具支持高質(zhì)量文檔的制作。(7)項(xiàng)目管理工作臺(tái)。支持項(xiàng)目管理活動(dòng)。

      下載軟件工程課后答案word格式文檔
      下載軟件工程課后答案.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        課后答案

        (各個(gè)學(xué)院都有,看了包你睡得香,從此不掛科~~~) 來源: 左綠水的日志【千份熱門課后習(xí)題答案大全】 ▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆ 《新視野大學(xué)英語......

        軟件工程試題及答案

        軟件工程試題及解答 一,單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分) 在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的橫線上。 1.可行性......

        軟件工程試題及答案

        1、瀑布模型把軟件生命周期劃分為8個(gè)階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和運(yùn)行、維護(hù)。八個(gè)階段又可歸納為三個(gè)大的階段:計(jì)劃階......

        廣工2010軟件工程答案

        一、說明軟件生命周期的組成并簡單說明每個(gè)組成的主要任務(wù) 答:軟件生命周期可以有四部分組成,它們分別是: 1,軟件分析時(shí)期。這個(gè)時(shí)期的根本任務(wù)是確定軟件項(xiàng)目的目標(biāo),軟件應(yīng)具備......

        軟件工程答案(共五則范文)

        軟件工程課后習(xí)題答案 殷鋒主編·天津科學(xué)技術(shù)出版社 注:有些可能錯(cuò)誤,讀者自己注意 第一章一、 填空題:1、 軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括、、及相關(guān)文檔......

        市場營銷課后答案。

        第一章 珠江鋼琴走向國際市場 問題:1.珠江鋼琴成功拓展美國市場的關(guān)鍵是什么?能否具體描述并分析其策略框架?答:珠江鋼琴成功拓展美國市場的關(guān)鍵是營銷給珠江鋼琴插上了騰飛的翅......

        課后作業(yè)答案

        答:一、文體特色首先,我們要明確《野草》作為魯迅開創(chuàng)的“獨(dú)語體”散文已經(jīng)成為現(xiàn)代文學(xué)的經(jīng)典之作。它開創(chuàng)了中國現(xiàn)代散文詩之先河。作為兼有詩歌和抒情散文特點(diǎn)的一種文學(xué)體......

        現(xiàn)代漢語課后答案

        “修辭”思考和練習(xí)四 一、分析下列各句中的比喻,說明各是哪種類型,它們的修辭效果如何。①人需要真理,就像莊稼需要陽光、雨露才能生長、開花、結(jié)果一樣。 這句的比喻是明喻,......