1. 程序員的生命周期是多少
程序員的生命周期是40年左右
有評論說程序員的生命周期只有十幾年,實際上是片面的。可能我們的代碼編寫工作只能做十年。但是,我們需要的是提高自己的知識,從而不斷向程序設計的高層走。當我們編寫了幾年的代碼,我可以左設計了;當我們做了幾年的設計,我們可以架構了;當我們做了幾年的架構,我們可以需求分析了。一步一步,我們在走高,從而我們的生命周期就是直到我們退休。實際上,這是技術層面上的。
如果我們走管理,我們接觸程序的時間雖然不多,但是做軟體開發就是無限的空間了,就像下面朋友說的,我們可以審核別人的代碼。我們可以是管理層面。
2. 開發過程中據說的迭代是什麼意思
迭代是重復反饋過程的活動,其目的通常是為了逼近所需目標或結果。每一次對過程的重復稱為一次「迭代」,而每一次迭代得到的結果會作為下一次迭代的初始值。
重復執行一系列運算步驟,從前面的量依次求出後面的量的過程。此過程的每一次結果,都是由對前一次所得結果施行相同的運算步驟得到的。例如利用迭代法*求某一數學問題的解。
對計算機特定程序中需要反復執行的子程序*(一組指令),進行一次重復,即重復執行程序中的循環,直到滿足某條件為止,亦稱為迭代。
(2)程序員開發迭代多久一次擴展閱讀
相關概念
函數
在數學中,迭代函數是在分形和動力系統中深入研究的對象。迭代函數是重復的與自身復合的函數,這個過程叫做迭代。
模型
迭代模型是RUP(Rational Unified Process,統一軟體開發過程,統一軟體過程)推薦的周期模型。
演算法
迭代演算法是用計算機解決問題的一種基本方法。它利用計算機運算速度快、適合做重復性操作的特點,讓計算機對一組指令(或一定步驟)進行重復執行,在每次執行這組指令(或這些步驟)時,都從變數的原值推出它的一個新值。
方法
迭代的方式就有所不同,假如這個產品要求6個月交貨,我在第一個月就會拿出一個產品來,當然,這個產品會很不完善,會有很多功能還沒有添加進去,bug很多,還不穩定,但客戶看了以後,會提出更詳細的修改意見。
這樣,你就知道自己距離客戶的需求有多遠,我回家以後,再花一個月,在上個月所作的需求分析、框架設計、代碼、測試等等的基礎上,進一步改進,又拿出一個更完善的產品來,給客戶看,讓他們提意見。
就這樣,我的產品在功能上、質量上都能夠逐漸逼近客戶的要求,不會出現我花了大量心血後,直到最後發布之時才發現根本不是客戶要的東西的情況。
優勢
這樣的方法很不錯,但他也有自己的缺陷,那就是周期長、成本很高。在應付大項目、高風險項目——就比如是太空梭的控制系統時,迭代的成本比項目失敗的風險成本低得多,用這種方式明顯有優勢。
如果你是給自己的單位開發一個小MIS,自己也比較清楚需求,工期上也不過花上個把月的時間,用迭代就有點殺雞用了牛刀,那還是瀑布模型更管用,即使是做得不對,頂多再花一個月重來,沒什麼了不起。
3. 程序員們面臨著技術的快速迭代,這行真的能幹一輩子么
很多人在大學的基礎課程學習後都面臨畢業求職的問題,對於各種各樣的職業,人們往往很難選擇。程序員是這些年來越來越火的一個職業,程序員更是慢慢成為了高薪職業的代名詞,因此越來越多的學生開始學習計算機一類或者相關的職業,希望畢業之後能夠從事程序員,並且以此希望讓自己的生活越來越好。
選擇職業要根據自己的情況程序員業內都有一個35歲的門檻,就是說程序員在35歲之後,有很大一部分就會改行做別的,或者去轉而做管理,或者乾脆徹底換個行業重新發展,所以說,程序員也並不是人們想像中的那麼光鮮亮麗,發展前景好。所以每個人在選擇職業的時候,一定要按照自己的情況去選擇,而不要人雲亦雲隨大流,盲目選擇可能只會浪費自己的時間。
4. 軟體開發 迭代開發的缺點
軟體開發模型(Software Development Model)是指軟體開發全部過程、活動和任務的結構框架。軟體開發包括需求、設計、編碼和測試等階段,有時也包括維護階段。軟體開發模型能清晰、直觀地表達軟體開發全過程,明確規定了要完成的主要活動和任務,用來作為軟體項目工作的基礎。最早出現的軟體開發模型是1970年W·Royce提出的瀑布模型。該模型給出了固定的順序,將生存期活動從上一個階段向下一個階段逐級過渡,如同流水下瀉,最終得到所開發的軟體產品,投入使用。但計算拓廣到統計分析、商業事務等領域時,大多數程序採用高級語言(如FORTRAN、COBOL等)編寫。瀑布模式模型也存在著缺乏靈活性、無法通過並發活動澄清本來不夠確切的需求等缺點。典型的開發模型有:①瀑布模型(waterfall model);②漸增模型/演化/迭代(incremental model);③原型模型(prototype model);④螺旋模型(spiral model);⑤噴泉模型(fountain model);⑥智能模型(intelligent model) ; 7. 混合模型(hybrid model)1. 邊做邊改模型(Build-and-Fix Model) 遺憾的是,許多產品都是使用"邊做邊改"模型來開發的。在這種模型中,既沒有規格說明,也沒有經過設計,軟體隨著客戶的需要一次又一次地不斷被修改.在這個模型中,開發人員拿到項目立即根據需求編寫程序,調試通過後生成軟體的第一個版本。在提供給用戶使用後,如果程序出現錯誤,或者用戶提出新的要求,開發人員重新修改代碼,直到用戶滿意為止。 這是一種類似作坊的開發方式,對編寫幾百行的小程序來說還不錯,但這種方法對任何規模的開發來說都是不能令人滿意的,其主要問題在於: (1) 缺少規劃和設計環節,軟體的結構隨著不斷的修改越來越糟,導致無法繼續修改; (2) 忽略需求環節,給軟體開發帶來很大的風險; (3) 沒有考慮測試和程序的可維護性,也沒有任何文檔,軟體的維護十分困難。2. 瀑布模型(Waterfall Model)1970年Winston Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被廣泛採用的軟體開發模型。 瀑布模型將軟體生命周期劃分為制定計劃、需求分析、軟體設計、程序編寫、軟體測試和運行維護等六個基本活動,並且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。在瀑布模型中,軟體開發的各項活動嚴格按照線性方式進行,當前活動接受上一項活動的工作結果,實施完成所需的工作內容。當前活動的工作結果需要進行驗證,如果驗證通過,則該結果作為下一項活動的輸入,繼續進行下一項活動,否則返回修改。 瀑布模型強調文檔的作用,並要求每個階段都要仔細驗證。但是,這種模型的線性過程太理想化,已不再適合現代的軟體開發模式,幾乎被業界拋棄,其主要問題在於: (1) 各個階段的劃分完全固定,階段之間產生大量的文檔,極大地增加了工作量; (2) 由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發的風險; (3) 早期的錯誤可能要等到開發後期的測試階段才能發現,進而帶來嚴重的後果。 我們應該認識到,"線性"是人們最容易掌握並能熟練應用的思想方法。當人們碰到一個復雜的"非線性"問題時,總是千方百計地將其分解或轉化為一系列簡單的線性問題,然後逐個解決。一個軟體系統的整體可能是復雜的,而單個子程序總是簡單的,可以用線性的方式來實現,否則幹活就太累了。線性是一種簡潔,簡潔就是美。當我們領會了線性的精神,就不要再呆板地套用線性模型的外表,而應該用活它。例如增量模型實質就是分段的線性模型,螺旋模型則是接連的彎曲了的線性模型,在其它模型中也能夠找到線性模型的影子。3. 快速原型模型(Rapid Prototype Model) 快速原型模型的第一步是建造一個快速原型,實現客戶或未來的用戶與系統的交互,用戶或客戶對原型進行評價,進一步細化待開發軟體的需求。通過逐步調整原型使其滿足客戶的要求,開發人員可以確定客戶的真正需求是什麼;第二步則在第一步的基礎上開發客戶滿意的軟體產品。 顯然,快速原型方法可以克服瀑布模型的缺點,減少由於軟體需求不明確帶來的開發風險,具有顯著的效果。 快速原型的關鍵在於盡可能快速地建造出軟體原型,一旦確定了客戶的真正需求,所建造的原型將被丟棄。因此,原型系統的內部結構並不重要,重要的是必須迅速建立原型,隨之迅速修改原型,以反映客戶的需求。
5. 產品迭代周期一般多久
可以說每個公司的產品迭代周期都不一樣,但是大多數的產品迭代周期基本都維持會在2周~3周一個迭代。
這是因為如果周期太短,功能開發不過來或者是開發的功能較少,另外頻繁的提示用戶更新體驗也不太好。如果周期太長了,用戶提出的部分需求或者問題長時間得不到解決,也可能導致用戶流失的風險。所以,產品迭代周期在2周左右的較多 。當初黑馬程序員老師是這么說的,所以我現在迭代也基本保持在兩周左右。
6. 開發過程中據說的迭代是什麼意思
迭代是重復反饋過程的活動,其目的通常是為了逼近所需目標或結果。每一次對過程的重復稱為一次「迭代」,而每一次迭代得到的結果會作為下一次迭代的初始值。
7. 互聯網產品更新迭代一次大約需要多長時間
這個要看需求,還有就是,運營該產品的人員,資金等,如果公司產品好,人員儲備足,資金也不缺,那就可以專心做產品了!
8. 一般程序員使開發的時間長,還是維護的時間長
如果公司有一定規模,維護由運維部門的來進行,但很多公司不具備那樣的規模,所以維護和開發都是一個部門。而維護時間長短取決於客戶。要知道,軟體的維護也是需要錢的。軟體上線的時候很多時候都會做二次開發,就是說先開發一個版本,等客戶體驗一段時間在推出第二個版本,而這個過程中整個系統會一直更新,但這個過程不算維護。
9. 開發一款軟體的時間大概多久
軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法、軟體的總體結構設計和模塊設計、編程和調試、程序聯調和測試以及編寫、提交程序。
1 相關系統分析員和用戶初步了解需求,然後用WORD列出要開發的系統的大功能模塊,每個大功能模塊有哪些小功能模塊,對於有些需求比較明確相關的界面時,在這一步裡面可以初步定義好少量的界面。
2 系統分析員深入了解和分析需求,根據自己的經驗和需求用WORD或相關的工具再做出一份文檔系統的功能需求文檔。這次的文檔會清楚例用系統大致的大功能模塊,大功能模塊有哪些小功能模塊,並且還例出相關的界面和界面功能。
3 系統分析員和用戶再次確認需求。
4 系統分析員根據確認的需求文檔所例用的界面和功能需求,用迭代的方式對每個界面或功能做系統的概要設計。
5 系統分析員把寫好的概要設計文檔給程序員,程序員根據所例出的功能一個一個的編寫。
6 測試編寫好的系統。交給用戶使用,用戶使用後一個一個的確認每個功能,然後驗收。
舉個例子來看:
1 某公司想找人訂做一套人事管理軟體,從某種渠道上得知我們有提供這種服務,所以聯繫上了我們。
2 我們會派專門的軟體工程師到他們那裡去了解我們要設計一個什麼的東西給他們用,然後回來做個方案給他們,其中方案的內容包括:我們開發出來的軟體大概的界面是怎樣?方便什麼人使用?什麼人可以使用什麼功能?方便到什麼程度?大概的硬體要求是怎樣等?
3 他們看了方案後,確定他們就是要做一套這樣的軟體,我就開始開發這套軟體。
4 我們把開發出來的軟體交用他們使用,其中在使用的過程中哪裡使用不方便或哪裡達不到要求,我們會第第一時間修改這些功能,直到他們要求的所有功能都能很完美的解決掉。
時間不確定,一兩月,三五年都難說。