關(guān)于軟件生命周期的探索-《軟件工程》課程結(jié)課論文_第1頁
關(guān)于軟件生命周期的探索-《軟件工程》課程結(jié)課論文_第2頁
關(guān)于軟件生命周期的探索-《軟件工程》課程結(jié)課論文_第3頁
關(guān)于軟件生命周期的探索-《軟件工程》課程結(jié)課論文_第4頁
關(guān)于軟件生命周期的探索-《軟件工程》課程結(jié)課論文_第5頁
已閱讀5頁,還剩96頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《軟件工程》課程結(jié)課論文(2015-2016-1)題目:關(guān)于軟件生命周期的探索姓名學(xué)號:專業(yè)班級:指導(dǎo)教師:目錄:1、摘要2、關(guān)鍵字3、背景軟件生命周期的定義實例問題定義及規(guī)劃需求分析軟件設(shè)計程序編碼軟件測試周期模型軟件生命圖解結(jié)論參考文獻(xiàn)關(guān)于軟件生命周期的探索摘要:提出軟件工程的主要目的是明確軟件制作要遵循工程化的思想,即開發(fā)之前要做好翔實的具體準(zhǔn)備,開發(fā)過程中要嚴(yán)格按照預(yù)定的要求執(zhí)行并予以監(jiān)控管理,保證軟件質(zhì)量,以便交付后能夠為用戶提供全面的、高質(zhì)量的服務(wù),從而使軟件的壽命得以延續(xù)。關(guān)鍵字:生命周期、模型、用戶正文背景:隨著21世紀(jì)技術(shù)的快速進(jìn)步,軟件數(shù)量急劇增大,軟件產(chǎn)品規(guī)模也越來越龐大,軟件開發(fā)不再是個人的勞動,而變成了各類人員的協(xié)同配合、共同完成的工程。為了使軟件質(zhì)量最大限度地得到保障,對軟件產(chǎn)品的生產(chǎn)過程進(jìn)行全面監(jiān)控,軟件工程中提出了軟件生命周期的概念。軟件生命周期的定義:軟件生命周期又稱為軟件生存周期或系統(tǒng)開發(fā)生命周期,是軟件的產(chǎn)生直到報廢的生命周期,周期內(nèi)有問題定義、可行性分析、總體描述、系統(tǒng)設(shè)計、編碼、調(diào)試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟件工程中的一種思想原則,即按部就班、逐步推進(jìn),每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟件的質(zhì)量。但隨著新的面向?qū)ο蟮脑O(shè)計方法和技術(shù)的成熟,軟件生命周期設(shè)計方法的指導(dǎo)意義正在逐步減少。生命周期的每一個周期都有確定的任務(wù),并產(chǎn)生一定規(guī)格的文檔(資料),提交給下一個周期作為繼續(xù)工作的依據(jù)。按照軟件的生命周期,軟件的開發(fā)不再只單單強調(diào)“編碼”,而是概括了軟件開發(fā)的全過程。軟件工程要求每一周期工作的開始只能必須是建立在前一個周期結(jié)果“正確”前提上的延續(xù);因此,每一周期都是按“活動──結(jié)果──審核──再活動──直至結(jié)果正確”循環(huán)往復(fù)進(jìn)展的。實例:

