




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.2軟件工程的過(guò)程和軟件生存周期1.2.1軟件工程的過(guò)程
軟件工程的過(guò)程規(guī)定了獲取、供應(yīng)、開(kāi)發(fā)、操作和維護(hù)軟件時(shí),要實(shí)施的過(guò)程、活動(dòng)和任務(wù)。其目的是為各種人員提供一個(gè)公共的框架,以便用相同的語(yǔ)言進(jìn)行交流。
這個(gè)框架由幾個(gè)重要過(guò)程組成,這些主要過(guò)程含有用來(lái)獲取、供應(yīng)、開(kāi)發(fā)、操作和維護(hù)軟件所用的基本的、一致的要求。該框架還用來(lái)控制和管理軟件的過(guò)程。各種組織和開(kāi)發(fā)機(jī)構(gòu)可以根據(jù)具體情況進(jìn)行選擇和剪裁,可在一個(gè)機(jī)構(gòu)的內(nèi)部或外部實(shí)施。1.2.1軟件工程的過(guò)程
軟件工程的過(guò)程沒(méi)有規(guī)定一個(gè)特定的生存周期模型或軟件開(kāi)發(fā)方法,各軟件開(kāi)發(fā)機(jī)構(gòu)可為其開(kāi)發(fā)項(xiàng)目選擇一種生存周期模型,并將軟件工程的過(guò)程所含的過(guò)程、活動(dòng)和任務(wù)映射到該模型中,也可以選擇和使用軟件開(kāi)發(fā)方法來(lái)執(zhí)行適合于其軟件項(xiàng)目的活動(dòng)和任務(wù)。
軟件工程過(guò)程包含以下七個(gè)過(guò)程.1.2.1軟件工程的過(guò)程獲取過(guò)程。獲取過(guò)程是需方按合同獲取一個(gè)系統(tǒng)、軟件產(chǎn)品或服務(wù)的活動(dòng)。(2)供應(yīng)過(guò)程。供應(yīng)過(guò)程是供方向需方提供合同中的系統(tǒng)、軟件產(chǎn)品或服務(wù)所需的活動(dòng)。(3)開(kāi)發(fā)過(guò)程。開(kāi)發(fā)過(guò)程是開(kāi)發(fā)者和機(jī)構(gòu)為了定義和開(kāi)發(fā)軟件或服務(wù)所需的活動(dòng)。此過(guò)程包括需求分析、設(shè)計(jì)、編碼、集成、測(cè)試、軟件安裝和驗(yàn)收等活動(dòng)。(4)操作過(guò)程。操作過(guò)程是操作者和機(jī)構(gòu)為了在規(guī)定的運(yùn)行環(huán)境中為其用戶運(yùn)行一個(gè)計(jì)算機(jī)系統(tǒng)所需要的活動(dòng)。(5)維護(hù)過(guò)程。維護(hù)過(guò)程是維護(hù)者和機(jī)構(gòu)為了管理軟件的修改,使它處于良好運(yùn)行狀態(tài)所需要的活動(dòng)。(6)管理過(guò)程。管理過(guò)程是軟件工程過(guò)程中的各項(xiàng)管理活動(dòng),包括項(xiàng)目開(kāi)始和范圍定義,項(xiàng)目管理計(jì)劃、實(shí)施和控制、評(píng)審和評(píng)價(jià)、項(xiàng)目完成。(7)支持過(guò)程。支持過(guò)程對(duì)項(xiàng)目的生存周期過(guò)程給予支持。它有助于項(xiàng)目的成功并能提高項(xiàng)目的質(zhì)量。
軟件生存周期是指一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。把整個(gè)生存周期劃分為若干階段,使得每個(gè)階段有明確的任務(wù),使規(guī)模大、結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開(kāi)發(fā)變得容易控制和管理。
軟件生存周期的各階段有不同的劃分。軟件規(guī)模、種類(lèi)、開(kāi)發(fā)方式、開(kāi)發(fā)環(huán)境以及開(kāi)發(fā)使用的方法都影響軟件生存周期的劃分。在劃分軟件生存周期的階段時(shí),應(yīng)遵循的基本原則是各階段的任務(wù)應(yīng)盡可能相對(duì)獨(dú)立,同一階段各項(xiàng)任務(wù)的性質(zhì)盡可能相同,從而降低每個(gè)階段任務(wù)的復(fù)雜程度,簡(jiǎn)化不同階段之間的聯(lián)系,有利于軟件項(xiàng)目開(kāi)發(fā)的組織管理。1.2.1軟件工程的過(guò)程1.2.2軟件生存周期1.可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃
可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃階段必須要回答的問(wèn)題是“要解決的問(wèn)題是什么”(what)。該問(wèn)題有行得通的解決辦法嗎?若有解決問(wèn)題的辦法,則需要多少費(fèi)用?需要多少資源?需要多少時(shí)間?要回答這些問(wèn)題,就要進(jìn)行問(wèn)題定義、可行性分析,制定項(xiàng)目開(kāi)發(fā)計(jì)劃。
用戶提出一個(gè)軟件的開(kāi)發(fā)要求后,系統(tǒng)分析員首先要解決該軟件項(xiàng)目的性質(zhì)是什么,是數(shù)據(jù)處理問(wèn)題還是實(shí)時(shí)控制問(wèn)題,是科學(xué)計(jì)算問(wèn)題還是人工智能問(wèn)題等。還要明確該項(xiàng)目的目標(biāo)是什么,該項(xiàng)目的規(guī)模如何等。1.2.2軟件生存周期
通過(guò)系統(tǒng)分析員對(duì)用戶和使用部門(mén)負(fù)責(zé)人的訪問(wèn)和調(diào)查、開(kāi)會(huì)討論,就可解決這些問(wèn)題。
在清楚了問(wèn)題的性質(zhì)、目標(biāo)、規(guī)模后,還要確定該問(wèn)題有沒(méi)有行得通的解決辦法。系統(tǒng)分析員要進(jìn)行壓縮和簡(jiǎn)化的需求分析和設(shè)計(jì),也就是在高層次上進(jìn)行分析和設(shè)計(jì),探索這個(gè)問(wèn)題是否值得去解決,是否有可行的解決辦法。最后要提交可行性研究報(bào)告。
經(jīng)過(guò)可行性分析后,確定該問(wèn)題值得去解決,然后制定項(xiàng)目開(kāi)發(fā)計(jì)劃。根據(jù)開(kāi)發(fā)項(xiàng)目的目標(biāo)、功能、性能及規(guī)模,估計(jì)項(xiàng)目需要的資源,即需要的計(jì)算機(jī)硬件資源,需要的軟件開(kāi)發(fā)工具和應(yīng)用軟件包,需要的開(kāi)發(fā)人員數(shù)目及層次。還要對(duì)軟件開(kāi)發(fā)費(fèi)用做出估算,對(duì)開(kāi)發(fā)進(jìn)度做出估計(jì),制定完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃。最后,將項(xiàng)目開(kāi)發(fā)計(jì)劃和可行性分析報(bào)告一起提交管理部門(mén)審查。
2.需求分析
需求分析階段的任務(wù)不是具體地解決問(wèn)題,而是準(zhǔn)確地確定“軟件系統(tǒng)必須做什么?”(what)確定軟件系統(tǒng)必須具備哪些功能。
用戶了解他們所面對(duì)的問(wèn)題,知道必須做什么,但是通常不能完整、準(zhǔn)確地表達(dá)出來(lái),也不知道怎樣用計(jì)算機(jī)解決他們的問(wèn)題。而軟件開(kāi)發(fā)人員雖然知道怎樣用軟件完成人們提出的各種功能要求,但是,對(duì)用戶的具體業(yè)務(wù)和需求不完全清楚,這是需求分析階段的困難所在。
系統(tǒng)分析員要和用戶密切配合,充分交流各自的想法,理解用戶的業(yè)務(wù)流程,完整、全面地收集、分析用戶業(yè)務(wù)中的信息和處理,從中分析出用戶要求的功能和性能,然后完整、準(zhǔn)確地將它們表達(dá)出來(lái)。這一階段要給出軟件需求說(shuō)明書(shū)。1.2.2軟件生存周期1.2.2軟件生存周期3.概要設(shè)計(jì)
概要設(shè)計(jì)屬于模塊級(jí)設(shè)計(jì),主要回答“軟件系統(tǒng)如何做”(what)的問(wèn)題。
在概要設(shè)計(jì)階段,開(kāi)發(fā)人員要把確定的各項(xiàng)功能需求轉(zhuǎn)換成相應(yīng)的體系結(jié)構(gòu),在該體系結(jié)構(gòu)中,每個(gè)成分都是意義明確的模塊,即每個(gè)模塊都和某些功能需求相對(duì)應(yīng)。因此,概要設(shè)計(jì)就是設(shè)計(jì)軟件的結(jié)構(gòu),該結(jié)構(gòu)由哪些模塊組成,這些模塊的層次結(jié)構(gòu)是怎樣的,這些模塊的調(diào)用關(guān)系是怎樣的,每個(gè)模塊的功能是什么。同時(shí)還要設(shè)計(jì)該項(xiàng)目的應(yīng)用系統(tǒng)的總體數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)結(jié)構(gòu),即應(yīng)用系統(tǒng)要存儲(chǔ)什么數(shù)據(jù),這些數(shù)據(jù)是什么樣的結(jié)構(gòu),它們之間有什么關(guān)系等。1.2.2軟件生存周期4.詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)屬于模塊的內(nèi)部結(jié)構(gòu)級(jí)設(shè)計(jì)。
詳細(xì)設(shè)計(jì)階段就是為每個(gè)模塊完整的功能進(jìn)行具體描述,把功能描述轉(zhuǎn)變?yōu)榫_的、結(jié)構(gòu)化的過(guò)程描述。即該模塊的控制結(jié)構(gòu)是怎樣的,先做什么,后做什么,有什么樣的條件判定,有些什么重復(fù)處理等,并用相應(yīng)的表示工具把這些控制結(jié)構(gòu)表示出來(lái)。5.編碼
編碼階段就是把每個(gè)模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計(jì)算機(jī)可接受的程序代碼,即寫(xiě)成以某特定程序設(shè)計(jì)語(yǔ)言表示的“源程序清單”。當(dāng)然,寫(xiě)出的程序應(yīng)結(jié)構(gòu)好,清晰易讀,并且與設(shè)計(jì)相一致。1.2.2軟件生存周期6.測(cè)試
測(cè)試是保證軟件質(zhì)量的重要手段,其主要方式是在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分。測(cè)試分為模塊測(cè)試、組裝測(cè)試、確認(rèn)測(cè)試。模塊測(cè)試是查找各模塊在功能和結(jié)構(gòu)上存在的問(wèn)題。組裝測(cè)試是將各模塊按一定順序組裝起來(lái)進(jìn)行的測(cè)試,主要是查找各模塊之間接口上存在的問(wèn)題。確認(rèn)測(cè)試是按軟件需求說(shuō)明書(shū)上的功能逐項(xiàng)進(jìn)行的,發(fā)現(xiàn)不滿足用戶需求的問(wèn)題,決定開(kāi)發(fā)的軟件是否合格、能否交付用戶使用等。1.2.2軟件生存周期7.維護(hù)
軟件維護(hù)是軟件生存周期中時(shí)間最長(zhǎng)的階段。已交付的軟件投入正式使用后,便進(jìn)入軟件維護(hù)階段,它可以持續(xù)幾年甚至幾十年。軟件運(yùn)行過(guò)程中可能由于各方面的原因,需要對(duì)它進(jìn)行修改。其原因可能是運(yùn)行中發(fā)現(xiàn)了軟件隱含的錯(cuò)誤而需要修改;也可能是為了適應(yīng)變化了的軟件工作環(huán)境而需要做適當(dāng)變更;也可能是因?yàn)橛脩魳I(yè)務(wù)發(fā)生變化而需要擴(kuò)充和增強(qiáng)軟件的功能等。1.2.3軟件工程模型
模型是為了理解事物而對(duì)事物做出的一種抽象,它忽略了不必要的細(xì)節(jié),是事物的一種抽象形式、一個(gè)規(guī)劃、一個(gè)程式。
軟件工程模型是描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)任務(wù)的結(jié)構(gòu)框架,也叫軟件開(kāi)發(fā)模型。
一個(gè)強(qiáng)有力的軟件工程模型對(duì)軟件開(kāi)發(fā)提供了強(qiáng)有力的支持,為軟件開(kāi)發(fā)過(guò)程中所有活動(dòng)提供了統(tǒng)一的政策保證,為參與軟件開(kāi)發(fā)的所有成員提供幫助和指導(dǎo)。它揭示了如何演繹軟件過(guò)程的思想,是軟件工程模型化技術(shù)的基礎(chǔ),也是建立軟件開(kāi)發(fā)環(huán)境的核心。1.2.3軟件工程模型
軟件工程模型確立了軟件開(kāi)發(fā)和演繹中各階段的次序限制以及各階段活動(dòng)的準(zhǔn)則,確立開(kāi)發(fā)過(guò)程所遵守的規(guī)定和限制,便于各種活動(dòng)的協(xié)調(diào)以及各種人員的有效溝通,有利于活動(dòng)重用和活動(dòng)管理。
軟件生存周期模型能表示各種活動(dòng)的實(shí)際工作方式,各種活動(dòng)間的同步和制約關(guān)系,以及活動(dòng)的動(dòng)態(tài)特性。生存周期模型應(yīng)該被軟件開(kāi)發(fā)過(guò)程中的各類(lèi)人員所理解,它應(yīng)該適應(yīng)不同的軟件項(xiàng)目,具有較強(qiáng)的靈活性,以及支持軟件開(kāi)發(fā)環(huán)境的建立。
目前有若干種軟件生存周期模型,如瀑布模型、增量模型、螺旋模型、噴泉模型、變換模型、基于知識(shí)的模型和統(tǒng)一過(guò)程模型等。1.2.3軟件工程模型
瀑布模型是將軟件生存周期各活動(dòng)規(guī)定為依線性順序連接的若干階段的模型。它包括可行性分析、項(xiàng)目開(kāi)發(fā)計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試和維護(hù),它確定了由前至后、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。瀑布模型為軟件開(kāi)發(fā)提供了一種有效的管理模型。
根據(jù)這一模式制定開(kāi)發(fā)計(jì)劃,進(jìn)行成本預(yù)算,組織開(kāi)發(fā)力量,以項(xiàng)目的階段評(píng)審和文檔控制為手段有效地對(duì)整個(gè)開(kāi)發(fā)過(guò)程進(jìn)行指導(dǎo),因此,它是以文檔作為驅(qū)動(dòng),適合于需求很明確的軟件項(xiàng)目開(kāi)發(fā)的模型。1.2.3軟件工程模型
快速模型是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品所能完成的功能的一個(gè)子集。和瀑布模型一樣,軟件產(chǎn)品的開(kāi)發(fā)基本上是線性順序進(jìn)行的。和瀑布模型不同的是,快速原型模型是不帶反饋環(huán)的。快速原型方法可以克服瀑布模型的缺點(diǎn),減少由于軟件需求不明確帶來(lái)的開(kāi)發(fā)風(fēng)險(xiǎn),具有顯著的效果。
增量模型同瀑布模型或快速原型模型相反,它分批地逐步向用戶提交產(chǎn)品,整個(gè)軟件產(chǎn)品被分解成許多個(gè)增量構(gòu)件,開(kāi)發(fā)人員一個(gè)構(gòu)件接一個(gè)構(gòu)件地向用戶提交產(chǎn)品。在開(kāi)發(fā)過(guò)程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而使軟件過(guò)程的控制失去整體性。1.2.3軟件工程模型1988年,BarryBoehm正式發(fā)表了軟件系統(tǒng)開(kāi)發(fā)的“螺旋模型”,螺旋模型將瀑布模型和快速原型模型結(jié)合起來(lái),強(qiáng)調(diào)了其他模型所忽視的風(fēng)險(xiǎn)分析,特別適合于大型復(fù)雜的系統(tǒng)。螺旋模型將軟件的開(kāi)發(fā)過(guò)程分為多個(gè)階段,每個(gè)階段首先要確定該階段的目標(biāo),完成這些目標(biāo)的選擇方案及其約束條件,然后從風(fēng)險(xiǎn)角度分析方案的開(kāi)發(fā)策略,努力排除各種潛在的風(fēng)險(xiǎn),有時(shí)需要通過(guò)建造原型來(lái)完成上述工作。
如果某些風(fēng)險(xiǎn)不能排除,該方案立即終止,否則啟動(dòng)下一個(gè)開(kāi)發(fā)步驟。最后,評(píng)價(jià)該階段的結(jié)果,并設(shè)計(jì)下一個(gè)階段。1.2.3軟件工程模型
噴泉模型認(rèn)為軟件開(kāi)發(fā)過(guò)程自下而上的周期的各階段是相互迭代和無(wú)間隙的。軟件的某個(gè)部分常常需要重復(fù)工作多次,相關(guān)對(duì)象在每次迭代中隨之加入漸進(jìn)的軟件成分。無(wú)間隙指在各項(xiàng)活動(dòng)之間無(wú)明顯的邊界,如分析和設(shè)計(jì)活動(dòng)之間沒(méi)有明顯的界限,由于對(duì)象概念的引入,表達(dá)、分析、設(shè)計(jì)、實(shí)現(xiàn)等活動(dòng)只使用對(duì)象類(lèi)和關(guān)系,從而可以較為容易地實(shí)現(xiàn)活動(dòng)的迭代和無(wú)間隙,使其開(kāi)發(fā)自然地包括復(fù)用。1.2.3軟件工程模型
變換模型是一種形式化開(kāi)發(fā)方法。形式化方法的本質(zhì)是基于數(shù)學(xué)的方法來(lái)描述目標(biāo)軟件系統(tǒng)屬性的一種技術(shù)。不同的形式化方法的數(shù)學(xué)基礎(chǔ)是不同的,有的以集合論和一階謂詞演算為基礎(chǔ),有的則以時(shí)態(tài)邏輯為基礎(chǔ)。形式化方法需要形式化規(guī)約說(shuō)明語(yǔ)言的支持。形式化方法模型的主要活動(dòng)是生成計(jì)算機(jī)軟件形式化的數(shù)學(xué)規(guī)格說(shuō)明。1.2.3軟件工程模型
基于知識(shí)的模型也叫智能模型,它與專(zhuān)家系統(tǒng)結(jié)合在一起。該模型應(yīng)用在基于規(guī)則的系統(tǒng),采用歸納和推理機(jī)制,幫助軟件人員完成開(kāi)發(fā)工作,并使維護(hù)在系
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西方國(guó)家福利制度變革的歷史考察試題及答案
- 環(huán)境保護(hù)與公共政策的互動(dòng)機(jī)制研究試題及答案
- 西方國(guó)家的基層治理模式探討試題及答案
- 關(guān)于公共政策的理論框架分析試題及答案
- 對(duì)話性公共政策的案例研究與評(píng)估試題及答案
- 分析西方政治制度中的不同利益關(guān)系試題及答案
- 激發(fā)潛能的軟件設(shè)計(jì)師考試試題及答案
- 探討西方政治制度對(duì)民主的影響試題及答案
- 項(xiàng)目管理中的績(jī)效考核與評(píng)價(jià)試題及答案
- 機(jī)電系統(tǒng)故障分析題及答案
- 人教版五年級(jí)數(shù)學(xué)下冊(cè)第六單元分?jǐn)?shù)的加法和減法測(cè)試卷(含答案)
- GB/T 1095-2003平鍵鍵槽的剖面尺寸
- 現(xiàn)代藝術(shù)野獸派-中外美術(shù)史-課件
- 社區(qū)優(yōu)質(zhì)服務(wù)基層行解讀2022版目錄
- 雙曲線齒輪幾何設(shè)計(jì)
- 2022年商務(wù)標(biāo)技術(shù)標(biāo)最全投標(biāo)文件模板
- TFDS系統(tǒng)介紹(濟(jì)南)
- 滾子鏈鏈輪的基本參數(shù)和主要尺寸
- 青海省基本醫(yī)療保險(xiǎn)門(mén)診特殊病慢性病病種待遇認(rèn)定表
- 幼兒園組織構(gòu)架圖-及工作流程
- 維氏硬度計(jì)作業(yè)指導(dǎo)書(shū)
評(píng)論
0/150
提交評(píng)論