軟件工程實(shí)驗(yàn)指導(dǎo)書_第1頁
軟件工程實(shí)驗(yàn)指導(dǎo)書_第2頁
軟件工程實(shí)驗(yàn)指導(dǎo)書_第3頁
軟件工程實(shí)驗(yàn)指導(dǎo)書_第4頁
軟件工程實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程實(shí)驗(yàn)指導(dǎo)書  適用專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 編 寫 人: 聞曉、楊陽、范成瑜 修 改 人: 黃敏 修改時(shí)間: 2013年9月1日 計(jì)算機(jī)與信息科學(xué)學(xué)院2010年9月前 言 軟件工程實(shí)驗(yàn)是為計(jì)算機(jī)相關(guān)專業(yè)本科軟件工程課程配套設(shè)置的,是軟件工程課程講授中一個(gè)重要的、不可或缺的實(shí)踐環(huán)節(jié)。其目的是使學(xué)生能夠針對(duì)具體軟件工程項(xiàng)目,全面掌握軟件工程管理、軟件需求分析、軟件初步設(shè)計(jì)、軟件詳細(xì)設(shè)計(jì)、軟件測(cè)試等階段的方法和技術(shù),通過該課程設(shè)計(jì)使學(xué)生進(jìn)一步理解和掌握軟件開發(fā)模型、軟件生命周期、軟件過程等理論在軟件項(xiàng)目開發(fā)過程中的意義和作用,培養(yǎng)學(xué)生按照軟件工程的原理、方法、技術(shù)、標(biāo)準(zhǔn)和

2、規(guī)范,進(jìn)行軟件開發(fā)的能力,培養(yǎng)學(xué)生的合作意識(shí)和團(tuán)隊(duì)精神,培養(yǎng)學(xué)生對(duì)技術(shù)文檔的編寫能力,從而使學(xué)生提高軟件工程的綜合能力,提高軟件項(xiàng)目的管理能力。CDIO代表構(gòu)思(conceive)、設(shè)計(jì)(design)、實(shí)施(implement)、運(yùn)行(operate),是由美國麻省理工學(xué)院、瑞典皇家工 學(xué)院、瑞典查爾摩斯工業(yè)大學(xué)和瑞典林雪平大學(xué)共同創(chuàng)立的工程教育改革模式。CDIO改革的愿景是為學(xué)生提供一種在實(shí)際系統(tǒng)和產(chǎn)品的構(gòu)思-設(shè)計(jì)-實(shí)施-運(yùn)行的背景環(huán)境下強(qiáng)調(diào)工程基礎(chǔ)的工程教育,使學(xué)生能夠掌握深厚的技術(shù)基礎(chǔ)知識(shí);領(lǐng)導(dǎo)新產(chǎn)品和新系統(tǒng)的開發(fā)與運(yùn)行;理解工程技術(shù)的研究與發(fā)展對(duì)社會(huì)的重要性和戰(zhàn)略影響。按該課程的特點(diǎn)

3、,實(shí)驗(yàn)內(nèi)容包括軟件開發(fā)的兩大方法學(xué)的專題訓(xùn)練,即結(jié)構(gòu)化(生命周期學(xué))的方法學(xué)和面向?qū)ο蟮姆椒▽W(xué),通過對(duì)一個(gè)簡單項(xiàng)目,要求學(xué)生利用結(jié)構(gòu)化軟件開發(fā)技術(shù)或面向?qū)ο蟮能浖_發(fā)技術(shù)完成對(duì)該項(xiàng)目的開發(fā)。因此設(shè)置五個(gè)實(shí)驗(yàn)項(xiàng)目,從項(xiàng)目發(fā)的準(zhǔn)備工作,系統(tǒng)分析過程,系統(tǒng)設(shè)計(jì)過程,軟件測(cè)試到系統(tǒng)實(shí)施,覆蓋軟件開發(fā)的整個(gè)過程,此外又引入CDIO,以規(guī)范技術(shù)文檔的書寫標(biāo)準(zhǔn),提高實(shí)驗(yàn)教學(xué)質(zhì)量。通過實(shí)驗(yàn)訓(xùn)練,達(dá)到如下目的:使學(xué)生進(jìn)一步了解和掌握軟件工程原理,提高對(duì)實(shí)際項(xiàng)目的分析和設(shè)計(jì)能力,通過實(shí)驗(yàn)課程,熟悉和基本掌握軟件工程方法學(xué)、軟件開發(fā)的過程,文檔資料的編寫格式及規(guī)范,全面領(lǐng)會(huì)和貫通所學(xué)習(xí)的理論知識(shí),從而培養(yǎng)學(xué)生綜合運(yùn)

