版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程概述1﹑軟件產(chǎn)品的特性是什么?產(chǎn)品特性:⑴是一種邏輯產(chǎn)品,與物質(zhì)產(chǎn)品有很大的區(qū)別。⑵軟件產(chǎn)品的生產(chǎn)重要是研制,生產(chǎn)成本重要在開(kāi)發(fā)和研制,開(kāi)發(fā)研制完畢后,通過(guò)復(fù)制就產(chǎn)生了大量軟件產(chǎn)品。⑶軟件產(chǎn)品不會(huì)用壞,不存在磨損,消耗。⑷生產(chǎn)重要是腦力勞動(dòng),還末完全擺脫手工開(kāi)發(fā)方式,大部分產(chǎn)品是"定做"的⑸開(kāi)發(fā)軟件的費(fèi)用不斷增長(zhǎng),致使生產(chǎn)成本相稱(chēng)昂貴。2﹑軟件生產(chǎn)有幾個(gè)階段?各有何特性?⑴程序設(shè)計(jì)時(shí)代:這個(gè)階段生產(chǎn)方式是個(gè)體勞動(dòng),使用的生產(chǎn)工具是機(jī)器語(yǔ)言,匯編語(yǔ)言。⑵程序系統(tǒng)時(shí)代:這個(gè)階段生產(chǎn)方式是小集團(tuán)合作生產(chǎn),使用的生產(chǎn)工具是高級(jí)語(yǔ)言,開(kāi)發(fā)方法仍依靠個(gè)人技巧,但開(kāi)始提出結(jié)構(gòu)化方法。⑶軟件工程時(shí)代:這個(gè)階段生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫(kù)﹑開(kāi)發(fā)工具﹑開(kāi)發(fā)環(huán)境﹑網(wǎng)絡(luò)﹑分布式﹑面向?qū)ο蠹夹g(shù)來(lái)開(kāi)發(fā)軟件。3﹑什么是軟件危機(jī)?重要表現(xiàn)在哪些方面?軟件開(kāi)發(fā)技術(shù)的進(jìn)步未能滿足發(fā)展的規(guī)定。在軟件開(kāi)發(fā)中碰到的問(wèn)題找不到解決的辦法,問(wèn)題積累起來(lái),形態(tài)鋒利的矛盾,導(dǎo)致了軟件危機(jī)。表現(xiàn)方面:(1)用戶對(duì)開(kāi)發(fā)出的軟件很難滿意。(2)軟件產(chǎn)品的質(zhì)量往往靠不住。(3)一般軟件很難維護(hù)。(4)軟件生產(chǎn)效率很低。(5)軟件開(kāi)發(fā)成本越來(lái)越大。(6)軟件成本與開(kāi)發(fā)進(jìn)度難以估計(jì)。(7)軟件技術(shù)的發(fā)展遠(yuǎn)遠(yuǎn)滿足不了計(jì)算機(jī)應(yīng)用的普及與進(jìn)一步的需要。4﹑什么是軟件工程?它目的和內(nèi)容是什么?軟件工程:就是用科學(xué)的知識(shí)工程和技術(shù)原理來(lái)定義,開(kāi)發(fā),維護(hù)軟件的一門(mén)學(xué)科。軟件工程的目的:付出較低開(kāi)發(fā)成本;達(dá)成規(guī)定的功能;取得較好的性能;開(kāi)發(fā)的軟件易于移植;只需較低的維護(hù)費(fèi)用;能準(zhǔn)時(shí)完畢開(kāi)發(fā)任務(wù),及時(shí)交付使用;開(kāi)發(fā)的軟件可靠性高。軟件工程的內(nèi)容:研究?jī)?nèi)容涉及開(kāi)發(fā)技術(shù)和開(kāi)發(fā)管理兩個(gè)方面。開(kāi)發(fā)技術(shù)重要研究:軟件開(kāi)發(fā)方法,開(kāi)發(fā)過(guò)程,開(kāi)發(fā)工具和環(huán)境。開(kāi)發(fā)管理重要研究:軟件管理學(xué),軟件經(jīng)濟(jì)學(xué),軟件心理學(xué)。5﹑軟件工程面臨的問(wèn)題是什么?軟件工程需要解決的問(wèn)題:軟件的費(fèi)用,可靠性,可維護(hù)性,軟件生產(chǎn)率和軟件的重用。6﹑什么是軟件生存周期?它有哪幾個(gè)活動(dòng)?軟件生存周期:一個(gè)軟件從提出開(kāi)發(fā)規(guī)定開(kāi)始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。涉及:可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),具體設(shè)計(jì),編碼,測(cè)試,維護(hù)。7﹑什么是軟件生存周期模型?有哪些重要模型?生存周期模型:描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。對(duì)軟件開(kāi)發(fā)提供強(qiáng)有力的支持,為開(kāi)發(fā)過(guò)程中的活動(dòng)提供統(tǒng)一的政策保證,為參與開(kāi)發(fā)的人員提供幫助和指導(dǎo),是軟件生存周期模型化技術(shù)的基礎(chǔ),也是建立軟件開(kāi)發(fā)環(huán)境的核心。重要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識(shí)的模型,變換模型。8﹑什么是軟件開(kāi)發(fā)方法?有哪些重要方法?使用早已定義好的技術(shù)集及符號(hào)表達(dá)習(xí)慣來(lái)組織軟件生產(chǎn)的過(guò)程。通過(guò)使用成功的軟件開(kāi)發(fā)方法,在規(guī)定的投資和時(shí)間內(nèi),開(kāi)發(fā)出符合用戶需求的高質(zhì)量的軟件。軟件開(kāi)發(fā)方法是克服軟件危機(jī)的重要方面之一,對(duì)軟件工程及軟件包產(chǎn)業(yè)的發(fā)展起了不可估量的作用。重要有:結(jié)構(gòu)化方法,JACKSON方法,維也納開(kāi)發(fā)方法﹙VDM﹚,面向?qū)ο箝_(kāi)發(fā)方法。9、軟件工程方法學(xué)包含3個(gè)要素分別是什么?分別是:方法、工具和過(guò)程。方法是完畢軟件開(kāi)發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“如何做”的問(wèn)題;工具是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境;過(guò)程是為了獲得高質(zhì)量的軟件所需要完畢的一系列任務(wù)的框架,它規(guī)定了完畢各項(xiàng)任務(wù)的工作環(huán)節(jié)。10、什么是軟件過(guò)程?為了獲得高質(zhì)量軟件所需要完畢的一系列任務(wù)的框架,規(guī)定了完畢各項(xiàng)任務(wù)的工作環(huán)節(jié)。在完畢開(kāi)發(fā)任務(wù)時(shí)必須進(jìn)行一些開(kāi)發(fā)活動(dòng),并且使用適當(dāng)?shù)馁Y源,在過(guò)程結(jié)束時(shí)將把輸入轉(zhuǎn)化為輸出。11、瀑布模型的特點(diǎn)及優(yōu)點(diǎn)?特點(diǎn):(1)各個(gè)階段的順序性和依賴性;(2)劃分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡也許推遲程序的物理實(shí)現(xiàn);(3)每個(gè)階段必須完畢規(guī)定的文檔,對(duì)其中問(wèn)題通過(guò)復(fù)審及早發(fā)現(xiàn),及早解決。優(yōu)點(diǎn):可逼迫開(kāi)發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù));嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔;規(guī)定每個(gè)階段交出的所有產(chǎn)品都必須通過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證。12、螺旋模型的優(yōu)點(diǎn)?對(duì)可選方案和約束條件的強(qiáng)調(diào)有助于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開(kāi)發(fā)的一個(gè)重要目的;減少了過(guò)多測(cè)試(浪費(fèi)資金)或測(cè)試局限性(產(chǎn)品故障多)所帶來(lái)的風(fēng)險(xiǎn);在螺旋模型中維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開(kāi)發(fā)之間并沒(méi)有本質(zhì)區(qū)別。螺旋模型重要合用于內(nèi)部開(kāi)發(fā)的大規(guī)模軟件項(xiàng)目。項(xiàng)目越大,風(fēng)險(xiǎn)也越大,因此,進(jìn)行風(fēng)險(xiǎn)分析的必要性也越大。此外,只有內(nèi)部開(kāi)發(fā)的項(xiàng)目,才干在風(fēng)險(xiǎn)過(guò)大時(shí)方便地中止項(xiàng)目。13、快速原型的分類(lèi)、特點(diǎn)及使用策略?分類(lèi):探索型、實(shí)驗(yàn)型、進(jìn)化型特點(diǎn):盡快向用戶提供一個(gè)可在計(jì)算機(jī)上運(yùn)營(yíng)的目的系統(tǒng)的模型,以便使用戶和開(kāi)發(fā)者在目的系統(tǒng)應(yīng)當(dāng)“做什么”這個(gè)問(wèn)題上盡也許快地達(dá)成共識(shí)??焖僭蛻?yīng)當(dāng)具有的第一個(gè)特點(diǎn)是“快速”;快速原型應(yīng)當(dāng)具有的第二個(gè)特點(diǎn)是“容易修改”。原型的“修改—試用—反饋”過(guò)程也許反復(fù)多遍。使用策略:廢棄策略和追加策略。14、軟件工程的目的?付出較低開(kāi)發(fā)成本;達(dá)成規(guī)定的功能;取得較好的性能;開(kāi)發(fā)的軟件易于移植;只需較低的維護(hù)費(fèi)用;能準(zhǔn)時(shí)完畢開(kāi)發(fā)任務(wù),及時(shí)交付使用;開(kāi)發(fā)的軟件可靠性高。15、軟件開(kāi)發(fā)技術(shù)重要研究?jī)?nèi)容?軟件開(kāi)發(fā)方法,開(kāi)發(fā)過(guò)程,開(kāi)發(fā)工具和環(huán)境。16、軟件開(kāi)發(fā)管理重要研究?jī)?nèi)容?軟件管理學(xué),軟件經(jīng)濟(jì)學(xué),軟件心理學(xué)。17、快速原型開(kāi)發(fā)的環(huán)節(jié)?快速開(kāi)發(fā)、需求、構(gòu)造原形、原形、運(yùn)營(yíng)原形、評(píng)價(jià)原形、修改意見(jiàn)。18、某計(jì)算機(jī)系統(tǒng)投入使用后、5年內(nèi)每年可節(jié)省人民幣2O0O元,假設(shè)系統(tǒng)的投資額為5000元,年利率為12%。試計(jì)算投資回收期和純收入??尚行匝芯?、可行性研究的任務(wù)是什么?可行研究的任務(wù):一方面需要進(jìn)行概要的分析研究,初步擬定項(xiàng)目的規(guī)模,目的,約束和限制。分析員再進(jìn)行簡(jiǎn)要的需求分析,抽象出項(xiàng)目的邏輯結(jié)構(gòu),建立邏輯模型。從邏輯模型出發(fā),通過(guò)壓縮的設(shè)計(jì),探索出若干種可供選擇的解決方法,對(duì)每種解決方法都要研究它的可行性。重要從四個(gè)方面考慮:⑴.技術(shù)可行性:一般要考慮的情況涉及開(kāi)發(fā)的風(fēng)險(xiǎn)即設(shè)計(jì)出的系統(tǒng)能否達(dá)成規(guī)定的功能和性能;資源的有效性;相關(guān)技術(shù)的發(fā)展是否支持;⑵.經(jīng)濟(jì)可行性:進(jìn)行開(kāi)發(fā)成本的估算以及了解取得效益的評(píng)估,擬定要開(kāi)發(fā)的項(xiàng)目是否值得投資。⑶.法律可行性:要開(kāi)發(fā)的項(xiàng)目是否存在任何侵權(quán)問(wèn)題。(4).管理可行性:運(yùn)營(yíng)方式在用戶組織內(nèi)是否可行,現(xiàn)有管理制度﹑人員素質(zhì)﹑操作方式是否可行。2、可行性研究有哪些環(huán)節(jié)?⑴.?dāng)M定項(xiàng)目規(guī)模和目的;⑵.研究正在運(yùn)營(yíng)的系統(tǒng);收集﹑研究﹑分析現(xiàn)有系統(tǒng)的文檔資料,實(shí)地考察系統(tǒng)訪問(wèn)有關(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)目是否值得開(kāi)發(fā),若值得開(kāi)發(fā)那么解決方案是什么,并且說(shuō)明該方案可行的因素和理由。⑹.編寫(xiě)可行性研究報(bào)告;將上述可行性過(guò)程的結(jié)果寫(xiě)成相應(yīng)文檔,即可行性研究報(bào)告。3、可行性研究過(guò)程涉及哪些?1.復(fù)查系統(tǒng)規(guī)模和目的2.研究目前正在使用的系統(tǒng)3.導(dǎo)出新系統(tǒng)的高層邏輯模型4.進(jìn)一步定義問(wèn)題5.導(dǎo)出和評(píng)價(jià)供選擇的解法6.推薦行動(dòng)方針7.草擬開(kāi)發(fā)計(jì)劃8.書(shū)寫(xiě)文檔提交審查4、什么是數(shù)據(jù)流圖?其作用是什么?數(shù)據(jù)流圖(DFD):以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動(dòng)和解決的邏輯過(guò)程。只反映系統(tǒng)必須完畢的邏輯功能,是一種功能模型。5、什么是數(shù)據(jù)字典?其作用是什么?共有哪些條目?數(shù)據(jù)字典(DD)用來(lái)定義數(shù)據(jù)庫(kù)流圖中的各個(gè)成分的具體含義。有以下四類(lèi)條目:數(shù)據(jù)流,數(shù)據(jù)項(xiàng),數(shù)據(jù)存儲(chǔ),基本加工。6、成本--效益分析可用哪些指標(biāo)進(jìn)行度量?⑴.投資回收率:通常把建立系統(tǒng)若干年后能取得的收益折算成現(xiàn)在的價(jià)值和開(kāi)發(fā)系統(tǒng)所需的費(fèi)用進(jìn)行比較得出投資回收率。⑵.投資回收期:就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。⑶.純收入:整個(gè)生存周期之內(nèi)的累計(jì)經(jīng)濟(jì)效益(折成現(xiàn)在值)與投資之差。7、某圖書(shū)管理系統(tǒng)有以下功能:⑴借書(shū):輸入讀者借書(shū)證。系統(tǒng)一方面檢查借書(shū)證是否有效,若有效,對(duì)于第一次借書(shū)的讀者,在借書(shū)證上建立檔案。否則,查閱借書(shū)文獻(xiàn),檢查該讀者所借圖書(shū)是否超過(guò)10本,若已達(dá)10,拒借,末達(dá)10本,辦理借書(shū)(檢查庫(kù)存,修改庫(kù)存目錄并將讀者借書(shū)情況錄入借書(shū)文獻(xiàn)。)⑵還書(shū):從借書(shū)文獻(xiàn)中讀出與讀者有關(guān)的記錄,查閱所借日期,如超期(3個(gè)月)作罰款解決。否則,修改庫(kù)存目錄與借書(shū)文獻(xiàn)。⑶查詢:通過(guò)借書(shū)文獻(xiàn),庫(kù)存目錄文獻(xiàn)查詢讀者情況﹑圖書(shū)借閱及庫(kù)存情況,打印登記表。解:
???
8、某銀行的計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)功能是:將儲(chǔ)戶的存戶填寫(xiě)的存款單或存款單輸入系統(tǒng),假如是存款,系統(tǒng)記錄存款人姓名﹑住址﹑存款類(lèi)型﹑存款日期﹑利率等信息,并打印出存款單給儲(chǔ)戶;假如是取款,系記錄算清單給儲(chǔ)戶。請(qǐng)用DFD,IDEF0描繪該功能的需求,并建立相應(yīng)數(shù)據(jù)字典。9、一個(gè)考務(wù)解決系統(tǒng)的規(guī)定如下,試畫(huà)出該系統(tǒng)的數(shù)據(jù)流圖。(1)對(duì)考生送來(lái)的報(bào)名表進(jìn)行檢查;(2)對(duì)合格的報(bào)名表編好準(zhǔn)考證號(hào)碼后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;(3)對(duì)閱卷站送來(lái)的成績(jī)表進(jìn)行檢查,并根據(jù)考試中心指定的合格標(biāo)準(zhǔn)審定合格者;(4)填寫(xiě)考生告知單(內(nèi)容包含考試成績(jī)及合格∕不合格標(biāo)志),送給考生;(5)按地區(qū)、年齡、文化限度、職業(yè)、考試級(jí)別等進(jìn)行成績(jī)分類(lèi)記錄及試題難度分析,產(chǎn)生記錄分析表。(1)頂層數(shù)據(jù)流圖???(2)第1層數(shù)據(jù)流圖?
(3)第2層數(shù)據(jù)流圖
加工1子圖:
?加工2子圖:10、系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具,表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,11、原型化方法重要用于解決什么問(wèn)題?試說(shuō)明這種方法的重要優(yōu)缺陷。原型化方法重要用于解決在產(chǎn)品開(kāi)發(fā)的初期階段需求不擬定的問(wèn)題,用戶、經(jīng)理和其他非技術(shù)項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者發(fā)現(xiàn)在擬定和開(kāi)發(fā)產(chǎn)品時(shí),原型可以使他們的想象更具體化。這種方法的重要優(yōu)點(diǎn)如下:(1)
明確并完善需求原型作為一種需求工具,它初步實(shí)現(xiàn)所理解的系統(tǒng)的一部分,用戶對(duì)原型的評(píng)價(jià)可以指出需求中的許多問(wèn)題。(2)
探索設(shè)計(jì)選擇方案原型作為一種設(shè)計(jì)工具,可以探索不同的用戶界面技術(shù),使系統(tǒng)達(dá)成最佳的可用性,并且可以評(píng)價(jià)也許的技術(shù)方案。(3)
發(fā)展為最終的產(chǎn)品原型作為一種構(gòu)造工具,是產(chǎn)品最初子集的完整功能實(shí)現(xiàn),通過(guò)一系列小規(guī)模的開(kāi)發(fā)循環(huán),你可以完畢整個(gè)產(chǎn)品的開(kāi)發(fā)。(4)
這種方法的重要缺陷涉及:(1)
用戶看到一個(gè)正在運(yùn)營(yíng)的原型便認(rèn)為產(chǎn)品即將完畢,他們會(huì)規(guī)定不再進(jìn)行產(chǎn)品重建,而只是對(duì)原型進(jìn)行一些修改就交付。由于原型沒(méi)有考慮軟件的總體質(zhì)量和可維護(hù)性,交付原型往往導(dǎo)致"欲速則不達(dá)"的情況。(2)開(kāi)發(fā)人員為了快速構(gòu)造原型,也許會(huì)采用不合適的操作系統(tǒng)或程序設(shè)計(jì)語(yǔ)言,也也許使用一些效率低的算法。在一段時(shí)間的開(kāi)發(fā)之后,他們往往已經(jīng)習(xí)慣了這些選擇,于是便在系統(tǒng)中參雜了這些不抱負(fù)的選擇。需求分析1、什么是需求分析?需求分析階段的基本任務(wù)是什么?需求分析:開(kāi)發(fā)人員準(zhǔn)確地理解用戶的規(guī)定,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的需求規(guī)格說(shuō)明的過(guò)程。基本任務(wù):⑴問(wèn)題辨認(rèn):雙方擬定對(duì)問(wèn)題的綜合需求,這些需求涉及功能需求,性能需求,環(huán)境需求,用戶界面需求。⑵分析與綜合,導(dǎo)出軟件的邏輯模型。⑶編寫(xiě)文檔:涉及編寫(xiě)"需求規(guī)格說(shuō)明書(shū)","初步用戶使用手冊(cè)","確認(rèn)測(cè)試計(jì)劃","修改完善軟件開(kāi)發(fā)計(jì)劃"。2、什么是結(jié)構(gòu)分析方法?該方法使用什么描述工具?結(jié)構(gòu)化分析:簡(jiǎn)稱(chēng)SA,面向數(shù)據(jù)流進(jìn)行數(shù)據(jù)分析的方法。采用自頂向下逐層分解的分析策略。頂層抽象地描述整個(gè)系統(tǒng),底層具體地畫(huà)出系統(tǒng)工程的每個(gè)細(xì)節(jié)。中間層則是從抽象到具體的過(guò)渡。使用數(shù)據(jù)流圖,數(shù)據(jù)字典,作為描述工具,使用結(jié)構(gòu)化語(yǔ)言,鑒定表,鑒定樹(shù)描述加工邏輯。3、結(jié)構(gòu)化分析方法通過(guò)哪些環(huán)節(jié)來(lái)實(shí)現(xiàn)?⑴了解當(dāng)前系統(tǒng)的工作流程,獲得當(dāng)前系統(tǒng)的物理模型。⑵抽象出當(dāng)前系統(tǒng)的邏輯模型。⑶建立目的系統(tǒng)的邏輯模型。⑷作進(jìn)一步補(bǔ)充和優(yōu)化。4、E-R圖中包含哪幾種種基本成分?實(shí)體(即數(shù)據(jù)對(duì)象)、關(guān)系和屬性5、聯(lián)系可分為哪幾種類(lèi)型?一對(duì)一聯(lián)系(1∶1),一對(duì)多聯(lián)系(1∶N),多對(duì)多聯(lián)系(M∶N)6、為什么要進(jìn)行數(shù)據(jù)結(jié)構(gòu)規(guī)范化?為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異?;騽h除異常,簡(jiǎn)化修改數(shù)據(jù)的過(guò)程。7、第一范式每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡(jiǎn)樸值而不含內(nèi)部結(jié)構(gòu)。8、第二范式滿足第一范式條件,并且每個(gè)非關(guān)鍵字屬性都由整個(gè)關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來(lái)決定),消除了非關(guān)鍵字屬性對(duì)關(guān)鍵字屬性的部分依賴。9、第三范式符合第二范式的條件,每個(gè)非關(guān)鍵字屬性都僅由關(guān)鍵字決定,并且一個(gè)非關(guān)鍵字屬性不能僅僅是對(duì)另一個(gè)非關(guān)鍵字屬性的進(jìn)一步描述(即一個(gè)非關(guān)鍵字屬性值不依賴于另一個(gè)非關(guān)鍵字屬性值),消除了非關(guān)鍵字屬性對(duì)關(guān)鍵字屬性的傳遞依賴。10、S-L-C(SNO,SDEPT,SLOC,CNO,G),這里SNO表達(dá)學(xué)號(hào),SDEPT表達(dá)系名,SLOC表達(dá)樓號(hào),CNO表達(dá)課程號(hào),G表達(dá)成績(jī)。函數(shù)依賴有:(SNO,CNO)→G;SDEPT→SLO(píng)C;SNO→SDEPT,對(duì)關(guān)系進(jìn)行規(guī)范化,達(dá)成三范式規(guī)定。(1)SC(SNO,CNO,G)和(2)S-D(SNO,SDEPT,)(3)S-L(SDEPT,SLOC)11、狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖(簡(jiǎn)稱(chēng)為狀態(tài)圖)通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表達(dá)系統(tǒng)的行為。提供了行為建模機(jī)制。12、層次方框圖層次方框圖用樹(shù)形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹(shù)形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分割的元素)。13、IPO圖IPO圖是輸入、解決、輸出圖的簡(jiǎn)稱(chēng),可以方便地描繪輸入數(shù)據(jù)、對(duì)數(shù)據(jù)的解決和輸出數(shù)據(jù)之間的關(guān)系。14、從哪些方面驗(yàn)證軟件需求的對(duì)的性(1)一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。(2)完整性需求必須是完整的,規(guī)格說(shuō)明書(shū)應(yīng)當(dāng)涉及用戶需要的每一個(gè)功能或性能。(3)現(xiàn)實(shí)性指定的需求應(yīng)當(dāng)是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。對(duì)硬件技術(shù)的進(jìn)步可以做些預(yù)測(cè),對(duì)軟件技術(shù)的進(jìn)步則很難做出預(yù)測(cè),只能從現(xiàn)有技術(shù)水平出發(fā)判斷需求的現(xiàn)實(shí)性。(4)有效性必須證明需求是對(duì)的有效的,的確能解決用戶面對(duì)的問(wèn)題??傮w設(shè)計(jì)1、什么是總體設(shè)計(jì)?總體設(shè)計(jì)的任務(wù)是什么?總體設(shè)計(jì)又稱(chēng)為概要設(shè)計(jì)或初步設(shè)計(jì)。擬定系統(tǒng)功能是實(shí)現(xiàn)?;救蝿?wù)是:建立軟件系統(tǒng)結(jié)構(gòu)(劃分模塊、定義模塊功能、模塊間的調(diào)用關(guān)系、定義模塊的接口、評(píng)價(jià)模塊的質(zhì)量)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)的設(shè)計(jì)(數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì))、編寫(xiě)概要設(shè)計(jì)文檔(概要設(shè)計(jì)說(shuō)明書(shū)、用戶手冊(cè)、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)、修訂測(cè)試計(jì)劃)。2、總體設(shè)計(jì)分為哪兩個(gè)階段?系統(tǒng)設(shè)計(jì)階段,擬定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì)階段,擬定軟件結(jié)構(gòu)。3、總體設(shè)計(jì)過(guò)程涉及幾個(gè)環(huán)節(jié)?1.設(shè)想供選擇的方案2.選取合理的方案3.推薦最佳方案4.功能分解5.設(shè)計(jì)軟件結(jié)構(gòu)6.設(shè)計(jì)數(shù)據(jù)庫(kù)7.制定測(cè)試計(jì)劃8.書(shū)寫(xiě)文檔9.審查和復(fù)審4、模塊化是把程序劃提成獨(dú)立命名且可獨(dú)立訪問(wèn)的模塊,每個(gè)模塊完畢一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完畢指定的功能滿足用戶的需求。5、模塊化的優(yōu)點(diǎn)(1)模塊化使軟件容易測(cè)試和調(diào)試,因而有助于提高軟件的可靠性。(2)模塊化也有助于軟件開(kāi)發(fā)工程的組織管理。6、抽象就是抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。7、抽象化涉及哪些?過(guò)程的抽象、數(shù)據(jù)抽象。8、模塊的獨(dú)立限度的定性標(biāo)準(zhǔn)度量是什么?好的模塊應(yīng)滿足什么標(biāo)準(zhǔn)?內(nèi)聚和耦合;高內(nèi)聚低耦合。9、什么耦合?模塊間的耦合有哪些?指衡量不同模塊彼此間互相依賴(連接)的緊密限度;有非直接耦合、標(biāo)記耦合、數(shù)據(jù)耦合、控制耦合、外部耦合、公共耦合和內(nèi)容耦合。10、非直接耦合假如兩個(gè)模塊之間沒(méi)有直接關(guān)系,它們之間的聯(lián)系完全是通過(guò)主模塊的控制和調(diào)用來(lái)實(shí)現(xiàn)的,這就是非直接耦合。這種耦合的模塊獨(dú)立性最強(qiáng)。11、標(biāo)記耦合假如一組模塊通過(guò)參數(shù)表傳遞記錄信息,就是標(biāo)記耦合。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)樸變量。12、數(shù)據(jù)耦合假如一個(gè)模塊訪問(wèn)另一個(gè)模塊時(shí),彼此之間是通過(guò)簡(jiǎn)樸數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量)來(lái)互換輸入、輸出信息的,則稱(chēng)這種耦合為數(shù)據(jù)耦合。13、控制耦合假如一個(gè)模塊通過(guò)傳送開(kāi)關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。14、外部耦合一組模塊都訪問(wèn)同一全局簡(jiǎn)樸變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),并且不是通過(guò)參數(shù)表傳遞該全局變量的信息,則稱(chēng)之為外部耦合。15、公共耦合若一組模塊都訪問(wèn)同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱(chēng)為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。16、內(nèi)容耦合假如發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合
(1)一個(gè)模塊直接訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù);?(2)一個(gè)模塊不通過(guò)正常入口轉(zhuǎn)到另一模塊內(nèi)部;?(3)兩個(gè)模塊有一部分程序代碼重迭(只也許出現(xiàn)在匯編語(yǔ)言中);?(4)一個(gè)模塊有多個(gè)入口。17、內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密限度。功能內(nèi)聚,信息內(nèi)聚,通信內(nèi)聚,過(guò)程內(nèi)聚,時(shí)間內(nèi)聚,邏輯內(nèi)聚,巧合內(nèi)聚。19、功能內(nèi)聚一個(gè)模塊中各個(gè)部分都是完畢某一具體功能必不可少的組成部分,或者說(shuō)該模塊中所有部分都是為了完畢一項(xiàng)具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。則稱(chēng)該模塊為功能內(nèi)聚模塊。20、信息內(nèi)聚這種模塊完畢多個(gè)功能,各個(gè)功能都在同一數(shù)據(jù)結(jié)構(gòu)上操作,每一項(xiàng)功能有一個(gè)唯一的入口點(diǎn)。這個(gè)模塊將根據(jù)不同的規(guī)定,擬定該執(zhí)行哪一個(gè)功能。由于這個(gè)模塊的所有功能都是基于同一個(gè)數(shù)據(jù)結(jié)構(gòu)(符號(hào)表),因此,它是一個(gè)信息內(nèi)聚的模塊。21、通信內(nèi)聚假如一個(gè)模塊內(nèi)各功能部分都使用了相同的輸入數(shù)據(jù),或產(chǎn)生了相同的輸出數(shù)據(jù),則稱(chēng)之為通信內(nèi)聚模塊。通常,通信內(nèi)聚模塊是通過(guò)數(shù)據(jù)流圖來(lái)定義的。22、過(guò)程內(nèi)聚使用流程圖做為工具設(shè)計(jì)程序時(shí),把流程圖中的某一部分劃出組成模塊,就得到過(guò)程內(nèi)聚模塊。例如,把流程圖中的循環(huán)部分、鑒定部分、計(jì)算部分提成三個(gè)模塊,這三個(gè)模塊都是過(guò)程內(nèi)聚模塊。23、時(shí)間內(nèi)聚時(shí)間內(nèi)聚又稱(chēng)為經(jīng)典內(nèi)聚。這種模塊大多為多功能模塊,但模塊的各個(gè)功能的執(zhí)行與時(shí)間有關(guān),通常規(guī)定所有功能必須在同一時(shí)間段內(nèi)執(zhí)行。例如初始化模塊和終止模塊。24、邏輯內(nèi)聚這種模塊把幾種相關(guān)的功能組合在一起,每次被調(diào)用時(shí),由傳送給模塊的鑒定參數(shù)來(lái)擬定該模塊應(yīng)執(zhí)行哪一種功能。25、巧合內(nèi)聚巧合內(nèi)聚又稱(chēng)為偶爾內(nèi)聚。當(dāng)模塊內(nèi)各部分之間沒(méi)有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很松散,則稱(chēng)這種模塊為巧合內(nèi)聚模塊,它是內(nèi)聚限度最低的模塊。26、扇出是一個(gè)模塊直接控制(調(diào)用)的模塊數(shù)目。27、扇入一個(gè)模塊的扇入表白有多少個(gè)上級(jí)模塊直接調(diào)用它。28、模塊的作用域定義為受該模塊內(nèi)一個(gè)鑒定影響的所有模塊的集合。29、模塊的控制域是這個(gè)模塊自身以及所有直接或間接從屬于它的模塊的集合。30、模塊化的優(yōu)點(diǎn)。模塊化使軟件容易測(cè)試和調(diào)試,因而有助于提高軟件的可靠性,提高軟件的可修改性。模塊化也有助于軟件開(kāi)發(fā)工程的組織管理。31、逐步求精、分層過(guò)程與抽象等概念之間的互相關(guān)系如何?“自頂向下,逐步求精”是NiklausWirth提出的設(shè)計(jì)策略:即將軟件的體系結(jié)構(gòu)按自頂向下方式,對(duì)各個(gè)層次的過(guò)程細(xì)節(jié)和數(shù)據(jù)細(xì)節(jié)逐層細(xì)化,直到用程序設(shè)計(jì)語(yǔ)言的語(yǔ)句可以實(shí)現(xiàn)為止,從而最后確立整個(gè)的體系結(jié)構(gòu)。這樣的結(jié)構(gòu)實(shí)際就是一個(gè)模塊的分層結(jié)構(gòu),即分層的過(guò)程。在實(shí)行時(shí),采用抽象化的方法,自頂向下,給出不同的抽象層次。在最高的抽象層次上,可以使用問(wèn)題所處環(huán)境的語(yǔ)言概括地描述問(wèn)題的解法。而在較低的抽象層次上,則采用過(guò)程化的方法。在描述問(wèn)題的解法時(shí),我們可以配合使用面向問(wèn)題的術(shù)語(yǔ)和面向現(xiàn)實(shí)的術(shù)語(yǔ)。但最后在最低的抽象層次上,應(yīng)使用可以直接實(shí)現(xiàn)的方式來(lái)描述這個(gè)解法。32、什么是軟件結(jié)構(gòu)圖?簡(jiǎn)述軟件結(jié)構(gòu)設(shè)計(jì)優(yōu)化準(zhǔn)則。軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來(lái)程序的控制體系。準(zhǔn)則:高內(nèi)聚低耦合、作用范圍在控制范圍內(nèi)、軟件的深度、寬度、扇入、扇出適當(dāng)、模塊大小適中、接口簡(jiǎn)樸清楚易懂。33、什么是模塊的控制范圍和作用范圍?他們的關(guān)系如何?控制范圍:是模塊自身和它的下屬模塊的集合。作用范圍:模塊中的一個(gè)鑒定影響的所有模塊的集合。作用范圍應(yīng)當(dāng)在控制范圍內(nèi)。33、什么是變換流?什么是事物流?變換流由輸入、變換(或解決)、輸出三部分組成。事物流某個(gè)加工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工途徑,并根據(jù)輸入選擇其中一個(gè)途徑來(lái)執(zhí)行。34、試述"變換分析"﹑"事物分析"設(shè)計(jì)環(huán)節(jié)。變換分析設(shè)計(jì)環(huán)節(jié):⑴擬定變換中心,邏輯輸入和輸出。⑵設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層--變換結(jié)構(gòu):頂層的功能是完畢所有模塊的控制(名稱(chēng)應(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è)立專(zhuān)門(mén)模塊,以體現(xiàn)系統(tǒng)的外部接口。其它輸入模塊與轉(zhuǎn)換數(shù)據(jù)模塊都很簡(jiǎn)樸時(shí),可將它們合并。輸出部分求精:每個(gè)物理輸出設(shè)立專(zhuān)門(mén)模塊,其它也可適當(dāng)合并。變換部分求精:根據(jù)設(shè)計(jì)準(zhǔn)則,對(duì)模塊適當(dāng)合并。事務(wù)分析的設(shè)計(jì)環(huán)節(jié):⑴擬定事務(wù)中心和加工途徑⑵設(shè)計(jì)頂層(事務(wù)機(jī)構(gòu))和第一層頂層模塊有兩個(gè)功能:接受數(shù)據(jù)和根據(jù)事務(wù)類(lèi)型調(diào)動(dòng)相應(yīng)解決模塊。⑶中下層模塊的設(shè)計(jì)﹑優(yōu)化工作與變換結(jié)構(gòu)相同。事務(wù)型軟件結(jié)構(gòu)涉及兩部分:接受分支發(fā)送分支出通常涉及一調(diào)度模塊,當(dāng)事務(wù)類(lèi)型不多時(shí),可與主模塊合并。35、請(qǐng)將下圖的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)圖。解:具體設(shè)計(jì)具體設(shè)計(jì)的基本任務(wù)是什么?有那幾種描述方法?設(shè)計(jì)模塊的數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)、設(shè)計(jì)模塊的具體算法、其它(代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì))、編寫(xiě)具體設(shè)計(jì)說(shuō)明書(shū)、評(píng)審。程序流程圖、PAD圖、PDL。2、請(qǐng)使用流程圖、PAD圖和PDL語(yǔ)言描述下列程序的算法。(1)在數(shù)據(jù)A(1)~A(10)中求最大數(shù)和次大數(shù)。PDL語(yǔ)言描述:GET(a[1],a[2],...a[10])max=a[1];max2=a[2];FORi=2TO10IFa[i]>maxmax2=max;max=a[i];ELSEIFa[i]>max2max2=a[i];ENDIFENDIFENDFORPUT(max,max2)END3、輸入三個(gè)正整數(shù)作為邊長(zhǎng),判斷該三條邊構(gòu)成的三角形是等邊、等腰還是一般三角形。使用流程圖、PAD圖和PDL語(yǔ)言描述。解:如圖:
PDL語(yǔ)言描述如下:GET(a,b,c)IF(a+b>candb+c>aandc+a>b)IF(a=b)IF(a=c)PUT("等邊三角形")ELSEPUT("等腰三角形")ENDIFELSEIF(a=c)PUT("等腰三角形")ELSEIF(b=c)PUT("等腰三角形")ELSEPUT("一般三角形")ENDIFENDIFENDIFELSEPUT("這不是一個(gè)三角形")ENDIF4、畫(huà)出下面用PDL寫(xiě)出的程序的PAD圖。WHILEPDOIFA>OTHENA1ELSEA2ENDIF;S1;IFB>0THENB1;WHILECDOS2;S3ENDWHILE;ELSEB2ENDIF;B3ENDWHILE;編碼與測(cè)試1、軟件測(cè)試的目的是什么?軟件測(cè)試中,應(yīng)注意哪些原則?答:軟件測(cè)試的目的是為了發(fā)現(xiàn)軟件的錯(cuò)誤。軟件測(cè)試中應(yīng)注意的原則有:(1)測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成。這樣便于對(duì)照檢查,做到有的放矢。(2)測(cè)試且例不僅選用合理輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。這樣能更多地發(fā)現(xiàn)錯(cuò)誤,提高程序的可靠性。對(duì)于不合理的輸入數(shù)據(jù),程序應(yīng)拒絕接受,并給出相應(yīng)的提醒。(3)除了檢查程序是否做了它應(yīng)當(dāng)做的事,還應(yīng)當(dāng)檢查程序是否做了它不應(yīng)當(dāng)做的事。(4)應(yīng)制定測(cè)試計(jì)劃并嚴(yán)格執(zhí)行,排除隨意性。(5)長(zhǎng)期保存測(cè)試用例。(6)對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更進(jìn)一步的測(cè)試。(7)程序員應(yīng)避免測(cè)試自己的程序。測(cè)試是一種"挑剔性"的行為,心理狀態(tài)是測(cè)試自己程序的障礙。2、什么是白盒測(cè)試法?有哪些覆蓋標(biāo)準(zhǔn)?試對(duì)他們的檢錯(cuò)能力進(jìn)行比較?答:白盒法測(cè)試法把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子,測(cè)試人員須了解程序內(nèi)部結(jié)構(gòu)和解決過(guò)程,以檢查解決過(guò)程的細(xì)節(jié)為基礎(chǔ),對(duì)程序中盡也許多的邏輯途徑進(jìn)行測(cè)試,檢查內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò),實(shí)際的運(yùn)營(yíng)狀態(tài)與預(yù)期的狀態(tài)是否一致。白盒法有下列幾種覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)營(yíng)被測(cè)程序,使得每一可執(zhí)行語(yǔ)句至少執(zhí)行一次。鑒定覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)營(yíng)被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次。條件覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)營(yíng)被測(cè)程序,使得程序中每個(gè)判斷的每個(gè)條件的也許取值至少執(zhí)行一次。鑒定/條件覆蓋:設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有也許取值至少執(zhí)行一次,同時(shí)每個(gè)判斷中的每個(gè)條件的也許取值至少執(zhí)行一次。條件組合覆蓋:設(shè)計(jì)足夠的測(cè)試用例,運(yùn)營(yíng)被測(cè)程序,使得每個(gè)判斷的所有也許的條件取值組合至少執(zhí)行一次。途徑覆蓋:設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中所有也許的途徑。從上到下的覆蓋標(biāo)準(zhǔn)其檢錯(cuò)能力也從弱到強(qiáng),其中條件組合發(fā)現(xiàn)錯(cuò)誤的能力較強(qiáng),凡滿足其標(biāo)準(zhǔn)的測(cè)試用例,也必然滿足前四種覆蓋標(biāo)準(zhǔn)。在實(shí)際的邏輯測(cè)試中,一般以條件組合覆蓋為主設(shè)計(jì)測(cè)試用例,然后再補(bǔ)充部分用例來(lái)達(dá)成途徑覆蓋的測(cè)試標(biāo)準(zhǔn)。3、什么是黑盒測(cè)試法?采用黑盒技術(shù)測(cè)試用例有哪幾種方法?這些方法各有什么特點(diǎn)?答:黑盒測(cè)試法把被測(cè)試對(duì)象當(dāng)作是一個(gè)黑盒子,測(cè)試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和解決過(guò)程,只在軟件接口處進(jìn)行測(cè)試,依據(jù)需求規(guī)格說(shuō)明書(shū),檢查程序是否滿足功能規(guī)定。采用黑盒技術(shù)測(cè)試用例的方法有:等價(jià)類(lèi)的劃分、邊界值分析、錯(cuò)誤推測(cè)和因果圖。等價(jià)類(lèi)的劃分:是將輸入數(shù)據(jù)按有效的或無(wú)效的(也稱(chēng)合理的或不合理的)劃提成若干個(gè)等價(jià)類(lèi),測(cè)試每個(gè)等價(jià)類(lèi)的代表值就等于對(duì)該類(lèi)其他值的測(cè)試。這樣就把漫無(wú)邊跡的隨機(jī)測(cè)試改為有針對(duì)性的等價(jià)類(lèi)測(cè)試,用少量有代表性的例子代替大量測(cè)試目的相同的例子,能有效地提高測(cè)試效率。但這個(gè)方法的缺陷是沒(méi)有注意選擇某些高效的、可以發(fā)現(xiàn)更多錯(cuò)誤的測(cè)試用例。邊界值分析法:是將測(cè)試邊界情況作為重點(diǎn)目的,選取正好等于、剛剛大于和剛剛小于邊界值的測(cè)試數(shù)據(jù)。(邊界情況是指輸入等價(jià)類(lèi)和輸入等價(jià)類(lèi)邊界上的情況。)這種方法可以查出更多的錯(cuò)誤,由于在程序中往往在解決邊界情況時(shí)易發(fā)生錯(cuò)誤。錯(cuò)誤推測(cè)法:是在測(cè)試程序時(shí),人們根據(jù)經(jīng)驗(yàn)或直覺(jué)推測(cè)程序中也許存在的錯(cuò)誤,從而有針對(duì)性地編寫(xiě)檢查這些錯(cuò)誤的測(cè)試用例。因果圖:可以有效地檢測(cè)輸入條件的各種組合也許會(huì)引起的錯(cuò)誤。它的基本原理是通過(guò)畫(huà)因果圖,把用自然語(yǔ)言描述的功能說(shuō)明轉(zhuǎn)換為鑒定表,最后為鑒定表的每一列設(shè)計(jì)一個(gè)測(cè)試用例。這幾種方法都不能提供一組完整的測(cè)試用例,在實(shí)際測(cè)試中應(yīng)把各種方法結(jié)合起來(lái)使用。綜合策略:就是聯(lián)合使用上述幾種測(cè)試方法,盡也許多地發(fā)現(xiàn)程序中的錯(cuò)誤。4、軟件測(cè)試要通過(guò)哪些環(huán)節(jié)?這些測(cè)試與軟件開(kāi)發(fā)各階段之間有什么關(guān)系?答:軟件測(cè)試要通過(guò)的環(huán)節(jié)是:單元測(cè)試→集成測(cè)試→確認(rèn)測(cè)試→系統(tǒng)測(cè)試。單元測(cè)試:對(duì)源程序中每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)模塊是否正的確現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯(cuò)誤。該階段涉及編碼和具體設(shè)計(jì)文檔。集成測(cè)試:是為了檢查與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問(wèn)題,也就是檢查概要設(shè)計(jì)是否合理有效。確認(rèn)測(cè)試:重要是檢查已實(shí)現(xiàn)的軟件是否滿足需求規(guī)格說(shuō)明書(shū)中擬定了的各種需求。系統(tǒng)測(cè)試:是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起進(jìn)行測(cè)試。以擬定軟件是否可以支付使用。5、單元測(cè)試有哪些內(nèi)容?測(cè)試中采用什么方法?答:單元測(cè)試重要針對(duì)模塊的以下五個(gè)基本特性進(jìn)行測(cè)試:(1)模塊接口(2)局部數(shù)據(jù)結(jié)構(gòu)(3)重要的執(zhí)行途徑(4)錯(cuò)誤解決(5)邊界條件測(cè)試的方法是為被測(cè)試模塊編寫(xiě)驅(qū)動(dòng)模塊和樁模塊來(lái)實(shí)現(xiàn)被測(cè)試單元的可運(yùn)營(yíng)。通過(guò)驅(qū)動(dòng)模塊來(lái)模擬被測(cè)試模塊的上級(jí)調(diào)用模塊,以上級(jí)模塊調(diào)用被測(cè)模塊的格式驅(qū)動(dòng)被測(cè)模塊,接受被測(cè)模塊的測(cè)試結(jié)構(gòu)并輸出。樁模塊則用來(lái)代替被測(cè)試模塊所調(diào)用的模塊。它的作用是返回被測(cè)模塊所需的信息。6、什么是集成測(cè)試?非漸增式測(cè)試與漸增式測(cè)試有什么區(qū)別?漸增式測(cè)試如何組裝模塊?答:集成測(cè)試是指在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)規(guī)定組裝成一個(gè)完整的系統(tǒng)進(jìn)行的測(cè)試。非漸增式測(cè)試是指一方面對(duì)每個(gè)模塊分別進(jìn)行單元測(cè)試,再把所有模塊組裝成一個(gè)完整的系統(tǒng)進(jìn)行的測(cè)試。而漸增式測(cè)試就是逐個(gè)把未經(jīng)測(cè)試的模塊組裝到已通過(guò)測(cè)試的模塊上去進(jìn)行集成測(cè)試,每加入一個(gè)新模塊進(jìn)行一次集成測(cè)試,反復(fù)此過(guò)程直到程序組裝完畢。漸增式測(cè)試有兩種不同的組裝方法:自頂向下和自底向上結(jié)合。兩者區(qū)別是:(1)非漸增式方法把單元測(cè)試和集成測(cè)試提成兩個(gè)不同的階段,前一階段完畢模塊的單元測(cè)試,后一階段完畢集成測(cè)試。而漸增式測(cè)試往往把單元測(cè)試和集成測(cè)試合在一起,同時(shí)完畢。(2)非漸增式需要更多的工作量,由于每個(gè)模塊都需要驅(qū)動(dòng)模塊和樁模塊,而漸增式運(yùn)用已測(cè)試過(guò)的模塊作為驅(qū)動(dòng)模塊或樁模塊,因此工作量少。(3)漸增式可以較早地發(fā)現(xiàn)接口之間的錯(cuò)誤,非漸增式最后組裝時(shí)才發(fā)現(xiàn)。(4)漸增式有助于排錯(cuò),發(fā)生錯(cuò)誤往往和最近新加入的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯(cuò)誤推遲到最后,很難判斷是哪一部分接口犯錯(cuò)。(5)漸增式比較徹底,已測(cè)試的模塊和新的模塊再測(cè)試。(6)漸增式點(diǎn)用時(shí)間較多,但非漸增式所需更多的驅(qū)動(dòng)模塊和樁模塊也占用一些時(shí)間。(7)非漸增式開(kāi)始可并行測(cè)試所有模塊,能充足運(yùn)用人力,對(duì)測(cè)試大型軟件很故意義。7、什么是確認(rèn)測(cè)試?該階段有哪些工作?答:確認(rèn)測(cè)試又稱(chēng)有效性測(cè)試。它的任務(wù)是檢查軟件的功能與性能是否與需求規(guī)格說(shuō)明書(shū)中擬定的指標(biāo)相符合。因而需求說(shuō)明是確認(rèn)測(cè)試的基礎(chǔ)。確認(rèn)測(cè)試階段有兩項(xiàng)工作:進(jìn)行確認(rèn)測(cè)試與軟件配置審查。8、調(diào)試的目的是什么?調(diào)試有哪些技術(shù)手段?答:調(diào)試則是在進(jìn)行了成功的測(cè)試之后才開(kāi)始的工作。調(diào)試的目的是擬定錯(cuò)誤的因素和位置,并改正錯(cuò)誤,因此調(diào)試也稱(chēng)為糾錯(cuò)(Debug)。調(diào)試的技術(shù)手段有簡(jiǎn)樸的調(diào)試方法、歸納法、演繹法和回溯法等。9、將對(duì)的答案的編號(hào)填入題目空白處:在白盒測(cè)試用例中,有語(yǔ)句覆蓋、條件覆蓋、鑒定覆蓋、途徑覆蓋等,其中(A)是最強(qiáng)的覆蓋準(zhǔn)則。為了對(duì)下圖所示的程序進(jìn)行覆蓋測(cè)試,必須適本地選取測(cè)試數(shù)據(jù)。若X,Y是兩個(gè)變量,可供選擇的測(cè)試數(shù)據(jù)組共有I,II,III,IV四組(如表中給出),則實(shí)現(xiàn)語(yǔ)句覆蓋至少應(yīng)采用的測(cè)試數(shù)據(jù)組是(B);實(shí)現(xiàn)條件覆蓋至少應(yīng)采用的測(cè)試數(shù)據(jù)組是(C);實(shí)現(xiàn)途徑覆蓋至少應(yīng)采用的測(cè)試數(shù)據(jù)組是(D)或(E)??晒┻x擇的答案:A:(1)語(yǔ)句覆蓋(2)條件覆蓋(3)鑒定覆蓋(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 青島工學(xué)院《環(huán)境監(jiān)測(cè)Ⅰ實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 青島工程職業(yè)學(xué)院《國(guó)際商務(wù)談判》2023-2024學(xué)年第一學(xué)期期末試卷
- 地質(zhì)勘查中工程測(cè)量的作用與方法
- 企業(yè)文化創(chuàng)新與意識(shí)形態(tài)塑造
- 世界建筑藝術(shù)發(fā)展研究報(bào)告
- 幼兒體育活動(dòng)的心理調(diào)適
- 《冷軋AA6061鋁合金的織構(gòu)、微米壓痕與腐蝕性能研究》
- 《《宣室志》復(fù)音詞研究》
- 《基于視覺(jué)分析的長(zhǎng)蕩湖旅游度假區(qū)道路植物景觀設(shè)計(jì)研究》
- 《DX事務(wù)所對(duì)TK股份有限公司舞弊審計(jì)案例研究》
- (2024年)周黑鴨營(yíng)銷(xiāo)策劃課件
- 2024年度氫氣站安全應(yīng)急預(yù)案完整
- GB/T 37364.4-2024陸生野生動(dòng)物及其棲息地調(diào)查技術(shù)規(guī)程第4部分:鳥(niǎo)類(lèi)
- 《面食英文介紹》課件2
- 2023年北京市中考英語(yǔ)試卷(附答案)
- 企業(yè)廉政教育培訓(xùn)課件
- 2023-2024學(xué)年宜賓市數(shù)學(xué)九年級(jí)上冊(cè)期末考試試題(含解析)
- 教育科研規(guī)劃課題申報(bào)書(shū)范例:《小學(xué)數(shù)學(xué)德育滲透的教學(xué)策略研究》課題設(shè)計(jì)論證
- 新版醫(yī)療機(jī)構(gòu)消毒技術(shù)規(guī)范
- 專(zhuān)家顧問(wèn)聘用合同協(xié)議書(shū)范本(通用)(帶目錄)
- 道路工程施工特點(diǎn)、重點(diǎn)、難點(diǎn)分析及施工對(duì)策
評(píng)論
0/150
提交評(píng)論