❶ 計算機軟體開發生命周期是什麼意思
同任何事物一樣,一個軟體產品或軟體系統也要經歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟體生存周期(軟體生命周期)。把整個軟體生存周期劃分為若干階段,使得每個階段有明確的任務,使規模大,結構復雜和管理復雜的軟體開發變的容易控制和管理。通常,軟體生存周期包括可行性分析與開發項計劃、需求分析、設計(概要設計和詳細設計)、編碼、測試、維護等活動,可以將這些活動以適當的方式分配到不同的階段去完成。
軟體生命周期(SDLC,軟體生存周期)是軟體的產生直到報廢的生命周期,周期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟體工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟體的質量。但隨著新的面向對象的設計方法和技術的成熟,軟體生命周期設計方法的指導意義正在逐步減少。
軟體生命周期(SDLC)的六個階段
1、問題的定義及規劃
此階段是軟體開發方與需求方共同討論,主要確定軟體的開發目標及其可行性。
2、需求分析
在確定軟體開發可行的情況下,對軟體需要實現的各個功能進行詳細分析。需求分析階段是一個很重要的階段,這一階段做得好,將為整個軟體開發項目的成功打下良好的基礎。"唯一不變的是變化本身。",同樣需求也是在整個軟體開發過程中不斷變化和深入的,因此我們必須制定需求變更計劃來應付這種變化,以保護整個項目的順利進行。
3、軟體設計
此階段主要根據需求分析的結果,對整個軟體系統進行設計,如系統框架設計,資料庫設計等等。軟體設計一般分為總體設計和詳細設計。好的軟體設計將為軟體程序編寫打下良好的基礎。
4、程序編碼
此階段是將軟體設計的結果轉換成計算機可運行的程序代碼。在程序編碼中必須要制定統一,符合標準的編寫規范。以保證程序的可讀性,易維護性,提高程序的運行效率。
5、軟體測試
在軟體設計完成後要經過嚴密的測試,以發現軟體在整個設計過程中存在的問題並加以糾正。整個測試過程分單元測試、組裝測試以及系統測試三個階段進行。測試的方法主要有白盒測試和黑盒測試兩種。在測試過程中需要建立詳細的測試計劃並嚴格按照測試計劃進行測試,以減少測試的隨意性。
6、運行維護 軟體維護是軟體生命周期中持續時間最長的階段。在軟體開發完成並投入使用後,由於多方面的原因,軟體不能繼續適應用戶的要求。要延續軟體的使用壽命,就必須對軟體進行維護。軟體的維護包括糾錯性維護和改進性維護兩個方面。
❷ 軟體工程,軟體過程,軟體生命周期模型三者之間的區別和聯系
軟體開發模型(Software Development Model)是指軟體開發全部過程、活動和任務的結構框架。 一個軟體產品或軟體系統也要經歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟體生存周期(軟體生命周期)。
2.軟體開發模型能清晰、直觀地表達軟體開發全過程,明確規定了要完成的主要活動和任務,用來作為軟體項目工作的基礎。所以沒有它是不行的。
3.CISE工具和環境有利於軟體開發過程的快速進展,提高開發效率。
4.需求分析是對功能的正確性,完整性和清晰性,以及其它需求給予評價.只有需求審批通過了才可以正式開始開發。可以通過與客戶、業界有經驗人士溝通以及開發團隊共同商討等方式進行分析。
5.首先要對人力資源進行分析,然後通過這些人力資源對目標、資源、環境等方面需求分析
6.見問題4答案。
7.可以通過實際的案例分析或者實踐來更好的理解和領會。
8.可行性功能、可擴展性、可維護性、性能良好、耗費資源相對較少等。可以用編碼實現性能上的優化,用介面來實現可擴展性等等。
9.創建一個軟體系統與其它需要耗費人力與財力的工程是一樣的。如果你要造一幢房子,在開始砌第一塊磚之前,你必須事先畫好建築圖與藍圖。在你開始澆鑄水泥之前,你必須讓人評審你的藍圖並獲得通過,在軟體開發中事先做計劃也與此類似。
10.可行性(合法性)、成本(人員、時間成本和其他資源的耗費成本)
11.不可能。只能是盡量避免和減少。
12.在軟體交付使用後,由於開發時測試的不徹底、不完全,必然會有一部分隱藏的錯誤被帶到運行階段來。這些隱藏下來的錯誤在某些特定的使用環境下就會暴露。為了識別和糾正軟體錯誤、改正軟體性能上的缺陷、排除實施中的誤使用,所以要對其維護。
❸ 軟體工程師生命周期
不一定啊!要知道對軟體工程師而言,經驗也是很貴的,你做得越久經驗越多,就能得到更好的待遇,也可以繼續提升職位,做項目經理、技術主管等等。
當然,你也要不斷地深入鑽研技術,提升自己才行。
❹ 什麼是軟體的生命周期軟體生命周期分哪幾個階段
軟體的生命周期是指軟體的產生直到報廢或停止使用的生命周期。
具體分為以下階段:
一、問題定義:要求系統分析員與用戶進行交流,弄清「用戶需要計算機解決什麼問題」然後提出關於「系統目標與范圍的說明」,提交用戶審查和確認。
二、可行性研究:一方面在於把待開發的系統的目標以明確的語言描述出來,另一方面從經濟、技術、法律等多方面進行可行性分析。
三、需求分析:弄清用戶對軟體系統的全部需求,編寫需求規格說明書和初步的用戶手冊,提交評審。
四、開發階段:開發階段由四個階段組成:
1、概要設計。
2、詳細設計。
3、實現:根據選定的程序設計語言完成源程序的編碼。
4、測試。
五、維護:維護包括四個方面:
1、改正性維護:在軟體交付使用後,由於開發測試時的不徹底、不完全、必然會有一部分隱藏的錯誤被帶到運行階段,這些隱藏的錯誤在某些特定的使用環境下就會暴露。
2、適應性維護:是為適應環境的變化而修改軟體的活動。
3、完善性維護:是根據用戶在使用過程中提出的一些建設性意見而進行的維護活動。
4、預防性維護:是為了進一步改善軟體系統的可維護性和可靠性,並為以後的改進奠定基礎。
❺ 請教「軟體工程全生命周期」的概念。。
軟體工程全生命周期:
由軟體定義,軟體開發和運行維護3個時期組成。每個時期又分成了若干個階段。
1. 軟體定義時期:
一般分成問題定義 可行性研究 需求分析三部分。
2. 軟體開發時期:
一般包含系統設計和系統實現兩部分。
系統設計中可以細分出總體設計和詳細設計。
系統實現也可以細分為編碼和單元測試和綜合測試.
3.運行維護
是滿足用戶不斷提出需求。環境在變軟體也應該隨之改變,即自適應。 而且編出來的軟體也不是完美的,大錯小錯的都常見 這個時期一般不具體分階段。
❻ 什麼是軟體開發的生命周期
同任何事物一樣,一個軟體產品或軟體系統也要經歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟體生存周期(軟體生命周期)。把整個軟體生存周期劃分為若干階段,使得每個階段有明確的任務,使規模大,結構復雜和管理復雜的軟體開發變的容易控制和管理。通常,軟體生存周期包括可行性分析與開發項計劃、需求分析、設計(概要設計和詳細設計)、編碼、測試、維護等活動,可以將這些活動以適當的方式分配到不同的階段去完成。
軟體生命周期(SDLC,軟體生存周期)是軟體的產生直到報廢的生命周期,周期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟體工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟體的質量。但隨著新的面向對象的設計方法和技術的成熟,軟體生命周期設計方法的指導意義正在逐步減少。
軟體生命周期(SDLC)的六個階段
❼ 軟體生命周期的周期模型
任何辦公的流程處理;設計一種商務信函列印系統並投放市場。這個概念是不清晰的,但卻是最高層的業務需求的原型。這個概念都會伴隨著一個目的,例如在一個銀行押匯系統 的目的是提高工作的效率。這個目的將會成為系統的核心思想,系統成敗的評判標准。99年政府部門上了大量的OA系統,學過一點Lotus Notes的人都發了財(IBM更不用說了),但是更普遍的情況是,許多的政府部門原有的處理模式並沒有變化,反而又加上了自動化處理的一套流程。提高工作效率的初衷卻導致了完全不同的結果。這樣的軟體究竟是不是成功的呢?
從概念提出的那一刻開始,軟體產品就進入了軟體生命周期。在經歷需求、分析、設計、實現、部署後,軟體將被使用並進入維護階段,直到最後由於缺少維護費用而逐漸消亡。這樣的一個過程,稱為生命周期模型(Life Cycle Model)。
典型的幾種生命周期模型包括瀑布模型、快速原型模型、迭代模型。 (Waterfall Model)首先由Royce提出。該模型由於酷似瀑布聞名。在該模型中,首先確定需求,並接受客戶和SQA小組的驗證。然後擬定規格說明,同樣通過驗證後,進入計劃階段…可以看出,瀑布模型中至關重要的一點是只有當一個階段的文檔已經編制好並獲得SQA小組的認可才可以進入下一個階段。這樣,瀑布模型通過強制性的要求提供規約文檔來確保每個階段都能很好的完成任務。但是實際上往往難以辦到,因為整個的模型幾乎都是以文檔驅動的,這對於非專業的用戶來說是難以閱讀和理解的。想像一下,你去買衣服的時候,售貨員給你出示的是一本厚厚的服裝規格說明,你會有什麼樣的感觸。雖然瀑布模型有很多很好的思想可以借鑒,但是在過程能力上有天生的缺陷。
然而輕易拋棄瀑布模型的觀點也是非常錯誤的,瀑布模型還是所有軟體開發模型的基礎,體現了軟體開發的本質過程。對於一些大型 的軟體項目,試圖過於簡化瀑布的前期的需求和設計階段,用一個簡單的原型或者迭代來模擬未來的系統,並試圖幫助確認和挖掘客戶的需求,是不可能的,不僅此時離客戶的最終需求和隔山萬千重,系統的架構也會隨著過程而有很大被拋棄和大幅調整的過程,原型也就起不到原型的作用,成本和時間反而浪費,所以前期的功課還是少不了的,尤其對於復雜系統。即使對於簡單如定製一件衣服,在給客戶提出修改的時候,它要基本是一件衣服,而不是幾塊布片,否則客戶無從提出進一步的需求,前期的功夫也是白費的。 迭代式模型是是RUP(Rational Unified Process,統一軟體開發過程,統一軟體過程)推薦的周期模型,也是我們在這個系列文章討論的基礎。在RUP中,迭代被定義為:迭代包括產生產品發布(穩定、可執行的產品版本)的全部開發活動和要使用該發布必需的所有其他外圍元素。所以,在某種程度上,開發迭代是一次完整地經過所有工作流程的過程:(至少包括)需求工作流程、分析設計工作流程、實施工作流程和測試工作流程。實質上,它類似小型的瀑布式項目。RUP認為,所有的階段(需求及其它)都可以細分為迭代。每一次的迭代都會產生一個可以發布的產品,這個產品是最終產品的一個子集。迭代的思想如圖所示。
迭代和瀑布的最大的差別就在於風險的暴露時間上。「任何項目都會涉及到一定的風險。如果能在生命周期中盡早確保避免了風險,那麼您的計劃自然會更趨精確。有許多風險直到已准備集成系統時才被發現。不管開發團隊經驗如何,都絕不可能預知所有的風險。」
由於瀑布模型的特點(文檔是主體),很多的問題在最後才會暴露出來,為了解決這些問題的風險是巨大的。在迭代式生命周期中,您需要根據主要風險列表選擇要在迭代中開發的新的增量內容。每次迭代完成時都會生成一個經過測試的可執行文件,這樣就可以核實是否已經降低了目標風險。 快速原型(Rapid Prototype)模型在功能上等價於產品的一個子集。注意,這里說的是功能上。瀑布模型的缺點就在於不夠直觀,快速原型法就解決了這個問題。一般來說,根據客戶的需要在很短的時間內解決用戶最迫切需要,完成一個可以演示的產品。這個產品只是實現部分的功能(最重要的)。它最重要的目的是為了確定用戶的真正需求。在我的經驗中,這種方法非常的有效,原先對計算機沒有絲毫概念的用戶在你的原型面前往往口若懸河,有些觀點讓你都覺得非常的吃驚。在得到用戶的需求之後,原型將被拋棄。因為原型開發的速度很快,設計方面是幾乎沒有考慮的,如果保留原型的話,在隨後的開發中會為此付出極大的代價。至於保留原型方面,也是有一種叫做增量模型是這么做的,但這種模型並不為大家所接受,不在我們的討論之內。 上述的模型中都有自己獨特的思想,其實現在的軟體組織中很少說標準的採用那一種模型的。模型和實用還是有很大的區別的。
軟體生命周期模型的發展實際上是體現了軟體工程理論的發展。在最早的時候,軟體的生命周期處於無序、混亂的情況。一些人為了能夠控制軟體的開發過程,就把軟體開發嚴格的區分為多個不同的階段,並在階段間加上嚴格的審查。這就是瀑布模型產生的起因。瀑布模型體現了人們對軟體過程的一個希望:嚴格控制、確保質量。可惜的是,現實往往是殘酷的。瀑布模型根本達不到這個過高的要求,因為軟體的過程往往難於預測。反而導致了其它的負面影響,例如大量的文檔、繁瑣的審批。因此人們就開始嘗試著用其它的方法來改進或替代瀑布方法。例如把過程細分來增加過程的可預測性。 1988年,Barry Boehm正式發表了軟體系統開發的螺旋模型,它將瀑布模型和快速原型模型結合起來,強調了其他模型所忽視的風險分析,特別適合於大型復雜的系統。
螺旋模型沿著螺線進行若干次迭代,圖中的四個象限代表了以下活動:
(1) 制定計劃:確定軟體目標,選定實施方案,弄清項目開發的限制條件;
(2) 風險分析:分析評估所選方案,考慮如何識別和消除風險;
(3) 實施工程:實施軟體開發和驗證;
(4) 客戶評估:評價開發工作,提出修正建議,制定下一步計劃。
螺旋模型由風險驅動,強調可選方案和約束條件從而支持軟體的重用,有助於將軟體質量作為特殊目標融入產品開發之中。但是,螺旋模型也有一定的限制條件,具體如下:
(1) 螺旋模型強調風險分析,但要求許多客戶接受和相信這種分析,並做出相關反應是不容易的,因此,這種模型往往適應於內部的大規模軟體開發。
(2) 如果執行風險分析將大大影響項目的利潤,那麼進行風險分析毫無意義,因此,螺旋模型只適合於大規模軟體項目。
(3) 軟體開發人員應該擅長尋找可能的風險,准確地分析風險,否則將會帶來更大的風險
一個階段首先是確定該階段的目標,完成這些目標的選擇方案及其約束條件,然後從風險角度分析方案的開發策略,努力排除各種潛在的風險,有時需要通過建造原型來完成。如果某些風險不能排除,該方案立即終止,否則啟動下一個開發步驟。最後,評價該階段的結果,並設計下一個階段。
❽ 軟體開發的生命周期
同任何事物一樣,一個軟體產品或軟體系統也要經歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟體生存周期(軟體生命周期)。把整個軟體生存周期劃分為若干階段,使得每個階段有明確的任務,使規模大,結構復雜和管理復雜的軟體開發變的容易控制和管理。通常,軟體生存周期包括可行性分析與開發項計劃、需求分析、設計(概要設計和詳細設計)、編碼、測試、維護等活動,可以將這些活動以適當的方式分配到不同的階段去完成。
軟體生命周期(SDLC,軟體生存周期)是軟體的產生直到報廢的生命周期,周期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟體工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟體的質量。但隨著新的面向對象的設計方法和技術的成熟,軟體生命周期設計方法的指導意義正在逐步減少。
軟體生命周期(SDLC)的六個階段
1、問題的定義及規劃
此階段是軟體開發方與需求方共同討論,主要確定軟體的開發目標及其可行性。
2、需求分析
在確定軟體開發可行的情況下,對軟體需要實現的各個功能進行詳細分析。需求分析階段是一個很重要的階段,這一階段做得好,將為整個軟體開發項目的成功打下良好的基礎。"唯一不變的是變化本身。",同樣需求也是在整個軟體開發過程中不斷變化和深入的,因此我們必須制定需求變更計劃來應付這種變化,以保護整個項目的順利進行。
3、軟體設計
此階段主要根據需求分析的結果,對整個軟體系統進行設計,如系統框架設計,資料庫設計等等。軟體設計一般分為總體設計和詳細設計。好的軟體設計將為軟體程序編寫打下良好的基礎。
4、程序編碼
此階段是將軟體設計的結果轉換成計算機可運行的程序代碼。在程序編碼中必須要制定統一,符合標準的編寫規范。以保證程序的可讀性,易維護性,提高程序的運行效率。
5、軟體測試
在軟體設計完成後要經過嚴密的測試,以發現軟體在整個設計過程中存在的問題並加以糾正。整個測試過程分單元測試、組裝測試以及系統測試三個階段進行。測試的方法主要有白盒測試和黑盒測試兩種。在測試過程中需要建立詳細的測試計劃並嚴格按照測試計劃進行測試,以減少測試的隨意性。
6、運行維護
軟體維護是軟體生命周期中持續時間最長的階段。在軟體開發完成並投入使用後,由於多方面的原因,軟體不能繼續適應用戶的要求。要延續軟體的使用壽命,就必須對軟體進行維護。軟體的維護包括糾錯性維護和改進性維護兩個方面。
❾ 什麼是軟體工程解釋軟體工程開發的生命周期各個階段以及個階段的主要活動
軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科,軟體工程主要包括開發過程、運作過程、維護過程幾個階段,它們覆蓋了需求、設計、實現、確認以及維護等活動。