




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一選擇題:1軟件工程學(xué)的提出是由于軟件生產(chǎn)中的軟件危機(jī)引起的,軟件工程學(xué)的目的應(yīng)該是最終解決軟件生產(chǎn)的使軟件工程化的問(wèn)題。2軟件危機(jī)通常是指在計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)中所產(chǎn)生的一系列嚴(yán)重的問(wèn)題,這些問(wèn)題中相對(duì)次要的因素是軟件性能。3軟件危機(jī)是是軟件產(chǎn)業(yè)化化過(guò)程中出現(xiàn)現(xiàn)的一種現(xiàn)象象,如:軟件件需求增長(zhǎng)難難以滿足;軟件開(kāi)發(fā)成成本提高;軟件開(kāi)發(fā)進(jìn)進(jìn)度難以控制制;軟件質(zhì)量不不容易保證。4造成軟件危危機(jī)的主要原原因是:軟件件本身特點(diǎn),缺乏好的開(kāi)開(kāi)發(fā)方法和手手段。5軟件工程方方法學(xué)研究?jī)?nèi)內(nèi)容包含軟件件開(kāi)發(fā)技術(shù)和和軟件工程管管理兩部分,其其期望達(dá)到的的最終目標(biāo)是是軟件開(kāi)發(fā)工工程化。6瀑布模型把把軟件生命周周期分
2、為八個(gè)個(gè)階段:?jiǎn)栴}題定義、可行行性研究、軟軟件需要分析析、系統(tǒng)總體體設(shè)計(jì)、詳細(xì)細(xì)設(shè)計(jì)、編碼碼、測(cè)試和運(yùn)運(yùn)行、維護(hù)。八八個(gè)階段又可可歸納為三大大階段:計(jì)劃劃階段;開(kāi)發(fā)階段和運(yùn)行階段7從結(jié)構(gòu)化的的瀑布模型看看,在它的生生命周期的八八個(gè)階段中,需求分析階段出錯(cuò)對(duì)軟件的影響最大。8在結(jié)構(gòu)性的的瀑布模型中中,需求分析析階段定義的的標(biāo)準(zhǔn)將成為為軟件測(cè)試中中的系統(tǒng)測(cè)試試階段的目標(biāo)標(biāo)。9軟件工程的的出現(xiàn)主要是是由于軟件危危機(jī)的出現(xiàn)。10軟件工程程方法學(xué)的目目的是:使軟軟件生產(chǎn)規(guī)范范化和工程化化,而軟件工工程方法得以以實(shí)施的主要要保證是軟件件開(kāi)發(fā)工具和和軟件開(kāi)發(fā)環(huán)環(huán)境。11軟件工程程方法學(xué)中重重要的內(nèi)容之之一是
3、軟件工工程管理,它它包含軟件管管理學(xué)和軟件件工程經(jīng)濟(jì)學(xué)學(xué),它要達(dá)到到的目標(biāo)是以以基本的社會(huì)會(huì)經(jīng)濟(jì)效益為為基礎(chǔ),工程程化生產(chǎn)軟件件。12軟件工程程方法中最普普遍應(yīng)用的方方法之一是結(jié)結(jié)構(gòu)化生命周周期方法(SSLC方法),包包括:嚴(yán)格定定義需求;劃分開(kāi)發(fā)階階段;規(guī)范文檔格格式。13結(jié)構(gòu)化分分析方法是一一種預(yù)先嚴(yán)格格定義需求的的方法,它在在實(shí)施時(shí)強(qiáng)調(diào)調(diào)分析對(duì)象的的數(shù)據(jù)流。14軟件開(kāi)發(fā)發(fā)的結(jié)構(gòu)化生生命周期方法法將軟件生命命周期劃分為為計(jì)劃階段;開(kāi)發(fā)階段和運(yùn)行階段。15進(jìn)行需求求分析可使用用多種工具:數(shù)據(jù)流圖(DDFD);判斷表;判定樹(shù)和數(shù)據(jù)字典。16在軟件的的需求分析中中,開(kāi)發(fā)人員員要從用戶那那里解決的
4、最最重要的問(wèn)題題是要讓軟件件做什么。17軟件需求求分析階段的的工作,可以以分為四方面面:對(duì)問(wèn)題的的識(shí)別、分析與綜合合、編寫(xiě)需求分分析文檔以及及需求分析評(píng)評(píng)審。18在結(jié)構(gòu)化化分析方法中中,用以表達(dá)達(dá)系統(tǒng)內(nèi)數(shù)據(jù)據(jù)的運(yùn)動(dòng)情況況的工具是數(shù)數(shù)據(jù)流圖。19軟件設(shè)計(jì)計(jì)將涉及軟件件的結(jié)構(gòu)、過(guò)過(guò)程和模塊的的設(shè)計(jì),其中中軟件過(guò)程是是指模塊的操操作細(xì)節(jié)。20模塊的獨(dú)獨(dú)立性是由內(nèi)內(nèi)聚性和耦合合性來(lái)量度的的,其中內(nèi)聚聚性是模塊的的功能強(qiáng)度。21在軟件開(kāi)開(kāi)發(fā)過(guò)程中常常用圖作為描描述工具。DDFD就是面面向數(shù)據(jù)流分析方方法的描述工工具。在一套套分層DFDD中,如果某某一張圖中有有N個(gè)加工,則則這張圖允許許有0N張子圖圖。在
5、一張DDFD圖中,任任意兩個(gè)加工工之間有且僅僅有一條數(shù)據(jù)據(jù)流。在畫(huà)分分層DFD時(shí)時(shí),應(yīng)注意保保持父圖與子子圖之間的平平衡。DFDD中從系統(tǒng)的的輸入流到系系統(tǒng)的輸出流流的一連串連連續(xù)變換形成成一種信息流流,這種信息息流可分為事事件流和控制制流兩大類。22軟件設(shè)計(jì)計(jì)中劃分模塊塊的一個(gè)準(zhǔn)則則是高內(nèi)聚低低耦合。兩個(gè)個(gè)模塊之間的的耦合方式中中,內(nèi)容耦合合的耦合度最最高,非直接接耦合的耦合合度最低。一一個(gè)模塊內(nèi)部部的內(nèi)聚種類類中,功能內(nèi)內(nèi)聚的內(nèi)聚度度最高,偶然然內(nèi)聚的內(nèi)聚聚度最低。23黑盒測(cè)試試是從用戶觀點(diǎn)的測(cè)測(cè)試,白盒測(cè)測(cè)試是從開(kāi)發(fā)發(fā)人員觀點(diǎn)的的測(cè)試。24為了把握握軟件開(kāi)發(fā)各各個(gè)環(huán)節(jié)的正正確性和協(xié)調(diào)性,
6、人們們需要進(jìn)行確確認(rèn)和驗(yàn)證工作。確認(rèn)的目的是是想證實(shí)在一一給定的外部部環(huán)境中軟件件的邏輯正確確性,它包括括需求規(guī)格說(shuō)說(shuō)明確認(rèn)和用戶確認(rèn)。驗(yàn)驗(yàn)證則試圖證證明在軟件生生存期各個(gè)階階段,以及階階段間的邏輯輯協(xié)調(diào)性、完備性和正確性。25一般來(lái)說(shuō)說(shuō),與測(cè)試數(shù)數(shù)據(jù)無(wú)關(guān)的文文檔是項(xiàng)目開(kāi)開(kāi)發(fā)計(jì)劃。26根據(jù)國(guó)家家標(biāo)準(zhǔn)GB88566-88計(jì)算機(jī)軟件件開(kāi)發(fā)的規(guī)定定,軟件的開(kāi)開(kāi)發(fā)和維護(hù)分分為八個(gè)階段段,單元測(cè)試試在編碼階段段完成。單元測(cè)試(編編碼階段);集成測(cè)試(設(shè)設(shè)計(jì)階段);確認(rèn)測(cè)試(需需求分析階段段)。27在設(shè)計(jì)測(cè)測(cè)試用例時(shí),劃分等價(jià)類是用得最多的一種黑盒測(cè)試方法。在黑盒測(cè)試方法中,等價(jià)劃分方法設(shè)計(jì)測(cè)試用例的步驟
7、是:(1)根據(jù)輸入入條件把數(shù)目目極多的輸入入數(shù)據(jù)劃分成成若干個(gè)有效效等價(jià)類盒若若干個(gè)無(wú)效等等價(jià)類。(2)設(shè)計(jì)一個(gè)個(gè)測(cè)試用例,使使其覆蓋盡可可能多尚未覆覆蓋的有效等等價(jià)類,重復(fù)復(fù)這一步,直直至所有有效效等價(jià)類均被被覆蓋。(3)設(shè)計(jì)一個(gè)個(gè)測(cè)試用例,使使其覆蓋僅一一個(gè)尚未覆蓋蓋的無(wú)效等價(jià)價(jià)類,重復(fù)這這一步,直至至所有無(wú)效等等價(jià)類均被覆覆蓋。在實(shí)際應(yīng)用中,一一旦糾正了程程序中的錯(cuò)誤誤后,還應(yīng)選選擇部分或全全部原先已經(jīng)經(jīng)測(cè)試過(guò)的測(cè)測(cè)試用例,對(duì)對(duì)修改后的程程序重新測(cè)試試,這種測(cè)試試稱為回歸測(cè)測(cè)試。28單元測(cè)試試在實(shí)現(xiàn)階段段進(jìn)行,它所所依據(jù)的模塊塊功能描述和和內(nèi)部細(xì)節(jié)及及測(cè)試方案應(yīng)應(yīng)在詳細(xì)設(shè)計(jì)計(jì)階段完成,目
8、目的是發(fā)現(xiàn)編編程錯(cuò)誤。 集成測(cè)試所依依據(jù)的模塊說(shuō)說(shuō)明書(shū)和測(cè)試試方案應(yīng)在概概要設(shè)計(jì)階段段完成,它能能發(fā)現(xiàn)設(shè)計(jì)錯(cuò)錯(cuò)誤。確認(rèn)測(cè)測(cè)試應(yīng)在模擬擬的環(huán)境中進(jìn)進(jìn)行強(qiáng)度測(cè)試試的基礎(chǔ)上進(jìn)進(jìn)行,測(cè)試計(jì)計(jì)劃應(yīng)在需求求分析階段完完成。29軟件測(cè)試試階段的基本本任務(wù)應(yīng)當(dāng)是是根據(jù)軟件開(kāi)開(kāi)發(fā)各階段的的文檔資料和程程序的內(nèi)部結(jié)結(jié)構(gòu),精心設(shè)設(shè)計(jì)一批“高產(chǎn)”的測(cè)試用例例,利用這些些測(cè)試用例執(zhí)執(zhí)行程序,找找出軟件中潛潛藏的各種錯(cuò)錯(cuò)誤和缺陷。 30測(cè)試用例例不僅要選用用合理的測(cè)試試輸入數(shù)據(jù),還還需要選用不不合理的測(cè)試試輸入數(shù)據(jù),這這樣能更多地地發(fā)現(xiàn)錯(cuò)誤,提提高程序的可可靠性。對(duì)于于不合理的測(cè)測(cè)試輸入數(shù)據(jù)據(jù),程序應(yīng)拒拒絕執(zhí)行,并并給出
9、相應(yīng)的的提示。31動(dòng)態(tài)測(cè)試試指通過(guò)運(yùn)行行程序發(fā)現(xiàn)錯(cuò)錯(cuò)誤。對(duì)軟件件產(chǎn)品進(jìn)行動(dòng)動(dòng)態(tài)測(cè)試時(shí)使使用黑盒測(cè)試試法和白盒測(cè)試法法。32靜態(tài)測(cè)試試指被測(cè)試程程序不在機(jī)器器上運(yùn)行,而而是采用人工工檢測(cè)和計(jì)算機(jī)輔助助靜態(tài)分析的的手段對(duì)程序序進(jìn)行檢測(cè)。33黑盒測(cè)試試依據(jù)軟件需需求規(guī)格說(shuō)明明,檢查程序序是否滿足功功能要求。因因此,黑盒測(cè)測(cè)試又稱為功功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試試。34白盒測(cè)試試以檢查處理理過(guò)程的細(xì)節(jié)節(jié)為基礎(chǔ),對(duì)對(duì)程序中盡可可能多的邏輯輯路徑進(jìn)行測(cè)測(cè)試,檢查內(nèi)內(nèi)部數(shù)據(jù)結(jié)構(gòu)構(gòu)和運(yùn)行狀態(tài)是否否有錯(cuò),程序序的語(yǔ)句和條條件與預(yù)期的的狀態(tài)是否一一致。白盒測(cè)測(cè)試又稱為結(jié)結(jié)構(gòu)測(cè)試。35在基本路路徑測(cè)試中,獨(dú)獨(dú)立路徑是指指
10、包括一組以以前沒(méi)有處理理過(guò)的上層調(diào)調(diào)用模塊的一一條路徑。從從程序圖來(lái)看看,一條獨(dú)立立路徑是至少少包含有一條條測(cè)試輸入數(shù)數(shù)據(jù)的邊的路路徑。37軟件測(cè)試試的目的是發(fā)發(fā)現(xiàn)軟件錯(cuò)誤誤。38軟件測(cè)試試用例主要由由測(cè)試輸入數(shù)數(shù)據(jù)和測(cè)試的預(yù)期期結(jié)果兩部分分組成。39與設(shè)計(jì)測(cè)測(cè)試用例無(wú)關(guān)關(guān)的文檔是項(xiàng)項(xiàng)目開(kāi)發(fā)計(jì)劃劃。40軟件測(cè)試試是軟件質(zhì)量量保證的主要要手段之一,測(cè)測(cè)試的成本已已超過(guò)軟件開(kāi)開(kāi)發(fā)成本的330%以上。因因此,提高測(cè)測(cè)試的有效性性非常重要。41“高產(chǎn)”的測(cè)試是指指用適量的測(cè)測(cè)試用例發(fā)現(xiàn)現(xiàn)被測(cè)試程序序盡可能多的的錯(cuò)。42如果想要要進(jìn)行成功的的測(cè)試,為其其設(shè)計(jì)測(cè)試用用例主要依賴賴于測(cè)試人員員的經(jīng)驗(yàn)。43使
11、用白盒盒測(cè)試方法時(shí)時(shí),確定測(cè)試試數(shù)據(jù)應(yīng)根據(jù)據(jù)程序的內(nèi)部部結(jié)構(gòu)和指定的覆蓋蓋標(biāo)準(zhǔn)。44在用邏輯輯覆蓋法設(shè)計(jì)計(jì)測(cè)試用例時(shí)時(shí),有語(yǔ)句覆覆蓋、分支覆覆蓋、條件覆覆蓋、判定-條件覆蓋、條條件組合覆蓋蓋和路徑覆蓋蓋等。其中路路徑覆蓋是最最強(qiáng)的覆蓋準(zhǔn)準(zhǔn)則。45在設(shè)計(jì)測(cè)測(cè)試用例時(shí),等價(jià)類劃分是用得最多的一種黑盒測(cè)試方法。46在黑盒測(cè)測(cè)試中,著重重檢查輸入條條件的組合的的測(cè)試用例設(shè)設(shè)計(jì)方法是因因果圖法。47單元測(cè)試試將根據(jù)在詳詳細(xì)設(shè)計(jì)階段段中產(chǎn)生的規(guī)規(guī)格說(shuō)明進(jìn)行行。48集成測(cè)試試計(jì)劃是在概概要設(shè)計(jì)階段段制定的。49確認(rèn)測(cè)試試計(jì)劃是在需需求分析階段段制定的。50軟件的集集成測(cè)試最好好是由不屬該該軟件開(kāi)發(fā)組組的軟件
12、人員員承擔(dān),以提提高集成測(cè)試試的效果。51從已發(fā)現(xiàn)現(xiàn)故障的存在在到找到準(zhǔn)確確的故障位置置并確定故障障的性質(zhì),這這一過(guò)程稱為為調(diào)試。52統(tǒng)計(jì)資料料表明,軟件件測(cè)試的工作作量占整個(gè)軟軟件開(kāi)發(fā)工作作量的40%50%。53軟件測(cè)試試計(jì)劃是一些些文檔,它們們描述了對(duì)于于預(yù)定的測(cè)試試活動(dòng)將要采采取的手段。54IBM公公司的統(tǒng)計(jì)資資料表明,使使用靜態(tài)測(cè)試試的方法最高高可以查出在在測(cè)試中查出出的全部軟件件錯(cuò)誤的700%。55黑盒測(cè)試試方法的優(yōu)點(diǎn)點(diǎn)是可發(fā)現(xiàn)實(shí)實(shí)現(xiàn)功能需求求中的錯(cuò)誤。56白盒測(cè)試試方法的優(yōu)點(diǎn)點(diǎn)是可按軟件件內(nèi)部結(jié)構(gòu)測(cè)測(cè)試。57等價(jià)類劃劃分完成后,就就可得出等價(jià)價(jià)類表,它是是確定測(cè)試用用例的基礎(chǔ)。58
13、由因果圖圖轉(zhuǎn)換出來(lái)的的判定表是確定定測(cè)試用例的的基礎(chǔ)。59軟件測(cè)試試的目的是發(fā)發(fā)現(xiàn)軟件的錯(cuò)錯(cuò)誤。為了提提高測(cè)試的效效率,應(yīng)該選選擇發(fā)現(xiàn)錯(cuò)誤誤的可能性大大的數(shù)據(jù)作為為測(cè)試數(shù)據(jù)。使使用白盒測(cè)試試方法時(shí),確確定測(cè)試數(shù)據(jù)據(jù)應(yīng)根據(jù)程序序的內(nèi)部邏輯輯和指定的覆蓋蓋標(biāo)準(zhǔn)。與設(shè)設(shè)計(jì)測(cè)試數(shù)據(jù)據(jù)無(wú)關(guān)的文檔檔是項(xiàng)目開(kāi)發(fā)發(fā)計(jì)劃。軟件的集成成測(cè)試工作最最好由承擔(dān),以以提高集成測(cè)測(cè)試的效果。60測(cè)試過(guò)程程需要三類輸輸入:軟件配配置、測(cè)試配置和測(cè)試工具。對(duì)對(duì)測(cè)試結(jié)果進(jìn)進(jìn)行結(jié)果分析析,出錯(cuò)則排錯(cuò)錯(cuò),通過(guò)數(shù)據(jù)據(jù)出錯(cuò)率進(jìn)行行可靠性分析析。61程序的三三種基本控制制結(jié)構(gòu)是順序序,條件,循循環(huán)。它們的的共同點(diǎn)是只只有一個(gè)入口口和一個(gè)
14、出口口。結(jié)構(gòu)化程程序設(shè)計(jì)的一一種基本方法法是逐步求精精法。軟件測(cè)測(cè)試的目的是是發(fā)現(xiàn)程序中中的錯(cuò)誤。軟軟件調(diào)試的目目的是找出錯(cuò)錯(cuò)誤所在并改改正之。62(1) 對(duì)可靠性要要求很高的軟軟件,例如操操作系統(tǒng),由由第三者對(duì)源源代碼進(jìn)行逐逐行檢查。代代碼審查 (2) 已有的軟件件被改版時(shí),由由于受到變更更的影響,改改版前正常的的功能可能發(fā)發(fā)生異常,性性能也可能下下降。因此,對(duì)對(duì)變更的軟件件進(jìn)行測(cè)試是是必要的?;鼗貧w測(cè)試 (3) 在意識(shí)到被被測(cè)試模塊的的內(nèi)部結(jié)構(gòu)或或算法的情況況下進(jìn)行測(cè)試試。白盒測(cè)試試 (4) 為了確認(rèn)用用戶的需求,先先做出系統(tǒng)的的主要部分,提提交給用戶試試用。原型63軟件測(cè)試試方法可分為為
15、黑盒測(cè)試法法和白盒測(cè)試試法兩種。 黑盒測(cè)試試法是通過(guò)分分析程序的功功能來(lái)設(shè)計(jì)測(cè)測(cè)試用例的方方法。除了測(cè)測(cè)試程序外,它它還適用于對(duì)對(duì)需求分析階段段的軟件文檔檔進(jìn)行測(cè)試。白盒測(cè)試法是根據(jù)程序的內(nèi)部邏輯來(lái)設(shè)計(jì)測(cè)試用例的方法。除了測(cè)試程序外,它也適用于對(duì)軟件詳細(xì)設(shè)計(jì)階段的軟件文檔進(jìn)行測(cè)試。白盒法測(cè)試程序時(shí)常按照給定的覆蓋條件選取測(cè)試用例。判定覆蓋比語(yǔ)句覆蓋嚴(yán)格,它使得每一個(gè)判定的每一條分支至少經(jīng)歷一次。判定/條件覆蓋既是判定覆蓋,又是條件覆蓋,但它并不保證使各種條件都能取到所有可能的值。多重條件覆蓋比其他條件都要嚴(yán)格,但它不能保證覆蓋程序中的每一條路徑。單元測(cè)試一般以白盒法為主,測(cè)試的依據(jù)是模塊功能規(guī)
16、格說(shuō)明。64集成測(cè)試試也叫做組裝裝測(cè)試或聯(lián)合測(cè)試。通通常,在單元元測(cè)試的基礎(chǔ)礎(chǔ)上,將所有有模塊按照設(shè)設(shè)計(jì)要求組裝裝成為系統(tǒng)。子子系統(tǒng)的集成成測(cè)試特別稱稱為部件測(cè)試試,它所做的的工作是要找找出子系統(tǒng)和和系統(tǒng)需求規(guī)規(guī)格說(shuō)明之間間的不一致。需要要考慮的問(wèn)題題是:在把各各個(gè)模塊連接接起來(lái)的時(shí)侯侯,穿越模塊塊接口的數(shù)據(jù)據(jù)是否會(huì)丟失失; 一個(gè)模模塊的功能是是否會(huì)對(duì)另一一個(gè)模塊的功功能產(chǎn)生不利利的影響;各各個(gè)子功能組合起起來(lái),能否達(dá)達(dá)到預(yù)期要求求的父功能;全局?jǐn)?shù)據(jù)結(jié)結(jié)構(gòu)是否有問(wèn)問(wèn)題;單個(gè)模模塊的誤差累累積起來(lái)是否否會(huì)放大。65軟件測(cè)試試中常用的靜靜態(tài)分析方法法是引用分析析和接口分析。接口分析用于于檢查模塊或
17、或子程序間的的調(diào)用是否正正確。分析方方法(白盒方方法)中常用用的方法是路路徑測(cè)試方法法。非分析方方法(黑盒方方法)中常用用的方法是等等價(jià)類方法和和因果圖方法。因果圖圖方法根據(jù)輸輸出對(duì)輸入的的依賴關(guān)系設(shè)設(shè)計(jì)測(cè)試用例例。66等價(jià)類劃劃分是一種典典型的黑盒測(cè)測(cè)試方法方法法,也是一種種非常實(shí)用的的重要的測(cè)試試方法。使用用這一方法,完完全不考慮程程序的內(nèi)部結(jié)結(jié)構(gòu)。用所有有可能輸入的的數(shù)據(jù)來(lái)測(cè)試試程序是不可可能的,只能能從全部可供供輸入的數(shù)據(jù)據(jù)中選擇一個(gè)個(gè)子集進(jìn)行測(cè)試試。等價(jià)類是指某某個(gè)輸入域的的集合,在該該集合中,各各個(gè)輸入數(shù)據(jù)據(jù)對(duì)于揭露程程序中的錯(cuò)誤誤是等效的。67黑盒測(cè)試試方法的缺點(diǎn)點(diǎn)是不可測(cè)試試軟
18、件的特定定部位和無(wú)法測(cè)試未未實(shí)現(xiàn)功能需需求的軟件的的內(nèi)部缺陷。68白盒測(cè)試試方法的缺點(diǎn)點(diǎn)是不能發(fā)現(xiàn)現(xiàn)功能需求中中的錯(cuò)誤和無(wú)法檢驗(yàn)軟軟件的外部特特性。二判斷題(1) 用黑黑盒法測(cè)試時(shí)時(shí),測(cè)試用例例是根據(jù)程序序內(nèi)部邏輯設(shè)設(shè)計(jì)的。()(2) 盡量量用公共過(guò)程程或子程序去去代替重復(fù)的的代碼段。()(3) 測(cè)試試是為了驗(yàn)證證該軟件已正正確地實(shí)現(xiàn)了了用戶的要求求。()(4) 對(duì)于于連鎖型分支支結(jié)構(gòu),若有有n個(gè)判定語(yǔ)語(yǔ)句,則有22n條路徑。()(5) 盡量量采用復(fù)合的的條件測(cè)試,以以避免嵌套的的分支結(jié)構(gòu)。()(6) GOOTO語(yǔ)句概概念簡(jiǎn)單,使使用方便,在在某些情況下下,保留GOOTO語(yǔ)句反反能使寫(xiě)出的的程
19、序更加簡(jiǎn)簡(jiǎn)潔。()(7) 發(fā)現(xiàn)現(xiàn)錯(cuò)誤多的程程序模塊,殘殘留在模塊中中的錯(cuò)誤也多多。()(8) 黑盒盒測(cè)試方法中中最有效的是是因果圖法。()(9) 在做做程序的單元元測(cè)試時(shí),樁樁(存根)模模塊比驅(qū)動(dòng)模模塊容易編寫(xiě)寫(xiě)。()(10) 程程序效率的提提高主要應(yīng)通通過(guò)選擇高效效的算法來(lái)實(shí)實(shí)現(xiàn)。()三應(yīng)用題1.求一組數(shù)組組中的最大數(shù)數(shù), 數(shù)組表表示為A(nn) ,n1,2n的自然數(shù)數(shù)。(10分分) 請(qǐng)畫(huà)出程序流程程圖(4分) 請(qǐng)畫(huà)出該算法的的N-S圖(33分) 請(qǐng)用PAD圖來(lái)來(lái)表示該算法法(3分) 答案: 2、某銀行計(jì)算算機(jī)儲(chǔ)蓄系統(tǒng)統(tǒng)的工作流程程大致如下:儲(chǔ)戶填寫(xiě)的的存款單或取取款單由業(yè)務(wù)務(wù)員鍵入系統(tǒng)統(tǒng),
20、如果是存存款則系統(tǒng)記記錄存款人的的姓名、住址址(或電話號(hào)號(hào)碼)、身份份證號(hào)碼、存存款類型、存存款日期、到到期日期、利利率及密碼(可可選)等信息息,并印出存存款單給儲(chǔ)戶戶;如果是取取款而且存款款時(shí)留有密碼碼,則系統(tǒng)首首先核對(duì)儲(chǔ)戶戶密碼,若密密碼正確或存存款時(shí)未留密密碼,則系統(tǒng)統(tǒng)計(jì)算利息并并印出利息清清單給儲(chǔ)戶。請(qǐng)請(qǐng)用數(shù)據(jù)流圖圖描繪本系統(tǒng)統(tǒng)的功能。并并畫(huà)出系統(tǒng)的的E-R圖。DFD圖:ER圖: 3、試用NN-S圖和PPAD表示下下面程序流程程圖,并計(jì)算算它們的MccCabe復(fù)復(fù)雜性度量.(基本路徑徑測(cè)試法的環(huán)復(fù)雜度)。(110%)解答:4、某培訓(xùn)中心心要研制一個(gè)個(gè)計(jì)算機(jī)管理理系統(tǒng)。它的的業(yè)務(wù)是:將學(xué)
21、員發(fā)來(lái)的信信件收集分類類后,按幾種種不同的情況況處理。1)如果是報(bào)名名的,則將報(bào)報(bào)名數(shù)據(jù)送給給負(fù)責(zé)報(bào)名事事務(wù)的職員,他他們將查閱課課程文件,檢檢查該課程是是否額滿,然然后在學(xué)生文文件、課程文文件上登記,并并開(kāi)出報(bào)告單單交財(cái)務(wù)部門門,財(cái)務(wù)人員員開(kāi)出發(fā)票給給學(xué)生。2)如果是想注注銷原來(lái)已選選修的課程,則則由注銷人員員在課程文件件、學(xué)生文件件和帳目文件件上做相應(yīng)的的修改,并給給學(xué)生注銷單單。3)如果是付款款的,則由財(cái)財(cái)務(wù)人員在帳帳目文件上登登記,也給學(xué)學(xué)生一張收費(fèi)費(fèi)收據(jù)。要求:1).對(duì)以上問(wèn)問(wèn)題畫(huà)出數(shù)據(jù)據(jù)流程圖。(8分)2).畫(huà)出該培培訓(xùn)管理的軟軟件結(jié)構(gòu)圖的的主圖。(88分)四計(jì)算例題:1如圖所示的
22、的程序有三條條不同的路徑徑。分別表示示為L(zhǎng)1(aab)、L22(acd)、L33(ace),或簡(jiǎn)簡(jiǎn)寫(xiě)為acee、abd、aabe及accd。根據(jù)判判定覆蓋、條條件覆蓋、判判定-條件覆覆蓋、條件組組合覆蓋和路路徑覆蓋等五五種覆蓋標(biāo)準(zhǔn)準(zhǔn),寫(xiě)出滿足足相應(yīng)覆蓋標(biāo)標(biāo)準(zhǔn)的最小測(cè)測(cè)試用例組。解:判定覆蓋:x = 990, y = 90路徑覆蓋:x = 990, y = 90 x = 50, y = 50 x = 50, yy = 500 x = 90, y = 70 x = 90, yy = 700條件覆蓋:x = 90, y = 90條件組合覆覆蓋:x = 90, y = 990 x = 50, yy =
23、 500 x = 990, y = 70 x = 80, yy = 700 x = 990, y = 30 x = 70, yy = 900 x = 770, y = 90 x = 330, y = 90判定-條件覆蓋蓋:x = 90, yy = 900 x = 770, y = 70 xx = 500, y = 50 x = 550, y = 50 xx = 800, y = 70 x = 550, y = 50 xx = 700, y = 902下面是快速速排序算法中中的一趟劃分分算法,其中dataalist是是數(shù)據(jù)表,它有兩個(gè)數(shù)數(shù)據(jù)成員:一是元素類類型為Eleement的的數(shù)組V,另一個(gè)
24、是是數(shù)組大小nn。算法中用用到兩個(gè)操作作,一是取某某數(shù)組元素VVi的關(guān)關(guān)鍵碼操作ggetKeyy ( ),一一是交換兩數(shù)數(shù)組元素內(nèi)容容的操作Swwap( ): int Partiition ( dattalistt &lisst, innt loww, intt highh ) /在區(qū)間 low, high 以第一個(gè)個(gè)對(duì)象為基準(zhǔn)準(zhǔn)進(jìn)行一次劃劃分,k返回回基準(zhǔn)對(duì)象回回放位置。int k = low; Elemment ppivot = lisst.Vllow; /基準(zhǔn)準(zhǔn)對(duì)象for ( intt i = low+11; i = higgh; i+ ) /檢檢測(cè)整個(gè)序列列,進(jìn)行劃分分iff ( li
25、ist.Vi.geetKey ( ) pivoot.gettKey( ) & + k != i ) Swap ( lisst.Vkk, liist.Vi );/小小于基準(zhǔn)的交交換到左側(cè)去去Swwap ( list.Vloww, liist.Vk );/將基準(zhǔn)對(duì)象象就位 reeturn k; /返回基準(zhǔn)對(duì)對(duì)象位置 (1) 試畫(huà)畫(huà)出它的程序序流程圖; (2) 試?yán)寐窂礁采w蓋方法為它設(shè)設(shè)計(jì)足夠的測(cè)測(cè)試用例(循循環(huán)次數(shù)限定定為0次,11次和2次)。解:(1) (2)3設(shè)要對(duì)一個(gè)個(gè)自動(dòng)飲料售售貨機(jī)軟件進(jìn)進(jìn)行黑盒測(cè)試試。該軟件的的規(guī)格說(shuō)明如如下: “有一個(gè)處理理單價(jià)為1元元5角錢的盒盒裝飲料的自自動(dòng)售
26、貨機(jī)軟軟件。若投入入1元5角硬硬幣,按下“可樂(lè)”、“雪碧”或“紅茶”按鈕,相應(yīng)應(yīng)的飲料就送送出來(lái)。若投投入的是2元元硬幣,在送送出飲料的同同時(shí)退還5角角硬幣。” (1) 試試?yán)靡蚬麍D圖法,建立該該軟件的因果果圖; (2) 設(shè)計(jì)計(jì)測(cè)試該軟件件的全部測(cè)試試用例。解:(1) (2)4如果對(duì)一個(gè)個(gè)長(zhǎng)度為1000000條條指令的程序序進(jìn)行集成測(cè)測(cè)試期間記錄錄下面的數(shù)據(jù)據(jù):a. 7月111日:集成成測(cè)試開(kāi)始,沒(méi)沒(méi)有發(fā)現(xiàn)錯(cuò)誤誤。b. 8月22日:總共改改正了1000個(gè)錯(cuò)誤,此此時(shí)MTTFF=0.4hh。c. 9月11日:總共改改正了3000個(gè)錯(cuò)誤,此此時(shí)MTTFF=2h。(1)估計(jì)程程序中的錯(cuò)誤誤總數(shù)。(
27、2)為使MMTTF達(dá)到到10h,必必須測(cè)試和調(diào)調(diào)試這個(gè)程序序多長(zhǎng)時(shí)間?解:(1)因?yàn)闉椋核裕旱肒=10000,ETT=350。所所以程序中的的錯(cuò)誤總數(shù)約約為250個(gè)個(gè)。(2)設(shè)MTTTF=10則: 由可靠性累積曲曲線EC (t) = ET (11-e-K11 t ),得 100 = 3500 (1-ee-160KK1) 3000 = 3350 (11-e-3220K1) 因此,3-3*e-1160K1 = 1-ee-320KK1 2 = 3*ee-160KK1- e-320K11 設(shè)設(shè) x = e-1600K1 有 x2 3x + 2 = 00解得 x11 = 2,xx2 = 11, K11
28、 = lnn(x1)/(-1600) = - 0.6993/1600 =0.004433。因?yàn)閘n(x2)/(-160) = 0,舍舍去代入:3440 = 3350 (11-e-K11 t ) = 3500(1-e-0.004433 t ) 3500e-0.000433 t = 110 t = (lnn(35)/0.000433= 821 (小時(shí)) 因此此求得為使MMTTF = 10,測(cè)測(cè)試和調(diào)試該該程序需要花花費(fèi)821小小時(shí)。五 HYPERLINK /anqi_84/archive/2005/07/01/184815.html 軟件工程心心得體會(huì) (一)紙上得來(lái)來(lái)終覺(jué)淺,覺(jué)覺(jué)知此事要躬躬行理
29、論知識(shí)用于指指導(dǎo)實(shí)踐,親親身體驗(yàn)才能能領(lǐng)悟軟件工工程的妙用。雖雖然軟件工程程這門課程沒(méi)沒(méi)有安排實(shí)驗(yàn)驗(yàn)課時(shí),課后后卻要花費(fèi)大大量的時(shí)間去去實(shí)踐。我感感覺(jué)到學(xué)習(xí)這這門課花費(fèi)了了大量的時(shí)間間思考,從而而換取了寶貴貴的經(jīng)驗(yàn)。學(xué)學(xué)習(xí)軟件工程程的過(guò)程是痛痛苦的,它已已經(jīng)不單純是是一種思想,而而是處世的態(tài)態(tài)度。開(kāi)發(fā)軟件必須嚴(yán)嚴(yán)謹(jǐn)求實(shí),脈脈絡(luò)清晰,還還需要那么一一點(diǎn)點(diǎn)敬業(yè)精精神,犧牲部部分休息娛樂(lè)樂(lè)的時(shí)間。運(yùn)運(yùn)用工程學(xué)的的思想開(kāi)發(fā)軟軟件,就要跳跳出原本只注注重編程的狹狹隘圈子,從從宏觀上把握握軟件的生命命周期,強(qiáng)調(diào)調(diào)整體性與協(xié)協(xié)調(diào)性,不能能任意妄為。特特別是需求分分析、總體設(shè)設(shè)計(jì)和詳細(xì)設(shè)設(shè)計(jì)階段的工工作,更要
30、做做到細(xì)致、準(zhǔn)準(zhǔn)確,為后期期工作做好鋪鋪墊。(二)吾生也也有涯,而知知也無(wú)涯學(xué)習(xí)永無(wú)止境,在在以后還需加加強(qiáng)的方面有有:1分工合作:起初,對(duì)軟件工工程處于一知知半解的狀態(tài)態(tài),分工比較較混亂。在劃劃分模塊后明明確了各自分分工,漸漸形形成良性循環(huán)環(huán)。團(tuán)隊(duì)合作十分重重要,爭(zhēng)議固固然存在,但但通過(guò)討論、協(xié)協(xié)商,群策群群力,在不斷斷磨合中能夠夠達(dá)成一致與與默契。團(tuán)隊(duì)隊(duì)成員中能力力各有高下,互互相尊重,各各取所長(zhǎng),不不宜妄自菲薄薄。組長(zhǎng)多加加協(xié)調(diào),組員員積極配合,才才能合作愉快快。2學(xué)習(xí)能力:學(xué)習(xí)能力體現(xiàn)在在能盡快接受受新的知識(shí),順順應(yīng)變化,學(xué)學(xué)為所用。樹(shù)立終身學(xué)習(xí)的的理念,摸索索有效的學(xué)習(xí)習(xí)方式。MSS
31、DN的中文文網(wǎng)站就是我我學(xué)習(xí)的得力力助手,給予予我很多幫助助。此外,在在開(kāi)小組討論論會(huì)時(shí),大家家各抒己見(jiàn),也也開(kāi)闊了我的的思路。3有關(guān)系統(tǒng):文檔不夠詳盡,導(dǎo)導(dǎo)致標(biāo)準(zhǔn)不統(tǒng)統(tǒng)一。模塊集集成時(shí),做出出來(lái)的半成品品與原本的設(shè)設(shè)計(jì)方案有出出入。調(diào)試時(shí)出現(xiàn)了一一些小問(wèn)題,而而個(gè)別次要的的模塊還未開(kāi)開(kāi)發(fā)。設(shè)計(jì)仍仍有不太合理理處,需要進(jìn)進(jìn)行完善性維維護(hù)。六軟件工程的的三段論起源源及發(fā)展趨勢(shì)勢(shì)軟件工程(Softwware EEngineeeringg,簡(jiǎn)稱為SSE)是針對(duì)對(duì)軟件這一具具有特殊性質(zhì)質(zhì)的產(chǎn)品的工工程化方法。軟軟件工程涵蓋蓋了軟件生存存周期的所有有階段,并提提供了一整套套工程化的方方法,來(lái)指導(dǎo)導(dǎo)軟件人
32、員的的工作。一、軟件工工程定義“工程”是是科學(xué)和數(shù)學(xué)學(xué)的某種應(yīng)用用,通過(guò)這一一應(yīng)用,使自自然界的物質(zhì)質(zhì)和能源的特特性能夠通過(guò)過(guò)各種結(jié)構(gòu)、機(jī)機(jī)器、產(chǎn)品、系系統(tǒng)和過(guò)程,成成為對(duì)人類有有用的東西。因因而,“軟件工程”就是科學(xué)和和數(shù)學(xué)的某種種應(yīng)用,通過(guò)過(guò)這一應(yīng)用,使使計(jì)算機(jī)設(shè)備備的能力借助助于計(jì)算機(jī)程程序、過(guò)程和和有關(guān)文檔成成為對(duì)人類有有用的東西。 軟件工程的的成果是為軟軟件設(shè)計(jì)和開(kāi)開(kāi)發(fā)人員提供供思想方法和和工具,而軟軟件開(kāi)發(fā)是一一項(xiàng)需要良好好組織,嚴(yán)密密管理且各方方面人員配合合協(xié)作的復(fù)雜雜工作。軟件件工程正是指指導(dǎo)這項(xiàng)工程程的一門科學(xué)學(xué)。軟件工程程在過(guò)去一段段時(shí)間內(nèi)已經(jīng)經(jīng)取得了長(zhǎng)足足的進(jìn)展,可可以說(shuō)
33、在軟件件的開(kāi)發(fā)和應(yīng)應(yīng)用中起到了了其應(yīng)有的作作用。高質(zhì)量的軟軟件工程可以以保證軟件工工業(yè)中生產(chǎn)的的軟件是高質(zhì)質(zhì)量的產(chǎn)品、用用戶滿意的產(chǎn)產(chǎn)品。但是,對(duì)對(duì)軟件工程的的界定,總是是存在一定的的差異。軟件件工程應(yīng)該包包括哪些知識(shí)識(shí)?這里我們們引用 IEEEE在軟件件工程知識(shí)體體系指南(SSEWBOKK:Guidde to the SSoftwaare Enngineeering Body of Knnowleddge 20004Verrsion)中的定義,它它是這樣定義義軟件工程的的:1)軟件件開(kāi)發(fā)、實(shí)施施、維護(hù)的系系統(tǒng)化、規(guī)范范化、質(zhì)量化化的方法的應(yīng)應(yīng)用,也就是是軟件的應(yīng)用用工程2)對(duì)對(duì)上述方法的的研
34、究。IEEE的的軟件工程知知識(shí)體系指南南(SWEBBOK)中界界定了軟件工工程的10個(gè)個(gè)知識(shí)領(lǐng)域(KAs:KKnowleedge AAreas)即軟件需求求(Softtware requiiremennts)、軟軟件設(shè)計(jì)(SSoftwaare deesign)、軟件構(gòu)建建(Softtware consttructiion)、軟軟件測(cè)試(SSoftwaare teestingg)、軟件維維護(hù)(Sofftwaree mainntenannce)、軟軟件配置管理理(Softtware confiigurattion mmanageement)、軟件工程程管理(Sooftwarre enggineer
35、ring mmanageement)、軟件工程程過(guò)程(Sooftwarre enggineerring pprocesss)、軟件件工程工具和和方法(Sooftwarre enggineerring ttools and mmethodds)和軟件件質(zhì)量(Sooftwarre quaalITy)。這10個(gè)個(gè)知識(shí)領(lǐng)域的的每個(gè)知識(shí)領(lǐng)領(lǐng)域還包括很很多子領(lǐng)域。二、軟件工工程起源的三三段論這里的三段段論是指從時(shí)時(shí)間角度看軟軟件工程起源源的三個(gè)階段段。本世紀(jì)中中期軟件產(chǎn)業(yè)業(yè)從零開(kāi)始起起步,在短短短的50年的的時(shí)間里迅速速發(fā)展成為推推動(dòng)人類社會(huì)會(huì)發(fā)展的龍頭頭產(chǎn)業(yè)。隨著著信息產(chǎn)業(yè)的的發(fā)展,軟件件對(duì)人類社會(huì)會(huì)性
36、越來(lái)越重重要。軟件發(fā)發(fā)展的五十年年歷史中,人人們對(duì)軟件的的認(rèn)識(shí)經(jīng)歷了了一個(gè)由淺到到深的過(guò)程。第一個(gè)寫(xiě)軟軟件的人是AAda(Auugustaa Ada Lovellace),在18600年代他嘗試試為Babbbage(CCharlees Babbbage)的機(jī)械式計(jì)計(jì)算機(jī)寫(xiě)軟件件。盡管失敗敗了,但他將將永遠(yuǎn)載入了了計(jì)算機(jī)發(fā)展展的史冊(cè)。11950年代代,軟件伴隨隨著第一臺(tái)電電子計(jì)算機(jī)的的問(wèn)世誕生了了。以寫(xiě)軟件件為職業(yè)的人人也開(kāi)始出現(xiàn)現(xiàn),他們多是是經(jīng)過(guò)訓(xùn)練的的數(shù)學(xué)家和電電子工程師。11960年代代美國(guó)大學(xué)里里開(kāi)始出現(xiàn)授授予計(jì)算機(jī)專專業(yè)的學(xué)位,教教人們寫(xiě)軟件件。 軟件發(fā)展的的歷史可以大大致分為如下下的
37、三個(gè)階段段:第一個(gè)階段段是19500年代到19960年代,是是程序設(shè)計(jì)階階段,基本是是個(gè)體手工勞勞動(dòng)的生產(chǎn)方方式。這個(gè)時(shí)時(shí)期,一個(gè)程程序是為一個(gè)個(gè)特定的目的的而編制的,軟軟件的通用性性很有限的。軟軟件往往帶有有強(qiáng)烈的個(gè)人人色彩。早期期的軟件開(kāi)發(fā)發(fā)沒(méi)有什么系系統(tǒng)的方法可可以遵循,軟軟件設(shè)計(jì)是在在某個(gè)人的頭頭腦中完成的的一個(gè)隱藏的的過(guò)程。而且且,除了源代代碼往往沒(méi)有有軟件說(shuō)明書(shū)書(shū)等文檔,因因此這個(gè)時(shí)期期尚無(wú)軟件的的概念,基本本上只有程序序、程序設(shè)計(jì)計(jì)概念,不重重視程序設(shè)計(jì)計(jì)方法,主要要是用于科學(xué)學(xué)計(jì)算,規(guī)模模很小、采用用簡(jiǎn)單的工具具(基本上采采用低級(jí)語(yǔ)言言),硬件的的存儲(chǔ)容量小小、運(yùn)行可靠靠性差。
38、 第二階段是是1960年年代到19770年代,是是軟件設(shè)計(jì)階階段,小組合合作生產(chǎn)方式式。在這一時(shí)時(shí)期軟件開(kāi)始始作為一種產(chǎn)產(chǎn)品被廣泛使使用,出現(xiàn)了了“軟件作坊”。這個(gè)階段段,基本采用用高級(jí)語(yǔ)言開(kāi)開(kāi)發(fā)工 具,開(kāi)開(kāi)始提出結(jié)構(gòu)構(gòu)化方法。硬硬件的速度、容容量、工作可可靠性有明顯顯提高,而且且硬件的價(jià)格格降低。人們們開(kāi)始使用產(chǎn)產(chǎn)品軟件(可可購(gòu)買),從從而建立了軟軟件的概念。程程序員數(shù)量猛猛增,但是開(kāi)開(kāi)發(fā)技術(shù)沒(méi)有有新的突破 ,軟件開(kāi)發(fā)發(fā)的方法基本本上仍然沿用用早期的個(gè)體體化軟件開(kāi)發(fā)發(fā)方式,軟件件需求日趨復(fù)復(fù)雜,維護(hù)的的難度越來(lái)越越大,開(kāi)發(fā)成成本令人吃驚驚地高,開(kāi)發(fā)發(fā)人員的開(kāi)發(fā)發(fā)技術(shù)不適應(yīng)應(yīng)規(guī)模大、結(jié)結(jié)構(gòu)復(fù)雜
39、的軟軟件開(kāi)發(fā),失失敗的項(xiàng)目越越來(lái)越多。第三個(gè)階段段是從19770年代止今今,為軟件工工程時(shí)代 ,是是工程化的生生產(chǎn)方式。這這個(gè)階段的硬硬件向超高速速、大容量、微微型化以及網(wǎng)網(wǎng)絡(luò)化方向發(fā)發(fā)展,第三、四四代語(yǔ)言出現(xiàn)現(xiàn)。數(shù)據(jù)庫(kù)、開(kāi)開(kāi)發(fā)工具、開(kāi)開(kāi)發(fā)環(huán)境、網(wǎng)網(wǎng)絡(luò) 、分布布式、面向?qū)?duì)象技術(shù)等工工具方法都得得到應(yīng)用 。軟軟件開(kāi)發(fā)技術(shù)術(shù)有很大進(jìn)步步,但未能獲獲得突破性進(jìn)進(jìn)展,軟件開(kāi)開(kāi)發(fā)技術(shù)的進(jìn)進(jìn)步一直未能能滿足發(fā)展的的要求。軟件件的數(shù)量急劇劇膨脹,一些些復(fù)雜的、大大型的軟件開(kāi)開(kāi)發(fā)項(xiàng)目提出出來(lái)了,在那那個(gè)時(shí)代,很很多的軟件最最后都得到了了一個(gè)悲慘的的結(jié)局。很多多的軟件項(xiàng)目目開(kāi)發(fā)時(shí)間大大大超出了規(guī)規(guī)劃的時(shí)間表表
40、,一些項(xiàng)目目導(dǎo)致了財(cái)產(chǎn)產(chǎn)的流失,甚甚至某些軟件件導(dǎo)致了人員員傷亡。同時(shí)時(shí)軟件開(kāi)發(fā)人人員也發(fā)現(xiàn)軟軟件開(kāi)發(fā)的難難度越來(lái)越大大,在軟件開(kāi)開(kāi)發(fā)中遇到的的問(wèn)題找不到到解決的辦法法,使問(wèn)題積積累起來(lái),形形成了尖銳的的矛盾,失敗敗的軟件開(kāi)發(fā)發(fā)項(xiàng)目卻屢見(jiàn)見(jiàn)不鮮,因而而導(dǎo)致了軟件件危機(jī)。 軟件危機(jī)指指的是在計(jì)算算機(jī)軟件的開(kāi)開(kāi)發(fā)和維護(hù)過(guò)過(guò)程中所遇到到的一系列嚴(yán)嚴(yán)重問(wèn)題。概概括來(lái)說(shuō),軟軟件危機(jī)包含含兩方面問(wèn)題題:一、如何何開(kāi)發(fā)軟件,以以滿足不斷增增長(zhǎng),日趨復(fù)復(fù)雜的需求;二、如何維維護(hù)數(shù)量不斷斷膨脹的軟件件產(chǎn)品。落后后的軟件生產(chǎn)產(chǎn)方式無(wú)法滿滿足迅速增長(zhǎng)長(zhǎng)的計(jì)算機(jī)軟軟件需求,從從而導(dǎo)致軟件件開(kāi)發(fā)與維護(hù)護(hù)過(guò)程中出現(xiàn)現(xiàn)一系
41、列嚴(yán)重重問(wèn)題的現(xiàn)象象。最為突出的的例子是美國(guó)國(guó)IBM公司司于19633年19666年開(kāi)發(fā)的的IBM3660系列機(jī)的的操作系統(tǒng)。難難怪該項(xiàng)目的的負(fù)責(zé)人Frred Brrooks(F?D?希希羅克斯)在在總結(jié)該項(xiàng)目目時(shí)無(wú)比沉痛痛地說(shuō):“正像一只只逃亡的野獸獸落到泥潭中中作垂死掙扎扎,越是掙扎扎,陷得越深深,最后無(wú)法法逃脫滅頂?shù)牡臑?zāi)難,程序設(shè)計(jì)工工作正像這樣樣一個(gè)泥潭一批批程程序員被迫在在泥潭中拼命命掙扎,誰(shuí)也沒(méi)有有料到問(wèn)題竟竟會(huì)陷入這樣樣的困境?!?IBM3360操作系系統(tǒng)的歷史教教訓(xùn)已成為軟軟件開(kāi)發(fā)項(xiàng)目目中的典型事事例被記入歷歷史史冊(cè)。由由于軟件危機(jī)機(jī)的產(chǎn)生,迫迫使人們不得得不研究、改改變軟件開(kāi)
42、發(fā)發(fā)的技術(shù)手段段和管理方法法。從此軟件件生產(chǎn)進(jìn)入軟軟件工程時(shí)代代。1968年年北大西洋公公約組織的計(jì)計(jì)算機(jī)科學(xué)家家在聯(lián)邦德國(guó)國(guó)召開(kāi)的國(guó)際際學(xué)術(shù)會(huì)議上上第一次提出出了“軟件危機(jī)”(softtware crisiis)這個(gè)名名詞。同時(shí),討討論和制定擺擺脫“軟件危機(jī)”的對(duì)策。在在那次會(huì)議上上第一次提出出了軟件工程程(softtware enginneerinng)這個(gè)概概念,從此一一門新興的工工程學(xué)科軟件工程學(xué)學(xué)-為研究究和克服軟件件危機(jī)應(yīng)運(yùn)而而生?!败浖こ坛獭钡母拍钍菫闉榱擞行У目乜刂栖浖C(jī)機(jī)的發(fā)生而被被提出來(lái)的,它它的中心目標(biāo)標(biāo)就是把軟件件作為一種物物理的工業(yè)產(chǎn)產(chǎn)品來(lái)開(kāi)發(fā),要要求“采用工程化
43、化的原理與方方法對(duì)軟件進(jìn)進(jìn)行計(jì)劃、開(kāi)開(kāi)發(fā)和維護(hù)”。軟件工程程是一門旨在在開(kāi)發(fā)滿足用用戶需求、及及時(shí)交付、不不超過(guò)預(yù)算和和無(wú)故障的軟軟件的學(xué)科。軟軟件工程的主主要對(duì)象是大大型軟件。它它的最終目的的是擺脫手工工生產(chǎn)軟件的的狀況,逐步步實(shí)現(xiàn)軟件開(kāi)開(kāi)發(fā)和維護(hù)的的自動(dòng)化。我們要求工工程目標(biāo)能在在一定的時(shí)間間、一定的預(yù)預(yù)算之內(nèi)完成成。軟件工程程是針對(duì)軟件件危機(jī)提出來(lái)來(lái)的。從微觀觀上看,軟件件危機(jī)的特征征正是表現(xiàn)在在完工日期一一再拖后、經(jīng)經(jīng)費(fèi)一再超支支,甚至工程程最終宣告失失敗等方面。而而從宏觀上看看,軟件危機(jī)機(jī)的實(shí)質(zhì)是軟軟件產(chǎn)品的供供應(yīng)趕不上需需求的增長(zhǎng)。自從軟件工工程概念提出出以來(lái),經(jīng)過(guò)過(guò)幾十多年的的研
44、究與實(shí)踐踐,雖然“軟件危機(jī)”沒(méi)得到徹底底解決,但在在軟件開(kāi)發(fā)方方法和技術(shù)方方面已經(jīng)有了了很大的進(jìn)步步。尤其應(yīng)該該指出的是,自自80年代中中期,美國(guó)工工業(yè)界和政府府部門開(kāi)始認(rèn)認(rèn)識(shí)到,在軟軟件開(kāi)發(fā)中,最最關(guān)鍵的問(wèn)題題是軟件開(kāi)發(fā)發(fā)組織不能很很好地定義和和管理其軟件件過(guò)程,從而而使一些好的的開(kāi)發(fā)方法和和技術(shù)都起不不到所期望的的作用。也就就是說(shuō),在沒(méi)沒(méi)有很好定義義和管理軟件件過(guò)程的軟件件開(kāi)發(fā)中,開(kāi)開(kāi)發(fā)組織不可可能在好的軟軟件方法和工工具中獲益。三、軟件工工程內(nèi)容的三三段論這里的三段段論是指從內(nèi)內(nèi)容角度看軟軟件工程的三三段理論。軟軟件工程是為為克服軟件危危機(jī)而提出的的一種概念,并并在實(shí)踐中不不斷地探索它它
45、的原理,技技術(shù)和方法。在在此過(guò)程中,人人們研究和借借鑒了工程學(xué)學(xué)的某些原理理和方法,并并形成了軟件件工程學(xué)。軟軟件工程的目目標(biāo)是提高軟軟件的質(zhì)量與與生產(chǎn)率,最最終實(shí)現(xiàn)軟件件的工業(yè)化生生產(chǎn)。既然軟軟件工程是“工程”,那么我們們從工程的角角度看一下軟軟件項(xiàng)目的實(shí)實(shí)施過(guò)程,如如圖1所示??蛻舻男枨笄笃饎?dòng)了一個(gè)個(gè)軟件項(xiàng)目,為為此我們需要要先規(guī)劃這個(gè)個(gè)項(xiàng)目,即完完成項(xiàng)目計(jì)劃劃,然后根據(jù)據(jù)這個(gè)項(xiàng)目計(jì)計(jì)劃實(shí)施項(xiàng)目目,項(xiàng)目實(shí)施施的依據(jù)是需需求,這個(gè)需需求類似工程程項(xiàng)目的圖紙紙,開(kāi)發(fā)人員員按照這個(gè)圖圖紙生產(chǎn)軟件件即設(shè)計(jì)、編編碼,在開(kāi)發(fā)發(fā)生產(chǎn)線上,將將開(kāi)發(fā)過(guò)程的的半成品,通通過(guò)配置管理理存儲(chǔ)和管理理,然后進(jìn)行行必
46、要的集成成和測(cè)試,直直到最后提交交給客戶。在整個(gè)開(kāi)發(fā)發(fā)過(guò)程中需要要進(jìn)行項(xiàng)目跟跟蹤管理。軟軟件工程活動(dòng)動(dòng)是“生產(chǎn)一個(gè)最最終滿足需求求且達(dá)到工程程目標(biāo)的軟件件產(chǎn)品所需要要的步驟”。這些活動(dòng)動(dòng)主要包括開(kāi)開(kāi)發(fā)類活動(dòng)、管管理類活動(dòng)和和過(guò)程類活動(dòng)動(dòng),這里將它它定義為“軟件工程的的三段論”,或者“軟件工程的的三線索”。一段論是是“軟件項(xiàng)目管管理論”,二段論是是“軟件項(xiàng)目開(kāi)開(kāi)發(fā)論”,三段論是是“軟件過(guò)程改改進(jìn)論”。這個(gè)三段段論可以用一一個(gè)三角型表表示, 如圖圖2,它們類類似于相互支支撐的三角形形的三個(gè)邊。我我們知道三角角形是最穩(wěn)定定的,要保證證三角形的穩(wěn)穩(wěn)定性,三角角形的三個(gè)邊邊必不可少,而而且要保持一一定的
47、相互關(guān)關(guān)系。其中:開(kāi)發(fā)過(guò)程是是軟件人員生生產(chǎn)軟件的過(guò)過(guò)程,例如需需求分析、設(shè)設(shè)計(jì)、編碼、測(cè)測(cè)試等,相當(dāng)當(dāng)于生產(chǎn)線上上的生產(chǎn)過(guò)程程。管理過(guò)程程是項(xiàng)目管理理者規(guī)劃軟件件開(kāi)發(fā)、控制制軟件開(kāi)發(fā)的的過(guò)程,相當(dāng)當(dāng)于生產(chǎn)線上上的管理過(guò)程程,管理過(guò)程程是伴隨開(kāi)發(fā)發(fā)過(guò)程進(jìn)行的的過(guò)程。過(guò)程程改進(jìn)相當(dāng)于于對(duì)軟件開(kāi)發(fā)發(fā)過(guò)程和軟件件管理過(guò)程的的“工藝流程”進(jìn)行管理和和改進(jìn),如果果沒(méi)有好的工工藝生產(chǎn)不出出好的產(chǎn)品,它它包括對(duì)開(kāi)發(fā)發(fā)過(guò)程和管理理過(guò)程的定義義和改進(jìn)。為了保證軟軟件管理、軟軟件開(kāi)發(fā)過(guò)程程的有效性,應(yīng)應(yīng)該保證這些些過(guò)程的高質(zhì)質(zhì)量和過(guò)程的的持續(xù)改進(jìn)。為為此我在軟件件工程的系列列教程書(shū)中分分三冊(cè),以案案例貫穿講述述了
48、軟件項(xiàng)目目管理過(guò)程、軟軟件項(xiàng)目開(kāi)發(fā)發(fā)過(guò)程、軟件件過(guò)程改進(jìn)。傳統(tǒng)工業(yè)中中知名的生產(chǎn)產(chǎn)方式可算是是“手工作坊式式”生產(chǎn)方式。過(guò)過(guò)去的一段時(shí)時(shí)間里,甚至至到現(xiàn)在,中中國(guó)軟件業(yè)中中還有一部分分公司的開(kāi)發(fā)發(fā)方式與之類類似。公正地地說(shuō),以此方方式還是成就就了好多成功功的應(yīng)用開(kāi)發(fā)發(fā)項(xiàng)目,甚至至可以說(shuō)此法法支撐起了軟軟件開(kāi)發(fā)的初初期事業(yè)。但但是,在我們們的“作坊”里還有太多多的項(xiàng)目失敗敗,例如開(kāi)發(fā)發(fā)周期的不可可控制、項(xiàng)目目結(jié)果為用戶戶所不認(rèn)可、項(xiàng)項(xiàng)目最終的嚴(yán)嚴(yán)重虧損,這這種失敗的慘慘痛出乎我們們的意料,以以至于我們無(wú)無(wú)所適從。再再加上技術(shù)人人員、資金嚴(yán)嚴(yán)重匱乏的困困擾,軟件開(kāi)開(kāi)發(fā)管理舉步步維艱。作坊式的軟軟件
49、企業(yè)中,很很多方法、規(guī)規(guī)則都是裝在在開(kāi)發(fā)人員的的腦子里面的的,往往會(huì)因因?yàn)橐粌蓚€(gè)開(kāi)開(kāi)發(fā)骨干走了了,就造成整整個(gè)公司的癱癱瘓。賭注完完全押在這一一兩個(gè)人的身身上,資本投投入風(fēng)險(xiǎn)很大大,如果研發(fā)發(fā)骨干另謀高高就,公司投投資就將全部部付之流水,作作坊式的運(yùn)作作模式嚴(yán)重阻阻障了軟件企企業(yè)的成長(zhǎng)。讓軟件工程程成為真正的的工程,就需需要軟件項(xiàng)目目的開(kāi)發(fā)、管管理、過(guò)程等等方面規(guī)范化化、工程化,工工藝化,機(jī)械械化。軟件開(kāi)開(kāi)發(fā)過(guò)程中腦腦力活動(dòng)的“不可見(jiàn)性”大大增加了了過(guò)程管理上上的困難。因因此軟件工程程管理中的一一項(xiàng)指導(dǎo)思想想就是千方百百計(jì)地使這些些過(guò)程變?yōu)椤翱梢?jiàn)的”以及事后可可以檢查的記記錄。只有從從一開(kāi)始就
50、在在開(kāi)發(fā)過(guò)程中中嚴(yán)格貫徹質(zhì)質(zhì)量管理,軟軟件產(chǎn)品的質(zhì)質(zhì)量才有保證證。否則,開(kāi)開(kāi)發(fā)工作一旦旦進(jìn)行到后期期,無(wú)論怎樣樣通過(guò)測(cè)試和和補(bǔ)漏洞,都都會(huì)無(wú)濟(jì)于事事。四、軟件工程的的發(fā)展?fàn)顩r和和趨勢(shì)軟件工程的的研究熱點(diǎn)是是隨著軟件技技術(shù)的發(fā)展而而不斷變化的的。即便在軟軟件工程的領(lǐng)領(lǐng)域內(nèi),研究究熱點(diǎn)也在不不斷轉(zhuǎn)移。以以往軟件工程程一直不能像像其他產(chǎn)品一一樣,做到標(biāo)標(biāo)準(zhǔn)化,但是是,隨著技術(shù)術(shù)條件的不斷斷成熟,相應(yīng)應(yīng)標(biāo)準(zhǔn)的出臺(tái)臺(tái),軟件人員員已經(jīng)開(kāi)始重重視這方面的的工作。實(shí)際際上可以將許許多軟件工作作分成許多部部件去構(gòu)造。很很有可能今后后的軟件隊(duì)伍伍會(huì)分為兩個(gè)個(gè)部分,一部部分專門從事事評(píng)估,另一一部分專門從從事集成,
51、集集成的對(duì)象是是軟 HYPERLINK /count.aspx?type=1&reurl=/clk;204190196;27639223;f&pk=200803171656056198757920438014TTWU 構(gòu)件。軟 HYPERLINK /count.aspx?type=1&reurl=/clk;204190196;27639223;f&pk=200803171656056198757920438014TTWU 構(gòu)件的開(kāi)開(kāi)發(fā)與運(yùn)用剛剛剛開(kāi)始。在在一些公共領(lǐng)領(lǐng)域,例如軟軟件的用戶界界面,通用軟軟 HYPERLINK /count.aspx?type=1&reurl=/clk;20419
52、0196;27639223;f&pk=200803171656056198757920438014TTWU 構(gòu)件的使用已已經(jīng)屢見(jiàn)不鮮鮮。然而,對(duì)對(duì)于各行各業(yè)業(yè)的專業(yè)領(lǐng)域域來(lái)說(shuō),領(lǐng)域域 HYPERLINK /count.aspx?type=1&reurl=/clk;204190196;27639223;f&pk=200803171656056198757920438014TTWU 構(gòu)件的開(kāi)發(fā)和和使用還是基基本處于空白白狀態(tài)。這一一工作的進(jìn)行行,一方面意意味著各行各各業(yè)對(duì)本專業(yè)業(yè)領(lǐng)域內(nèi)的知知識(shí)形態(tài)加以以歸納整理,然然后以最新的的軟件形式表表達(dá)出來(lái)。如如果全面鋪開(kāi)開(kāi),就是一件件規(guī)模浩大的的社會(huì)工程,
53、需需要各行各業(yè)業(yè)的領(lǐng)域?qū)<壹液蛙浖<壹彝献鞑挪拍芡瓿?。如如果軟件生產(chǎn)產(chǎn)的“ HYPERLINK /count.aspx?type=1&reurl=/clk;204190196;27639223;f&pk=200803171656056198757920438014TTWU 構(gòu)件-集成”格格局的趨勢(shì)成成為現(xiàn)實(shí),各各種應(yīng)用領(lǐng)域域里的構(gòu)件的的設(shè)計(jì)與生產(chǎn)產(chǎn)將開(kāi)辟出一一個(gè)十分廣闊闊的新天地,產(chǎn)產(chǎn)生出巨大的的市場(chǎng)需求,而而且軟構(gòu)件的的使用可以滲滲透到符合軟軟構(gòu)件標(biāo)準(zhǔn)規(guī)規(guī)范的所有 HYPERLINK /count.aspx?type=1&reurl=/Index.aspx?mms=Page%5eTre
54、nch10&pk=20080519171205494625958043851XRGF 系系統(tǒng)中,在軟件開(kāi)發(fā)發(fā)過(guò)程中人們們開(kāi)始研制和和使用軟件工工具,用以輔輔助進(jìn)行軟件件項(xiàng)目 HYPERLINK /count.aspx?type=1&reurl=/Index.aspx?mms=Page%5eTrench10&pk=20080519170903119625673036139PLHO 管理與技術(shù)生生產(chǎn),人們還還將軟件生命命周期各階段段使用的軟件件工具有機(jī)地地集合成為一一個(gè)整體,形形成能夠連續(xù)續(xù)支持軟件開(kāi)開(kāi)發(fā)與維護(hù)全全過(guò)程的集成成化軟件支援援環(huán)境,以期期從 HYPERLINK /count.aspx?
55、type=1&reurl=/Index.aspx?mms=Page%5eTrench10&pk=20080519170903119625673036139PLHO 管理和技術(shù)兩兩方面解決軟軟件危機(jī)問(wèn)題題。此外,人工工智能與軟件件工程的結(jié)合合成為80年年代末期活躍躍的研究領(lǐng)域域?;诔绦蛐蜃儞Q、自動(dòng)動(dòng)生成和可 HYPERLINK /count.aspx?type=1&reurl=/clk;204190196;27639223;f&pk=20080317170357260500614195271OMMJ 重重用軟件等軟軟件新技術(shù)研研究也已取得得一定的進(jìn)展展,把程序設(shè)設(shè)計(jì)自動(dòng)化的的進(jìn)程向前推推進(jìn)一步。在在軟件工程理理論的指導(dǎo)下下,發(fā)達(dá)國(guó)家家已經(jīng)建立起起較為完備的的軟件工業(yè)化化生產(chǎn)體系,形形成了強(qiáng)大的的軟件生產(chǎn)能能力 。軟件件標(biāo)準(zhǔn)化與可可 HYPERLINK /count.aspx?type=1&reurl=/clk;204190196;27639223;f&pk=20080317170357260500614195271O
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 暖氣安裝合同協(xié)議書(shū)
- 山東省臨沂市郯城縣2024-2025學(xué)年八年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 辦公樓簡(jiǎn)易裝修合同
- 證券投資咨詢服務(wù)協(xié)議書(shū)
- 深圳房屋出租合同
- 智能家居設(shè)備購(gòu)買安裝合同
- 全球金融中心交易量對(duì)比表
- 季度工作計(jì)劃與執(zhí)行方案
- 健康管理與咨詢協(xié)議書(shū)
- 會(huì)議室內(nèi)設(shè)備使用情況統(tǒng)計(jì)表
- 法考-01刑法-案例指導(dǎo)用書(shū)【】
- 《考古學(xué)》第二章-田野考古課件
- 膀胱鏡檢查記錄
- 檔案銷毀清冊(cè)
- 固體物理21固體的結(jié)合課件
- 水平定向鉆施工規(guī)范方案
- 細(xì)支氣管肺泡癌的影像診斷(61頁(yè))
- 2022年?yáng)|北大學(xué)現(xiàn)代控制理論試題及答案
- X射線的物理學(xué)基礎(chǔ)-
- 教學(xué)樓畢業(yè)設(shè)計(jì)資料
- 國(guó)網(wǎng)直流電源系統(tǒng)技術(shù)監(jiān)督規(guī)定
評(píng)論
0/150
提交評(píng)論