軟件過程方面
我們team采用的軟件開發(fā)過程是借鑒了UP的迭代開發(fā)過程。堅(jiān)持迭代的漸進(jìn)式開發(fā),每次迭代都是小步進(jìn)行的,一般都是保持2周一次迭代。在開發(fā)過程中重視需求,要寫清楚UseCase描述,而不是僅僅畫出UseCase圖。測試也是我們非常重視的,包括了單元測試和集成測試。
軟件開發(fā)方法
我們采用的是OO的設(shè)計(jì)和實(shí)現(xiàn)方法。通過一些開源框架的使用,提高效率和代碼的質(zhì)量。在設(shè)計(jì)的時(shí)候會(huì)用一些經(jīng)典的設(shè)計(jì)模式來優(yōu)化設(shè)計(jì),為以后更好地滿足需求變動(dòng)做好準(zhǔn)備。單元測試是我們非常重視的,要求必須寫單元測試,而且要能夠覆蓋盡可能多的分支和邊界。
我們團(tuán)隊(duì)還會(huì)采用一些XP的開發(fā)實(shí)踐例如:TDD、重構(gòu)、CodeReview、結(jié)對編程、持續(xù)構(gòu)建,通過這些實(shí)踐卻是能夠極大提高代碼的質(zhì)量,進(jìn)一步提高軟件產(chǎn)品的質(zhì)量。
軟件開發(fā)工具
我們也非常重視工具的使用,使用工具來幫助我們更好的提高質(zhì)量,首先一定要有版本控制系統(tǒng),可以使用CVS或者SVN。通過checkstyle這樣的工具可以幫助我們檢查代碼是否規(guī)范。通過findbugs這樣的工具幫助我們發(fā)現(xiàn)一些bug。使用一些自動(dòng)化的測試工具,提高測試的效率和回歸測試的質(zhì)量。使用測試覆蓋率工具檢查單元測試的覆蓋率。我還會(huì)使用一些性能測試工具測試系統(tǒng)的性能,發(fā)現(xiàn)一些性能問題。