版權(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)成本相稱昂貴。
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ù)軟件的一門學(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)題;
A工具是為運(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、快速原型的分類、特點(diǎn)及使用策略?
分類:探索型、實(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é)省人民幣2000元,假設(shè)系統(tǒng)的投資額為
5000元,年利率為12%。試計(jì)算投資回收期和純收入。
年將來(lái)值F(元)(1+I)a現(xiàn)在值P(元)累計(jì)的現(xiàn)在值(元)
120001.121785.711785.71
220001.251600.003385.71
320001.401428.574814.28
420001.571273.896088.17
520001.761136.367224.53
第二章可行性研究
1、可行性研究的任務(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é)?
⑴.擬定項(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)流程圖。
(3).建立新系統(tǒng)的高層邏輯模型;使用數(shù)據(jù)流圖和數(shù)據(jù)字典描述數(shù)據(jù)在系統(tǒng)中的流動(dòng)和解決
情況。
(4).導(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ō)明該方案可行的因素和理由。
⑹.編寫可行性研究報(bào)告;將上述可行性過(guò)程的結(jié)果寫成相應(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ū)寫文檔提交審查
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è)成分的具體含義。有以下四類條目:數(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ù)存情況,打印登記表。
解:
頂層圖
借書(shū)./拒絕借書(shū)
還書(shū)圖書(shū)管借書(shū)信息讀
\理系統(tǒng)罰款單
統(tǒng)計(jì)表\
管理員
借書(shū)信息
統(tǒng)計(jì)表
查詢4
1層圖
圖1
第一次借書(shū)
借書(shū)文件
審核借書(shū)證L1
借無(wú)
效借書(shū)信意
證,借書(shū)通知
件
超過(guò)10本或庫(kù)存無(wú)
惜書(shū)審核13
拒絕借書(shū)
庫(kù)存記錄
A
圖2
圖3
8、某銀行的計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)功能是:將儲(chǔ)戶的存戶填寫的存款單或存款單輸入系統(tǒng),假如是
存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期.利率等信息,并打印出存款單給
儲(chǔ)戶;假如是取款,系記錄算清單給儲(chǔ)戶。請(qǐng)用DFDJDEFO描繪該功能的需求,并建立相
應(yīng)數(shù)據(jù)字典。
儲(chǔ)右系筑的DFO圖
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)填寫考生告知單(內(nèi)容包含考試成績(jī)及合格/不合格標(biāo)志),送給考生;
(5)按地區(qū)、年齡、文化限度、職業(yè)、考試級(jí)別等進(jìn)行成績(jī)分類記錄及試題
難度分析,產(chǎn)生記錄分析表。
(1)頂層數(shù)據(jù)流圖
A-錯(cuò)
考
誤
生
成
成
績(jī)
名
績(jī)
表
單
(a)頂層數(shù)據(jù)流圖表
,
閱卷站
A
(2)第1層數(shù)據(jù)流圖
(3)第2層數(shù)據(jù)流圖
加工1子圖:
報(bào)名表
考
生
考生名冊(cè)名
單
V
A加工2子圖:
成績(jī)表合格標(biāo)準(zhǔn)
正確
2.1成績(jī)表2.2
檢查審定
成績(jī)表合格者
錯(cuò)誤
經(jīng)成
成頸表審績(jī)
試題得分表
定表
的
2.5
分析試
題難度2.423
分類統(tǒng)埴S
通Z
計(jì)成績(jī)-3
通
0考
統(tǒng)知
分考生名冊(cè)生
計(jì)單
關(guān)表
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)的一部分,用I戶對(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)出軟件的邏輯模型。
⑶編寫文檔:涉及編寫"需求規(guī)格說(shuō)明書(shū)","初步用戶使用手冊(cè)",”確認(rèn)測(cè)試計(jì)劃"修改完
善軟件開(kāi)發(fā)計(jì)劃"。
2、什么是結(jié)構(gòu)分析方法?該方法使用什么描述工具?
結(jié)構(gòu)化分析:簡(jiǎn)稱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)系可分為哪幾種類型?
一對(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;SDEPTf
SLOC;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)稱為狀態(tài)圖)通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表達(dá)系統(tǒng)的
行為。提供了行為建模機(jī)制。
I2、層次方框圖
層次方框圖用樹(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)稱,可以方便地描繪輸入數(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)題。
第四章總體設(shè)計(jì)
1、什么是總體設(shè)計(jì)?總體設(shè)計(jì)的任務(wù)是什么?
總體設(shè)計(jì)又稱為概要設(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ì))、編寫概要設(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ū)寫文檔
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)互換輸入、輸出信息的,則稱這種耦合為數(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ù)表傳遞該全
局變量的信息,則稱之為外部耦合。
15、公共耦合
若一組模塊都訪問(wèn)同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(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)系,不可分割的。則稱該模塊為功能內(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ù),則稱之為
通信內(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)聚又稱為經(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)聚又稱為偶爾內(nèi)聚。當(dāng)模塊內(nèi)各部分之間沒(méi)有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很
松散,則稱這種模塊為巧合內(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):頂層的功能是完畢所有模塊的控制(名稱應(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ù)模塊都很簡(jiǎn)樸時(shí),可將它們合并。
輸出部分求精:每個(gè)物理輸出設(shè)立專門模塊,其它也可適當(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ù)類型調(diào)動(dòng)
相應(yīng)解決模塊。
⑶中下層模塊的設(shè)計(jì)、優(yōu)化工作與變換結(jié)構(gòu)相同。
事務(wù)型軟件結(jié)構(gòu)涉及兩部分:接受分支發(fā)送分支出通常涉及一調(diào)度模塊,當(dāng)事務(wù)類型
不多時(shí),可與主模塊合并。
35、請(qǐng)將下圖的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)圖。
解:
第五章具體設(shè)計(jì)
1、具體設(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ì))、編寫具體設(shè)計(jì)說(shuō)明書(shū)、評(píng)審。
程序流程圖、PAD圖、PDLo
2、請(qǐng)使用流程圖、PAD圖和PDL語(yǔ)言描述下列程序的算法。
(1)在數(shù)據(jù)A(l)?A(10)中求最大數(shù)和次大數(shù)。
PDL語(yǔ)言描述:
GET(a[l],a[2]>...a[10])
max=allJ;
max2=a[2];
FORi=2TO10
IFa[i]>max
max2=max;
max=a[i];
ELSE
IFa[i]>max2
max2=a[i];
ENDIF
ENDIF
ENDFOR
PUT(max,max2)
END
3、輸入三個(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)
PUTP等邊三角形")
ELSE
PUT("等腰三角形”)
ENDIF
ELSE
IF(a=c)
PUT("等腰三角形”)
ELSE
IF(b=c)
PUT("等腰三角形”)
ELSE
PUT("一般三角形”)
ENDIF
ENDIF
ENDIF
ELSE
PUT("這不是一個(gè)三角形M)
ENDIF
4、畫(huà)出下面用PDL寫出的程序的PAD圖。
WHILEPDO
IFA>OTHENAlELSEA2ENDIF;
SI;
IFB>0THENBl;
WHILECDOS2;S3ENDWHILE;
ELSEB2
ENDIF;
B3
ENDWHILE;
第六章編碼與測(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à)類的劃分、邊界值分析、錯(cuò)誤推測(cè)和因果圖。
>等價(jià)類的劃分:是將輸入數(shù)據(jù)按有效的或無(wú)效的(也稱合理的或不合理的)劃提成若干個(gè)
等價(jià)類,測(cè)試每個(gè)等價(jià)類的代表值就等于對(duì)該類其他值的測(cè)試。這樣就把漫無(wú)邊跡的隨
機(jī)測(cè)試改為有針對(duì)性的等價(jià)類測(cè)試,用少量有代表性的例子代替大量測(cè)試目的相同的例
子,能有效地提高測(cè)試效率。但這個(gè)方法的缺陷是沒(méi)有注意選擇某些高效的、可以發(fā)現(xiàn)
更多錯(cuò)誤的測(cè)試用例。
>邊界值分析法:是將測(cè)試邊界情況作為重點(diǎn)目的,選取正好等于、剛剛大于和剛剛小于
邊界值的測(cè)試數(shù)據(jù)。(邊界情況是指輸入等價(jià)類和輸入等價(jià)類邊界上的情況。)這種方法
可以查出更多的錯(cuò)誤,由于在程序中往往在解決邊界情況時(shí)易發(fā)生錯(cuò)誤。
>錯(cuò)誤推測(cè)法:是在測(cè)試程序時(shí),人們根據(jù)經(jīng)驗(yàn)或直覺(jué)推測(cè)程序中也許存在的錯(cuò)誤,從而
有針對(duì)性地編寫檢查這些錯(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é)是:?jiǎn)卧獪y(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è)試中采用什么方法?
答:?jiǎn)卧獪y(cè)試重要針對(duì)模塊的以下五個(gè)基本特性進(jìn)行測(cè)試:
(1)模塊接口
(2)局部數(shù)據(jù)結(jié)構(gòu)
(3)重要的執(zhí)行途徑
(4)錯(cuò)誤解決
(5)邊界條件
測(cè)試的方法是為被測(cè)試模塊編寫驅(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è)試又稱有效性測(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)試也稱為糾錯(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,HI,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)。
XY
測(cè)試數(shù)據(jù)組I03
測(cè)試數(shù)據(jù)組II12
測(cè)試數(shù)據(jù)組m-12
測(cè)試數(shù)據(jù)組IV31
可供選擇的答案:
A:(1)語(yǔ)句覆蓋(2)條件覆蓋(3)鑒定覆蓋(4)途徑覆蓋
B~E:(1)I和II組(2)11和III級(jí)(3)III和IV組(4)I和IV組(5)I、II和III
組(6)11,III和IV組
(7)1,111和IV組(8)1、II和IV組
答:A:(4)B:(1)C:(4)D:(5)E:(8)
10、請(qǐng)對(duì)“鑒定三角形類別”程序算法用等價(jià)類劃分和邊界值分析法設(shè)計(jì)測(cè)試用例,并檢查
邏輯覆蓋標(biāo)準(zhǔn)。
解:先劃分等價(jià)類并編號(hào):
輸入數(shù)據(jù)合理等價(jià)類不合理等價(jià)類
2有.非正整數(shù)
A.B.C1.正整數(shù)3.某兩個(gè)數(shù)相加小于等于剩下的那個(gè)數(shù)
比有非數(shù)字字符
5.三邊相等
6.只有兩邊相等
7.三邊不相等
為合理等價(jià)類設(shè)計(jì)測(cè)試用例,對(duì)于表中相應(yīng)的四個(gè)合理等價(jià)類,用三個(gè)測(cè)試用例覆蓋。
測(cè)試數(shù)據(jù)期望結(jié)果覆蓋范圍
3,4,5輸出“一股三角形”1,7
3,3,3輸出“等邊三角形”5
3,3,2輸出”等腰三角形”6
為每一個(gè)不合理等價(jià)類設(shè)計(jì)一個(gè)測(cè)試用例:
測(cè)試數(shù)據(jù)期望結(jié)果覆蓋范圍
-3,33,-4輸入無(wú)效2
2,3,8輸入無(wú)效3
A.B.C輸入無(wú)效4
3川邊界值法設(shè)計(jì)測(cè)試用
輸入等價(jià)類測(cè)試用例說(shuō)明測(cè)試數(shù)據(jù)期望結(jié)果
全不是數(shù)字A.B.C輸入無(wú)效
1個(gè)正整數(shù)3,38,C輸入無(wú)效
1個(gè)不是正整數(shù)3,4,0k輸入無(wú)效
輸入值
全是正整數(shù)且兩邊之和大于第三邊3,4,5輸入有效
全是正整數(shù)且有兩個(gè)數(shù)之和等于第三個(gè)數(shù)3,3,6輸入無(wú)效
有兩個(gè)數(shù)之和小于第三個(gè)數(shù)3,3,7輸入無(wú)效
三潮目等3,3,3輸出“等邊三角形”
A=B,A/C
3,3,2
A=C,A#B
兩邊相等
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度聯(lián)合研發(fā)與生產(chǎn)合同2篇
- 2025年新型社區(qū)餐飲服務(wù)合作協(xié)議范本3篇
- 2024門窗企業(yè)原材料采購(gòu)合作協(xié)議3篇
- 幼兒園社會(huì)活動(dòng):民族文化探索
- 二零二五年智慧城市建設(shè)項(xiàng)目合作開(kāi)發(fā)合同3篇
- 二零二五年度環(huán)保科技研發(fā)個(gè)人合伙退出管理協(xié)議3篇
- 2025年度軟件質(zhì)量保證體系建立合同3篇
- 企業(yè)家的創(chuàng)業(yè)精神分析
- 2024騰訊電商廣告合作合同年度電商廣告解決方案3篇
- 二零二五年度高端酒店前臺(tái)員工聘用合同模板3篇
- 幼兒園幼兒營(yíng)養(yǎng)食譜手冊(cè)
- 《護(hù)理科研》課件
- 屋頂分布式光伏發(fā)電項(xiàng)目 投標(biāo)方案(技術(shù)方案)
- 2024宏泰集團(tuán)所屬湖北省征信限公司招聘9人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 部編版語(yǔ)文四年級(jí)下冊(cè)第六單元大單元作業(yè)設(shè)計(jì)
- 中國(guó)畜禽養(yǎng)殖污染物處理行業(yè)市場(chǎng)集中度、企業(yè)競(jìng)爭(zhēng)格局分析報(bào)告-智研咨詢發(fā)布
- DL∕T 2594-2023 電力企業(yè)標(biāo)準(zhǔn)化工作 評(píng)價(jià)與改進(jìn)
- 廣東省廣州白云區(qū)六校聯(lián)考2025屆九上數(shù)學(xué)期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 2024年末端無(wú)人配送行業(yè)研究報(bào)告
- 肛瘺患者的護(hù)理查房
- 義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2024年版)
評(píng)論
0/150
提交評(píng)論