工作也有好幾年了,做過程序員,也做過分析師、項(xiàng)目經(jīng)理等職位,經(jīng)過幾年的磨練,自己從技術(shù)到管理都有不小的提高,但是對我來說非常遺憾的是,做了這么多的項(xiàng)目、產(chǎn)品,能讓自己非常滿意的地方還真不太多。以前也時(shí)常考慮軟件開發(fā)過程,也在不少地方做過償試,但是效果最終都不怎么好,其間也換了幾個(gè)公司,不過軟件開發(fā)過程都不能讓人滿意,難道這是中國特色?
軟件開發(fā)方法有很多種,從最早的結(jié)構(gòu)化開發(fā)方法、原型法,到現(xiàn)在的RUP、XP等等,雖然也有研究,但在實(shí)際運(yùn)用中,均感覺不順利。我現(xiàn)在將自己的想法簡單列舉一下,到自己想通、有所得的時(shí)候,能更新一下,留作一個(gè)紀(jì)念。
聲明,本文只對開發(fā)過程做簡單描述,也是我的個(gè)人想法,如果您看到了,請多提寶貴意見,以便于我更好完善該文檔,每個(gè)部分的詳細(xì)操作,我會再開新文章討論。
1、需求分析
這里談到的需求分析,是指用戶對系統(tǒng)的期望,而不是非常具體的需求描述,主要為系統(tǒng)架構(gòu)提供依據(jù)的。如果你不是售前,那么這個(gè)需求基本上不是你跟用戶討論確定的,很常見的是售前吹給用戶的,我覺得不管是寫好的技術(shù)建議書、點(diǎn)對點(diǎn)應(yīng)答,這地方一定要把握好用戶有的真實(shí)想法。我覺得以下幾個(gè)方面要把握:
1)系統(tǒng)的規(guī)模,包括數(shù)據(jù)量、用戶數(shù)量。
2)系統(tǒng)主要的管理對象。
3)與其它外部系統(tǒng)的關(guān)系。
4)系統(tǒng)的核功能有那些。
2、系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu),很多時(shí)候是很空的,但是確是非常重要的。這里談到的架構(gòu),不是指框架的使用,像項(xiàng)目中使用Struts+Spring+Hibernate,這算是架構(gòu),也是系統(tǒng)架構(gòu)要考慮的,但是不是最重要的。一個(gè)系統(tǒng)能不能運(yùn)行正常,首要條件就是系統(tǒng)架構(gòu)的好不好,可能大部分人遇到的項(xiàng)目都是架構(gòu)好的,如果遇到需要架構(gòu)的,我覺得要考慮:
1)系統(tǒng)的那些模塊的數(shù)據(jù)量比較大,增長速度是怎么樣的,需要怎么架構(gòu)能滿足性能要求?
2)系統(tǒng)的那些模塊用戶訪問量比較大,最高并發(fā)訪問量有多大?
3)系統(tǒng)內(nèi)部數(shù)據(jù)處理過程中,那些處理是非常耗時(shí)的,如何能及時(shí)的對用戶做出響應(yīng)?
4)系統(tǒng)與外部之間有那些接口,傳遞的數(shù)據(jù)量有多大,如何確保數(shù)據(jù)的傳遞速度及完整性?
3、項(xiàng)目構(gòu)建
4、功能需求分析
5、概要設(shè)計(jì)
6、詳細(xì)設(shè)計(jì)
7、代碼編寫
8、測試
9、發(fā)布
產(chǎn)品發(fā)布后,
軟件開發(fā)方法有很多種,從最早的結(jié)構(gòu)化開發(fā)方法、原型法,到現(xiàn)在的RUP、XP等等,雖然也有研究,但在實(shí)際運(yùn)用中,均感覺不順利。我現(xiàn)在將自己的想法簡單列舉一下,到自己想通、有所得的時(shí)候,能更新一下,留作一個(gè)紀(jì)念。
聲明,本文只對開發(fā)過程做簡單描述,也是我的個(gè)人想法,如果您看到了,請多提寶貴意見,以便于我更好完善該文檔,每個(gè)部分的詳細(xì)操作,我會再開新文章討論。
1、需求分析
這里談到的需求分析,是指用戶對系統(tǒng)的期望,而不是非常具體的需求描述,主要為系統(tǒng)架構(gòu)提供依據(jù)的。如果你不是售前,那么這個(gè)需求基本上不是你跟用戶討論確定的,很常見的是售前吹給用戶的,我覺得不管是寫好的技術(shù)建議書、點(diǎn)對點(diǎn)應(yīng)答,這地方一定要把握好用戶有的真實(shí)想法。我覺得以下幾個(gè)方面要把握:
1)系統(tǒng)的規(guī)模,包括數(shù)據(jù)量、用戶數(shù)量。
2)系統(tǒng)主要的管理對象。
3)與其它外部系統(tǒng)的關(guān)系。
4)系統(tǒng)的核功能有那些。
2、系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu),很多時(shí)候是很空的,但是確是非常重要的。這里談到的架構(gòu),不是指框架的使用,像項(xiàng)目中使用Struts+Spring+Hibernate,這算是架構(gòu),也是系統(tǒng)架構(gòu)要考慮的,但是不是最重要的。一個(gè)系統(tǒng)能不能運(yùn)行正常,首要條件就是系統(tǒng)架構(gòu)的好不好,可能大部分人遇到的項(xiàng)目都是架構(gòu)好的,如果遇到需要架構(gòu)的,我覺得要考慮:
1)系統(tǒng)的那些模塊的數(shù)據(jù)量比較大,增長速度是怎么樣的,需要怎么架構(gòu)能滿足性能要求?
2)系統(tǒng)的那些模塊用戶訪問量比較大,最高并發(fā)訪問量有多大?
3)系統(tǒng)內(nèi)部數(shù)據(jù)處理過程中,那些處理是非常耗時(shí)的,如何能及時(shí)的對用戶做出響應(yīng)?
4)系統(tǒng)與外部之間有那些接口,傳遞的數(shù)據(jù)量有多大,如何確保數(shù)據(jù)的傳遞速度及完整性?
3、項(xiàng)目構(gòu)建
4、功能需求分析
5、概要設(shè)計(jì)
6、詳細(xì)設(shè)計(jì)
7、代碼編寫
8、測試
9、發(fā)布
產(chǎn)品發(fā)布后,
******************************************
追求超越,實(shí)現(xiàn)自我!
歡迎大家光臨!