4、用所學(xué)課程知識(shí),分析解決問題的能力,培養(yǎng)學(xué)生理論聯(lián)系實(shí)際作風(fēng),實(shí)事求是,嚴(yán)肅認(rèn)真的科學(xué)態(tài)度和良好的工作作風(fēng),為今后從事科學(xué)研究工作打下基礎(chǔ)。 實(shí)驗(yàn)一 項(xiàng)目準(zhǔn)備及問題定義實(shí)驗(yàn)學(xué)時(shí):3 實(shí)驗(yàn)類型:驗(yàn)證+綜合一、 實(shí)驗(yàn)?zāi)康?. 確定課題,組織組員,合理分工,熟悉軟件開發(fā)環(huán)境,培養(yǎng)團(tuán)隊(duì)精神。2. 通過繪制系統(tǒng)流程圖和數(shù)據(jù)流圖,熟練掌握系統(tǒng)流程圖和數(shù)據(jù)流圖的基本原理,并能對(duì)簡單問題進(jìn)行系統(tǒng)流圖和數(shù)據(jù)流圖的分析,獨(dú)立地完成數(shù)據(jù)流圖設(shè)計(jì)。此外,學(xué)會(huì)使用Case工具完成數(shù)據(jù)流圖和系統(tǒng)流程圖的分析與實(shí)現(xiàn)。二、 實(shí)驗(yàn)內(nèi)容與要求1. 根據(jù)各組選擇的課題,實(shí)行項(xiàng)目經(jīng)理制,各組推薦一名組長,統(tǒng)一管理整個(gè)項(xiàng)目的實(shí)施過程,

5、并和理調(diào)整資源和負(fù)責(zé)項(xiàng)目全局;根據(jù)項(xiàng)目的難易合理分配組員的任務(wù),對(duì)問題達(dá)成一直的看法;針對(duì)項(xiàng)目的實(shí)施,熟悉相應(yīng)的軟件開發(fā)工具的使用環(huán)境。2. 準(zhǔn)備參考資料和閱讀相關(guān)的國家有關(guān)軟件開發(fā)的標(biāo)準(zhǔn)文檔。3. 選擇安裝Microsoft Visio或Rational Rose或其他case軟件,并完成如下繪制實(shí)驗(yàn):a)用Microsoft Visio繪制出如下定貨系統(tǒng)的SFD(系統(tǒng)流程圖)的模型。圖1 某定貨系統(tǒng)SFDb)用Microsoft visio繪制教材中定貨系統(tǒng)的DFD的頂層模型、第一層模型和第二層模型。(參考課本上P43P44的圖2.5,圖2.6和圖2.7)教材圖2.5 倉庫定貨系統(tǒng)的頂層數(shù)

6、據(jù)流圖描述教材圖2.6 倉庫定貨系統(tǒng)的第一層數(shù)據(jù)流圖描述 教材圖2.7 “處理事務(wù)”的第2層數(shù)據(jù)流圖描述c)用Microsoft Visio 繪制如下圖所示的取款手續(xù)的數(shù)據(jù)流圖。圖2 取款手續(xù)三、 實(shí)驗(yàn)結(jié)果:1. 小組實(shí)驗(yàn)每組56人,共同形成一份問題定義文檔2. 繪制系統(tǒng)流程圖和數(shù)據(jù)流圖每人繪制一份四、 成績?cè)u(píng)定該實(shí)驗(yàn)按A、B、C、D、E給出成績,占實(shí)驗(yàn)總成績的20%。五、 思考題1. 項(xiàng)目開發(fā)首先要做的事是什么?2. 你認(rèn)為該軟件應(yīng)具備的最重要的特性是什么。3. 你認(rèn)為怎樣分工是最合理的?六、 附錄:Visio中SFD和DFD繪制的基本使用Step1:安裝Visio,本說明書中使用的是Vis

7、io2003,大家也可下載Visio2007等新版本,如下圖:(注:下圖表示計(jì)算機(jī)已經(jīng)安裝了Visio,大家只要根據(jù)安裝向?qū)tepbyStep的完成安裝即可)圖3 Visio安裝Step2: 打開visio,繪制系統(tǒng)的系統(tǒng)流程圖,選擇“流程圖”下的“基本流程圖”,先選擇好圖形的基本物理元素,如下圖:圖4 系統(tǒng)流程圖基本物理元素Step3:繪制數(shù)據(jù)流之后得到完整的系統(tǒng)流程圖(SFD)圖5 完整的系統(tǒng)流程圖u 繪制DFD方法1:Step1: 繪制DFD,選擇“軟件”中的“數(shù)據(jù)流模型圖”來進(jìn)行DFD的繪制,首先也是先將基本元素選擇好,如下圖:圖6 頂層模型基本元素Step2: 繪制數(shù)據(jù)流,并為數(shù)據(jù)

