软件开发的一些感想(五年工作总结版)
//2010-08-01 21:05
今天要強迫自己寫出這個總結來了,否則我怕以后又有了新的感受,還要沉淀,又不知道多久才能沉淀和寫出來.三年前,我寫過一個<Web開發的一點心得> http://blog.csdn.net/Eric77/archive/2006/12/13/1441977.aspx ,基本的觀點繼續延續里面的想法. 只是最近這幾年,做了不少系統,從需求分析,設計,開發,測試 和 項目管理了整個流程,又有了一些新的感悟.
對任何系統來說: 無非是做好3件事: IPO. 也就是Input,Process,Output.
對需求分析來說: 你最重要的是搞明白,用戶的需求.也就是搞清用戶的輸入(Input)和輸出(Output)是什么,它的要求達到的功能(Process)是什么. 明白以后,你就可以寫一些用戶需求說明書,描述用例,輸入輸出處理異常什么的,或者做一個簡單的Demo系統,拿去給用戶看,看看這個界面是不是用戶喜歡的,這個流程是不是用戶所需要的等等.
然后就是系統分析: 首先,你需要對用戶的需求分模塊,每個模塊的IPO是什么,他們應采用什么架構,需要和那些模塊交互,互相之間的接口是怎樣的,需要使用什么技術.每個模塊的運行環境是什么樣子的,對效率,安全或者容錯等特性是否要著重考慮.
接著就是系統設計: 每個模塊的數據庫要怎么設計,所用技術和架構決定后,要確定不同層次有哪些接口,比如說表現層,業務邏輯層,數據庫訪問層,相互之間怎么調用,定好框架和開發模式和格式,剩下的就是編碼了.
編碼部分: 首先團隊要有一個良好的編碼規范.并且對每個人提交的代碼要review,我發現程序編多了,自己就成了一臺計算,看到程序就會知道會出現什么結果,根本都不用跑起來.
測試: 單元測試是否編寫測試用例? Junit是個好工具.每個人都要保證好自己的代碼沒有問題. 整體測試就要整個流程的跑一下,看看需求實現的對不對,還有沒有什么其他紕漏.
風險管理: 這一點很重要,要時刻知道自己的項目有什么風險,無論是人員的,技術的,時間的,還是協調上面的.都要心里有數,按時按周向領導匯報.
恩,以上就是我現在對一個系統開發的整體觀點.
也許寫的簡單了一點,不過我覺得真的是如此,面試的時候,經常有人問我,你有沒有做過一些復雜的業務邏輯,其實說實話,我還真不知道怎么回答這個問題,我一直都覺得,把IPO搞明白,多復雜的業務邏輯都會簡化成一個一個小的步驟,處理完輸入的數據后,就進行數據庫更新或保存,然后就返回給用戶處理后的反饋信息. 復雜點的最多就是涉及到多數據庫或者嵌套事務的處理,只要把握好事務的生命周期,是否互相影響,處理好提交和回滾也就OK了. 如果是涉及到工作流的,就要記錄和管理好它的位置,上下流程的關系狀態什么的. 還有什么復雜的業務邏輯形式? 額,我再想一想.
也許大型的數據量的訪問和處理就需要一些技巧了. 典型的就是把經常訪問的變化不經常的動態頁面,轉換成靜態的html分配給apache處理,注意更新. 或者使用集群Cluster來緩解壓力.這又會涉及到怎樣追蹤用戶的問題了,一個最簡單的方式就是對用戶取模來進行分配,呀,跑題了.如果對數據庫的存取量太大,一般可以使用緩存,多弄幾臺數據庫,搞成集群形式,一臺主的多臺輔的.恩,如果后臺表數據量太大的話,就是用分表方式,分表有幾種方法,略掉吧.還有什么呢,比如說對查詢語句怎么優化,這就要使用查詢分析器了,也不多說. 額,,, 還有什么,暫時想不起來了. 不過,douban無私牛人的<豆瓣網技術架構的發展歷程>這篇pdf真的很不多,值得每個人研讀.
記得我去IBM面試的時候,問過,以后有幾條職業發展的方向,回答有三條,一條是IT Specialist,一條是Project Manager,還有一條是IT Architect. 我還曾要求以后能不能向IT Architect發展,那人說,Architect要熟悉很多技術呢,我問了兩遍,他這樣回答了兩遍.后來給我訂了Advisory I/T Specialist. 我當時很納悶,我搞Java這么久,J2ME,J2SE,J2EE全都搞過,而且對Gof的<Design Pattern>也悟了5年,了熟于心,各種各樣的經典書籍也看了不少,怎么不能向Architect發展呢. 現在我加入了IBM,進入一個香港的項目,過段時間要去香港培訓幾星期,才明白了,原來一個大項目會涉及到各種各樣的語言,技術,什么Cobal(音譯),forturn(音譯),java,vb,C#,soa xx總線模式,mq,大型機開發,等,很多我只在書上看到過的古老語言,還有一些聽都沒聽過的語言,框架,模式,全都出現了.我當時這個汗哪,我才發現我真的很無知.知識就是一個氣球,你知道的越多,接觸的越多就會發現自己越無知.所以這也是我要今天趕緊把這個寫出來的原因. 我怕以后又有了變故,還要沉淀,需要時間.
恩,路還長,吾等還需繼續努力.
前不久在家里陪我媽看了'曲黎敏'講的<黃帝內經>的相關養生知識,覺得每個人都應該聽一下,大道至簡,陰陽五行,天地自然,健康養生. 悟 - 這個字存在宇宙萬物中.
//22:23
總結
以上是生活随笔為你收集整理的软件开发的一些感想(五年工作总结版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EFUCMSE16小说漫画系统搭建教程
- 下一篇: ffmpeg推流和拉流rtsp