国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

軟件開發(fā)的未來中程序員與客戶的矛盾

2019-11-17 04:45:43
字體:
供稿:網(wǎng)友
一、問題:1. 有快速的類似PB的J2EE開發(fā)工具嗎?2. 客戶需求不確定、易變時(shí),如何保證J2EE體系的開發(fā)效率?近期開發(fā)了套EJB3.0+JSF的業(yè)務(wù)系統(tǒng)。從技術(shù)、開發(fā)時(shí)間等方面,開發(fā)人員是自信的。但是,老板和客戶,卻覺得開發(fā)效率、用戶界面操作不夠理想。原因在于,老板和客戶,認(rèn)為應(yīng)當(dāng)有PB、Delphi這樣的快速開發(fā)工具,來快速開發(fā)復(fù)雜的J2EE的分布式系統(tǒng)。而采用Jbuilder、Eclipse,和基于Annotation、Tag的單向代碼生成方式,開發(fā)效率仍然不能讓他們滿足,尤其是業(yè)務(wù)需求易變、不穩(wěn)定的時(shí)候。二、解決問題的方法,MDA是方向嗎?為了取悅老板和客戶,便狂找是否有IDE能解決這個(gè)問題。最后,卻在MDA處,朦朧地找到,應(yīng)對(duì)易變和不確定的需求,高效開發(fā)J2EE這種復(fù)雜應(yīng)用體系的軟件的大致方向。未來主流的開發(fā)方式和支持工具,肯定不是走PB、Delphi的道路。而是走M(jìn)DA/MDD(模型驅(qū)動(dòng)和開發(fā)),Pattern Driven(模式驅(qū)動(dòng)),支持Plugin的IDE的道路。那些固定技術(shù)模式(業(yè)務(wù)+界面的組成)的開發(fā)工具(如PB、Delphi),是不可能支持不同客戶的獨(dú)特業(yè)務(wù)需求和多種類的客戶端界面。這就是Borland要出售IDE的內(nèi)在原因。而Eclipse的前途,也在于其Plug-In的體系。而采用MDA/MDD(模型驅(qū)動(dòng)和開發(fā))、Pattern Driven(模式驅(qū)動(dòng))、支持Plugin的IDE,企業(yè)就可以開發(fā)出自己的工具(IDE),根據(jù)業(yè)務(wù),快速產(chǎn)生符合自己的Framework的代碼。所以,市面上的J2EE開發(fā)工具,才都不提供現(xiàn)成的組件,用固定的模式,實(shí)現(xiàn)象PB那樣的開發(fā)方式。三、MDA/MDD、Pattern Driven支持Plugin的IDE,怎樣實(shí)現(xiàn)高效率的開發(fā)?采用了MDA,項(xiàng)目組的結(jié)構(gòu),肯定要調(diào)整。簡單說,就是貧富差距拉大,能者越重要,普通程序員越普通。1.BA、SA:只需要跟客戶溝通,獲取需求,確定功能,確定模型(Domain Model,或者E-R圖),寫需求功能文檔。他們最多只需要UML畫圖(PIM層次),不需要深入技術(shù)細(xì)節(jié)。身份接近于“咨詢師”,業(yè)務(wù)知識(shí)是他們的價(jià)值所在。2.架構(gòu)師:根據(jù)SA的反饋,盡早確定技術(shù)方案,創(chuàng)建Framework.確定了前后端(Business、Gui)的Framework后,架構(gòu)師根據(jù)MDA規(guī)范和具體工具,定義模型驅(qū)動(dòng)模板(Pattern Plug-In)、代碼轉(zhuǎn)換模板(Transaction)。基于Annotation、Tag的單向代碼生成方式,會(huì)很少采用。他是項(xiàng)目的靈魂,F(xiàn)ramework+代碼轉(zhuǎn)換摸板,他幫助項(xiàng)目生成了核心的代碼,尤其是業(yè)務(wù)端(如EJB、數(shù)據(jù)庫關(guān)聯(lián)層)。3.SA、高程:根據(jù)Domain Model,轉(zhuǎn)換為PSM.在PSM級(jí),根據(jù)模型驅(qū)動(dòng)模板(Pattern Plug-In),生成業(yè)務(wù)組件類代碼。如為實(shí)體生成session Bean,生成Command模式的代碼。SA、高程,適當(dāng)?shù)厥止ふ{(diào)整好PSM,根據(jù)代碼轉(zhuǎn)換模板(Transaction),生成符合企業(yè)Framework的java代碼。如根據(jù)實(shí)體類,生成EJB或Hibernate;根據(jù)Session Bean等組件,生成客戶端(Gui)需要的代碼(JSF的ManageBean、Struts的Action或Swing的布局代碼)。具體語言技術(shù)、模式知識(shí),是他們要把握的。SA懂技術(shù),就更能把業(yè)務(wù)模型設(shè)計(jì)好。這里,可以生成全部業(yè)務(wù)端(中間件層)代碼,比如實(shí)體類、Session Bean、業(yè)務(wù)代理類。假如需求變化,比如增減字段,修改Domain Model后,變化可以同步到Code.而且,不會(huì)覆蓋Code中手工輸入的部分。真正作到雙向同步。
4.程序員:在前期,輔助BA、SA,設(shè)計(jì)原型。根據(jù)客戶需求,用快速開發(fā)工具,畫出界面,模擬交互操作,但無須綁定到數(shù)據(jù)源。如,用JSF或Swing,畫Gui界面。從目前MDA工具和界面技術(shù),完全靠工具自動(dòng)生成Gui代碼,無論是Swing或jsp,都不是很現(xiàn)實(shí)。所以,只需要用工具生成Gui代碼框架就足夠了。而業(yè)務(wù)部分的代碼,主要在中間件層,而中間件層是由工具生成。所以,Gui除了布局,只是簡單地調(diào)用中間件的業(yè)務(wù)接口。所以,程序員的主要工作,就是實(shí)現(xiàn)界面,單元測(cè)試。四、通過Rational Architect,實(shí)踐基于MDA的快速開發(fā)理論要實(shí)踐。MDA的前途,是大家都迷惑的。那么,通過項(xiàng)目,先用Rational Architect來逐步實(shí)現(xiàn);通過結(jié)果看,目前的MDA工具,到底可以作到什么程度。1. 根據(jù)新項(xiàng)目的業(yè)務(wù)特點(diǎn),調(diào)整中間層Framework.2. 通過自定義的Pattern Plug-In,把實(shí)體類模型(E-R),轉(zhuǎn)換成EJB3.0有關(guān)的PSM.主要生成細(xì)粒度的Session Bean.3. 在PSM里,手工定義粗粒度Session Bean.4. 通過自定義的Pattern Plug-In,為粗粒度Session Bean的業(yè)務(wù)接口,生成Command.5. 通過自定義的Pattern Plug-In,為每個(gè)實(shí)體,生成Gui代碼框架,先實(shí)現(xiàn)基于Swing的。6. 當(dāng)業(yè)務(wù)變更,只需要增減PIM的實(shí)體模型里的字段,就能同步更新到PSM.7. 當(dāng)業(yè)務(wù)邏輯變更,調(diào)整PSM中的Session Bean的方法的細(xì)節(jié),與代碼變更同步。8. 當(dāng)業(yè)務(wù)端變更,重新生成Command.程序員手工調(diào)整Gui以適應(yīng)Command在接口細(xì)節(jié)上的變化。原文地址:http://blog.csdn.net/fancyhf/archive/2006/03/11/621754.aspx

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 顺平县| 上虞市| 错那县| 东阿县| 庄浪县| 盐亭县| 四川省| 青铜峡市| 习水县| 石楼县| 会同县| 景洪市| 灌阳县| 成都市| 焉耆| 中江县| 葫芦岛市| 扎鲁特旗| 密云县| 宜宾县| 南昌县| 泸溪县| 瑞安市| 津市市| 高清| 宣汉县| 乐亭县| 依安县| 常德市| 景德镇市| 嘉定区| 焦作市| 龙里县| 信阳市| 边坝县| 丰顺县| 同仁县| 莫力| 三原县| 霍州市| 铁力市|