知識點:(概要) 為了保障開發(fā)質(zhì)量,為各階段都準備了相應的好辦法??梢哉f:你想得到的軟件工程好方面,《軟件工程》都想到了;你想不到的,《軟件工程》更是想了不少。 (1)通過對軟件工程的學習,了解了軟件工程各個階段的里程碑,以及在各個階段完成中
知識點:(概要)
為了保障開發(fā)質(zhì)量,為各階段都準備了相應的好辦法??梢哉f:你想得到的軟件工程好方面,《軟件工程》都想到了;你想不到的,《軟件工程》更是想了不少。
(1)通過對軟件工程的學習,了解了軟件工程各個階段的里程碑,以及在各個階段完成中采用相應的處理方法,使得各階段的任務在完成過程中既有條有理,又方便通用。
(2)比如軟件工程分六大階段(計劃、分析、設計、編寫、測試、維護)(3)在各階段完成過程中都需要的文檔的記錄,并成為各階段的進度的標志和里程碑。
在軟件的計劃階段,采用“開發(fā)模型”(6種),可以針對企業(yè)的不同情況,選擇適當?shù)拈_發(fā)方法,解決客戶的問題,滿足需求。
①瀑布模型:
優(yōu)點:嚴格按照軟件生存周期進行,每一階段完成之后,必須進行評審通過后,才能進入下一階段。發(fā)現(xiàn)過程中出現(xiàn)問題,需要返回到相應階段進行修正、彌補,然后再重復操作,直到通過。
缺點:該模型缺乏靈活性,特別是無法解決軟件需求不明確或不準確的問題,這些問題可能導致最終開發(fā)出的軟件并不是用戶真正需要的軟件,并且這一點往往在開發(fā)過程完成后才有所察覺。面對這種情況,無疑需要進行返工或不得不在維護中糾正需求的偏差,為此必須付出高額的代價,為軟件開發(fā)帶來損失。并且,隨著軟件開發(fā)項目規(guī)模的日益龐大,該模型的不足所引發(fā)的問題顯得更加嚴重。
②快速原型模型
優(yōu)點:通過快速開發(fā)一個原型來反映用戶的需求,這樣方便和客戶交流,以明確客戶的需求,保證軟件的質(zhì)量。
缺點:費用較高,因為初步開發(fā)的模型往往與最后的版本相差很大,有的基本不能用,需要全部重新開發(fā)??焖僭湍P偷淖饔脙H僅用于反映客戶的需求。這樣,有的客戶很難接受,缺乏耐心。投資很大,不好承受。
③增量模型
優(yōu)點:采用先主干后分支,先基本后完善的開發(fā)方法。最開始開發(fā)出企業(yè)的主流業(yè)務,解決主要問題。隨著開發(fā)的進行,在各階段不斷對軟件進行完善,通過這樣不斷完善的開發(fā)過程,最終用戶得到一個完整功能的軟件。這對很多急需使用的企業(yè)來說,是不錯的選擇。
缺點:由于將軟件分成了很多的構(gòu)件,往往需要花費大部分時間在這些構(gòu)件的集成上?,F(xiàn)存的產(chǎn)品必須容易擴充,后開發(fā)的構(gòu)件必須是簡單和直觀并容易集成。因此,對于增量模型,產(chǎn)品的體系結(jié)構(gòu)的設計必須是開放的。
④螺旋模型
優(yōu)點:螺旋模型將瀑布模型和原型模型結(jié)合起來,不僅體現(xiàn)了兩個模型的優(yōu)點,而且還增加了兩個模型都忽略了的風險分析,彌補了兩者的不足。
局限:螺旋模型的使用需要具有相當豐富的風險評估經(jīng)驗和專門知識,而且費用昂貴,所以只適合大型軟件的開發(fā)。
⑤噴泉模型
優(yōu)點:開發(fā)過程各階段重疊性好,能盡早地發(fā)現(xiàn)問題并作出修改,避免問題的積累在后期造成重大損失。尤其很多問題,越早發(fā)現(xiàn)越早解決越好,避免返工。整個過程的要求很高,軟件可維護性較好。
缺點:很多工作被重復做,過程比較復雜,無形中增大了很多在最后來看無用的工作量,但在過程中是不可能知道的。
⑥形式化方法模型:包括變換模型和凈室軟件過程模型。
變換模型:在軟件需求分析確定以后,便用形式化的規(guī)格說明語言將其描述為“形式化軟件規(guī)格說明”,然后對其進行一系列自動或半自動的變換,最終得到軟件系統(tǒng)的目標程序。
凈室軟件過程模型:力求在分析和設計階段就消除錯誤,確保正確,然后在無缺陷或“潔凈”的狀態(tài)下實現(xiàn)軟件的制作,以生成極高質(zhì)量的軟件。它是一種嚴格的軟件工程方法,強調(diào)數(shù)學驗證的正確性和軟
件認證的可靠性的軟件工程模型,其目標和結(jié)果是降低出錯率,這是使用形式化方法難于或不可能達到的。
(4)很多圖的使用,能非常清晰地反映內(nèi)容、簡化工作。
在需求分析階段,“數(shù)據(jù)流程圖”的使用能夠清楚反映企業(yè)的功能需求和企業(yè)的工作流程,方便后面階段的進行。
在軟件設計階段,“系統(tǒng)結(jié)構(gòu)圖”能方便設計人員對各模塊的合理計劃和分配。
在軟件的編寫階段,更是做了嚴格的、具有全局觀的提出編寫的規(guī)范,不僅保證功能的實現(xiàn),而且還要求做到通用性、可移植性。保證數(shù)量的同時保證了質(zhì)量。
在軟件的測試階段,在該階段是極其重要的,因為在程序員編寫過程中,很多的問題是考慮得不到位的,甚至可以說很多問題是無法預料的,它必須要在特定的環(huán)境中才會發(fā)生,而一旦發(fā)生便又是致命性的卡殼。所以在各功能模塊的編寫過程中需要測試,組合后更是要進行大型測試。以保障為客戶提供更加安全、穩(wěn)定的軟件。
在對整個軟件工程進行管理時使用“甘特圖”,工作量及人力資源的安排,能合理地規(guī)劃各工程的分配,非常有效地保證了工程的進度。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com