8、流命名,得到課本圖2.5“定貨系統(tǒng)”完整的頂層數(shù)據(jù)流圖,如下圖:圖7 完整的頂層模型Step3: 繪制該頂層流圖的細(xì)化L1層流圖,如下圖:圖8 完整的L1層模型u 繪制DFD方法2:Step1:選擇“新建”菜單中“流程圖”中的“數(shù)據(jù)流圖表”,進(jìn)行基本模型的繪制,首先也是先將基本元素選擇好,如下圖:圖9頂層模型基本元素Step2:繪制數(shù)據(jù)流,形成完整的頂層數(shù)據(jù)流圖,如下圖:圖10 完整的頂層數(shù)據(jù)流圖Step3:繪制第1層數(shù)據(jù)流圖,如下圖所示:圖11 完整的第1層數(shù)據(jù)流圖 實(shí)驗(yàn)二 需求分析實(shí)驗(yàn)學(xué)時(shí):3 實(shí)驗(yàn)類型:設(shè)計(jì)性一、 實(shí)驗(yàn)?zāi)康拇_定項(xiàng)目的可實(shí)施性,在此基礎(chǔ)上完成系統(tǒng)的邏輯功能模型的建

9、立。二、 實(shí)驗(yàn)內(nèi)容與要求采用結(jié)構(gòu)化的軟件開發(fā)技術(shù),完成對(duì)項(xiàng)目的分析過程,給出系統(tǒng)的邏輯功能模型,數(shù)據(jù)字典以及規(guī)格說明書。包括:繪制項(xiàng)目的業(yè)務(wù)流程圖、逐漸細(xì)化的數(shù)據(jù)流程圖,編寫數(shù)據(jù)字典,數(shù)據(jù)加工處理的描述,軟件系統(tǒng)流程設(shè)想圖(新系統(tǒng)模型)。三、 實(shí)驗(yàn)結(jié)果以項(xiàng)目小組為單位,形成一份規(guī)范的需求規(guī)格說明書。四、 成績?cè)u(píng)定該實(shí)驗(yàn)按A、B、C、D、E給出成績,占實(shí)驗(yàn)總成績的20%。五、 思考題1. 需求分析在軟件開發(fā)中真的有那么重要嗎?2. 分析系統(tǒng)流程圖,流程圖和數(shù)據(jù)流圖的區(qū)別和各自的特點(diǎn)。3. 怎樣寫合乎規(guī)范的數(shù)據(jù)流圖和數(shù)據(jù)詞典?4. 怎樣組織對(duì)該工作的評(píng)審?實(shí)驗(yàn)三 系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)學(xué)時(shí):9 實(shí)驗(yàn)類型:技

10、能性一、 實(shí)驗(yàn)?zāi)康膶W(xué)會(huì)使用Case工具完成描述軟件結(jié)構(gòu)的軟件結(jié)構(gòu)圖和軟件層次圖的設(shè)計(jì),并熟練地掌握幾種常用的軟件詳細(xì)設(shè)計(jì)的具,如程序流程圖、盒圖、PAD圖和判定表,并能把給定的軟件問題描述轉(zhuǎn)化為過程設(shè)計(jì)結(jié)果,同時(shí)進(jìn)行環(huán)路復(fù)雜度計(jì)算,判斷結(jié)構(gòu)化設(shè)計(jì)結(jié)果的復(fù)雜性。在實(shí)驗(yàn)二基礎(chǔ)上完成系統(tǒng)的體系結(jié)構(gòu)的建立和系統(tǒng)詳細(xì)設(shè)計(jì)。包括:認(rèn)真分析實(shí)驗(yàn)二的結(jié)果,給出系統(tǒng)合理的體系結(jié)構(gòu),描繪系統(tǒng)結(jié)構(gòu)圖,并合理劃分系統(tǒng)的各組成模塊,最后給出系統(tǒng)的各部分設(shè)計(jì)規(guī)格說明書。二、 實(shí)驗(yàn)內(nèi)容與要求1. 軟件結(jié)構(gòu)設(shè)計(jì):(1)采用visio繪制教材的圖4.26中的軟件結(jié)構(gòu)圖,如下圖:教材圖5.5(2)采用visio或其他工具繪制教材

11、的圖4.41的軟件層次圖,如下圖。教材圖5.19(3)分析如下所示的數(shù)據(jù)流圖,并把它轉(zhuǎn)換成合理的軟件結(jié)構(gòu)圖,然后用visio把結(jié)果畫出來。(注意,請(qǐng)用結(jié)構(gòu)圖,而非層次圖)圖1 某系統(tǒng)的數(shù)據(jù)流圖2. 軟件的詳細(xì)設(shè)計(jì):某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過20公斤的行李,當(dāng)行李重量超過20公斤,對(duì)頭等艙的國內(nèi)乘客超重部分每公斤收費(fèi)6元,對(duì)公務(wù)艙的國內(nèi)乘客超重部分每公斤收費(fèi)8元,對(duì)經(jīng)濟(jì)艙的國內(nèi)乘客超重部分每公斤收費(fèi)10元。對(duì)外國顧客超重部分每公斤收費(fèi)比國內(nèi)乘客多1.5倍,對(duì)殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。實(shí)驗(yàn)包含如下四個(gè)部分的內(nèi)容:a)用word設(shè)計(jì)描述其詳細(xì)設(shè)計(jì)結(jié)果的判定表。b)用