同任何事物一樣,一個軟件產(chǎn)品或軟件系統(tǒng)也要經(jīng)歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟件生存周期(軟件生命周期)。把整個軟件生存周期劃分為若干階段,使得每個階段有明確的任務(wù),使規(guī)模大,結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開發(fā)變的容易控制和管理。通常,軟件生存周期包括:一、問題定義。要求系統(tǒng)分析員與用戶進(jìn)行交流,弄清“用戶需要計算及解決什么問題”然后提出關(guān)于“系統(tǒng)目標(biāo)與范圍的說明”,提交用戶審查和確認(rèn)。二、可行性研究。一方面在于把待開發(fā)的系統(tǒng)的目標(biāo)以明確的語言描述出來,另一方面從經(jīng)濟、技術(shù)、法律等多方面進(jìn)行可行性分析。三、需求分析。弄清用戶對軟件系統(tǒng)的全部需求,編寫需求規(guī)格說明書和初步的用戶手冊,提交評審。四、開發(fā)階段。開發(fā)階段由三個階段組成:1、設(shè)計2、實現(xiàn):根據(jù)選定的程序設(shè)計語言完成源程序的編碼。3、測試五、維護:維護包括四個方面1、改正性維護:在軟件交付使用后,由于開發(fā)測試時的不徹底、不完全、必然會有一部分隱藏的錯誤被帶到運行階段,這些隱藏的錯誤在某些特定的使用環(huán)境下就會暴露。2、適應(yīng)性維護:是為適應(yīng)環(huán)境的變化而修改軟件的活動。3、完善性維護:是根據(jù)用戶在使用過程中提出的一些建設(shè)性意見而進(jìn)行的維護活動。4、預(yù)防性維護:是為了進(jìn)一步改善軟件系統(tǒng)的可維護性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)。問題的定義及規(guī)劃此階段是軟件開發(fā)方與需求方共同討論,主要確定軟件的開發(fā)目標(biāo)及其可行性。需求分析在確定軟件開發(fā)可行的情況下,對軟件需要實現(xiàn)的各個功能進(jìn)行詳細(xì)分析。需求分析階段是一個很重要的階段,這一階段做得好,將為整個軟件開發(fā)項目的成功打下良好的基礎(chǔ)。"唯一不變的是變化本身。",同樣需求也是在整個軟件開發(fā)過程中不斷變化和深入的,因此我們必須制定需求變更計劃來應(yīng)付這種變化,以保護整個項目的順利進(jìn)行。軟件需求定義是軟件設(shè)計開發(fā)階段的輸入,為需求被翻譯成為可以使軟件建構(gòu)功能的代碼發(fā)揮作用。軟件設(shè)計此階段主要根據(jù)需求分析的結(jié)果,對整個軟件系統(tǒng)進(jìn)行設(shè)計,如系統(tǒng)框架設(shè)計,數(shù)據(jù)庫設(shè)計等等。軟件設(shè)計一般分為總體設(shè)計和詳細(xì)設(shè)計。好的軟件設(shè)計將為軟件程序編寫打下良好的基礎(chǔ)。軟件設(shè)計的核心在于把握好那些決定“服務(wù)質(zhì)量”的因素,比如軟件的性能,可擴展性,安全性,怎樣劃分模塊的組成,怎樣組織和封裝軟件的組件,以及其他一些雖然不作為軟件主要應(yīng)用的方面但會對其支持方面有所影響的方方面面。軟件設(shè)計的原理包括抽象,分解和模塊化,耦合和內(nèi)聚,封裝,充分性,完整性和原始性。軟件設(shè)計主要關(guān)注軟件的兼容性、可擴展性、容錯性、可維護性、模塊化、可靠性、可重用性、健壯性、安全性、可用性和互操作性。耦合和內(nèi)聚是兩個用來評估軟件設(shè)計質(zhì)量的方法。程序編碼此階段是將軟件設(shè)計的結(jié)果轉(zhuǎn)換成計算機可運行的程序代碼。在程序編碼中必須要制定統(tǒng)一,符合標(biāo)準(zhǔn)的編寫規(guī)范。以保證程序的可讀性,易維護性,提高程序的運行效率。軟件測試在軟件設(shè)計完成后要經(jīng)過嚴(yán)密的測試,以發(fā)現(xiàn)軟件在整個設(shè)計過程中存在的問題并加以糾正。整個測試過程分單元測試、組裝測試以及系統(tǒng)測試三個階段進(jìn)行。測試的方法主要有白盒測試和黑盒測試兩種。在測試過程中需要建立詳細(xì)的測試計劃并嚴(yán)格按照測試計劃進(jìn)行測試,以減少測試的隨意性。運行維護軟件維護是軟件生命周期中持續(xù)時間最長的階段。在軟件開發(fā)完成并投入使用后,由于多方面的原因,軟件不能繼續(xù)適應(yīng)用戶的要求。要延續(xù)軟件的使用壽命,就必須對軟件進(jìn)行維護。軟件的維護包括糾錯性維護和改進(jìn)性維護兩個方面。周期模型任何辦公的流程處理;設(shè)計一種商務(wù)信函打印系統(tǒng)并投放市場。這個概念是不清晰的,但卻是最高層的業(yè)務(wù)需求的原型。這個概念都會伴隨著一個目的,例如在一個"銀行押匯系統(tǒng)"的目的是提高工作的效率。這個目的將會成為系統(tǒng)的核心思想,系統(tǒng)成敗的評判標(biāo)準(zhǔn)。99年政府部門上了大量的OA系統(tǒng),學(xué)過一點LotusNotes的人都發(fā)了財(IBM更不用說了),但是更普遍的情況是,許多的政府部門原有的處理模式并沒有變化,反而又加上了自動化處理的一套流程。提高工作效率的初衷卻導(dǎo)致了完全不同的結(jié)果。這樣的軟件究竟是不是成功的呢?從概念提出的那一刻開始,軟件產(chǎn)品就進(jìn)入了軟件生命周期。在經(jīng)歷需求、分析、設(shè)計、實現(xiàn)、部署后,軟件將被使用并進(jìn)入維護階段,直到最后由于缺少維護費用而逐漸消亡。這樣的一個過程,稱為"生命周期模型"(LifeCycleModel)。典型的幾種生命周期模型包括瀑布模型、快速原型模型、迭代模型。瀑布模型(WaterfallModel)首先由Royce提出。該模型由于酷似瀑布聞名。在該模型中,首先確定需求,并接受客戶和SQA小組的驗證。然后擬定規(guī)格說明,同樣通過驗證后,進(jìn)入計劃階段…可以看出,瀑布模型中至關(guān)重要的一點是只有當(dāng)一個階段的文檔已經(jīng)編制好并獲得SQA小組的認(rèn)可才可以進(jìn)入下一個階段。這樣,瀑布模型通過強制性的要求提供規(guī)約文檔來確保每個階段都能很好的完成任務(wù)。但是實際上往往難以辦到,因為整個的模型幾乎都是以文檔驅(qū)動的,這對于非專業(yè)的用戶來說是難以閱讀和理解的。想象一下,你去買衣服的時候,售貨員給你出示的是一本厚厚的服裝規(guī)格說明,你會有什么樣的感觸。雖然瀑布模型有很多很好的思想可以借鑒,但是在過程能力上有天生的缺陷。迭代式模型迭代式模型是是RUP(RationalUnifiedProcess,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型,也是我們在這個系列文章討論的基礎(chǔ)。在RUP中,迭代被定義為:迭代包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動和要使用該發(fā)布必需的所有其他外圍元素。所以,在某種程度上,開發(fā)迭代是一次完整地經(jīng)過所有工作流程的過程:(至少包括)需求工作流程、分析設(shè)計工作流程、實施工作流程和測試工作流程。實質(zhì)上,它類似小型的瀑布式項目。RUP認(rèn)為,所有的階段(需求及其它)都可以細(xì)分為迭代。每一次的迭代都會產(chǎn)生一個可以發(fā)布的產(chǎn)品,這個產(chǎn)品是最終產(chǎn)品的一個子集。迭代的思想如圖所示。迭代和瀑布的最大的差別就在于風(fēng)險的暴露時間上?!叭魏雾椖慷紩婕暗揭欢ǖ娘L(fēng)險。如果能在生命周期中盡早確保避免了風(fēng)險,那么您的計劃自然會更趨精確。有許多風(fēng)險直到已準(zhǔn)備集成系統(tǒng)時才被發(fā)現(xiàn)。不管開發(fā)團隊經(jīng)驗如何,都絕不可能預(yù)知所有的風(fēng)險?!庇捎谄俨寄P偷奶攸c(文檔是主體),很多的問題在最后才會暴露出來,為了解決這些問題的風(fēng)險是巨大的。"在迭代式生命周期中,您需要根據(jù)主要風(fēng)險列表選擇要在迭代中開發(fā)的新的增量內(nèi)容。每次迭代完成時都會生成一個經(jīng)過測試的可執(zhí)行文件,這樣就可以核實是否已經(jīng)降低了目標(biāo)風(fēng)險。"快速原型模型快速原型(RapidPrototype)模型在功能上等價于產(chǎn)品的一個子集。注意,這里說的是功能上。瀑布模型的缺點就在于不夠直觀,快速原型法就解決了這個問題。一般來說,根據(jù)客戶的需要在很短的時間內(nèi)解決用戶最迫切需要,完成一個可以演示的產(chǎn)品。這個產(chǎn)品只是實現(xiàn)部分的功能(最重要的)。它最重要的目的是為了確定用戶的真正需求。在我的經(jīng)驗中,這種方法非常的有效,原先對計算機沒有絲毫概念的用戶在你的原型面前往往口若懸河,有些觀點讓你都覺得非常的吃驚。在得到用戶的需求之后,原型將被拋棄。因為原型開發(fā)的速度很快,設(shè)計方面是幾乎沒有考慮的,如果保留原型的話,在隨后的開發(fā)中會為此付出極大的代價。至于保留原型方面,也是有一種叫做增量模型是這么做的,但這種模型并不為大家所接受,不在我們的討論之內(nèi)。上述的模型中都有自己獨特的思想,其實現(xiàn)在的軟件組織中很少說標(biāo)準(zhǔn)的采用那一種模型的。模型和實用還是有很大的區(qū)別的。軟件生命周期模型的發(fā)展實際上是體現(xiàn)了軟件工程理論的發(fā)展。在最早的時候,軟件的生命周期處于無序、混亂的情況。一些人為了能夠控制軟件的開發(fā)過程,就把軟件開發(fā)嚴(yán)格的區(qū)分為多個不同的階段,并在階段間加上嚴(yán)格的審查。這就是瀑布模型產(chǎn)生的起因。瀑布模型體現(xiàn)了人們對軟件過程的一個希望:嚴(yán)格控制、確保質(zhì)量??上У氖?,現(xiàn)實往往是殘酷的。瀑布模型根本達(dá)不到這個過高的要求,因為軟件的過程往往難于預(yù)測。反而導(dǎo)致了其它的負(fù)面影響,例如大量的文檔、繁瑣的審批。因此人們就開始嘗試著用其它的方法來改進(jìn)或替代瀑布方法。例如把過程細(xì)分來增加過程的可預(yù)測性。螺旋模型1988年,BarryBoehm正式發(fā)表了軟件系統(tǒng)開發(fā)的"螺旋模型",它將瀑布模型和快速原型模型結(jié)合起來,強調(diào)了其他模型所忽視的風(fēng)險分析,特別適合于大型復(fù)雜的系統(tǒng)。螺旋模型沿著螺線進(jìn)行若干次迭代,圖中的四個象限代表了以下活動:(1)制定計劃:確定軟件目標(biāo),選定實施方案,弄清項目開發(fā)的限制條件;(2)風(fēng)險分析:分析評估所選方案,考慮如何識別和消除風(fēng)險;(3)實施工程:實施軟件開發(fā)和驗證;(4)客戶評估:評價開發(fā)工作,提出修正建議,制定下一步計劃。螺旋模型由風(fēng)險驅(qū)動,強調(diào)可選方案和約束條件從而支持軟件的重用,有助于將軟件質(zhì)量作為特殊目標(biāo)融入產(chǎn)品開發(fā)之中。但是,螺旋模型也有一定的限制條件,具體如下:(1)螺旋模型強調(diào)風(fēng)險分析,但要求許多客戶接受和相信這種分析,并做出相關(guān)反應(yīng)是不容易的,因此,這種模型往往適應(yīng)于內(nèi)部的大規(guī)模軟件開發(fā)。(2)如果執(zhí)行風(fēng)險分析將大大影響項目的利潤,那么進(jìn)行風(fēng)險分析毫無意義,因此,螺旋模型只適合于大規(guī)模軟件項目。(3)軟件開發(fā)人員應(yīng)該擅長尋找可能的風(fēng)險,準(zhǔn)確地分析風(fēng)險,否則將會帶來更大的風(fēng)險一個階段首先是確定該階段的目標(biāo),完成這些目標(biāo)的選擇方案及其約束條件,然后從風(fēng)險角度分析方案的開發(fā)策略,努力排除各種潛在的風(fēng)險,有時需要通過建造原型來完成。如果某些風(fēng)險不能排除,該方案立即終止,否則啟動下一個開發(fā)步驟。最后,評價該階段的結(jié)果,并設(shè)計下一個階段。軟件生命周期圖解:結(jié)論:通過軟件工程的學(xué)習(xí)我了解了軟件生命周期的概念和組成,學(xué)會構(gòu)建了典型的軟件生命周期模型。軟件生命周期的提出,不僅使軟件的開發(fā)得到嚴(yán)格的控制和管理,促進(jìn)了軟件開發(fā)工作的規(guī)范化,同時也促進(jìn)了軟件的發(fā)展和進(jìn)步。軟件生命周期總體分為軟件定義,軟件開發(fā)和軟件運行維護3個時期,每個時期均有若干工作階段組成,包括問題定義,可行性研究與項目開發(fā)計劃制定,需求分析,概要設(shè)計,詳細(xì)設(shè)計,編碼和單元測試,綜合測試以及運行維護。每個階段是一個獨立的過程,要順序執(zhí)行,且每個階段完成不同性質(zhì)的工作,提交相應(yīng)的階段成果。參考文獻(xiàn):軟件工程與基礎(chǔ)應(yīng)用。搜狗百科。

軟件設(shè)計此階段主要根據(jù)需求分析的結(jié)果,對整個軟件系統(tǒng)進(jìn)行設(shè)計,如系統(tǒng)框架設(shè)計,數(shù)據(jù)庫設(shè)計等等。軟件設(shè)計一般分為總體設(shè)計和詳細(xì)設(shè)計。好的軟件設(shè)計將為軟件程序編寫打下良好的基礎(chǔ)。軟件設(shè)計的核心在于把握好那些決定“服務(wù)質(zhì)量”的因素,比如軟件的性能,可擴展性,安全性,怎樣劃分模塊的組成,怎樣組織和封裝軟件的組件,以及其他一些雖然不作為軟件主要應(yīng)用的方面但會對其支持方面有所影響的方方面面。軟件設(shè)計的原理包括抽象,分解和模塊化,耦合和內(nèi)聚,封裝,充分性,完整性和原始性。軟件設(shè)計主要關(guān)注軟件的兼容性、可擴展性、容錯性、可維護性、模塊化、可靠性、可重用性、健壯性、安全性、可用性和互操作性。耦合和內(nèi)聚是兩個用來評估軟件設(shè)計質(zhì)量的方法。[編輯案例一:利用軟件生命周期創(chuàng)建B2C電子商務(wù)網(wǎng)站[1]

一、軟件生命周期

任何事物都有產(chǎn)生、發(fā)展、成熟、消亡或更新幾個階段,電子商務(wù)網(wǎng)站也不例外。[2]任何一個電子商務(wù)系統(tǒng)在使用過程中隨著其生存環(huán)境的變化,都需要不斷維護、修改,當(dāng)它不再適應(yīng)的時候就要被淘汰,就要由新系統(tǒng)代替舊系統(tǒng),這種周期循環(huán)稱為生命周期。

根據(jù)軟件生命周期的原理,電子商務(wù)網(wǎng)站可以劃分為系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施、系統(tǒng)測試、系統(tǒng)運行和維護等幾個階段。

二、B2C電子商務(wù)網(wǎng)站建設(shè)的一般過程

(一)系統(tǒng)規(guī)劃階段

系統(tǒng)規(guī)劃階段的任務(wù)是對企業(yè)的環(huán)境、目標(biāo)、現(xiàn)行系統(tǒng)的狀況等進(jìn)行初步調(diào)

企業(yè)目標(biāo)和發(fā)展戰(zhàn)略信息系統(tǒng)的

溫馨提示

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

評論

0/150

提交評論