軟體開發的心得
軟體開發的心得
篇一:軟體開發心得體會
受某文化公司委託,開發一款用於影片和影象處理的軟體,開發難度高,高到從未搞過,開發週期長,長到是我以前專案監控最長開發週期的兩倍,開發成本之底,讓我覺得程式設計師成了高階打字員。首先是需求分析書、產品規格說明書、設計說明書、程式碼規範說明書、測試計劃,光文稿就不知道熬了多久才做完。
緊接著,遇到一系列問題,首先是語言選擇,vc++和c#都是可以保證開發完成的選擇,但是vc++記憶體容易報錯,介面很難修改,而客戶要求的介面質量甚至比程式的功能更嚴格,沒辦法,客戶就是上帝,上帝做事一定有他的道理。c#語言易於開發,而且圖形介面繪製也易於修改,可以做出客戶體驗很好的介面,但是在資源的消耗上,讓我很吃驚。做到第二個月,大概的介面已經完成時,出現介面重新整理的問題,重新整理時開始卡,介面不流暢。沒辦法,改。
開會,總結,技術骨幹找問題,拿出解決方案,力爭第一次做軟體把它做好: 重新做軟體開發進度計劃和軟體測試計劃,並且讓獨立功能demo製作和測試先行;
用direct draw、direct 3d或者opengl中的一個替代c#本身的gdi繪圖,將在接下來的開發任務中加入進去。
事無鉅細,當我滿意的看著介面流暢,功能也已實現時,發現軟體在低解析度或者小本上根本亂到沒法看,甚至是介面功能按鈕錯位,重疊等等。沒辦法,改。畢竟軟體的多解析度相容和作業系統相容是必須要做的。
接下來一大堆的麻煩找了上來,軟體出現各種各樣想都想不到的問題,總算是按時將第一個版本釋出出去,並且開始接下來的升級開發任務。
最後,給剛剛接手軟體開發專案的朋友一些忠告:
一、相關的文件不是給別人看的,而是給自己看的,相關文件一定要齊備,而且讓所有涉及開發的人員都清楚的知道你文件裡所要表達的意思;
二、一定要注意多做demo,多做實驗,一個demo程式設計師幾個鐘頭就可以完成,甚至更少,但是不做demo,核心程式沒有做實驗,其他的東西都圍繞核心程式做了上去,到時候耽誤的可不是幾個鐘頭
三、程式設計要注重使用者體驗,當初客戶對我要開發軟體提出近乎苛刻的要求時我不在意,但是當我自己反覆使用軟體時有了很多體會,流暢美觀的介面帶給人心理的快感的確能替代一些尚未開發完整的功能帶給使用者的遺憾。
四、測試計劃多次進行,分批進行,不要全部開發完成再對軟體做測試。 還要堅持三個月,軟體馬上釋出,希望大家的支援,謝謝!!!
軟體開發心得體會(2):
作為pm,有時需要招聘軟體開發人員。這幾年也一直在想,如何能在短短的30分鐘或1小時內,快速識別出,坐在你對面的應聘人員,是否適合你的team。這幾年也一直在觀察和反思,經歷過的team和現在team中的軟體開發人員。有幾點小的心得。
1. 傾向於招什麼樣的軟體開發人員
- 經歷過歷練的人
吃過苦的,比如以前工作,經常被外派出差,又如曾在業內都知道以加班多而著稱的公司呆過,還有些,留過學,但都是自己邊打工邊讀書的,等等。 這些人員,入職後,通常都是能幹活,能作為骨幹。
篇二:軟體開發工作總結
1、 分享第一條經驗:學歷代表過去、能力代表現在、學習力代表未來。其實這是一個來自國外教育領域的一個研究結果。相信工作過幾年、十幾年的朋友對這個道理有些體會吧。但我相信這一點也很重要:重要的道理明白太晚將抱憾終生!所以放在每一條,讓剛剛畢業的朋友們早點看到哈!
2、 一定要確定自己的發展方向,併為此目的制定可行的計劃。不要說什麼,我剛畢業,還不知道將來可能做什麼?,跟著感覺走,先做做看。因為,這樣的觀點會透過你的潛意識去暗示你的行為無所事事、碌碌無為。一直做技術,將來成為專家級人物?向管理方向走,成為職業經理人?先熟悉行業和領域,將來自立門戶?還是先在行業裡面混混,過幾年轉行做點別的?這很重要,它將決定你近幾年、十年內做什麼事情才是在做正確的事情!。
3、 軟體開發團隊中,技術不是萬能的,但沒有技術是萬萬不能的!在技術型團隊中,技術與人品同等重要,當然長相也比較重要哈,尤其在mm比較多的團隊中。在軟體專案團隊中,技術水平是受人重視和尊重的重要砝碼。無論你是做管理、系統分析、設計、編碼,還是產品管理、測試、文件、實施、維護,多少你都要有技術基礎。算我孤陋寡聞,我還真沒有親眼看到過一個外行帶領一個軟體開發團隊成功地完成過軟體開發專案,哪怕就一個,也沒有看到。倒是曾經看到過一個高學歷的牛人(非技術型)帶一堆人做完過一個專案,專案交付的第二天,專案組成員扔下一句再也受不了啦!四分五裂、各奔東西。那個專案的成功度大家可想而知了。
4、 詳細制定自己軟體開發專業知識學習計劃,並注意及時修正和調整(軟體開發技術變化實在太快)。請牢記:如果一個軟體開發人員在1、2年內都沒有更新過自己的知識,那麼,其實他已經不再屬於這個行業了。不要告訴自己沒有時間。來自時間管理領域的著名的三八原則告誡我們:另外的那8小時如何使用將決定你的人生成敗!本人自畢業以來,平均每天實際學習時間超過2小時。
5、 書籍是人類進步的階梯,對軟體開發人員尤其如此。書籍是學習知識的最有效途徑,不要過多地指望在工作中能遇到世外高人,並不厭其煩地教你。對於花錢買書,我個人經驗是:千萬別買國內那幫人出的書!我買的那些傢伙出的書,!00%全部後悔了,無一本例外。更氣憤的是,這些書在二手市場的地攤上都很難賣掉。擁有書籍並不表示擁有知識;擁有知識並不表示擁有技能;擁有技能並不表示擁有文化;擁有文化並不表示擁有智慧。只有將書本變成的自己智慧,才算是真正擁有了它。 6、 不要僅侷限於對某項技術的表面使用上,哪怕你只是偶爾用一、二次。對任何事物不究就裡是任何行業的工程師所不應該具備的素質。開發windows應用程式,看看windows程式的設計、載入、執行原理,分析一下pe檔案格式,試試用sdk開發從頭開發一個windows應用程式;用vc++、delphi、java、net開發應用程式,花時間去研究一下mfc、vcl、j2ee、net它們框架設計或者原始碼;除了會用j2ee、jboss、spring、hibernate等等優秀的開源產品或者框架,抽空看看大師們是如何抽象、分析、設計和實現那些類似問題的通用解決方案的。試著這樣做做,你以後的工作將會少遇到一些讓你不明就裡、一頭霧水的問題,因為,很多東西你知其然且知其所以然!
7、 在一種語言上程式設計,但別為其束縛了思想。程式碼大全中說:深入一門語言程式設計,不要浮於表面。深入一門語言開發還遠遠不足,任何程式語言的存在都有其自身的理由,所以也沒有哪門語言是包治百病的靈丹妙藥。程式語言對開發人員解決具體問題的思路和方式的影響與束縛的例子俯拾皆是。我的經驗是:用面對物件工具開發某些關鍵模組時,為什麼不可以借鑑c、c51、彙編的模組化封裝方式?用傳統的桌面開發工具(目前主要有vc++、delphi)進行系統體統結構設計時,為什麼不可以參考來自java社群的ioc、aop設計思想,甚至借鑑像spring、hibernate、jboss等等優秀的開源框架?在進行類似於實時通訊、資料採集等功能的設計、實現時,為什麼不可以引用來自實時系統、嵌入式系統的優秀的體系框架與模式?為什麼一切都必須以個人、團隊在當然開發語言上的傳統或者經驗來解決問題???他山之石、可以攻玉。
8、 養成總結與反思的習慣,並有意識地提煉日常工作成果,形成自己的個人原始碼庫、解決某類問題的通用系統體系結構、甚至進化為框架。眾所周知,對軟體開發人員而言,有、無經驗的一個顯著區別是:無經驗者完成任何任務時都從頭開始,而有經驗者往往透過重組自己的可複用模組、類庫來解決問題(其實這個結論不應該被侷限在軟體開發領域、可以延伸到很多方面)。這並不是說,所有可複用的東西都必須自己實現,別人成熟的`透過測試的成果也可以收集、整理、整合到自己的知識庫中。但是,最好還是自己實現,這樣沒有智慧財產權、版權等問題,關鍵是自己實現後能真正掌握這個知識點,擁有這個技能。
9、 理論與實踐並重,內外雙修。工程師的內涵是:以工程師的眼光觀察、分析事物和世界。一個合格的軟體工程師,是真正理解了軟體產品的本質及軟體產品研發的思想精髓的人(個人觀點、歡迎探討)。掌握軟體開發語言、應用語言工具解決工作中的具體問題、完成目標任務是軟體工程師的主要工作,但從軟體工程師這個角度來看,這只是外在的東西,並非重要的、本質的工作。學習、掌握軟體產品開發理論知識、軟體開發方法論,並在實踐中理解、應用軟體產品的分析、設計、實現思想來解決具體的軟體產品研發問題,才是真正的軟體工程師的工作。站在成熟理論與可靠方法論的高度思考、分析、解決問題,並在具體實踐中驗證和修正這些思想與方式,最終形成自己的理論體系和實用方法論。
10、心態有多開放,視野就有多開闊。不要抱著自己的技術和成果,等到它們都已經過時變成垃圾了,才拿出來丟人現眼。請及時釋出自己的研究成果:開發的產品、有創意的設計或程式碼,公佈出來讓大家交流或者使用,你的成果才有進化和昇華的機會。想想自己xx年間開發的那些windows系統工具,5、6年之後的今天,還是那個樣子,今天流行的好多windows系統工具都比自己的晚,但進化得很好,且有那麼多使用者在使用。並且,不要保守自己的技術和思想,儘可能地與人交流與分享,或者傳授給開發團隊的成員。與人交換蘋果之後,每個人還是隻有一個蘋果;但交換思想之後,每個人都擁有兩種思想,道理大家都懂,但有多少人真正能做到呢? 11、儘量參加開源專案的開發、或者與朋友共同研製一些自己的產品,千萬不要因為沒有錢賺而不做。網路早已不再只是虛擬世界,網上有很多的開源專案、合作開發專案、外包專案,這都是涉獵工作以外的知識的絕好機會,並且能夠結識更廣的人緣。不要因為工作是做erp,就不去學習和了解嵌入式、實時、通訊、網路等方面的技術,反過來也是一樣。如果當他別人拿著合同找你合作,你卻這也不會,那也不熟時,你將後悔莫及。
12、書到用時方恨少,不要將自己的知識面僅僅侷限於技術方面。諾貝爾經濟學獎得主西蒙教授的研究結果表明: 對於一個有一定基礎的人來說,他只要真正肯下功夫,在6個月內就可以掌握任何一門學問。教育心理學界為感謝西蒙教授的研究成果,故命名為西蒙學習法。可見,掌握一門陌生的學問遠遠沒有想想的那麼高難、深奧。多方吸取、廣泛涉獵。極力夯實自己的影響圈、儘量擴大自己的關注圈。財務、經濟、稅務、管理等等知識,有空花時間看看,韜光養晦、未雨綢繆。
13、本文的總結與反思: a:不要去做技術上的高手,除非你的目標如此。雖然本文是關於提高軟體開發知識的建議,做技術的高手是我一向都不贊同的。你可以提高自己的專業知識,但能勝任工作即止。 b:提高軟體知識和技術只是問題的表面,本質是要提高自己認識問題、分析問題、解決問題的思想高度。軟體專業知識的很多方法和原理,可以很容易地延伸、應用到生活的其它方面。 c:在能勝任工作的基礎上,立即去涉獵其它領域的專業知識,豐富自己的知識體系、提高自己的綜合素質,尤其是那些目標不在技術方面的朋友。