12、visio畫出它的程序流程圖。c)用類C代碼寫出它的偽代碼。d)將程序流程圖轉(zhuǎn)換為流圖,然后計(jì)算它的Mccabe程序復(fù)雜度。(要求給出計(jì)算過程)3. 在實(shí)驗(yàn)二的基礎(chǔ)上,以項(xiàng)目小組為單位,完成小組項(xiàng)目的功能結(jié)構(gòu)圖設(shè)計(jì),軟件處理流程設(shè)計(jì),輸出設(shè)計(jì)(主要指打印輸出設(shè)計(jì)),存儲(chǔ)文件格式設(shè)計(jì)(數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)),輸入設(shè)計(jì)(主要指數(shù)據(jù)錄入卡設(shè)計(jì)),代碼設(shè)計(jì),程序設(shè)計(jì)說明書三、  實(shí)驗(yàn)結(jié)果:1. 實(shí)驗(yàn)內(nèi)容3,每小組實(shí)驗(yàn)每組56人,共同形成一份項(xiàng)目設(shè)計(jì)說明文檔2. 實(shí)驗(yàn)內(nèi)容1、2,每人一份實(shí)驗(yàn)結(jié)果四、 成績?cè)u(píng)定該實(shí)驗(yàn)按A、B、C、D、E給出成績,占實(shí)驗(yàn)總成績的40%。五、 思考題1. 系統(tǒng)設(shè)計(jì)和需求分

13、析的關(guān)系是什么?兩者必須先后關(guān)聯(lián)嗎?2. 怎樣描繪系統(tǒng)的體系結(jié)構(gòu)?3. 怎樣繪制復(fù)合規(guī)范的流程圖。4. 怎樣組織對(duì)設(shè)計(jì)階段工作的評(píng)審?六、 附錄:Visio中軟件結(jié)構(gòu)和流程圖的繪制Step1: 軟件結(jié)構(gòu)圖的繪制,選擇“軟件”中的“程序結(jié)構(gòu)圖”,例如繪制出如下圖所示的軟件結(jié)構(gòu):圖2 軟件結(jié)構(gòu)圖Step2: 軟件層次圖的繪制,選擇“組織結(jié)構(gòu)圖”繪制,如下圖:圖3 軟件層次圖Step3: 程序流程圖的繪制,visio中選擇“流程圖”中的“基本流程圖”,得到如下圖形:(下圖僅是一個(gè)例子)圖4 程序流程圖 實(shí)驗(yàn)四 軟件測(cè)試實(shí)驗(yàn)實(shí)驗(yàn)學(xué)時(shí):3 實(shí)驗(yàn)類型:驗(yàn)證性一、 目的與任務(wù)深刻理解軟件測(cè)試的目的

14、,熟知軟件測(cè)試的基本方法和基本策略。學(xué)會(huì)使用CASE工具完成軟件測(cè)試用例的設(shè)計(jì)以及初步完成單元測(cè)試,在此基礎(chǔ)上深刻理解單元測(cè)試的基本原理及測(cè)試類CASE工具的基本使用。二、 實(shí)驗(yàn)內(nèi)容由于小組項(xiàng)目尚未編碼實(shí)現(xiàn),無法針對(duì)每個(gè)小組的項(xiàng)目進(jìn)行測(cè)試,所以本實(shí)驗(yàn)安排統(tǒng)一的測(cè)試題目。1. 單元測(cè)試的邏輯覆蓋測(cè)試驗(yàn)證實(shí)驗(yàn):運(yùn)用Nunit工具完成對(duì)如下例子的單元測(cè)試,要求分別完成語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋和路徑覆蓋測(cè)試的測(cè)試用例編寫以及測(cè)試。要求首先按格式編寫出該測(cè)試所需要的測(cè)試用例,然后編寫測(cè)試程序,對(duì)其進(jìn)行測(cè)試,最后把你寫的測(cè)試用例按格式記錄到實(shí)驗(yàn)報(bào)告中。測(cè)試用例的格式如下:輸

15、入, 期望結(jié)果,對(duì)于本例請(qǐng)遵循如下格式:A,B,X,X(A>1) and (B=0)(A=2) or (X>1)X = X/AX = X+1TFFabdceaFTcTde圖1 單元測(cè)試邏輯覆蓋的驗(yàn)證實(shí)驗(yàn)此外,請(qǐng)測(cè)試如下情況:a) 如果將第1個(gè)判定中的“AND”錯(cuò)寫成了“OR”,用數(shù)據(jù)2,0,3,2.5(首先,該組數(shù)據(jù)滿足何種邏輯覆蓋)對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。b) 如果將第2個(gè)判定中的“x>1”錯(cuò)寫成了“x<=1”,則用數(shù)據(jù)2,0,3,2.5對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。c)

16、 如果將第1個(gè)判定中的“AND”錯(cuò)寫成了“OR”,則用數(shù)據(jù)3,0,1,1/3和2,1,2,3(首先,該組數(shù)據(jù)滿足何種邏輯覆蓋)對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。d) 如果將第2個(gè)判定中的“x>1”錯(cuò)寫成了“x<=1”,則用數(shù)據(jù)3,0,1,1/3和2,1,2,3)對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。e) 如果將第2個(gè)判定中的“x>1”錯(cuò)寫成了“x<=1”,則用數(shù)據(jù)2,0,3,2.5和1,1,1,1(首先,該組數(shù)據(jù)滿足何種邏輯覆蓋)對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄

