軟件技術(shù)概論與基礎(chǔ) 課件 第2章 軟件工程_第1頁
軟件技術(shù)概論與基礎(chǔ) 課件 第2章 軟件工程_第2頁
軟件技術(shù)概論與基礎(chǔ) 課件 第2章 軟件工程_第3頁
軟件技術(shù)概論與基礎(chǔ) 課件 第2章 軟件工程_第4頁
軟件技術(shù)概論與基礎(chǔ) 課件 第2章 軟件工程_第5頁
已閱讀5頁,還剩154頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件技術(shù)概論與基礎(chǔ)第2章軟件工程學(xué)習(xí)導(dǎo)入在信息化時(shí)代,各行各業(yè)都離不開軟件技術(shù)的支持,軟件隨處可見,但軟件開發(fā)是一個(gè)系統(tǒng)工程,開發(fā)人員要熟悉軟件開發(fā)技術(shù)和管理技術(shù)。那么,軟件是怎樣被開發(fā)出來的?存在哪些開發(fā)流程?軟件質(zhì)量如何控制?軟件是否也存在生命周期?等等。通過對(duì)本章內(nèi)容的學(xué)習(xí),上述問題就能迎刃而解。。思維導(dǎo)圖學(xué)習(xí)目標(biāo)了解軟件工程的概念了解軟件生命周期及各個(gè)階段的作用了解軟件需求工程了解軟件開發(fā)模型及適用場(chǎng)景了解軟件測(cè)試方法、軟件測(cè)試分類、

