導航:首頁 > 程序命令 > 程序員的生存周期

程序員的生存周期

發布時間:2023-05-05 02:53:07

❶ 可將軟體生存周期劃分為哪3段個過程和哪9個階段

一個軟體從開始計劃起,到廢棄不用止,稱為軟體生存周期。一般來說,軟體生存周包括計劃、開發、運行三個時期,每一時期又可分為若干更小的階段。計劃時期的主要任務是分析用姿兆戶要求,分析新系統的主要目標以及開發該系統的可行性。開發時期要完成設計和實現兩大任務具體。具體分為需求分析、概要設計、詳細設計、編碼、測試。其中編碼和測試是軟體開發期的最後兩個階段。運行時期是軟體生存周期的最後一個時期,軟體人員在這一時期的工作,主要是做好軟體維護。

統計表明,開發較大規模的軟體,有40%以上的精力是耗費在測試上的,即使富有經驗的程序員,也跡昌租難免在編碼中發生錯誤,何況,有寫錯誤在設計甚至分析階段早已埋下禍根,無論是早期潛伏下來的錯誤或編碼中新引入的錯誤,若不及時排除,輕者降低軟體的可靠性,重者導致整個系統的失敗。為防患於未然,強調軟體測試的重要性是必要的。


一個軟體從開始計劃起,到廢棄不用止,稱為軟體生存周期。一般來說,軟體生存周包括計劃、開發、運行三個時期,每一時期又可分為若干更小的階段。計劃時期的主要任務是分析用戶要求,分析新系統的主要目標以及開發該系統的可行性。開發時期要完成設計和實現兩大任務具體。具體分為需求分析、概要設計、詳細設計、編碼、測試。其中編碼和測試是軟體開發期的最後兩個階段。運行時期是軟體生存周期的最後一個時期,軟體人員在這一時期的工作,主要是做好軟體維護。

統計表明,開發較大規模的軟體,有40%以上的精力是迅遲耗費在測試上的,即使富有經驗的程序員,也難免在編碼中發生錯誤,何況,有寫錯誤在設計甚至分析階段早已埋下禍根,無論是早期潛伏下來的錯誤或編碼中新引入的錯誤,若不及時排除,輕者降低軟體的可靠性,重者導致整個系統的失敗。為防患於未然,強調軟體測試的重要性是必要的。


❷ 軟體生命周期各階段的任務是什麼

軟體生存周期可以分成6個階段:可行性與計劃研究階段、需求分析階段、設計階段、實現階段、測試階段、運行與維護階段。

各階段任務:

1、在可行性分析(研究)與計劃階段的任務:

要確定該軟體的開發目標和總的要求,要進行可行性分析、投資收益分析、制訂開發計劃,並完成可行性分析報告、開發計劃等文檔(輸出)。

2、在需求分析階段的任務:

由系統分析人員對被設計的系統進行系統分析,確定對該軟體的各項功能、性能需求和設計約束,確定對文檔編制的要求,作為本階段工作的結果,輸出有:軟體需求規格說明(也稱為:軟體需求說明、軟體規格說明)、數據要求說明和初步的用戶手冊應該編寫出來。

3、在設計階段的任務:

系統設計人員和程序設計人員應該在反復理解軟體需求的基礎上,提出多個設計,分析每個設計能履行的功能並進行相互比較,最後確定一個設計,包括該軟體的結構、模塊(或CSCI)的劃分、功能的分配,以及處理流程。

系統比較復雜的情況下,設計階段應分解成概要設計階段和詳細設計階段兩個步驟。在一般情況下,完成的文檔包括:結構設計說明、詳細設計說明和測試計劃初稿。

4、在實現階段的任務:

要完成源程序的編碼、編譯(或匯編)和排錯調試得到無語法錯的程序清單,要開始編寫進度日報、周報和月報(是否要有日報或周報,取決於項目的重要性和規模),並且要完成用戶手冊、操作手冊等面向用戶的文檔的編寫工作,還要完成測試計劃的編制。

5、在測試階段的任務:

該程序將被全面地測試,已編制的文檔將被檢查審閱。一般要完成測試分析報告。作為開發工作的結束,所生產的程序、文檔以及開發工作本身將逐項被評價,最後寫出項目開發總結報告。

6、運行和維護階段的任務:

軟體將在運行使用中不斷地被維護,根據新提出的需求進行必要而且可能的擴充和刪改、更新和升級。軟體維護分為改正性維護、適應性維護和預防性維護,分別對應於前面的三個問題。

改正性維護就是修改原有的缺陷、適應性維護就是使軟體適應新的軟硬體環境,預防性維護就是把今天的技術用在昨天的軟體上,以期軟體在明天還能使用。

(2)程序員的生存周期擴展閱讀:

每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟體的質量。但隨著新的面向對象的設計方法和技術的成熟,軟體生命周期設計方法的指導意義正在逐步減少。

