摘要:重慶軟件開發(fā)工程未來(lái)發(fā)展趨勢(shì)如何
從計(jì)算模型而言,應(yīng)該來(lái)講,傳統(tǒng)的馮.諾依曼仍然被沿用;但從計(jì)算能力上來(lái)將,我們注意到了三個(gè)變化:
●CPU的運(yùn)算能力按摩爾定律快速提升;但提升單顆CPU的計(jì)算能力已經(jīng)越來(lái)越困難;
●并行運(yùn)算技術(shù)以及多核多線程技術(shù)使服務(wù)器的處理能力飛速提升;服務(wù)器的處理能力不再是瓶頸,從而造成計(jì)算能力大量向服務(wù)器端遷移,C/S結(jié)構(gòu)被無(wú)情拋棄,薄客戶端(B/S結(jié)構(gòu))成為大勢(shì)所趨;
●互聯(lián)網(wǎng)的快速普及使得云計(jì)算成為可能,通過(guò)互聯(lián)網(wǎng)相連的服務(wù)器集群在服務(wù)器端提供了更強(qiáng)大的計(jì)算能力;
重慶軟件開發(fā)基于上述計(jì)算能力的變化,從軟件開發(fā)模式而言,我們注意到以下六個(gè)相關(guān)的趨勢(shì):
●由于計(jì)算能力向服務(wù)器端的快速集中,提供高并行計(jì)算能力和可用性的中間件技術(shù)被廣泛采用,甚至已經(jīng)成為構(gòu)建大型軟件系統(tǒng)的必選項(xiàng);
● 因?yàn)椴捎昧酥虚g件技術(shù),軟件開發(fā)團(tuán)隊(duì)可以更集中關(guān)注于業(yè)務(wù)邏輯,而可以將許多細(xì)節(jié)交給中間件來(lái)管理,從而大大減少了需要編寫的代碼行數(shù),也直接導(dǎo)致了軟件開發(fā)團(tuán)隊(duì)的規(guī)模變得越來(lái)越小,但角色變得越來(lái)越專業(yè)化(如了解行業(yè)的需求分析員,了解中間件技術(shù)和領(lǐng)域構(gòu)架的架構(gòu)師等);
●計(jì)算能力的增強(qiáng),使軟件越來(lái)越易用,從而使軟件變得無(wú)處不在,需要的軟件開發(fā)人員數(shù)量急劇增長(zhǎng)(組織形態(tài)是大量的小規(guī)模開發(fā)團(tuán)隊(duì));在這一因素以及降低成本的壓力下,開發(fā)外包變得非常普及;
●為了使分布在互聯(lián)網(wǎng)上系統(tǒng)能夠互相協(xié)作,SOA成為一個(gè)熱點(diǎn);
●互聯(lián)網(wǎng)的普及,將原來(lái)分散開發(fā)人員聚合在一起,只要有一個(gè)合適的基礎(chǔ)和好的框架,他們就可以開發(fā)出產(chǎn)品級(jí)的工具軟件(以Eclipse,JBoss,MySQL,Subversion為例),從而開源成為了一種趨勢(shì);
●B/S結(jié)構(gòu)的系統(tǒng)非常容易升級(jí),這使得軟件交付和升級(jí)的速度大大加快了(從以年月為單位,到以周天為單位);
回到正題,那么在這些大的趨勢(shì)的作用下,軟件工程會(huì)如何發(fā)展呢?我覺(jué)得在未來(lái)幾年我們會(huì)看到如下的趨勢(shì):
●需求工程,漸成熱點(diǎn): 專業(yè)化的角色,日益復(fù)雜的業(yè)務(wù)創(chuàng)新,全球分布的團(tuán)隊(duì)以及互聯(lián)網(wǎng)級(jí)的交付速度,這些都對(duì)需求獲取的正確性和有效性提出了更高的要求;我預(yù)計(jì)需求工程的研究和 實(shí)施會(huì)成為近期的熱點(diǎn),其中Use Case技術(shù)會(huì)被更廣泛而正確的應(yīng)用,而相關(guān)工具的研發(fā)也會(huì)成為熱點(diǎn)(如IBM Rational Requirements Composer,,Ravenflow等。
用例的優(yōu)勢(shì)在于它天生是黑盒的,它用自然語(yǔ)言抽象了用戶和目標(biāo)系統(tǒng)的交互,避免了混入分析、設(shè)計(jì)和實(shí)現(xiàn)細(xì)節(jié),以保證用例可以被不懂具體技術(shù)的業(yè)務(wù)及測(cè)試人 員所真正理解。同時(shí),需求分析員又可以方便地通過(guò)用例分析(use case analysis)(即用分析類來(lái)試圖在理想方式下實(shí)現(xiàn)用例),將需求體系精華成分析模型。在這一過(guò)程中,需求分析員可以更進(jìn)一步地完善基于用例的需求體 系,而不必?fù)?dān)心分析模型會(huì)污染需求,從而實(shí)現(xiàn)需求與分析的分離及有效互動(dòng)。
●DSSA和MDD,老樹新花(基 于領(lǐng)域的構(gòu)架(DSSA)與模型驅(qū)動(dòng)的開發(fā)(MDD)):隨著軟件應(yīng)用的日益普及,軟件已經(jīng)超出了將手動(dòng)流程自動(dòng)化的范疇,而開始成為業(yè)務(wù)創(chuàng)新的主要推動(dòng) 力。因此,引入捕獲特定領(lǐng)域內(nèi)最先進(jìn)需求及其實(shí)現(xiàn)架構(gòu)的DSSA成為行業(yè)客戶的熱點(diǎn)之一。而且,DSSA的引入將MDD門檻大大降低了,也使基于DSSA 的MDD支撐工具成為可能,從而可以極大地提高開發(fā)效率并保證軟件質(zhì)量(例如,Telelogic的Rhapsody就是一個(gè)成功的基于實(shí)時(shí)嵌入式系統(tǒng)構(gòu) 架的MDD工具)。
●迭代/敏捷,漸成標(biāo)準(zhǔn):隨著軟件交付周期的日益加快,迭代化開發(fā) 已經(jīng)成為大多數(shù)軟件開發(fā)團(tuán)隊(duì)的必選項(xiàng)。但是迭代對(duì)整個(gè)團(tuán)隊(duì)的需求、架構(gòu)、協(xié)同及測(cè)試能力都提出了更高的要求,現(xiàn)在許多開發(fā)團(tuán)隊(duì)都在試圖導(dǎo)入迭代化開發(fā)的過(guò) 程中,敏捷可是被看成迭代化開發(fā)的一種導(dǎo)入方式,這不過(guò)敏捷的范圍其實(shí)比迭代化開發(fā)更大一些。
重慶軟件開發(fā)敏捷的三個(gè)要素是迭代開發(fā)、坦誠(chéng)合作和自適應(yīng)性。坦誠(chéng)合作其實(shí)才是敏捷的精髓,如Ivar所說(shuō),敏捷其實(shí)是有關(guān)Social Engineering的。敏捷的主要貢獻(xiàn)在于他更多地思考了如何去激發(fā)開發(fā)人員的工作熱情,這是在軟件工程幾十年的發(fā)展過(guò)程中相對(duì)被忽略的領(lǐng)域。
●持續(xù)集成,蓄勢(shì)待發(fā):持 續(xù)集成是保證迭代化開發(fā)質(zhì)量的主要方式,通過(guò)持續(xù)集成可以利用自動(dòng)化的方式來(lái)盡量自動(dòng)地、盡早保證代碼質(zhì)量。隨著迭代和敏捷的流行,持續(xù)集成相關(guān)的工具成 為現(xiàn)在市場(chǎng)上的新熱點(diǎn)(如持續(xù)集成框架IBM Rational BuildForge, 開源軟件CruiseControl,代碼靜態(tài)分析工具Klocwork Insight,IBM Rational Software Analyzer等)。
持續(xù)集成是一個(gè)復(fù)雜的系統(tǒng)工程,組織需要首先將現(xiàn)有的配置管理/變更管理工具與Build環(huán)境緊密集成并完成自動(dòng)化Build過(guò)程,在根據(jù)企業(yè)/項(xiàng)目/產(chǎn) 品的現(xiàn)狀,定義如何自動(dòng)化地檢測(cè)軟件質(zhì)量(代碼靜態(tài)分析、單元測(cè)試或冒煙測(cè)試),并定義需要自動(dòng)化生成的管理報(bào)表。
●基于實(shí)踐的過(guò)程框架,方興未艾:開 發(fā)角色的專業(yè)化的和分布的全球化都要求軟件開發(fā)過(guò)程更加規(guī)范,而敏捷又要求過(guò)程必須緊密貼合項(xiàng)目的實(shí)際需要,因此傳統(tǒng)的大一統(tǒng)的過(guò)程無(wú)法符合這一需求。新 一代的過(guò)程將是以實(shí)踐為核心的,項(xiàng)目可以通過(guò)組裝所需的不同實(shí)踐來(lái)獲得貼近項(xiàng)目要求的過(guò)程。IJI(Ivar Jacobson International)的EssWork和IBM Rational的RMC都是新一代的基于實(shí)踐的過(guò)程框架。
重慶軟件開發(fā)依據(jù)過(guò)程專家長(zhǎng)時(shí)間的經(jīng)驗(yàn),他(她)們很小心、很仔細(xì)地將一個(gè)完整的開發(fā)過(guò)程組件化,從開發(fā)過(guò)程抽象出一個(gè)個(gè)可以被單獨(dú)導(dǎo)入又可以被組裝到一起的實(shí)踐,從 而使逐步求精式的過(guò)程改進(jìn)成為可能。對(duì)于一個(gè)軟件組織而言,如果已經(jīng)建立一個(gè)比較成熟的軟件開發(fā)流程,但覺(jué)得這一流程并不適合所有項(xiàng)目的實(shí)際需要,那么目 前可以考慮的是用實(shí)踐的方式去重新梳理現(xiàn)有流程,以使項(xiàng)目組能夠以實(shí)踐為單位來(lái)組裝出切合項(xiàng)目實(shí)際的流程;另外,該組織也可以將適用于本組織的業(yè)界流行的 實(shí)踐導(dǎo)入到現(xiàn)有流程當(dāng)中,IJI公司的專家從業(yè)界最佳經(jīng)驗(yàn)中抽取了八個(gè)實(shí)踐,有關(guān)信息可訪問(wèn)(http://www.esslab.net:4040 /ngp/)。
●配置管理,昨日黃花:隨著開發(fā)團(tuán) 隊(duì)規(guī)模的日益減小,配置管理的復(fù)雜性大大降低了,我們注意到越來(lái)越多的用戶轉(zhuǎn)向使用開源的配置管理工具(如 Subeverison,JIRA,hosted-projects等等);未來(lái)的配置管理工具更多的以一種全生命周期管理平臺(tái)(Application Lifecycle Management)的方式出現(xiàn),弱化了單項(xiàng)的配置管理能力而強(qiáng)調(diào)了全流程的整合(如Microsoft VisualStudio Team System和IBM Rational Team Concert等)。
即便配置管理的復(fù)雜性降低了,但它仍然是開發(fā)項(xiàng)目管理的最重要的支撐平臺(tái)之一。目前的重點(diǎn)應(yīng)該是加強(qiáng)對(duì)項(xiàng)目經(jīng)理進(jìn)行有關(guān)配置管理知識(shí)的培訓(xùn),讓他(她)們 理解到配置管理能力(如并行開發(fā)、基線回退等等)能夠如何幫助項(xiàng)目開發(fā)過(guò)程的,從而使配置管理工具/環(huán)境的價(jià)值能夠得到充分的發(fā)揮。
本文由么蒙戈科技服務(wù)采集。 http://www.hfcyzl.com 重慶軟件開發(fā)
相關(guān)網(wǎng)頁(yè)推薦:
重慶網(wǎng)站建設(shè) http://www.hfcyzl.com/ms.aspx?nid=132
重慶軟件開發(fā) http://www.hfcyzl.com/ms.aspx?nid=131
重慶OA辦公系統(tǒng) http://www.hfcyzl.com/ms.aspx?nid=133
重慶SEO推廣 http://www.hfcyzl.com/ms.aspx?nid=135
重慶網(wǎng)絡(luò)公司 http://www.hfcyzl.com/ms.aspx?nid=136
重慶網(wǎng)站建設(shè)哪家好 http://www.hfcyzl.com/ms.aspx?nid=138
重慶網(wǎng)絡(luò)公司電話 http://www.hfcyzl.com/ms.aspx?nid=139
重慶網(wǎng)站制作 http://www.hfcyzl.com/ms.aspx?nid=140
重慶網(wǎng)站設(shè)計(jì) http://www.hfcyzl.com/ms.aspx?nid=142