直面當(dāng)代軟件開發(fā)之中存在的諸多問(wèn)題

字號(hào):

我們先來(lái)看看軟件開發(fā)過(guò)程中的兩個(gè)典型場(chǎng)景、這些場(chǎng)景在每個(gè)項(xiàng)目中都有可能會(huì)遇到,它們比較客觀的反映了國(guó)內(nèi)很多軟件公司項(xiàng)目開發(fā)過(guò)程的實(shí)際情況。
    場(chǎng)景一:一個(gè)項(xiàng)目組剛剛接了一個(gè)比較大的項(xiàng)目,項(xiàng)目的需求很明確,客戶對(duì)功能的細(xì)節(jié)也不是很挑剔,只是對(duì)性能要求比較高,整個(gè)系統(tǒng)要能承受非常大的用戶量,對(duì)系統(tǒng)的響應(yīng)速度要求也很高,項(xiàng)目經(jīng)理感覺(jué)這個(gè)項(xiàng)目沒(méi)有什么大問(wèn)題,一切都按照計(jì)劃進(jìn)行,可是最終部署到用戶的服務(wù)器上時(shí),整個(gè)程序的效率很低,由于公司在這方面沒(méi)有什么技術(shù)積累,雖然以后修改了多次,性能仍然達(dá)不到要求。
    場(chǎng)景二:某個(gè)大型電子政務(wù)系統(tǒng)年底需要生成大量的報(bào)表,可是報(bào)表系統(tǒng)突然出現(xiàn)了故障無(wú)法使用,這個(gè)報(bào)表系統(tǒng)是由一個(gè)老程序員編寫的,可是此時(shí)他已經(jīng)離開了這家公司,也沒(méi)留下什么文檔,別的開發(fā)人員根本無(wú)法維護(hù)這個(gè)報(bào)表系統(tǒng),由于時(shí)間緊迫項(xiàng)目經(jīng)理只好決定讓開發(fā)人員手工編寫了所有報(bào)表,浪費(fèi)了大量的人力物力。
    軟件開發(fā)面臨的主要問(wèn)題
    前面的場(chǎng)景顯示了國(guó)內(nèi)一些軟件公司存在著規(guī)模小、技術(shù)力量薄弱、管理薄弱、設(shè)計(jì)人員缺乏等問(wèn)題,除此以外,我們認(rèn)為還有以下一些問(wèn)題嚴(yán)重的制約著管理軟件的進(jìn)一步發(fā)展:
    產(chǎn)品開發(fā)技術(shù)路線的選擇比較隨意,很難適應(yīng)未來(lái)產(chǎn)品的發(fā)展的需要,軟件不能進(jìn)行無(wú)縫的升級(jí)。產(chǎn)品和項(xiàng)目界限不分明,通用性、定制性比較差。產(chǎn)品缺乏良好的結(jié)構(gòu)設(shè)計(jì),代碼難以維護(hù)。
    產(chǎn)品的質(zhì)量很難保證,很多軟件產(chǎn)品是從一個(gè)項(xiàng)目過(guò)渡來(lái)的,品對(duì)安全性、性能、部署環(huán)境往往考慮不夠。
    產(chǎn)品開發(fā)對(duì)開發(fā)人員的要求比較高、人員的流動(dòng)對(duì)開發(fā)的進(jìn)度影響很大。在很多公司中開發(fā)人員沒(méi)有獨(dú)立的分工,每個(gè)人都負(fù)擔(dān)著一個(gè)模塊的需求、設(shè)計(jì)、實(shí)現(xiàn),很多開發(fā)人員甚至需要負(fù)擔(dān)一定的美工工作,產(chǎn)品的測(cè)試也不是很細(xì)致,開發(fā)人員負(fù)擔(dān)角色過(guò)多的后果就是每部分的工作都很難做得十分到位。
    設(shè)計(jì)能力不足,很多項(xiàng)目經(jīng)理和開發(fā)人員對(duì)設(shè)計(jì)重視不夠,為了趕工期,很多項(xiàng)目的設(shè)計(jì)過(guò)程過(guò)于簡(jiǎn)單,有的甚至根本沒(méi)有設(shè)計(jì)過(guò)程。
    項(xiàng)目經(jīng)理的管理能力不足,沒(méi)有及時(shí)把握進(jìn)度項(xiàng)目經(jīng)理自己也不知道項(xiàng)目的狀態(tài),下屬人員報(bào)喜不報(bào)憂,害怕報(bào)告問(wèn)題后給自己添麻煩。進(jìn)度管理必須隨時(shí)收集有關(guān)項(xiàng)目管理的數(shù)據(jù),開發(fā)人員總是擔(dān)心管理工作會(huì)增加自己的工作量,不愿配合。管理人員甚至不知道應(yīng)該收集哪些數(shù)據(jù)。
    6、開發(fā)計(jì)劃不充分,沒(méi)有良好的開發(fā)計(jì)劃和開發(fā)目標(biāo),項(xiàng)目的成功就無(wú)從談起。
    7、找不到軟件工程或者項(xiàng)目管理的方法能夠大幅度提高應(yīng)用軟件的開發(fā)效率,開發(fā)周期長(zhǎng)、開發(fā)費(fèi)用高,實(shí)施費(fèi)用超支和工期延長(zhǎng),已經(jīng)司空見慣。更加可怕的是,隨著企業(yè)的環(huán)境和需求的不斷變化,“建成即成閑置”,形成軟件工程的災(zāi)難。
    業(yè)務(wù)基礎(chǔ)軟件平臺(tái)
    軟件開發(fā)的問(wèn)題是由多方面原因造成的,有市場(chǎng)的原因、有公司管理水平的原因,也有技術(shù)的原因。目前基于業(yè)務(wù)基礎(chǔ)軟件平臺(tái)的開發(fā)方式是解決這些問(wèn)題的一個(gè)比較好的解決辦法。業(yè)務(wù)基礎(chǔ)軟件平臺(tái)是一種技術(shù)創(chuàng)新,它使軟件平臺(tái)又多了一個(gè)層次,并將應(yīng)用軟件的業(yè)務(wù)邏輯和開發(fā)技術(shù)分開,使得應(yīng)用軟件的開發(fā)者可以僅僅關(guān)注應(yīng)用軟件的業(yè)務(wù)過(guò)程,而不必關(guān)注其技術(shù)的實(shí)現(xiàn)。這使管理與業(yè)務(wù)人員參與應(yīng)用軟件的開發(fā)成為可能。
    業(yè)務(wù)基礎(chǔ)軟件平臺(tái)包括集成應(yīng)用平臺(tái)、開發(fā)體系兩個(gè)部分。從技術(shù)角度分析,業(yè)務(wù)基礎(chǔ)軟件平臺(tái)為復(fù)雜應(yīng)用軟件系統(tǒng)的開發(fā)提供了一個(gè)基本框架,并有與之相應(yīng)的、方便易用的開發(fā)與維護(hù)管理工具。這個(gè)框架給出了一些復(fù)雜應(yīng)用軟件的基本組成部分和實(shí)現(xiàn)方法,并且預(yù)置了很多供參考的軟件模塊。有了這樣的準(zhǔn)備,在業(yè)務(wù)基礎(chǔ)軟件平臺(tái)之上開發(fā)管理軟件就可以降低復(fù)雜性,省去很多基礎(chǔ)性的研發(fā)工作,從而大大縮短研發(fā)周期,提高研發(fā)效率。