胡思亂想軟件開發(fā)
一天晚上睡不著覺,無(wú)聊,亂想,遂有如下文章:寫完之后發(fā)現(xiàn)很多漏洞,呵呵。不過也有些可取之處
發(fā)上來(lái)留個(gè)紀(jì)念吧。
軟件開發(fā)中,有一些方法被反復(fù)利用:抽象,泛型,折中。所以試著以這些方法來(lái)分析軟件開發(fā)的過程。
人類的行為大部分可以抽象成這樣:????????????? ?
過程一、目標(biāo)---實(shí)施--->成功
過程二、目標(biāo)---實(shí)施--->失敗
大部分人都希望走過程一這樣的路,如何在軟件開發(fā)中走好一這條路呢,下邊開始分析。
軟件公司的目標(biāo):
獲取利潤(rùn)-->保住利潤(rùn)-->減少成本
軟件公司的實(shí)施:
開發(fā)軟件,賣出-->不退貨賠款,增加回頭客-->壓縮成本。
軟件公司的成功方法:
保證實(shí)施過程路線正確,并順利進(jìn)行。對(duì)應(yīng)實(shí)施的過程,如下
軟件符合需求-->Bug少,性能高-->開發(fā)成本少,維護(hù)成本少.
在開始長(zhǎng)篇大論之前,插播一段:
記得不知道誰(shuí)說(shuō)過:"沒有一定成功的方法,但可以通過了解失敗的方法來(lái)提高成功率".我想這也是人們喜歡
排除法的原因吧。本文的很多思想來(lái)自這個(gè)標(biāo)準(zhǔn).
--------------------------------------------------------------------------
一、開發(fā)出符合需求的軟件:
1、開發(fā)出不符合需求軟件的原因:
?(1)、需求挖掘不夠????? (前期需求挖掘不夠)??????
?(2)、人員流動(dòng)???????? (大量骨干人才在項(xiàng)目進(jìn)行期流失)
?(3)、實(shí)現(xiàn)力不夠??????? (技術(shù)儲(chǔ)備,人才儲(chǔ)備不夠)
?(4)、反饋不夠????????? (有這樣一種情況,客戶的需求是現(xiàn)實(shí)中不可能實(shí)現(xiàn)的,要說(shuō)服客戶做一些放棄)
2、解決上邊問題的一些方法:
?(1)、RUP 文檔 溝通
?(2)、文檔 企業(yè)文化 管理
?(3)、技術(shù)積累 人才儲(chǔ)備
?(4)、溝通
總結(jié):仔細(xì)分析下來(lái),發(fā)現(xiàn)在這個(gè)過程中,技術(shù)人員占的比例很小,仔細(xì)考慮一下,這也是很多公司不重視技術(shù)
人員的原因,因?yàn)樗麄兊囊笫亲鞒龇嫌脩粜枨蟮能浖u出去就好了。因?yàn)樵谶@個(gè)環(huán)節(jié)技術(shù)人員不是主導(dǎo),
只要招聘的到開發(fā)人員來(lái)做軟件就好.(中國(guó)最不缺的就是人),這個(gè)話題還是不多說(shuō)的好.
二、開發(fā)出Bug少、性能高的軟件
1、Bug多、性能低下的原因:
?(1)、測(cè)試力度不夠
?(2)、管理混亂
?(3)、開發(fā)人員責(zé)任心與技術(shù)不夠
2、解決上邊問題的方法:
?(1)、專門的測(cè)試小組,對(duì)測(cè)試的重視程度,測(cè)試完善程度(是否有單體、集成、壓力等測(cè)試)
??? (2)、有完善的質(zhì)量管理體系和方法(例如bugtrace QA Junit等測(cè)試軟件的使用 責(zé)任明確)
??? (3)、企業(yè)文化、內(nèi)部技術(shù)交流、引進(jìn)人才
總結(jié):在這個(gè)問題上,技術(shù)人員的主導(dǎo)作用在大幅提高,Bug的多少主要取決于測(cè)試的投入力度和規(guī)范化
性能的高低,主要取決于開發(fā)人員的素質(zhì),對(duì)開發(fā)語(yǔ)言,使用框架,數(shù)據(jù)庫(kù)等的了解程度和追求高質(zhì)量的心態(tài).
三、減少成本,經(jīng)驗(yàn)表明,減少軟件成本的主要方法是減少維護(hù)成本.
1、增加維護(hù)成本的原因:
?(1)、軟件總體設(shè)計(jì)混亂,結(jié)構(gòu)不清晰
?(2)、代碼編寫的濫(命名不規(guī)范? 注釋不夠? 縮進(jìn)混亂? 邏輯不清晰)
?(3)、文檔的保存和維護(hù)
2、解決方法:
?(1)、設(shè)計(jì)模式?? 管理方法(建議看看<<人月神話>>這本書)
?(2)、編碼規(guī)范
?(3)、CMM ISO等
--------------------------------------------------------------------------------
大部分在學(xué)習(xí)一門語(yǔ)言的時(shí)候喜歡看一下Hello World,所以寫個(gè)HelloWorld體現(xiàn)一下上邊的過程
(只從某個(gè)角度)
一、demo版本Hello World



2



3

4

5

1,經(jīng)過需求調(diào)研,客戶需要頻繁輸出HelloWorld,而不是一次



2



3



4

5

6

7

2,客戶反饋說(shuō)不需要如此頻繁的輸出,只要一般速度就可以了



?2



?3



?4



?5

?6



?7

?8

?9



10

11

12

13

3,客戶再次反饋說(shuō)我們需要是上午快點(diǎn),下午慢點(diǎn)的的Hello World

?2



?3



?4



?5



?6

?7



?8



?9

10

11



12



13

14

15

16



17

18

19

20

5、客戶提出要求,能不能開發(fā)出我想快就快,想慢就慢的程序
明確告訴他,這個(gè)是不可能的。
三、提高性能

?2



?3



?4



?5



?6

?7

?8

?9



10

11



12

13



14

15

16



17

18

19

20
















































posted on 2006-11-22 05:22 dreamstone 閱讀(759) 評(píng)論(1) 編輯 收藏 所屬分類: 牢騷