17、到實(shí)驗(yàn)報(bào)告中。f) 如果將第1個(gè)判定中的“a>1”錯(cuò)寫成了“a<=1”,且把“b=0”錯(cuò)寫成了“b<>0”,則用數(shù)據(jù)2,1,1,2和1,0,2,3對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。g) 如果將第1個(gè)判定中的“a>1”錯(cuò)寫成了“a<=1”,且把“b=0”錯(cuò)寫成了“b<>0”,則用數(shù)據(jù)2,1,1,2、2,0,2,2、1,1,1,1和1,0,2,3對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。經(jīng)過上述的測(cè)試過程,你有什么體會(huì),請(qǐng)寫到實(shí)驗(yàn)報(bào)告中!2. 循環(huán)結(jié)構(gòu)測(cè)試現(xiàn)有一個(gè)簡單循環(huán),需

18、要對(duì)其進(jìn)行測(cè)試,其程序偽代碼如下:Int i,a;Input(i,a);While(i<=10)a += 2;if(a>4)a *= 2;a += 3;ElseIf(a>1)a -= 4;elsea += 5;i+;a *=4;Output(a);要求為該程序設(shè)計(jì)滿足簡單循環(huán)的所有測(cè)試用例,記錄到實(shí)驗(yàn)報(bào)告中。3. 等價(jià)類劃分及邊界值測(cè)試的驗(yàn)證實(shí)驗(yàn)有如下算法A和B均是非負(fù)整型變量(注:int型),如果10<A<100,則B=A*20-5,如果0<A<=10,則B=A*15+20,如果A>=100,則B=A*100-200,請(qǐng)分別用等價(jià)類劃分方法和邊

19、界值分析方法設(shè)計(jì)測(cè)試用例,然后編寫測(cè)試程序完成測(cè)試。并把測(cè)試結(jié)論寫入到實(shí)驗(yàn)報(bào)告中。三、 實(shí)驗(yàn)結(jié)果包含測(cè)試用例、測(cè)試程序以及測(cè)試結(jié)論的實(shí)驗(yàn)報(bào)告一份。四、 成績?cè)u(píng)定該實(shí)驗(yàn)按A、B、C、D、E給出成績,占實(shí)驗(yàn)總成績的20%。五、 附錄:Nunit的基本配置Step1:安裝Nunit,本實(shí)驗(yàn)使用的是其2.4.7版本,大家可去其網(wǎng)站下載最新版本(/download.html)圖2 Nunit安裝向?qū)tep2:如何在.NET環(huán)境中使用Nunit。Step2.1:首先在.NET環(huán)境中創(chuàng)建一個(gè)新的工程,并選擇其工程類型是Class Library模板(當(dāng)然也可以是其它類

20、型的模板,只是后面的配置會(huì)不一樣),將工程命名為ZhbTest1,如下圖:圖3 C#創(chuàng)建程序向?qū)tep2.2:然后為測(cè)試程序增加一個(gè)Nunit.Framework.dll的引用(目的是讓你的程序可以支持Nunit測(cè)試,一般只要Nunit程序成功安裝,都會(huì)在“添加引用”中找到該庫),如下圖在解決方案的項(xiàng)目中右擊鼠標(biāo),然后選擇“添加引用”,找到Nunit.Framework(當(dāng)前版本是2.4.7),確定。圖4 在應(yīng)用程序中引入NunitStep2.3:添加頭部引用以及待測(cè)試代碼如下圖所示:圖5 編寫測(cè)試程序Step2.4: 使得當(dāng)前的應(yīng)用程序可以自動(dòng)運(yùn)行Nunit程序,如下設(shè)置,右鍵選擇項(xiàng)目的屬

21、性,然后在Debug中選擇啟動(dòng)操作,啟動(dòng)外部程序,然后確定:圖6 設(shè)置C#應(yīng)用程序可以啟動(dòng)Nunit圖7 同上Step3:在.NET環(huán)境下運(yùn)行程序,在彈出Nunit界面之后,運(yùn)用File菜單下的Open Project菜單打開需要進(jìn)行測(cè)試的當(dāng)前.NET程序的表現(xiàn)(注意:當(dāng)前是ZhbdogTest1.dll),確定后即可開始測(cè)試,如下圖:圖8 在Nunit中引入需要測(cè)試的對(duì)象(可以是程序或類庫)點(diǎn)擊Run,即可完成測(cè)試工作,如下圖是一個(gè)正常測(cè)試的結(jié)果:圖9 成功測(cè)試的界面如果,修改程序,將”3”修改為”2”,會(huì)得到如下界面,表示該函數(shù)未通過測(cè)試,程序存在錯(cuò)誤:圖10 失敗測(cè)試的界面 附

