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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

一、軟件生命周期

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

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

二、B2C電子商務網站建設的一般過程

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

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

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

溫馨提示

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

評論

0/150

提交評論