生命周期的每一個周期都有確定的任務,並產生一定規格的文檔(資料),提交給下一個周期作為繼續工作的依據。按照軟體的生命周期,軟體的開發不再只單單強調「編碼」,而是概括了軟體開發的全過程。

軟體工程要求每一周期工作的開始只能必須是建立在前一個周期結果「正確」前提上的延續;因此,每一周期都是按「活動 ── 結果 ── 審核 ── 再活動 ── 直至結果正確」循環往復進展的。

❸ 簡述軟體生存周期各個階段的任務

軟體生命周期各階段的任務:

1、問題定義

確定好要解決的問題是什麼(what),通過對客戶的訪問調查,系統分析員扼要的寫出關於問題性質、工程目標和工程規模的書面報告,經過討論和必要的修改之後這份報告應該得到客戶的確認。

2、可行性研究

確定該問題是否存在一個可以解決的方案。可行性研究的結果是客戶做出是否繼續進行這項工程的決定的重要依據,一般來說,只有投資可能取得較大的效益的那些工程項目才值得繼續進行下去。

3、需求分析

深入具體的了解用戶的需求,在所開發的系統要做什麼這個問題上和用戶想法完全一致。明確目標系統必須做什麼,確定目標系統必須具備哪些功能。通常用數據流圖、數據字典和簡要的演算法表示系統的邏輯模型。用《規格說明書》記錄對目標系統的需求。

4、概要設計(總體設計)

概括的說,應該怎樣實現目標系統,設計出實現目標系統的幾種可能方案,設計程序的體系結構,也就是確定程序由哪些模塊組成以及模塊之間的關系。

5、詳細設計

實現系統的具體工作,編寫詳細規格說明,程序員可以根據它們寫出實際的程序代碼。詳細設計也稱模塊設計,在這個階段將詳細的設計每個模塊,確定實現模塊功能所需的演算法和數據結構。

6、軟體維護

通過各種必要的維護活動使系統持久的滿足用戶的需求。主要分為 改正性維護、適應性維護、完善性維護、預防性維護。

(3)程序員的生存周期擴展閱讀

軟體生存野歷周期基線

1、功能基弊脊瞎線(functional baseline)

功能基線是指在系統分析與軟體定義階段結束時,經過正式評審和批準的系統設計規格說明書中對待開發系統的規格說明;或是指經過項目委託單位和項目承租空辦單位雙方簽字同意的協議書或合同中所規定的對待開發軟體系統的規格說明;

或是由下級申請經上級同意或直接由上級下達的項目任務書中所規定的對待開發軟體系統的規格說明。功能基線是最初批準的功能配置標識。

2、指派基線(allocated baseline)

指派基線是指在軟體需求分析階段結束時,經過正式評審和批準的軟體需求的規格說明。指派基線是最初批準的指派配置標識。

3、產品基線(proct baseline)

產品基線是指在軟體組裝與系統測試階段結束時,經過正式評審的批準的有關所開發的軟體產品的全部配置項的規格說明。產品基線是最初批準的產品配置標識。

❹ 軟體一般是多久程序員檢查一遍

軟體維護是持續一直進行的。
在軟體交付後的整個運行期間都可能發生軟體的維護活動,所以,在整個軟體生存周期中,軟體維護階段的時間通常要比軟體開發階段的時間長得多。同時,軟體維護需要對現有的軟體進行修改,而這種修改可能會影響到軟體中未被修改的部分,因此,在整個軟體生存周期的總成本中維護的代價是昂貴的。通常,維護的成本約占生存周期總成本的三分之二,而軟體開發的成本約佔三分之一。
軟體維護(Softwaremaintenance)指軟體產品在交付之後,為改正錯誤、改進性能或其他屬性,或者為適應變化了的環境而對其進行修改的活動。軟體維護大致分為四類:改正性維護、適應性維護、完善性維護和預防性維護。

❺ 程序員純靠技術能一直生存下去嗎

作為一名IT行業的從業者,同時也是一名大數據、機器學習方向的研究生導師,我來回答一下這個問題。

首先,程序員完全可以靠技術來不斷延長自己的職業生命周期,目前IT行業內也有大量的「70後」程序員一直奮斗在技術研發的第一線。

對於程序員來說,如果想一直從事程序開發工作,需要面臨三大問題,其一是軟體開發技術更新速度較快;其二是軟體開發工作壓力較大;其三是軟體開發崗位升級難度較大,要想解決這三大問題,需要通過以下幾個手段:

第一:重視基礎知識結構。 程序員的基礎知識結構往往能夠決定程序員的成長空間,基礎知識結構越扎實則上升空間就越大,職業生命周期也會越長。基礎知識涵蓋兩大塊內容,一部分是數學和物理知識,另一部分是計算機操作系統、計算機網路、演算法設計等內容。從應用級程序員向研發級程序員過渡一個重要的條件就是數學基礎是否扎實,而研發級程序員的職業生命周期要遠長於應用級程序員。