22、錄一: 實(shí)驗(yàn)要求 軟件工程實(shí)驗(yàn)要求學(xué)生采用“項(xiàng)目小組”的形式對(duì)具體的開發(fā)項(xiàng)目進(jìn)行分析設(shè)計(jì),并以個(gè)人為單位完成基本的驗(yàn)證性實(shí)驗(yàn)內(nèi)容(見實(shí)驗(yàn)內(nèi)容)。具體要求如下:1班級(jí)按項(xiàng)目小組進(jìn)行分組,每組不得超過6人2每個(gè)項(xiàng)目小組選出項(xiàng)目負(fù)責(zé)人或項(xiàng)目經(jīng)理,由項(xiàng)目經(jīng)理召集項(xiàng)目組成員討論、選定開發(fā)項(xiàng)目3項(xiàng)目中的每項(xiàng)任務(wù)要落實(shí)到人且規(guī)定該任務(wù)的起止日期和時(shí)間4每個(gè)項(xiàng)目小組必須按照軟件工程實(shí)驗(yàn)指導(dǎo)書附錄中給定的文檔規(guī)范標(biāo)準(zhǔn)提供項(xiàng)目文檔5題目自定或采用附錄二中的題目6軟件開發(fā)的方法自定(結(jié)構(gòu)化或面向?qū)ο蟮姆椒▽W(xué),鑒于教學(xué)進(jìn)度限制,推薦大家采用結(jié)構(gòu)化開發(fā)方法)   

23、60; 附錄二:實(shí)驗(yàn)題目(1) 學(xué)生管理系統(tǒng)(2) 圖書借閱系統(tǒng)(3) 人事管理系統(tǒng)(4) 汽車導(dǎo)航系統(tǒng)(5) 機(jī)房管理系統(tǒng)(6) 銀行儲(chǔ)蓄管理系統(tǒng)(7) 商店管理系統(tǒng)(8) 機(jī)票訂購系統(tǒng)(9) 圖書分銷系統(tǒng)(10) 網(wǎng)絡(luò)書店(11) 網(wǎng)絡(luò)商店(12) 客戶管理系統(tǒng)(13) 設(shè)備管理系統(tǒng)(14) 科研成果管理系統(tǒng)(15) 大學(xué)排課系統(tǒng)(16) 網(wǎng)絡(luò)消息發(fā)布系統(tǒng)(17) 電子表決系統(tǒng)(18) 網(wǎng)上掀起系統(tǒng)(19) 試題管理系統(tǒng)(20) 物流管理系統(tǒng)附錄三:軟件開發(fā)文檔指南1可行性研究報(bào)告可行性研究報(bào)告的編寫目的是:說明該軟件開發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)、經(jīng)濟(jì)和社會(huì)條件方面的可行性;評(píng)述為了合理

24、地達(dá)到開發(fā)目標(biāo)而可能先擇的各種方案;說明論證所選定的方案??尚行匝芯繄?bào)告的編寫內(nèi)容要求如下:1.1引言1.1.1編寫目的1.1.2背景1.1.3定義1.1.4參考資料1.2可行性研究的前提 1.2.1要求1.2.2目標(biāo)1.2.3條件、假定和限制1.2.4進(jìn)行可行性研究的方法1.2.5評(píng)價(jià)尺度1.3對(duì)現(xiàn)有系統(tǒng)的分析1.3.1數(shù)據(jù)流程和處理流程1.3.2工作負(fù)荷1.3.3費(fèi)用開支1.3.4人員1.3.5設(shè)備1.3.6局限性1.4所建議的系統(tǒng)1.4.1對(duì)所建議系統(tǒng)的說明1.4.2數(shù)據(jù)流程各處理流程1.4.3改進(jìn)之處1.4.4影響對(duì)象設(shè)備的影響對(duì)軟件的影響對(duì)用

25、戶單位機(jī)構(gòu)的影響對(duì)系統(tǒng)動(dòng)行的影響對(duì)開發(fā)的影響對(duì)地點(diǎn)和設(shè)施的影響對(duì)經(jīng)費(fèi)開支的影響1.4.5局限性1.4.6技術(shù)條件方面的可行性1.5可選擇其他系統(tǒng)方案1.5.1可選擇的系統(tǒng)方案11.5.2可選擇的系統(tǒng)方案21.6投資及收益分析1.6.1支出基本建設(shè)投資其他一次性支出非一次性支出1.6.2收益一次性收益非一次性收益不可定量的收益1.6.3收益/投資比1.6.4投資回收周期1.6.5敏感性分析1.7社會(huì)條件方面的可行性1.7.1法律方面的可行性1.7.2使用方面