軟件測(cè)試流程及常用軟件測(cè)試工具重點(diǎn)難點(diǎn)學(xué)習(xí)重點(diǎn)軟件工程概念軟件生命周期需求工程軟件開發(fā)模型軟件測(cè)試學(xué)習(xí)難點(diǎn)對(duì)軟件工程的理解需求分析方法與分析工具相關(guān)知識(shí)2.1軟件工程概述2.2軟件生命周期2.3需求工程2.4軟件開發(fā)模型2.5軟件測(cè)試2.1.1軟件工程的概念目前,對(duì)軟件工程(SoftwareEngineering,SE)還沒有統(tǒng)一的定義,很多學(xué)者、組織機(jī)構(gòu)分別給出了自己的定義。BarryBoehm(巴利·玻姆)給出的定義是:運(yùn)用現(xiàn)代科學(xué)技術(shù)知識(shí)來設(shè)計(jì)并構(gòu)造計(jì)算機(jī)程序及為開發(fā)、運(yùn)行和維護(hù)這些程序所必需的相關(guān)文件資料。IEEE(電氣與電子工程師協(xié)會(huì))在軟件工程術(shù)語匯編中的定義是:軟件工程是,(1)將系統(tǒng)化的、嚴(yán)格約束的、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將工程化應(yīng)用于軟件;(2)對(duì)(1)中所述方法的研究。FritzBauer在NATO會(huì)議上給出的定義是:軟件工程是建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法?!队?jì)算機(jī)科學(xué)技術(shù)百科全書》中的定義是:軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)、邏輯學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。目前比較被認(rèn)可的定義是:研究與應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護(hù)軟件,以及如何把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)與當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來的學(xué)科。它涉及程序設(shè)計(jì)語言、數(shù)據(jù)庫、軟件開發(fā)工具、系統(tǒng)平臺(tái)、標(biāo)準(zhǔn)、設(shè)計(jì)模式等方面。一2.1軟件工程概述軟件工程包括兩方面內(nèi)容:一是軟件開發(fā)技術(shù);二是軟件工程管理。軟件開發(fā)技術(shù)包含軟件工程方法學(xué)、軟件工具和軟件開發(fā)環(huán)境;軟件工程管理包含軟件工程經(jīng)濟(jì)學(xué)和軟件管理學(xué)。一2.1軟件工程概述軟件工程的目標(biāo)是在給定成本、進(jìn)度的前提下,開發(fā)出具有適用性、有效性、可修改性、可靠性、可理解性、可維護(hù)性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟件產(chǎn)品。追求這些目標(biāo)有助于提高軟件產(chǎn)品的質(zhì)量和軟件開發(fā)效率,減少軟件產(chǎn)品維護(hù)的困難。一2.1軟件工程概述2.1.2軟件工程的誕生背景在20世紀(jì)60年代以前,軟件設(shè)計(jì)只是在特定的應(yīng)用和指定的計(jì)算機(jī)上進(jìn)行設(shè)計(jì)與編程,采用的是依賴于計(jì)算機(jī)的機(jī)器語言或匯編語言,軟件規(guī)模小,沒有文檔資料,極少使用系統(tǒng)化的開發(fā)方法,主要是計(jì)算機(jī)科學(xué)家們自己設(shè)計(jì)、開發(fā)并使用的一種自給自足的軟件開發(fā)方式。一1.2軟件行業(yè)的發(fā)展現(xiàn)狀及發(fā)展前景20世紀(jì)60年代中期后,隨著集成電路的應(yīng)用,計(jì)算機(jī)硬件得到了快速發(fā)展,硬件環(huán)境相對(duì)穩(wěn)定,出現(xiàn)了大容量、高速度的計(jì)算機(jī),計(jì)算機(jī)的應(yīng)用范圍不斷擴(kuò)大,軟件開發(fā)與應(yīng)用急劇增長。軟件系統(tǒng)的規(guī)模越來越大,復(fù)雜程度越來越高,軟件可靠性問題也越來越突出。在這個(gè)時(shí)期,軟件開發(fā)進(jìn)度難以預(yù)測(cè),開發(fā)成本難以控制,產(chǎn)品功能難以滿足用戶需求,產(chǎn)品質(zhì)量無法得到保證,產(chǎn)品難以維護(hù)且缺少適當(dāng)?shù)奈臋n資料。落后的軟件生產(chǎn)方式無法滿足迅速增長的計(jì)算機(jī)軟件需求,從而導(dǎo)致軟件開發(fā)與維護(hù)過程中出現(xiàn)一系列嚴(yán)重問題,這種現(xiàn)象被稱為“軟件危機(jī)”。一1.2軟件行業(yè)的發(fā)展現(xiàn)狀及發(fā)展前景為了應(yīng)對(duì)軟件危機(jī),在1968年的一次會(huì)議上第一次提出了“軟件工程”概念,“軟件工程”作為正式的術(shù)語被確定下來,標(biāo)志著一個(gè)新學(xué)科的開始,從此軟件開發(fā)進(jìn)入了軟件工程時(shí)代。一1.2軟件行業(yè)的發(fā)展現(xiàn)狀及發(fā)展前景軟件生命周期大致可以分成4個(gè)階段,即系統(tǒng)規(guī)劃階段、系統(tǒng)開發(fā)階段、系統(tǒng)運(yùn)維階段、系統(tǒng)更新階段。一2.2軟件生命周期2.2.1系統(tǒng)規(guī)劃階段系統(tǒng)規(guī)劃階段也叫項(xiàng)目立項(xiàng)階段,是軟件開發(fā)的開始階段,該階段需要軟件開發(fā)方與軟件需求方共同討論,以確定軟件開發(fā)的目標(biāo)和分析其可行性。該階段主要涉及問題定義、可行性分析和需求分析等內(nèi)容。一2.2軟件生命周期問題定義是軟件定義時(shí)期的第一個(gè)階段,要弄清用戶“要解決什么問題”??尚行苑治鐾ㄟ^對(duì)項(xiàng)目的市場(chǎng)需求、技術(shù)難度、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等方面的研究。需求分析是至關(guān)重要的一步,因?yàn)樗双@取用戶需求與定義的信息,以及對(duì)需要解決的問題所能達(dá)到的最清晰的描述。一2.2軟件生命周期系統(tǒng)規(guī)劃階段的目標(biāo)是制定出系統(tǒng)的長期發(fā)展方案,決定系統(tǒng)在整個(gè)生命周期內(nèi)的發(fā)展方向、規(guī)模和發(fā)展進(jìn)程。系統(tǒng)規(guī)劃階段主要形成需求規(guī)范說明書。一2.2軟件生命周期2.2.2系統(tǒng)開發(fā)階段系統(tǒng)開發(fā)階段是信息系統(tǒng)生命周期中最重要和最關(guān)鍵的階段,該階段又可以分為總體規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施和系統(tǒng)驗(yàn)收5個(gè)階段。一2.2軟件生命周期1.總體規(guī)劃階段系統(tǒng)總體規(guī)劃是系統(tǒng)開發(fā)的起始階段,它的基礎(chǔ)是需求分析。一個(gè)比較完整的總體規(guī)劃應(yīng)當(dāng)包括系統(tǒng)開發(fā)目標(biāo)、總體結(jié)構(gòu)、管理流程、實(shí)施計(jì)劃和技術(shù)規(guī)范等。本階段主要形成可行性研究報(bào)告。一2.2軟件生命周期2.系統(tǒng)分析階段系統(tǒng)分析階段的目標(biāo)是為系統(tǒng)設(shè)計(jì)階段提供系統(tǒng)的邏輯模型。內(nèi)容包括組織結(jié)構(gòu)及功能分析、業(yè)務(wù)流程分析、數(shù)據(jù)和數(shù)據(jù)流程分析、系統(tǒng)初步方案等。本階段主要形成系統(tǒng)方案說明書。一2.2軟件生命周期3.系統(tǒng)設(shè)計(jì)階段根據(jù)系統(tǒng)分析階段的結(jié)果設(shè)計(jì)出系統(tǒng)的實(shí)施方案,內(nèi)容包括系統(tǒng)架構(gòu)設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、處理流程設(shè)計(jì)、功能模塊設(shè)計(jì)、安全控制方案設(shè)計(jì)、系統(tǒng)組織和隊(duì)伍設(shè)計(jì)、系統(tǒng)管理流程設(shè)計(jì)等。本階段主要形成系統(tǒng)實(shí)施方案。一2.2軟件生命周期4.系統(tǒng)實(shí)施階段系統(tǒng)實(shí)施階段是將系統(tǒng)設(shè)計(jì)階段的結(jié)果通過編碼、調(diào)試和測(cè)試,最終在計(jì)算機(jī)和網(wǎng)絡(luò)上具體實(shí)現(xiàn),也就是將設(shè)計(jì)文本變成能夠在計(jì)算機(jī)上運(yùn)行的軟件系統(tǒng),系統(tǒng)實(shí)施階段是對(duì)前期全部工作的具體檢驗(yàn)。在本階段中,用戶的參與特別重要。一2.2軟件生命周期5.系統(tǒng)驗(yàn)收階段系統(tǒng)通過試運(yùn)行,系統(tǒng)性能的優(yōu)劣及其他問題都會(huì)暴露在用戶面前,這時(shí)就進(jìn)入了系統(tǒng)驗(yàn)收階段。一1.2軟件行業(yè)的發(fā)展現(xiàn)狀及發(fā)展前景2.2.3系統(tǒng)運(yùn)維階段當(dāng)軟件系統(tǒng)通過驗(yàn)收并正式移交給用戶以后,系統(tǒng)就進(jìn)入了運(yùn)維階段。1.系統(tǒng)維護(hù)的概念為了清除系統(tǒng)在運(yùn)行中發(fā)生的故障和錯(cuò)誤,軟件和硬件維護(hù)人員要對(duì)系統(tǒng)進(jìn)行必要的修改與完善;為了使系統(tǒng)適應(yīng)用戶環(huán)境的變化,滿足用戶提出的新需求,也要對(duì)原系統(tǒng)進(jìn)行局部的更新,這些工作稱為系統(tǒng)維護(hù)。一2.2軟件生命周期2.系統(tǒng)維護(hù)的任務(wù)系統(tǒng)維護(hù)的任務(wù)是改正軟件系統(tǒng)在使用過程中發(fā)現(xiàn)的隱含錯(cuò)誤,擴(kuò)充在使用過程中用戶提出的新的功能及性能需求。3.系統(tǒng)維護(hù)的目的系統(tǒng)維護(hù)的目的是維護(hù)軟件系統(tǒng)的“正常運(yùn)作”。4.系統(tǒng)維護(hù)的主要文檔系統(tǒng)維護(hù)階段主要形成軟件問題報(bào)告和軟件修改報(bào)告,它們用于記錄發(fā)現(xiàn)軟件錯(cuò)誤的情況及修改軟件的過程。一2.2軟件生命周期5.系統(tǒng)維護(hù)的工作量系統(tǒng)維護(hù)的工作量一般占整個(gè)軟件生命周期的60%~80%,維護(hù)類型主要包括改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。一2.2軟件生命周期1)改正性維護(hù)為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的錯(cuò)誤而應(yīng)當(dāng)進(jìn)行的診斷和改正錯(cuò)誤的過程稱為改正性維護(hù)。2)適應(yīng)性維護(hù)在軟件的使用過程中,外部環(huán)境(軟件和硬件配置)、數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)介質(zhì)、數(shù)據(jù)格式)等可能發(fā)生變化,為使軟件能適應(yīng)新的環(huán)境而進(jìn)行的維護(hù)稱為適應(yīng)性維護(hù)。一2.2軟件生命周期3)完善性維護(hù)在軟件的使用過程中,用戶往往會(huì)對(duì)軟件提出新的功能與性能需求,為了滿足這些需求,需要修改或再開發(fā)軟件以擴(kuò)充軟件功能,增強(qiáng)軟件性能,改進(jìn)軟件處理效率,以及提高軟件的可維護(hù)性。4)預(yù)防性維護(hù)為了提高軟件的可維護(hù)性、可靠性等,采用先進(jìn)的軟件工程方法對(duì)需要維護(hù)的軟件或軟件中的某一部分進(jìn)行重新設(shè)計(jì)、編制和測(cè)試,為將來軟件正常運(yùn)行打下良好的基礎(chǔ)。一2.2軟件生命周期2.2.4系統(tǒng)更新階段系統(tǒng)更新階段也叫系統(tǒng)消亡階段。開發(fā)完成一個(gè)軟件系統(tǒng)后,想讓其一勞永逸地運(yùn)行下去是不現(xiàn)實(shí)的,所開發(fā)的軟件系統(tǒng)經(jīng)常會(huì)不可避免地遇到系統(tǒng)更新改造、功能擴(kuò)展,甚至報(bào)廢重建的情況。因此,在軟件系統(tǒng)建設(shè)的初期就要考慮系統(tǒng)的消亡條件和時(shí)機(jī),以及因此而花費(fèi)的成本。一2.2軟件生命周期2.3.1需求工程概述1.需求工程的概念需求工程(RequirementsEngineering,RE)是指應(yīng)用已證實(shí)有效的技術(shù)、方法進(jìn)行需求分析,確定用戶需求,幫助軟件分析人員正確理解問題并定義目標(biāo)系統(tǒng)的所有外部特征的一門學(xué)科。需求工程的結(jié)果是對(duì)待開發(fā)系統(tǒng)給出清晰的、一致的、精確的且無二義性的需求模型,形成需求文檔,通常以需求規(guī)格說明書的形式來定義待開發(fā)系統(tǒng)的所有外部特征。一2.3需求工程2.需求工程發(fā)展簡(jiǎn)介在20世紀(jì)80年代中期,形成了軟件工程的子領(lǐng)域——需求工程。進(jìn)入20世紀(jì)90年代后,需求工程成為人們研究的熱點(diǎn)。1993年,IEEE在美國加利福尼亞州的圣迭戈舉辦了第一屆需求工程國際研討會(huì)(ISRE),確定以后每兩年舉辦一次;從1994年起每兩年舉辦一次需求工程國際會(huì)議(ICRE);1996年,世界著名科技期刊、圖書出版公司Springer-Verlag(施普林格)發(fā)行了新刊物RequirementsEngineering;同時(shí),一些關(guān)于需求工程的工作小組相繼成立。一2.3需求工程3.需求工程的內(nèi)容需求工程包括獲取、分析、定義、驗(yàn)證和管理軟件需求的所有活動(dòng)。需求工程分為兩類,一類是需求開發(fā),另一類是需求管理。一2.3需求工程3.需求工程的內(nèi)容一2.3需求工程(1)需求開發(fā)需求開發(fā)包括4個(gè)主要活動(dòng):需求獲取、需求分析、需求定義和需求驗(yàn)證。2.需求管理需求管理包含需求分配、需求評(píng)審、變更控制和需求跟蹤。一2.3需求工程2.3.2需求分析概述1.需求分析的概念需求分析也稱軟件需求分析、系統(tǒng)需求分析或需求分析工程等,是開發(fā)人員經(jīng)過深入細(xì)致地調(diào)研和分析,準(zhǔn)確理解用戶和項(xiàng)目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉(zhuǎn)化為完整的需求定義,從而確定系統(tǒng)必須“做什么”的過程。一2.3需求工程2.需求分析的目標(biāo)需求分析的目標(biāo)是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的限制和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求。一2.3需求工程3.需求分析研究的對(duì)象需求分析階段研究的對(duì)象是軟件項(xiàng)目的用戶要求。一方面必須全面理解用戶的各項(xiàng)要求,但又不能全盤接受所有的要求;另一方面,要準(zhǔn)確地表達(dá)被接受的用戶要求。只有經(jīng)過確切描述的軟件需求才能成為軟件設(shè)計(jì)的基礎(chǔ)。一2.3需求工程4.需求分析的任務(wù)需求分析的任務(wù)就是為原始問題及目標(biāo)軟件建立邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。一2.3需求工程5.需求分析的注意事項(xiàng)需求分析所要做的工作是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的限制和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求。因此,在進(jìn)行需求分析時(shí),應(yīng)注意一切信息與需求都是站在用戶的角度上,考慮盡量避免分析人員的主觀想法,在不對(duì)用戶進(jìn)行直接指導(dǎo)的前提下,讓用戶進(jìn)行檢查與評(píng)價(jià),從而達(dá)到需求分析的準(zhǔn)確性。一2.3需求工程6.需求內(nèi)容GB/T9385《計(jì)算機(jī)軟件需求說明編制指南》中定義了需求的具體內(nèi)容,軟件需求可以分為功能需求、性能需求、設(shè)計(jì)約束、質(zhì)量屬性、外部接口需求等幾類。一2.3需求工程1)功能需求功能需求是描述軟件產(chǎn)品的輸入怎樣變成輸出,即軟件必須完成的基本動(dòng)作。2)性能需求性能需求是軟件或人與軟件交互的靜態(tài)或動(dòng)態(tài)數(shù)值需求,如支持的終端數(shù)、支持并行操作的用戶數(shù)、響應(yīng)時(shí)間等。一2.3需求工程3)設(shè)計(jì)約束設(shè)計(jì)約束是受其他標(biāo)準(zhǔn)、硬件限制等方面的影響。4)質(zhì)量屬性在軟件的需求中有若干個(gè)屬性,如可移植性、正確性、可維護(hù)性及安全性等。5)外部接口需求外部接口需求主要包括用戶接口、硬件接口、軟件接口、通信接口等。一2.3需求工程2.3.3需求分析方法從系統(tǒng)分析出發(fā),可以將需求分析方法大致分為結(jié)構(gòu)化分析法、面向?qū)ο蠓治龇?、功能分解法和信息建模法。?.3需求工程1.結(jié)構(gòu)化分析法結(jié)構(gòu)化分析(StructuredAnalysis,SA)是一種面向數(shù)據(jù)流的軟件分析方法,適用于開發(fā)數(shù)據(jù)處理類型軟件的需求分析。結(jié)構(gòu)化分析法的主要思想是“自頂向下,逐步分析”,描述SA結(jié)構(gòu)的主要手段是數(shù)據(jù)流圖和數(shù)據(jù)字典,因此,結(jié)構(gòu)化分析法又被稱為數(shù)據(jù)流法。一2.3需求工程2.面向?qū)ο蠓治龇嫦驅(qū)ο蠓治觯∣bject-OrientedAnalysis,OOA)是在繁雜的問題域中抽象地識(shí)別出對(duì)象及其行為、結(jié)構(gòu)、屬性、方法等的軟件分析方法。面向?qū)ο蠓治龇ǖ年P(guān)鍵是識(shí)別問題域內(nèi)的對(duì)象,分析它們之間的關(guān)系,并建立3類模型,即對(duì)象模型、動(dòng)態(tài)模型和功能模型。一2.3需求工程3.功能分解法功能分解法是以系統(tǒng)需要提供的功能為中心來組織系統(tǒng)的。將系統(tǒng)作為多功能模塊的組合,各功能又可以被分解為若干個(gè)子功能及接口,子功能再繼續(xù)分解,便可得到系統(tǒng)的雛形,即功能分解——功能、子功能、功能接口。一2.3需求工程4.信息建模法信息建模法是從數(shù)據(jù)角度對(duì)現(xiàn)實(shí)世界建立模型。信息建??啥x為實(shí)體(對(duì)象)、屬性、關(guān)系、父類型/子類型和關(guān)聯(lián)對(duì)象。信息建模法的核心概念是實(shí)體和關(guān)系,基本工具是E-R圖,其基本要素由實(shí)體、屬性和聯(lián)系構(gòu)成。信息建模法的基本策略是先從現(xiàn)實(shí)中找出實(shí)體,再用屬性進(jìn)行描述。一2.3需求工程2.3.4需求分析工具在需求分析階段,常用的圖形工具有數(shù)據(jù)流圖、E-R圖、層次方框圖、Warnier圖、用例圖、IPO圖等。一2.3需求工程1.?dāng)?shù)據(jù)流圖。數(shù)據(jù)流圖(DataFlowDiagram,DFD)是結(jié)構(gòu)化分析法中使用的工具,是在需求分析階段使用的一種主要工具,它以圖形的方式表達(dá)數(shù)據(jù)處理系統(tǒng)中信息的變換和傳遞過程,即一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。數(shù)據(jù)流圖中的基本符號(hào)包括數(shù)據(jù)流、加工、數(shù)據(jù)存儲(chǔ)、外部實(shí)體。一2.3需求工程1)數(shù)據(jù)流數(shù)據(jù)流是具有名字和流向的數(shù)據(jù),在數(shù)據(jù)流圖中用標(biāo)有名字的箭頭表示(→)。2)加工加工是對(duì)數(shù)據(jù)流的變換,一般用圓圈表示(○)。3)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是可訪問的存儲(chǔ)信息,一般用兩條平行的細(xì)直線段表示(=)。4)外部實(shí)體外部實(shí)體是不能由計(jì)算機(jī)處理的成分,它們分別表明數(shù)據(jù)處理過程的數(shù)據(jù)來源及數(shù)據(jù)去向,用標(biāo)有名字的方框表示(□)。一2.3需求工程【案例】根據(jù)下列需求描述,畫出某學(xué)校學(xué)生檔案管理系統(tǒng)的數(shù)據(jù)流圖。需求描述:學(xué)生錄入個(gè)人信息建檔,未審核的數(shù)據(jù)可以重復(fù)修改,審核后的數(shù)據(jù)不允許修改,要修改數(shù)據(jù)可以向?qū)W生處申請(qǐng);學(xué)生處需審核學(xué)生信息,審核后的學(xué)生信息作為權(quán)威數(shù)據(jù)保存,學(xué)生處可以查詢、修改學(xué)生信息,可以按一定條件生成統(tǒng)計(jì)報(bào)表,審核后的數(shù)據(jù)供院系、職能部門在權(quán)限范圍內(nèi)進(jìn)行學(xué)生信息查詢。一2.3需求工程根據(jù)需求分析,某學(xué)校學(xué)生檔案管理系統(tǒng)的數(shù)據(jù)流圖如圖所示一2.3需求工程2.E-R圖E-R圖也稱實(shí)體-聯(lián)系圖(EntityRelationshipDiagram),其提供了表示實(shí)體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。構(gòu)成E-R圖的基本要素是實(shí)體、屬性和聯(lián)系。一2.3需求工程E-R圖中的基本符號(hào)包括矩形框、橢圓形框、菱形框、直線。 矩形框(□):表示實(shí)體。 橢圓形框():表示屬性。 菱形框(

):表示聯(lián)系。 直線:用于實(shí)體、屬性和聯(lián)系之間的連接。一2.3需求工程【案例】根據(jù)下列需求描述,畫出某學(xué)校教學(xué)管理系統(tǒng)的E-R圖。需求描述:一個(gè)教師最多只能教授一門課程,一門課程允許由多個(gè)教師授課;一個(gè)學(xué)生可以選修多門課程,一門課程可供不同學(xué)生選擇。一2.3需求工程【案例】根據(jù)下列需求描述,畫出某學(xué)校教學(xué)管理系統(tǒng)的E-R圖。需求描述:一個(gè)教師最多只能教授一門課程,一門課程允許由多個(gè)教師授課;一個(gè)學(xué)生可以選修多門課程,一門課程可供不同學(xué)生選擇。教師屬性:姓名、性別、教工號(hào)、所屬院系、所屬教研室、職稱。學(xué)生屬性:姓名、性別、學(xué)號(hào)、年級(jí)、班級(jí)、所屬院系、所屬專業(yè)。課程屬性:課程名稱、課程號(hào)、學(xué)時(shí)、學(xué)分。一2.3需求工程根據(jù)需求分析,某學(xué)校教學(xué)管理系統(tǒng)的E-R圖如圖所示。一2.3需求工程3.層次方框圖層次方框圖是通過樹形結(jié)構(gòu)的一系列多層次的矩形框來描述復(fù)雜數(shù)據(jù)的層次結(jié)構(gòu)。層次方框圖的上層框圖要包含下層框圖?!皹涓笔菍哟畏娇驁D的頂層,用一個(gè)單獨(dú)的矩形框表示,代表完整的數(shù)據(jù)結(jié)構(gòu),下面各層矩形框代表這個(gè)數(shù)據(jù)結(jié)構(gòu)的子集,并且每兩層(上層與下一層)要體現(xiàn)包含關(guān)系,“樹葉”即最底層的各個(gè)矩形框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素,并且是不能再分割的元素。層次方框圖存在的最大缺點(diǎn)是不能很好地表現(xiàn)同一層矩形框之間的關(guān)系。一2.3需求工程【案例】根據(jù)下列需求描述,畫出某單位員工實(shí)發(fā)工資的層次方框圖。需求描述:某單位員工的實(shí)發(fā)工資由應(yīng)發(fā)工資和扣款兩部分組成,每部分又可以進(jìn)一步細(xì)分;應(yīng)發(fā)工資由基本工資和獎(jiǎng)金組成;扣款由所得稅、保險(xiǎn)、缺勤組成;基本工資由財(cái)政工資、津貼、補(bǔ)貼組成;獎(jiǎng)金由全勤獎(jiǎng)、業(yè)績獎(jiǎng)組成;津貼、補(bǔ)貼、保險(xiǎn)可以根據(jù)需要進(jìn)一步細(xì)分。一2.3需求工程根據(jù)需求分析,某單位員工實(shí)發(fā)工資的層次方框圖如圖所示。一2.3需求工程4.Warnier圖Warnier圖是由法國計(jì)算機(jī)科學(xué)家Warnier(瓦尼耶)提出的一種軟件開發(fā)方法,Warnier圖是表示數(shù)據(jù)層次結(jié)構(gòu)的一種圖形工具,它用樹形結(jié)構(gòu)來描繪數(shù)據(jù)結(jié)構(gòu)。Warnier圖中的基本符號(hào)包括花括號(hào)、異域符號(hào)、圓括號(hào)。一2.3需求工程花括號(hào)“{}”用于區(qū)分信息的層次,在一個(gè)花括號(hào)中的所有名稱都屬于一類信息。異或符號(hào)“⊕”用于表明一類信息或一個(gè)數(shù)據(jù)元素在一定條件下才出現(xiàn),在這個(gè)符號(hào)的上方和下方的兩個(gè)名稱所代表的數(shù)據(jù)只能出現(xiàn)一次。圓括號(hào)“()”中的數(shù)字用于表明這個(gè)名稱所代表的信息類或元素在這個(gè)數(shù)據(jù)結(jié)構(gòu)中出現(xiàn)的次數(shù)。。一2.3需求工程【案例】根據(jù)下列需求描述,畫出某軟件公司本月為用戶提供軟件產(chǎn)品服務(wù)的Warnier圖。需求描述:某軟件公司本月為用戶提供軟件產(chǎn)品服務(wù),軟件產(chǎn)品由系統(tǒng)軟件和應(yīng)用軟件兩類構(gòu)成;系統(tǒng)軟件中操作系統(tǒng)提供了20次服務(wù),編譯系統(tǒng)提供了10次服務(wù),數(shù)據(jù)庫管理系統(tǒng)提供了30次服務(wù);應(yīng)用軟件中辦公軟件提供了50次服務(wù),娛樂軟件提供了100次服務(wù),視頻軟件提供了20次服務(wù),通訊軟件提供了10次服務(wù),游戲軟件提供了60次服務(wù)。一2.3需求工程根據(jù)需求分析,某軟件公司本月為用戶提供軟件產(chǎn)品服務(wù)的Warnier圖如圖所示。一2.3需求工程5.用例圖用例圖是指由參與者、用例、系統(tǒng)邊界及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的視圖。用例圖可以用來獲取需求、指導(dǎo)測(cè)試、引導(dǎo)其他工作流等,所以用例圖也是需求分析階段常用的圖形分析工具。需要注意的是,參與者不是特指人,是指系統(tǒng)以外的、在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。一2.3需求工程在用例圖中,參與者用小人()表示,用例用橢圓形框()表示。參與者和用例之間的關(guān)系使用帶箭頭或不帶箭頭的線段來描述,箭頭表示在這一關(guān)系中哪一方是對(duì)話的主動(dòng)發(fā)起者,箭頭所指方是對(duì)話的被動(dòng)接受者。例如,當(dāng)使用帶箭頭的線段時(shí),箭頭所指的一方為被動(dòng)接受方,另一方為主動(dòng)發(fā)起方。一2.3需求工程【案例】根據(jù)下列需求描述,畫出某培訓(xùn)機(jī)構(gòu)培訓(xùn)計(jì)劃系統(tǒng)的用例圖。需求描述:某培訓(xùn)機(jī)構(gòu)培訓(xùn)計(jì)劃系統(tǒng)要求培訓(xùn)學(xué)生注冊(cè)課程;管理員甲負(fù)責(zé)審批學(xué)生注冊(cè)信息;管理員乙負(fù)責(zé)維護(hù)課程計(jì)劃、分配培訓(xùn)教室、分配指導(dǎo)教師、維護(hù)指導(dǎo)教師信息;指導(dǎo)教師負(fù)責(zé)確認(rèn)培訓(xùn)人員名單;攝像設(shè)備對(duì)培訓(xùn)教室進(jìn)行全程錄像。一2.3需求工程根據(jù)需求分析,某培訓(xùn)機(jī)構(gòu)培訓(xùn)計(jì)劃系統(tǒng)的用例圖如圖所示。一2.3需求工程6.IPO圖IPO圖(Input/Processing/Output)是輸入/處理/輸出圖的簡(jiǎn)稱,它是美國IBM公司提出的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)之間的關(guān)系。一2.3需求工程IPO圖使用的基本符號(hào)少而簡(jiǎn)單,因此可以很容易掌握這種工具。它的基本形式如下:(1)在左邊的框中列出有關(guān)的輸入數(shù)據(jù)。(2)在中間的框中列出主要的處理。(3)在右邊的框中列出產(chǎn)生的輸出數(shù)據(jù)。(4)處理框中列出了處理的順序。一2.3需求工程【案例】根據(jù)下列需求描述,畫出某注冊(cè)系統(tǒng)用戶注冊(cè)過程的IPO圖。需求描述:用戶在注冊(cè)頁面輸入用戶賬號(hào)、密碼和驗(yàn)證碼;當(dāng)輸入的信息通過驗(yàn)證時(shí),則注冊(cè)成功,并自動(dòng)登錄系統(tǒng);當(dāng)賬號(hào)格式不符合要求時(shí),則提示賬號(hào)格式錯(cuò)誤;當(dāng)賬號(hào)在系統(tǒng)中已存在時(shí),則提示該賬號(hào)已被注冊(cè);當(dāng)密碼格式與系統(tǒng)設(shè)置要求不符時(shí),則提示密碼格式錯(cuò)誤;當(dāng)驗(yàn)證碼錯(cuò)誤時(shí),則提示驗(yàn)證碼錯(cuò)誤。一2.3需求工程根據(jù)需求分析,某注冊(cè)系統(tǒng)用戶注冊(cè)過程的IPO圖如圖所示。一2.3需求工程軟件開發(fā)模型(SoftwareDevelopmentModel)是指軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。軟件開發(fā)模型能清晰、直觀地表達(dá)軟件開發(fā)全過程,明確規(guī)定了要完成的主要活動(dòng)和任務(wù),是軟件開發(fā)項(xiàng)目工作的基礎(chǔ)。針對(duì)不同的軟件系統(tǒng),可以采用不同的開發(fā)模型和開發(fā)方法;使用不同的軟件開發(fā)語言;采用不同的管理方法和手段;允許采用不同的軟件工具和不同的軟件工程環(huán)境。一2.4軟件開發(fā)模型2.4.1瀑布模型1.瀑布模型概述瀑布模型(WaterfallModel)是由溫斯頓·羅伊斯(W·Royce)在1970年提出的著名模型,是最早出現(xiàn)的軟件開發(fā)模型。一2.4軟件開發(fā)模型瀑布模型是一個(gè)經(jīng)典的軟件生命周期模型,一般將軟件開發(fā)分為可行性分析、需求分析、軟件設(shè)計(jì)、編碼、測(cè)試和運(yùn)維等階段。瀑布模型將軟件生命周期的各項(xiàng)活動(dòng)規(guī)定為按固定順序連接的若干階段工作,并且規(guī)定了它們自上而下、相互銜接的固定次序,整個(gè)開發(fā)過程形如瀑布流水,這也是瀑布模型名稱的由來。一2.4軟件開發(fā)模型在瀑布模型中,軟件開發(fā)的各階段活動(dòng)嚴(yán)格按照線性方式進(jìn)行,當(dāng)前階段活動(dòng)接受上一階段活動(dòng)的工作結(jié)果,依次實(shí)施完成所需的工作內(nèi)容。在開發(fā)過程中,當(dāng)前階段活動(dòng)的工作結(jié)果需要進(jìn)行評(píng)審驗(yàn)證,如果評(píng)審驗(yàn)證通過,則該結(jié)果作為下一階段活動(dòng)的輸入,繼續(xù)進(jìn)行下一階段活動(dòng),否則返回上一階段甚至更前階段進(jìn)行修改。一2.4軟件開發(fā)模型2.瀑布模型的特點(diǎn)(1)固有順序。在使用瀑布模型開發(fā)軟件時(shí),嚴(yán)格按軟件生命周期各階段的固有順序,即上一階段完成后才能進(jìn)入下一階段。(2)推遲實(shí)現(xiàn)。在使用瀑布模型開發(fā)軟件時(shí)會(huì)盡可能推遲程序的物理實(shí)現(xiàn)。(3)質(zhì)量保證。使用瀑布模型開發(fā)軟件的基本目標(biāo)是優(yōu)質(zhì)、高產(chǎn)。一2.4軟件開發(fā)模型3.瀑布模型的優(yōu)點(diǎn)(1)有利于大型軟件開發(fā)過程中人員的組織和管理。(2)有利于軟件開發(fā)方法和工具的研究。(3)有利于提高大型軟件項(xiàng)目開發(fā)的質(zhì)量和效率。一2.4軟件開發(fā)模型4.瀑布模型的缺點(diǎn)(1)各個(gè)階段的順序固定,階段之間將產(chǎn)生大量的文檔,這大大增加了開發(fā)工作量。(2)對(duì)需求比較敏感,要求預(yù)先確定需求,難以滿足用戶需求變化。(3)瀑布模型是線性的,一個(gè)階段確認(rèn)后才能繼續(xù)下一階段,建設(shè)周期長,增加了開發(fā)風(fēng)險(xiǎn)。(4)除提出需求以外,用戶很少參與開發(fā)工作。一2.4軟件開發(fā)模型5.瀑布模型的適用場(chǎng)景(1)適用于需求明確且需求很少變更的項(xiàng)目。(2)適用于規(guī)模較大、需求清晰的項(xiàng)目。(3)適用于與過去成功開發(fā)過的項(xiàng)目類似,但規(guī)模更大的新項(xiàng)目。一2.4軟件開發(fā)模型2.4.2原型模型1.原型模型概述原型模型(PrototypeModel)允許在需求分析階段對(duì)軟件的需求進(jìn)行初步而非完全的分析和定義,快速設(shè)計(jì)開發(fā)出軟件系統(tǒng)的原型或借用已有系統(tǒng)作為原型模型,該原型向用戶展示待開發(fā)軟件的全部或部分功能和性能,通過對(duì)原型的不斷改進(jìn),最后的產(chǎn)品就是用戶所需要的。一2.4軟件開發(fā)模型使用原型模型開發(fā)軟件主要是通過向用戶提供原型來獲取用戶的反饋,使開發(fā)出的軟件能夠真正反映用戶的需求。原型模型采用逐步求精的方法完善原型,使得原型能夠“快速”開發(fā),避免了像瀑布模型一樣,在冗長的開發(fā)過程中難以對(duì)用戶的反饋?zhàn)龀隹焖俚捻憫?yīng)。原型模型更符合人們開發(fā)軟件的習(xí)慣,是目前比較流行的一種實(shí)用軟件生命周期模型。一2.4軟件開發(fā)模型2.原型模型的開發(fā)步驟原型模型的開發(fā)步驟包括快速分析、構(gòu)造原型、運(yùn)行原型、評(píng)價(jià)原型、修改等。一2.4軟件開發(fā)模型3.原型模型的特點(diǎn)(1)快速建立初步需求。(2)快速構(gòu)建可運(yùn)行的軟件模型。(3)加強(qiáng)用戶參與與決策。一2.4軟件開發(fā)模型4.原型模型的優(yōu)點(diǎn)原型模型克服了瀑布模型的缺點(diǎn),減少了由于軟件需求不明確帶來的開發(fā)風(fēng)險(xiǎn)。5.原型模型的缺點(diǎn)快速建立起來的軟件系統(tǒng)原型加上連續(xù)的修改可能會(huì)導(dǎo)致軟件產(chǎn)品的質(zhì)量低下。6.原型模型的適用場(chǎng)景原型模型適用于用戶需求模糊或預(yù)先不能確切定義需求的軟件系統(tǒng)的開發(fā)。一2.4軟件開發(fā)模型2.4.3螺旋模型1.螺旋模型概述螺旋模型(SpiralModel)是由巴利·玻姆(BarryBoehm)在1988年提出的一種軟件開發(fā)模型,它兼顧了原型模型迭代的特征與瀑布模型的系統(tǒng)化與嚴(yán)格監(jiān)控,增加了風(fēng)險(xiǎn)分析,特別適用于大型復(fù)雜系統(tǒng)的開發(fā)。一2.4軟件開發(fā)模型螺旋模型可以被看作是在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析的快速原型模型。螺線的每個(gè)周期對(duì)應(yīng)一個(gè)開發(fā)階段,每個(gè)開發(fā)階段可以被視為一個(gè)任務(wù)簡(jiǎn)化的瀑布模型。一2.4軟件開發(fā)模型螺旋模型沿著螺線進(jìn)行若干次迭代,圖中的4個(gè)象限代表了以下活動(dòng):(1)制訂計(jì)劃:確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制條件。(2)風(fēng)險(xiǎn)分析:分析、評(píng)估所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn)。(3)實(shí)施工程:實(shí)施軟件開發(fā)和驗(yàn)證。(4)客戶評(píng)價(jià):評(píng)價(jià)開發(fā)工作,提出修正建議,制定下一步計(jì)劃。一2.4軟件開發(fā)模型2.螺旋模型的特點(diǎn)(1)以原型為基礎(chǔ),沿著螺線自內(nèi)向外旋轉(zhuǎn)。(2)每旋轉(zhuǎn)一圈都要經(jīng)過制訂計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程、客戶評(píng)價(jià)等活動(dòng),并開發(fā)原型的一個(gè)新版本,重復(fù)這一過程。(3)在螺旋模型演進(jìn)式的過程中,確定一系列的里程碑,以確保項(xiàng)目朝著正確的方向前進(jìn),同時(shí)減少風(fēng)險(xiǎn)。一2.4軟件開發(fā)模型3.螺旋模型的優(yōu)點(diǎn)(1)由文檔和風(fēng)險(xiǎn)驅(qū)動(dòng),有利于提高大型項(xiàng)目開發(fā)的質(zhì)量和效率。(2)設(shè)計(jì)上具有靈活性,有利于在項(xiàng)目的各個(gè)階段進(jìn)行需求變更。(3)以分段來構(gòu)建大型系統(tǒng),有利于成本計(jì)算與控制。(4)用戶全程參與,有利于項(xiàng)目沿著正確方向發(fā)展。一2.4軟件開發(fā)模型4.螺旋模型的缺點(diǎn)項(xiàng)目建設(shè)周期長,而軟件技術(shù)發(fā)展快,原來技術(shù)和當(dāng)前技術(shù)之間可能存在較大差距,難以滿足用戶當(dāng)前需求,存在較大風(fēng)險(xiǎn)。5.螺旋模型的適用場(chǎng)景螺旋模型適用于需求不明確或需求經(jīng)常變化的大型復(fù)雜系統(tǒng)的開發(fā)。一2.4軟件開發(fā)模型2.4.4演化模型1.演化模型概述演化模型(EvolutionaryModel)也叫變換模型,屬于迭代開發(fā)方法。演化模型是在快速開發(fā)一個(gè)原型的基礎(chǔ)上,根據(jù)用戶在調(diào)用原型的過程中所反饋的意見和建議對(duì)原型進(jìn)行改進(jìn),獲得原型的新版本,重復(fù)這一過程,直到演化成最終的軟件產(chǎn)品。一2.4軟件開發(fā)模型演化模型可以表示為需求—設(shè)計(jì)—編碼(實(shí)現(xiàn))—測(cè)試—集成—反饋等過程,該過程經(jīng)過若干次迭代,最終演化成用戶所需的軟件產(chǎn)品。一2.4軟件開發(fā)模型2.演化模型的特點(diǎn)先開發(fā)系統(tǒng)的核心功能,再通過用戶反饋獲取用戶新的需求并進(jìn)行修改,不斷完善迭代該軟件項(xiàng)目。一2.4軟件開發(fā)模型3.演化模型的優(yōu)點(diǎn)(1)任何功能一經(jīng)開發(fā)就能進(jìn)入測(cè)試,以便驗(yàn)證是否符合產(chǎn)品需求。(2)測(cè)試過程可以引出高質(zhì)量的軟件產(chǎn)品。(3)對(duì)于原來提出的產(chǎn)品需求,可以根據(jù)現(xiàn)階段原型的運(yùn)行而及時(shí)調(diào)整、修改。(4)用戶充分參與,能夠及時(shí)提出有價(jià)值的反饋。一2.4軟件開發(fā)模型4.演化模型的缺點(diǎn)(1)需求不明確且重復(fù)修改,可能影響產(chǎn)品質(zhì)量及產(chǎn)品的可維護(hù)性。(2)如果缺乏嚴(yán)格的過程管理,則可能退化為一種原始的、無計(jì)劃的“試-錯(cuò)-改”模式。5.演化模型的適用場(chǎng)景演化模型適用于事先不能完整定義需求的軟件的開發(fā)。用戶可以給出待開發(fā)系統(tǒng)的核心需求,并且在看到核心需求被實(shí)現(xiàn)后能夠有效地提出反饋,以支持系統(tǒng)的最終設(shè)計(jì)和實(shí)現(xiàn)。一2.4軟件開發(fā)模型2.4.5噴泉模型1.噴泉模型概述噴泉模型(FountainModel)是由B.H.Sollers和J.M.Edwards在1990年提出的一種新的軟件開發(fā)模型。噴泉模型是一種以用戶需求為動(dòng)力,以對(duì)象為驅(qū)動(dòng)的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程。一2.4軟件開發(fā)模型噴泉模型支持軟件復(fù)用及多項(xiàng)開發(fā)活動(dòng)的集成。噴泉模型的各個(gè)開發(fā)階段是可以重疊的,即階段與階段之間沒有明顯的邊界,當(dāng)某一階段出現(xiàn)問題時(shí),需返回上一階段重新修改,該模型允許多個(gè)階段并行進(jìn)行。一2.4軟件開發(fā)模型2.噴泉模型的特點(diǎn)噴泉模型認(rèn)為軟件開發(fā)過程自下而上周期的各個(gè)階段具備相互迭代和無間隙的特性。3.噴泉模型的優(yōu)點(diǎn)(1)各個(gè)階段沒有明顯的界限,開發(fā)人員可以同步進(jìn)行開發(fā)。(2)可以提高軟件項(xiàng)目的開發(fā)效率,節(jié)省開發(fā)時(shí)間。一2.4軟件開發(fā)模型4.噴泉模型的缺點(diǎn)(1)由于噴泉模型的各個(gè)開發(fā)階段是可以重疊的,因此在開發(fā)過程中需要大量的開發(fā)人員,不利于項(xiàng)目的管理。(2)噴泉模型要求嚴(yán)格管理文檔,使得審核的難度加大。5.噴泉模型的適用場(chǎng)景噴泉模型主要用于描述面向?qū)ο蟮能浖_發(fā)過程。一2.4軟件開發(fā)模型2.4.6V模型1.V模型概述V模型又稱快速應(yīng)用開發(fā)(RapidApplicationDevelopment)模型,是軟件開發(fā)過程中的一個(gè)重要模型,由于其模型構(gòu)圖形似字母V,因此被稱為V模型。一2.4軟件開發(fā)模型V模型一般將軟件開發(fā)分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、軟件編碼、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試等階段。一2.4軟件開發(fā)模型2.V模型的特點(diǎn)V模型以測(cè)試為中心,為軟件生命周期的每個(gè)階段都指定了相應(yīng)的測(cè)試級(jí)別:軟件編碼階段<--->單元測(cè)試,詳細(xì)設(shè)計(jì)階段<--->集成測(cè)試,概要設(shè)計(jì)階段<--->系統(tǒng)測(cè)試,需求分析階段<--->驗(yàn)收測(cè)試。一2.4軟件開發(fā)模型3.V模型的優(yōu)點(diǎn)(1)清楚地標(biāo)識(shí)了開發(fā)和測(cè)試的各個(gè)階段,有利于縮短開發(fā)周期,提高軟件質(zhì)量。(2)各個(gè)階段分工明確,有利于對(duì)整體項(xiàng)目的把控,提高項(xiàng)目的開發(fā)效率。一2.4軟件開發(fā)模型4.V模型的缺點(diǎn)(1)在實(shí)際項(xiàng)目開發(fā)中,需求經(jīng)常會(huì)發(fā)生變化,從而導(dǎo)致V模型的各個(gè)階段被反復(fù)執(zhí)行,返工量很大,靈活度較低。(2)自上而下的開發(fā)順序使得測(cè)試工作在編碼之后,會(huì)導(dǎo)致前期的錯(cuò)誤不能及時(shí)被發(fā)現(xiàn)和修改。5.V模型的適用場(chǎng)景V模型是一種傳統(tǒng)的軟件開發(fā)模型,一般適用于一些傳統(tǒng)信息系統(tǒng)應(yīng)用的開發(fā),不適用于高性能高風(fēng)險(xiǎn)的系統(tǒng)、互聯(lián)網(wǎng)軟件或難以被具體模塊化的系統(tǒng)的開發(fā)。一2.4軟件開發(fā)模型2.4.7敏捷開發(fā)1.敏捷開發(fā)概述敏捷開發(fā)(AgileDevelopment)以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。敏捷開發(fā)是目前比較主流的開發(fā)模式之一。一2.4軟件開發(fā)模型敏捷開發(fā)的實(shí)現(xiàn)主要包括SCRUM(迭代式增量軟件開發(fā)過程)、XP(ExtremeProgramming,極限編程)、CrystalMethods(水晶方法)、FDD(特性驅(qū)動(dòng)開發(fā))等,其中SCRUM與XP最為流行。一2.4軟件開發(fā)模型2.敏捷開發(fā)的特點(diǎn)在敏捷開發(fā)中,軟件項(xiàng)目的構(gòu)建被切分成多個(gè)子項(xiàng)目,各個(gè)子項(xiàng)目的成果都經(jīng)過測(cè)試,具備集成和可運(yùn)行的特征。換句話說,就是把一個(gè)大項(xiàng)目分解成多個(gè)相互聯(lián)系但又可獨(dú)立運(yùn)行的小項(xiàng)目,在此過程中,軟件一直處于可使用狀態(tài)。一2.4軟件開發(fā)模型3.敏捷開發(fā)的優(yōu)點(diǎn)較高的開發(fā)速度是敏捷開發(fā)最顯著的優(yōu)點(diǎn)。敏捷開發(fā)使項(xiàng)目很快就進(jìn)入實(shí)質(zhì)性開發(fā)迭代階段,使得用戶很快就可以看到一個(gè)可運(yùn)行的軟件產(chǎn)品。敏捷開發(fā)注重快速反應(yīng)能力,用戶前期滿意度高。一2.4軟件開發(fā)模型4.敏捷開發(fā)的缺點(diǎn)敏捷開發(fā)注重人員之間的溝通,但是忽略文檔的重要性,當(dāng)項(xiàng)目人員不穩(wěn)定時(shí)會(huì)給開發(fā)和維護(hù)帶來困難。敏捷開發(fā)對(duì)項(xiàng)目負(fù)責(zé)人的能力要求很高,給項(xiàng)目管理帶來巨大挑戰(zhàn)。5.敏捷開發(fā)的適用場(chǎng)景敏捷開發(fā)適用于需求復(fù)雜多變、希望高效地管理開發(fā)進(jìn)度的項(xiàng)目。一2.4軟件開發(fā)模型2.5.1Bug的由來1947年9月9日,當(dāng)人們測(cè)試MarkII計(jì)算機(jī)時(shí),它突然發(fā)生了故障。在經(jīng)過幾個(gè)小時(shí)的檢查后,工作人員發(fā)現(xiàn)一只飛蛾死在了面板F的第70號(hào)繼電器中。當(dāng)把這個(gè)飛蛾取出后,機(jī)器便恢復(fù)了正常。一2.5軟件測(cè)試葛麗絲·霍普在工作手冊(cè)上登記的那只飛蛾看作計(jì)算機(jī)上第一個(gè)被記錄在文檔中的Bug,從此,軟件工程領(lǐng)域就開始了和“蟲子”(Bug)之間無休止的戰(zhàn)爭(zhēng),Bug一詞也成為計(jì)算機(jī)系統(tǒng)程序的專業(yè)術(shù)語,用來形容系統(tǒng)中的缺陷或問題。一2.5軟件測(cè)試2.5.2軟件測(cè)試概述軟件測(cè)試(SoftwareTesting)是使用人工或自動(dòng)的手段,在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤,衡量軟件質(zhì)量,并對(duì)其是否能夠滿足設(shè)計(jì)要求進(jìn)行評(píng)估的過程。一2.5軟件測(cè)試在軟件開發(fā)過程中,軟件缺陷的產(chǎn)生是不可避免的。軟件測(cè)試就是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,它是根據(jù)軟件需求及程序內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例,并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過程。軟件測(cè)試是有意識(shí)地發(fā)現(xiàn)軟件中存在的錯(cuò)誤,驗(yàn)證和確認(rèn)軟件功能與性能是否符合軟件需求的重要手段之一。一2.5軟件測(cè)試軟件測(cè)試的主要過程包括設(shè)計(jì)測(cè)試用例、執(zhí)行程序、分析結(jié)果找出錯(cuò)誤并改正。設(shè)計(jì)測(cè)試用例的目標(biāo)是選用少量但高效的測(cè)試用例盡可能多地發(fā)現(xiàn)軟件中的問題,因此,測(cè)試的關(guān)鍵是測(cè)試用例的設(shè)計(jì)。一2.5軟件測(cè)試軟件測(cè)試并不是在軟件開發(fā)完成后進(jìn)行的一次性驗(yàn)證活動(dòng),而是貫穿于整個(gè)軟件開發(fā)周期,也是對(duì)軟件開發(fā)過程質(zhì)量監(jiān)管的過程。軟件測(cè)試的工作量占軟件開發(fā)總工作量的40%以上,其目的是盡可能多地發(fā)現(xiàn)軟件產(chǎn)品中的錯(cuò)誤和缺陷并改正。一2.5軟件測(cè)試2.5.3軟件測(cè)試方法從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)的角度和按測(cè)試用例設(shè)計(jì)方法,可以將軟件測(cè)試方法分為白盒測(cè)試、黑盒測(cè)試和灰盒測(cè)試;從是否執(zhí)行程序的角度,可以將軟件測(cè)試方法分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。一2.5軟件測(cè)試1.白盒測(cè)試程序被裝在透明“盒子”中,測(cè)試者完全了解程序的結(jié)構(gòu)和處理過程;根據(jù)程序內(nèi)部邏輯來設(shè)計(jì)測(cè)試用例,檢查邏輯通路是否都按預(yù)定的要求正確工作。白盒測(cè)試方法主要有邏輯覆蓋法、代碼檢査法、基本路徑測(cè)試法、域測(cè)試法、符號(hào)測(cè)試法等。邏輯覆蓋法是白盒測(cè)試常用的方法,邏輯覆蓋由弱到強(qiáng)分為語句覆蓋、判定覆蓋、條件覆蓋、條件組合、路徑覆蓋。一2.5軟件測(cè)試2.黑盒測(cè)試程序被裝在不透明“盒子”中,測(cè)試者完全不了解程序的結(jié)構(gòu)和處理過程;根據(jù)需求規(guī)格說明書規(guī)定的功能來設(shè)計(jì)測(cè)試用例,檢查程序和功能是否符合需求規(guī)格說明書的要求。黑盒測(cè)試方法主要有等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法等。一2.5軟件測(cè)試3.灰盒測(cè)試灰盒測(cè)試是一種介于白盒測(cè)試與黑盒測(cè)試之間的測(cè)試,它結(jié)合了白盒測(cè)試和黑盒測(cè)試的要素?;液袦y(cè)試既關(guān)注輸入與輸出的正確性,也關(guān)注程序內(nèi)部結(jié)構(gòu)的表現(xiàn)。一2.5軟件測(cè)試4.靜態(tài)測(cè)試靜態(tài)測(cè)試是指被測(cè)程序不進(jìn)行上機(jī)運(yùn)行,而是通過人工評(píng)審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯(cuò)誤。具體方法是通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性,通過查看需求規(guī)格說明書、軟件設(shè)計(jì)說明書,進(jìn)行源程序結(jié)構(gòu)分析、流程圖分析及符號(hào)執(zhí)行等來查找錯(cuò)誤。一2.5軟件測(cè)試5.動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試是指對(duì)被測(cè)程序進(jìn)行上機(jī)測(cè)試,然后對(duì)得到的運(yùn)行結(jié)果與預(yù)期的結(jié)果進(jìn)行比較分析,同時(shí)分析運(yùn)行效率和健壯性能等的軟件測(cè)試方法。這種方法可以使程序有控制地運(yùn)行,并從多種角度觀察程序的行為,以發(fā)現(xiàn)其中的錯(cuò)誤。一2.5軟件測(cè)試2.5.4軟件測(cè)試分類常用的軟件測(cè)試類型和方法:按照軟件開發(fā)階段分類:?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試。按照測(cè)試實(shí)施組織分類:α(Alpha)測(cè)試、β(Beta)測(cè)試。按照測(cè)試目的分類:功能測(cè)試、性能測(cè)試。按照是否手動(dòng)執(zhí)行分類:手動(dòng)測(cè)試、自動(dòng)化測(cè)試。其他測(cè)試方法:回歸測(cè)試、冒煙測(cè)試、可用性測(cè)試、UI測(cè)試等。一2.5軟件測(cè)試1.單元測(cè)試單元測(cè)試又稱模塊測(cè)試,在編碼階段進(jìn)行,是針對(duì)軟件設(shè)計(jì)的最小單位程序模塊進(jìn)行正確性檢查的測(cè)試工作。單元測(cè)試需要從程序內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,主要用來發(fā)現(xiàn)編碼和詳細(xì)設(shè)計(jì)中產(chǎn)生的錯(cuò)誤。單元測(cè)試屬于靜態(tài)測(cè)試,測(cè)試方法一般采用白盒測(cè)試。一2.5軟件測(cè)試2.集成測(cè)試集成測(cè)試又稱組裝測(cè)試,是在單元測(cè)試的基礎(chǔ)上,需要將所有模塊按照概要設(shè)計(jì)說明書和詳細(xì)設(shè)計(jì)說明書的要求進(jìn)行組裝,對(duì)由各模塊組裝而成的模塊進(jìn)行測(cè)試,檢查模塊之間的接口和通信,發(fā)現(xiàn)設(shè)計(jì)階段產(chǎn)生的錯(cuò)誤。測(cè)試方法一般采用黑盒測(cè)試。一2.5軟件測(cè)試3.確認(rèn)測(cè)試確認(rèn)測(cè)試又稱有效性測(cè)試,其目標(biāo)是驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試一般包括有效性測(cè)試和軟件配置復(fù)查,一般由第三方測(cè)試機(jī)構(gòu)進(jìn)行。測(cè)試方法一般采用黑盒測(cè)試或灰盒測(cè)試。一2.5軟件測(cè)試4.系統(tǒng)測(cè)試系統(tǒng)測(cè)試是指在實(shí)際的硬件、網(wǎng)絡(luò)及數(shù)據(jù)等環(huán)境中對(duì)軟件進(jìn)行測(cè)試,包括對(duì)功能、性能及軟件所運(yùn)行的軟件和硬件環(huán)境進(jìn)行測(cè)試。測(cè)試方法一般采用黑盒測(cè)試。一2.5軟件測(cè)試5.驗(yàn)收測(cè)試驗(yàn)收測(cè)試是以用戶為主、以需求規(guī)格說明書為依據(jù)的測(cè)試,在用戶工作環(huán)境下,檢查軟件的功能、性能和其他特征是否與用戶的需求一致。測(cè)試方法一般采用黑盒測(cè)試。一2.5軟件測(cè)試6.α(Alpha)測(cè)試α(Alpha)測(cè)試是在開發(fā)者現(xiàn)場(chǎng)由用戶實(shí)施的測(cè)試,即由用戶在開發(fā)環(huán)境中進(jìn)行的測(cè)試,或者是由開發(fā)公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試。7.β(Beta)測(cè)試β(Beta)測(cè)試是在用戶現(xiàn)場(chǎng)由軟件最終用戶實(shí)施的測(cè)試,即由用戶在實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。一2.5軟件測(cè)試8.功能測(cè)試功能測(cè)試主要用于檢查輸出與需求中定義的輸入的準(zhǔn)確性,對(duì)產(chǎn)品的各項(xiàng)功能進(jìn)行驗(yàn)證,檢查產(chǎn)品是否達(dá)到用戶要求的功能。一2.5軟件測(cè)試9.性能測(cè)試性能測(cè)試類型包括壓力測(cè)試、負(fù)載測(cè)試、并發(fā)測(cè)試、強(qiáng)度測(cè)試、容量測(cè)試等,主要用于檢查系統(tǒng)是否滿足需求規(guī)格說明書中規(guī)定的性能。一2.5軟件測(cè)試10.手動(dòng)測(cè)試手動(dòng)測(cè)試是由人去一個(gè)一個(gè)地輸入測(cè)試用例,然后觀察結(jié)果。復(fù)雜的業(yè)務(wù)邏輯很難用自動(dòng)化測(cè)試,手動(dòng)測(cè)試能夠發(fā)現(xiàn)一些自動(dòng)化測(cè)試所不能發(fā)現(xiàn)的問題,所以自動(dòng)化測(cè)試無法完全取代手動(dòng)測(cè)試。手動(dòng)測(cè)試的優(yōu)勢(shì)在于可以對(duì)復(fù)雜的業(yè)務(wù)邏輯進(jìn)行測(cè)試。一2.5軟件測(cè)試11.自動(dòng)化測(cè)試自動(dòng)化測(cè)試是在預(yù)設(shè)條件下運(yùn)行軟件系統(tǒng),然后評(píng)估運(yùn)行結(jié)果。自動(dòng)化測(cè)試的優(yōu)勢(shì)在于可以對(duì)底層架構(gòu)進(jìn)行測(cè)試。目前,大部分測(cè)試都是手動(dòng)測(cè)試和自動(dòng)化測(cè)試相結(jié)合進(jìn)行。一2.5軟件測(cè)試12.回歸測(cè)試回歸測(cè)試是指在發(fā)生修改之后重新測(cè)試先前的測(cè)試用例以保證修改的正確性。理論上,軟件產(chǎn)生新版本都需要進(jìn)行回歸測(cè)試,以驗(yàn)證以前發(fā)現(xiàn)和修復(fù)的錯(cuò)誤是否在新版本中再次出現(xiàn)。回歸測(cè)試的目的是驗(yàn)證以前出現(xiàn)過但已修復(fù)好的缺陷不再出現(xiàn),以及確認(rèn)先前的修改沒有引入新的錯(cuò)誤或?qū)е缕渌a產(chǎn)生錯(cuò)誤。一2.5軟件測(cè)試13.冒煙測(cè)試冒煙測(cè)試源自硬件行業(yè),對(duì)一個(gè)硬件或硬件組件進(jìn)行更改或修復(fù)后,直接給設(shè)備加電,如果沒有冒煙,則該組件就通過了測(cè)試。在軟件中,“冒煙測(cè)試”這一術(shù)語描述的是在將代碼更改嵌入產(chǎn)品的源樹中之前對(duì)這些更改進(jìn)行驗(yàn)證的過程,在檢查代碼后,冒煙測(cè)試是確定和修復(fù)軟件缺陷最經(jīng)濟(jì)、是有效的方法。冒煙測(cè)試用于確認(rèn)代碼中的更改會(huì)按預(yù)期運(yùn)行,并且不會(huì)破壞整個(gè)版本的穩(wěn)定性。一2.5軟件測(cè)試14.可用性測(cè)試可用性測(cè)試的目的主要是保證代碼的提交不會(huì)對(duì)軟件產(chǎn)生影響。15.UI測(cè)試UI測(cè)試(UserInterfaceTesting,用戶界面測(cè)試)主要用于測(cè)試用戶界面的功能模塊的布局是否合理,整體風(fēng)格是否一致,各個(gè)控件的放置位置是否符合用戶使用習(xí)慣,頁面元素(如布局、顏色、字體、大小等)是否符合用戶需求等。一2.5軟件測(cè)試2.5.5軟件測(cè)試流程軟件測(cè)試與軟件開發(fā)一樣,是一個(gè)復(fù)雜的工作過程。軟件測(cè)試流程主要包括5個(gè)步驟,即測(cè)試需求分析、制訂測(cè)試計(jì)劃、設(shè)計(jì)測(cè)試用例、執(zhí)行測(cè)試用例、編寫測(cè)試報(bào)告。一2.5軟件測(cè)試1.測(cè)試需求分析軟件需求是測(cè)試軟件質(zhì)量的基礎(chǔ),因此要先對(duì)軟件需求進(jìn)行分析,對(duì)所開發(fā)的軟件產(chǎn)品有一個(gè)全面的了解,從而明確測(cè)試對(duì)象及測(cè)試工作的范圍和測(cè)試重點(diǎn)。在進(jìn)行測(cè)試需求分析時(shí),不僅能夠發(fā)現(xiàn)軟件是否正確、是否滿足用戶需求,還能夠獲取大量測(cè)試數(shù)據(jù)以作為設(shè)計(jì)測(cè)試用例的依據(jù)。一2.5軟件測(cè)試2.制訂測(cè)試計(jì)劃軟件測(cè)試貫穿于軟件開發(fā)的全過程,是一項(xiàng)工作量巨大的工作,在進(jìn)行軟件測(cè)試前,需要制訂一個(gè)詳細(xì)的測(cè)試計(jì)劃來指導(dǎo)軟件測(cè)試工作,但測(cè)試計(jì)劃也會(huì)隨著項(xiàng)目開發(fā)進(jìn)度或需求變更而不斷調(diào)整、完善和優(yōu)化。測(cè)試計(jì)劃一般包括確定測(cè)試范圍、制訂測(cè)試方案、配置測(cè)試資源、安排測(cè)試進(jìn)度、預(yù)估測(cè)試風(fēng)險(xiǎn)等內(nèi)容。一2.5軟件測(cè)試3.設(shè)計(jì)測(cè)試用例測(cè)試用例(TestCase)是一個(gè)文檔,即一套詳細(xì)的測(cè)試方案,測(cè)試用例的基本要素包括測(cè)試用例編號(hào)、測(cè)試標(biāo)題、測(cè)試重要級(jí)、測(cè)試輸入、操作步驟和預(yù)期結(jié)果。測(cè)試用例常用的設(shè)計(jì)方法包括等價(jià)類劃分法、邊界值分析法、因果圖與判定表法、正交實(shí)驗(yàn)設(shè)計(jì)法、邏輯覆蓋法等。一2.5軟件測(cè)試4.執(zhí)行測(cè)試用例執(zhí)行測(cè)試用例是軟件測(cè)試流程中最主要的活動(dòng),是整個(gè)測(cè)試過程的核心。在執(zhí)行測(cè)試用例時(shí),要根據(jù)測(cè)試用例的優(yōu)先級(jí)進(jìn)行。測(cè)試人員需要按測(cè)試用例的優(yōu)先級(jí)執(zhí)行所有的測(cè)試用例,每個(gè)測(cè)試用例都可能會(huì)發(fā)現(xiàn)一個(gè)或多個(gè)Bug,測(cè)試人員要做好測(cè)試記錄與跟蹤,確定缺陷等級(jí)并編寫缺陷報(bào)告。當(dāng)提交的缺陷被開發(fā)人員修改之后,測(cè)試人員還需要進(jìn)行回歸測(cè)試。一2.5軟件測(cè)試5.編寫測(cè)試報(bào)告測(cè)試報(bào)告是對(duì)測(cè)試過程進(jìn)行歸納總結(jié),對(duì)測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),對(duì)測(cè)試質(zhì)量進(jìn)行客觀評(píng)價(jià),對(duì)發(fā)現(xiàn)的問題和缺陷進(jìn)行分析,為改正軟件中的錯(cuò)誤提供依據(jù)的文檔。一份完整的測(cè)試報(bào)告包括引言、測(cè)試概要、測(cè)試內(nèi)容、執(zhí)行情況、缺陷統(tǒng)計(jì)與分析、測(cè)試結(jié)論與建議等部分。一2.5軟件測(cè)試2.5.6軟件測(cè)試工具軟件測(cè)試工具分為自動(dòng)化軟件測(cè)試工具和測(cè)試管理工具。1.自動(dòng)化軟件測(cè)試工具自動(dòng)化軟件測(cè)試是指使用軟件工具來代替人工輸入和人工測(cè)試工作。目前,市場(chǎng)上主流的自動(dòng)化軟件測(cè)試工具有LoadRunner、Selenium、TestComplete、KatalonStudio、ApacheJMeter、LambdaTest、TestProject、Postman、Testsigma、Appium等。一2.5軟件測(cè)試2.測(cè)試管理工具測(cè)試管理工具是指在軟件測(cè)試過程中,對(duì)測(cè)試需求分析、制訂測(cè)試計(jì)劃、設(shè)計(jì)測(cè)試用例和執(zhí)行測(cè)試用例等過程進(jìn)行管理,對(duì)軟件缺陷進(jìn)行跟蹤處理的工具。目前,市場(chǎng)上主流的軟件測(cè)試管理工具有ZenTaoPMS、TestCenter、TestDirector、TestLink、TestManager等。一2.5軟件測(cè)試3.測(cè)試工具介紹1)ZenTaoPMS2)LoadRunner3)Selenium4)TestComplete5)TestCenter6)Jmeter7)Postman一2.5軟件測(cè)試【案例1】軟件維護(hù)類型主要包括改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。程序在使用過程中可能會(huì)發(fā)生錯(cuò)誤,診斷和改正這些錯(cuò)誤的過程稱為();為了給未來的改進(jìn)提供更好的基礎(chǔ)而對(duì)軟件進(jìn)行修改,這類活動(dòng)稱為()。A.完善性維護(hù) B.改正性維護(hù)C.預(yù)防性維護(hù) D.適應(yīng)性維護(hù)一技能訓(xùn)練【分析】為了滿足用戶提出的增加新功能、修改現(xiàn)有功能及一般性的改進(jìn)要求和建議,需要進(jìn)行完善性維護(hù);程序在使用過程中可能會(huì)發(fā)生錯(cuò)誤,診斷和改正這些錯(cuò)誤的過程稱為改正性維護(hù);為了給未來的改進(jìn)提供更好的基礎(chǔ)而對(duì)軟件進(jìn)行修改,這類活動(dòng)稱為預(yù)防性維護(hù);軟件在使用過程中,外部環(huán)境、數(shù)據(jù)環(huán)境等可能發(fā)生變化,為了使軟件能夠適應(yīng)新的環(huán)境而進(jìn)行的維護(hù)稱為適應(yīng)性維護(hù)?!敬鸢浮緽、C一技能訓(xùn)練【案例2】軟件需求可以分為功能需求、性能需求、設(shè)計(jì)約束、質(zhì)量屬性、外部接口需求等幾類。以下選項(xiàng)中均屬于功能需求的是()。①對(duì)特定范圍內(nèi)進(jìn)行修改所需的時(shí)間不超過2秒。②按照訂單及原材料情況自動(dòng)安排生產(chǎn)排序。③系統(tǒng)能夠同時(shí)支持100個(gè)獨(dú)立站點(diǎn)的并發(fā)訪問。④系統(tǒng)可以實(shí)現(xiàn)對(duì)多字符集的支持,包括GBK、UTF-8等。⑤定期生成銷售分析報(bào)表。⑥系統(tǒng)實(shí)行同城異地雙機(jī)備份,保障數(shù)據(jù)安全。A.①② B.②⑤

C.③④⑤ D.③⑥一技能訓(xùn)練【分析】對(duì)特定范圍內(nèi)進(jìn)行修改所需的時(shí)間不超過2秒——不超過2秒是數(shù)值需求,所以屬于性能需求。按照訂單及原材料情況自動(dòng)安排生產(chǎn)排序——訂單及原材料情況是輸入,生產(chǎn)排序是輸出,所以屬于功能需求。系統(tǒng)能夠同時(shí)支持100個(gè)獨(dú)立站點(diǎn)的并發(fā)訪問——100個(gè)獨(dú)立站點(diǎn)并發(fā)訪問是數(shù)值需求,所以屬于性能需求。系統(tǒng)可以實(shí)現(xiàn)對(duì)多字符集的支持,包括

溫馨提示

  • 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)論