第二:重視自主學習。 不論從事應用級開發崗位還是研發級開發崗位,自主學習對於程序員的成長都具有重要的意義,很多程序員就是由於不注重自主學習而導致知識結構逐漸陳舊,最終被行業淘汰。自主學習一方面要緊跟技術發展趨勢,另一方面要圍繞當前工作內容。

第三:注重提升資源整合能力。 隨著程序員年齡的增長,資源整合能力將對於未來的發展起到重要的作用,程序員的資源整合能力包括技術整合能力、方案整合能力和研發資源整合能力。當然,如果再具備一定的人力資源整合能力,那麼會進一步提升自身的職場價值。

如果有互聯網、大數據、人工智慧等方面的問題,或者是考研方面的問題,都可以在評論區留言!

從我過往多年的生涯案例來看,我覺得程序員是否可以一直生存下去,關鍵在於:「技術是否精湛」。
一般來說,技術除非你是非常稀缺,大部分到了一定階段,都會面臨天花板,學習能力會隨著年齡提升慢慢下降,就很難占據技術的前沿,28法則的存在,大約8成程序員需要謀求新的出路。

一般來說,會分為兩條路徑:
1.橫向路徑:
技術領域看似專業性很強,但是一部分泛泛之輩,小部分某一個技術領域非常精湛,那麼需要深耕,多年打磨,成為某一個細分領域的專家。
2.縱向路徑:
還有一部分程序員,本身對於程序非常倦怠,無法繼續下去,那麼縱向領域尋求突破,打個比方,你在某一方面才藝很強,攝影,營養學,演講等,但是區別主業本身,可以從縱向裡面慢慢打磨,成為你的核心技能,實現新的發展。

所以是否可以生存下去,完全取決你的選擇,當你有一技傍身,那麼才可以擁有全新的未來。

首先靠技術肯定是可以的,因為無論什麼公司都會需要一個經驗豐富,技術鼎力的一線程序員,但是這個有兩個限制,一是這種程序員的職位需求不會太多,二是這種程序員在某個技術領域必須非常厲害,而且在某一個領域大牛的基礎上,要有跟進其他新技術的能力,因為這種級別的程序員,公司不可能白白養著你,跨組協調,跨項目協作是最基本的要求,所以如果技術不在某一個領域達到大牛級別,且這個技術領域要有比較強的生命力,也就是說它的技術前景要比較好,否則想靠技術生存一輩子,還是比較危險的。選定好技術領域,然後耐心學習,很多技術人員本身是對技術痴迷的一類,所以這一類人還是很有競爭力的,他們學習新技術,深化領域技術的主觀能動性一般是很強的。相信真正愛技術的人,即使他不靠技術生活一輩子,也會一輩子暢游在技術的海洋中。

首先答案是肯定的,但因人而異。

如果基本功扎實,個人又對技術的提升有著狂熱的追求,善於鑽研,對新技術不抵觸,學習能力很強的話,可以一直靠技術生存下去。可以一直戰斗在研發的第一線。這只是本職工作。

另外,可以利用自己的技術能力去做些兼職工作。比如接些外包的項目做做也是蠻不錯的!

還有,比如現在很多內容平台上可以發布一些文章,甚至付費課程。生存是一點問題都沒有。

如果你足夠牛叉,還可以組建團隊做技術VC。

其實靠技術不是能不能生存的問題,而是能活得多好的問題!

但,如果上面的優勢在你身上不存在,那就另當別論了。

其實現在很多人都在說,技術人員到一定年齡該轉管理等等。我的觀點是看個人特點再做決定,比如你很健談,善於交際。可以轉做銷售,一個懂技術的銷售該有多麼牛叉?如果你思維縝密,表達清晰。可以轉做售前,一個懂技術的售前該有多麼牛叉?

總之,你懂技術,轉做什麼都牛叉

閱讀全文

與程序員的生存周期相關的資料

熱點內容
在新電腦上怎麼注冊加密狗 瀏覽:119
最後一戰游戲源碼 瀏覽:1
phpmysql實例下載 瀏覽:749
傳智黑馬安卓非加密 瀏覽:553
伺服器如何配置host 瀏覽:1001
守望執行命令 瀏覽:371
加密狗插上去了怎麼辦 瀏覽:624
錘子m1怎麼把文件夾重置 瀏覽:213
APP的數據會存在哪裡 瀏覽:66
一支輕快又解壓的舞 瀏覽:588
80x86編程手冊 瀏覽:767
android機制使用 瀏覽:363
國外太空探索網站源碼 瀏覽:645
dotaimba命令大全 瀏覽:15
手解剖pdf 瀏覽:735
單片機無法燒寫程序 瀏覽:415
pline命令 瀏覽:113
760貼片機編程視頻 瀏覽:335
歐姆龍plc編程第36講 瀏覽:917
我的世界如何將一個伺服器弄崩 瀏覽:10