26、的可行性1.8結(jié)論2項(xiàng)目開發(fā)計(jì)劃編制項(xiàng)目開發(fā)計(jì)劃的目的是用文件的形式,把對(duì)于在開發(fā)過程中各項(xiàng)工作的負(fù)責(zé)人員、開發(fā)進(jìn)度所需經(jīng)費(fèi)預(yù)算、所需軟、硬件條件等問題作出安排記載下來,以便根據(jù)本計(jì)劃開展和檢查本項(xiàng)目的開發(fā)工作。編制內(nèi)容要求如下:2.1引言2.1.1編寫目的2.1.2背景2.1.3定義2.1.4參考資料2.2項(xiàng)目概述2.2.1工作內(nèi)容2.2.2主要參加人員2.2.3產(chǎn)品及成果程序文件服務(wù)非移交產(chǎn)品2.2.4驗(yàn)收標(biāo)準(zhǔn)2.2.5完成項(xiàng)目的最遲期限2.2.6本計(jì)劃的審查者與批準(zhǔn)者2.3實(shí)施總計(jì)劃2.3.1工作任務(wù)的分解2.3.2接口人員2.3.

27、3進(jìn)度2.3.4預(yù)算2.3.5關(guān)鍵問題2.4支持條件2.4.1計(jì)算機(jī)系統(tǒng)支持2.4.2需要用戶承擔(dān)的工作2.4.3需由外單位提供的條件2.5專題計(jì)劃要點(diǎn)3軟件需求說明書軟件需求說明書的編制是為了使用戶的軟件開發(fā)者雙方對(duì)該軟件的起初規(guī)定有一個(gè)共同的理解,使之成為整個(gè)開發(fā)工作的基礎(chǔ)。編制軟件需求說明書的內(nèi)容要求如下:3.1引言3.1.1編寫的目的3.1.2背景3.1.3定義3.1.1參考資料 3.2任務(wù)概述3.2.1目標(biāo)3.2.2用戶的點(diǎn)3.2.3假定與約束3.3需求規(guī)定 3.3.1對(duì)功能的規(guī)定3.3.2對(duì)性能的規(guī)定精度時(shí)間特性要求靈活性3.3.3輸入輸出

28、要求3.3.4數(shù)據(jù)管理能力的要求3.3.5故障處理要求3.3.6其它的專門的要求3.4運(yùn)行環(huán)境規(guī)定3.4.1設(shè)備3.4.2支持軟件3.4.3接口3.4.4控制4數(shù)據(jù)需求說明書數(shù)據(jù)要求說明書的編制目的是為了向整個(gè)開發(fā)時(shí)期提供關(guān)于處理數(shù)據(jù)的描述和數(shù)據(jù)采集要求的技術(shù)信息。編制數(shù)據(jù)要求說明書的內(nèi)容要求如下:4.1引言4.1.1編寫目的4.1.2背景4.1.3定義4.1.4參考資料4.2數(shù)據(jù)的邏輯描述4.2.1靜態(tài)數(shù)據(jù)4.2.2動(dòng)態(tài)輸入數(shù)據(jù)4.2.3動(dòng)態(tài)輸出數(shù)據(jù)4.2.4內(nèi)部生成數(shù)據(jù)4.2.5數(shù)據(jù)約定4.3數(shù)據(jù)的采集4.3.1要求和范圍4.3.2輸入的承擔(dān)者4.3.3處理4.3.4影響5概要設(shè)計(jì)說明書概

29、要設(shè)計(jì)說明書可稱作系統(tǒng)設(shè)計(jì)說明書,這里說的系統(tǒng)是指程序系統(tǒng),編制的目的是說明對(duì)程序的系統(tǒng)的設(shè)計(jì)考慮,包括程序系統(tǒng)的基本處理流程、程序系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等,為程序的詳細(xì)設(shè)計(jì)提供基礎(chǔ)。編制概要設(shè)計(jì)說明書的內(nèi)容要求如下:5.1引言5.1.1編寫目的5.1.2背景5.1.3定義5.1.4參考資料5.2總體設(shè)計(jì)5.2.1需求規(guī)定5.2.2運(yùn)行環(huán)境5.2.3基本設(shè)計(jì)概念和處理流程5.2.4結(jié)構(gòu)5.2.5功能需求與程序的關(guān)系5.2.6人工處理過程5.2.7尚未解決的問題5.3接口設(shè)計(jì)5.3.1用戶接口5.3.2內(nèi)部接口5.3.3外部接口5.4運(yùn)

30、行設(shè)計(jì)5.4.1運(yùn)行模塊組合5.4.2運(yùn)行控制5.4.3運(yùn)行時(shí)間5.5系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)5.5.1邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn)5.5.2物理結(jié)構(gòu)設(shè)計(jì)要點(diǎn)5.5.3數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系5.6系統(tǒng)出錯(cuò)處理設(shè)計(jì)5.6.1出錯(cuò)信息5.6.2補(bǔ)救措施5.6.3系統(tǒng)維護(hù)設(shè)計(jì)6詳細(xì)設(shè)計(jì)說明書詳細(xì)說明書可稱作程序設(shè)計(jì)說明書。編制目的是說明一個(gè)軟件系統(tǒng)各個(gè)層次中的每一個(gè)程序(每個(gè)模塊或子程序)的設(shè)計(jì)考慮,如果一個(gè)軟件系統(tǒng)比較簡單,層次很少,本文件可以不單獨(dú)編寫,有關(guān)內(nèi)容合并概要設(shè)計(jì)說明書。對(duì)詳細(xì)設(shè)計(jì)說明書的內(nèi)容要不得要求如下:6.1引言6.1.1 編寫目的6.1.2 背景6.1.3 定義6.1.4 參考資料6.2 程序系統(tǒng)的

31、組織結(jié)構(gòu)6.3 程序1(標(biāo)識(shí)符)設(shè)計(jì)說明6.3.1 程序描述6.3.2 功能6.3.3 性能6.3.4 輸入項(xiàng)6.3.5 輸出項(xiàng)6.3.6 算法6.3.7 流程邏輯6.3.8 接口6.3.9 存儲(chǔ)分配6.3.10 注釋設(shè)計(jì)6.3.11 限制條件6.3.12 測(cè)試計(jì)劃6.3.13 尚未解決的問題6.4 程序2(標(biāo)識(shí)符)設(shè)計(jì)說明7數(shù)據(jù)庫設(shè)計(jì)說明書數(shù)據(jù)庫設(shè)計(jì)說明書的編制目的是對(duì)于設(shè)計(jì)中的數(shù)據(jù)庫所有標(biāo)識(shí)、邏輯結(jié)構(gòu)和理結(jié)構(gòu)作出具體的設(shè)計(jì)規(guī)定。其內(nèi)容要求如下:7.1引言7.1.1編寫目的7.1.2背景7.1.3定義7.1.4參考資料7.2外部設(shè)計(jì)7.2.1標(biāo)識(shí)符和狀態(tài)7.2.2使用它的程序7.2.3約定7

32、.2.4專門指導(dǎo)7.2.5支持軟件7.3結(jié)構(gòu)設(shè)計(jì)7.3.1概念結(jié)構(gòu)設(shè)計(jì)7.3.2邏輯結(jié)構(gòu)設(shè)計(jì)7.3.3理結(jié)構(gòu)設(shè)計(jì)7.4運(yùn)用設(shè)計(jì)7.4.1數(shù)據(jù)字典設(shè)計(jì)7.4.2安全保密設(shè)計(jì)8用戶手冊(cè)用戶手冊(cè)的編制是要使用非專門術(shù)語的語言,充分地描述該軟件系統(tǒng)工程所具有的功能及基本的使用方法。使用戶(或潛在用戶)通過本手冊(cè)能夠了解該軟件的用途,并且能夠確定在什么情況下,如何使用它。具體的內(nèi)容要求如下:8.1引言8.1.1編寫目的8.1.2背景8.1.3定義8.1.4參考資料8.2用途8.2.1功能8.2.2性能精度時(shí)間特性靈活性8.2.3安全保密8.3運(yùn)行環(huán)境8.3.1硬

33、設(shè)備8.3.2支持軟件8.3.3數(shù)據(jù)結(jié)構(gòu)8.4使用過程8.4.1安裝與初始化8.4.2輸入輸入數(shù)據(jù)的現(xiàn)實(shí)背景輸入格式輸入舉例8.4.3輸出輸出數(shù)據(jù)的現(xiàn)實(shí)背景輸出格式輸出舉例8.4.4文卷查詢8.4.5出錯(cuò)處理與恢復(fù)8.4.6終端操作9操作手冊(cè)操作手冊(cè)的編制是為了向操作人中提供該軟件每一個(gè)運(yùn)行的具體過程和有關(guān)知識(shí),包括操作方法的細(xì)節(jié)。具體的內(nèi)容要求如下:9.1引言9.1.1編寫目的9.1.2背景9.1.3定義9.1.2參考資料9.2軟件概述9.2.1軟件的結(jié)構(gòu)9.2.2程序表9.2.3文卷表9.3安裝與初始化9.4運(yùn)行說明9.4.1運(yùn)行表9.4.2運(yùn)行步驟9.4.3運(yùn)行1(標(biāo)識(shí)符)說明運(yùn)行控制操作信息輸入-輸出文卷輸出文段輸出文段的復(fù)制啟動(dòng)恢復(fù)過程9.4.4運(yùn)行2(標(biāo)識(shí)符)說明9.5非常規(guī)過程9.6遠(yuǎn)程操作10模塊開發(fā)卷宗模塊開發(fā)卷宗是在模塊開發(fā)過程中逐步編寫出來的,每完成一個(gè)模塊或一級(jí)密切相關(guān)的模塊的復(fù)審時(shí)編寫一份,應(yīng)該把所有的模塊開發(fā)卷宗匯集在一起。編寫的目的是記錄和匯總低層次開發(fā)的進(jìn)度和結(jié)果,以便于對(duì)整個(gè)模塊開發(fā)工作的管理和復(fù)審,并為將來的維護(hù)提供非常有用的技術(shù)信息。具體的內(nèi)容要求如下:10

溫馨提示

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

評(píng)論

0/150

提交評(píng)論