??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品v欧美精品∨日韩,欧洲激情综合,日韩精品视频在线播放http://www.aygfsteel.com/guitarpoet/category/11741.htmlJava企业U应用Y件开发探?/description>zh-cnWed, 28 Feb 2007 08:09:35 GMTWed, 28 Feb 2007 08:09:35 GMT60用Ruby化Java目的构?/title><link>http://www.aygfsteel.com/guitarpoet/archive/2006/11/19/82059.html</link><dc:creator>guitarpoet</dc:creator><author>guitarpoet</author><pubDate>Sun, 19 Nov 2006 09:36:00 GMT</pubDate><guid>http://www.aygfsteel.com/guitarpoet/archive/2006/11/19/82059.html</guid><wfw:comment>http://www.aygfsteel.com/guitarpoet/comments/82059.html</wfw:comment><comments>http://www.aygfsteel.com/guitarpoet/archive/2006/11/19/82059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/guitarpoet/comments/commentRss/82059.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/guitarpoet/services/trackbacks/82059.html</trackback:ping><description><![CDATA[<p>        构徏一个项目,是一件极其复杂的事情。尤其是那种非常复杂的工E?/p> <p> </p> <p>        拿Java来说Q构Z个项目的问题有一下这么几个:</p> <ol> <ol> <li>目的组l方?/li> <li>目的源代码控制{略</li> <li>目的依赖控Ӟ工程之间的依赖以及第三方库的依赖Q?/li> <li>目的构建方?/li> <li>目的构建和发布周期</li></ol></ol> <p> </p> <p>        现在Q有一些hq是在用IDE来进行项目的配置理的,它的~点是什么呢Q?/p> <ol> <ol> <li>一般的IDE都拥有项目组l的功能。但是,可惜的是。IDE自带的项目组l功能往往比较弱,IDE采取的项目组l方式都是^行式的,没有目的层ơ感Q必通过逐命名来体玎ͼ比如foo目下,有两个子目Q于是分别命名ؓfoo.bar和foo.demoQ同理再׃层ؓfoo.bar.web{,目完全q化管理(l构未必一定是q的,但是对于IDE而言Q它们是q等的)</li> <li>现在行的IDEҎ代码控制工具都有非常不错的支?/li> <li>IDE对同一个工作区里的目依赖的控制作的非怸错,但是形式相对单一</li> <li>一般都是采用IDE自行手工构徏Q某些IDE可以l你提供Ant脚本Q比如NetBeansQ,如果采用复杂的构建策略,那么要做很多手工的操?/li> <li>没法实现自动化构建,随着目的增大,构徏成本来大Q构建和发布周期們֐于g?/li></ol></ol> <p> </p> <p>       现在Q大多数的Java开发h员都采取了用Ant脚本q行构徏的方式。因为Ant脚本Q?/p> <ol> <ol> <li>不会影响你的目的组l方式,你可以随意的按照M方式l织你的目</li> <li>AntҎ代码控制工具有很好的支持</li> <li>Ant可以明确的管理和控制目的依赖,通过Ivy可以自动下蝲目依赖</li> <li>自动化批处理的方?/li> <li>支持构徏服务器,可以实现每日构徏</li></ol></ol> <p> </p> <p>        但是QAnt脚本也不是一点儿问题也没有。首先,Ant脚本的重用性不好。一般意义上的Ant脚本重用Q就是Copy&Paste。AntҎ没有什么封装。其ơ,Ant使用h也比较困难,XML格式的脚本不是十分的好写Q有了Eclipse支持以后Q强了很多)Q作本语aQAnt非常的不完善Q连字符串处理的功能都非常弱Q这一点Ant-Contrib提供了一些好一点儿的支持)。Ant的扩展机制完全基于JavaQ不能做到即时修攏V?/p> <p> </p> <p>        除了AntQ在Java中,q可以采用Mavenq行目的构建。Maven目是一个非常出色的目。首先,它体CApache资深开发h员的目l织和管理智慧。另外,它以l一有效的方式实C目的整个构建生命周期。Maven的黑盒化操作也给目的配|管理减M负担。如果采用了Maven的话Q项目的l织方式、项目的构徏方式、项目的发布控制全部q刃而解。而且你所作的扩展Q也是以插g的方式来透明化的起作用的。重用性比Ant高很多。用v来也非常ѝ?/p> <p>    </p> <p>       但是QMaven也ƈ不是没有~点。首先,Maven的项目组l方式是固定的,虽然q种固定的方式确实非常有道理。但是,如果与现有项目不兼容或者与IDE的项目组l方式不兼容的话Q那么就完全不v作用了。比如Eclipse的Plugin目QPDE的项目组l格式就与Maven2的项目格式完全不兼容。而且QMaven2自n的Manifest文g生成功能比较弱,对于OSGI目而言Q根本没有可用性(因ؓ要造成重复工作Q。由于Maven采用的是黑盒操作方式。操作不透明。你如果想作一些简单的自定义操作,也必d一个Maven的插件。插件的试、调试和修改都要比Ant困难得多?/p> <p> </p> <p>       那么有什么好办法呢?我推荐采用Ruby?/p> <p> </p> <p>       首先QRuby是一U脚本语aQ支持的环境有很多,而且q可以采用JRuby来运行。而且QRuby支持一个类似Make语法的脚本语aQ那是Rake?/p> <p>    </p> <p>       Rake脚本其实是标准的Ruby脚本Q拥有所有Ruby拥有的特性(面向对象{)。而Ruby也有非常好的依赖控制pȝGemQ我个h认ؓ比目前的Maven的依赖控制系l要好)。由于Ruby是标准的解释型语aQ所以操作都是非帔R明的,也可以做到即时修改的效果。所以,用来作构本是非常合适的?/p> <p>       </p> <p>      但是Q怎么用它来构建Java目呢?现在已经存在一个基于Rake的Java构徏pȝ了,那就是:<a >Raven</a>?/p> <p> </p> <p>      Raven除了提供一些处理Java的Rake Task之外Q它q提供了对Maven Repository的Gem装Q这P你就可以采用Gem的方式来获取Java的项目依赖了?/p> <p> </p> <p>      Rake是我所看到的第一个用面向对象语言来写构徏脚本的。但是,它也q不是完全没有缺点的Q对Java的支持太,是一个很讨厌的缺炏V?/p> <p>      </p> <p>      如果惌采用RakeQ而且q要做到象Maven那样好,那么臛_要有以下几个功能Q除去Raven已经提供的功能)Q?/p> <ol> <ol> <li>新项目的Archetype功能</li> <li>Java目构徏生命周期模型</li> <li>IDE支持</li> <li>Ҏ源信息生成项目信息网?/li></ol></ol> <p> </p> <p>     目前我能惛_的办法只有一个,是自己写(呵呵Q。大家有什么高见?</p><img src ="http://www.aygfsteel.com/guitarpoet/aggbug/82059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/guitarpoet/" target="_blank">guitarpoet</a> 2006-11-19 17:36 <a href="http://www.aygfsteel.com/guitarpoet/archive/2006/11/19/82059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软g目开发过E模型探讨——概?/title><link>http://www.aygfsteel.com/guitarpoet/archive/2006/06/01/49758.html</link><dc:creator>guitarpoet</dc:creator><author>guitarpoet</author><pubDate>Thu, 01 Jun 2006 10:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/guitarpoet/archive/2006/06/01/49758.html</guid><wfw:comment>http://www.aygfsteel.com/guitarpoet/comments/49758.html</wfw:comment><comments>http://www.aygfsteel.com/guitarpoet/archive/2006/06/01/49758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/guitarpoet/comments/commentRss/49758.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/guitarpoet/services/trackbacks/49758.html</trackback:ping><description><![CDATA[ <h1 style="text-align: center;" align="center"> <span style="font-family: 宋体;">软g目开发过E模?/span> </h1> <h2 style="margin-left: 21pt; text-indent: -21pt;"> <!--[if !supportLists]--> <span style="" lang="EN-US"> <span style="">1.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">     </span></span> </span> <!--[endif]--> <span style="font-family: 黑体;">什么是软g目开发过E模?/span> </h2> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">目开发过E模型就是对于项目开发过E的概念建模Q从而能够实现在理论上对于Y仉目开发过E进行量化分析?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">软g开发过E模型以</span> <span lang="EN-US">Rational Unified Process</span> <span style="font-family: 宋体;">Q简U?/span> <span lang="EN-US">RUP</span> <span style="font-family: 宋体;">Qؓ代表Q如下图</span> </p> <p class="MsoNormal" style="text-align: center; text-indent: 21pt; page-break-after: avoid;" align="center"> <span lang="EN-US"> <!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1026" type="#_x0000_t75" alt="http://www.blueprint-group.com/blueprintbuzz/images/rup_main3.JPG" style='width:384pt;height:214.5pt' o:allowoverlap="f"> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\13\clip_image001.jpg" o:/> </v:shape><![endif]--> <!--[if !vml]--> <img style="width: 475px; height: 18px;" src="file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/13/clip_image001.jpg" alt="http://www.blueprint-group.com/blueprintbuzz/images/rup_main3.JPG" v:shapes="_x0000_i1026" /> <!--[endif]--> </span> </p> <p class="MsoCaption" style="text-align: center; text-indent: 20pt;" align="center"> <span style="font-family: 黑体;"> <img src="http://www.blueprint-group.com/blueprintbuzz/images/rup_main3.JPG" /> <br /> </span> </p> <p class="MsoCaption" style="text-align: center; text-indent: 20pt;" align="center"> <span style="font-family: 黑体;">?/span> <!--[if supportFields]><span lang=EN-US><span style='mso-element: field-begin'></span><span style='mso-spacerun:yes'> </span>SEQ </span><span style='font-family:黑体;mso-ascii-font-family:Arial'>?/span><span lang=EN-US> \* ARABIC <span style='mso-element:field-separator'></span></span><![endif]--> <span lang="EN-US"> <span style="">1</span> </span> <!--[if supportFields]><span lang=EN-US><span style='mso-element:field-end'></span></span><![endif]--> <span style="font-family: 黑体;">?/span> <span lang="EN-US">Rational Unified Process</span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">但是也ƈ不是只有</span> <span lang="EN-US">RUP</span> <span style="font-family: 宋体;">一U,比如</span> <span lang="EN-US">Agile Unified Process (</span> <span style="font-family: 宋体;">U?/span> <span lang="EN-US">AUP)</span> </p> <p style="text-align: center; text-indent: 24pt; page-break-after: avoid;" align="center"> <span lang="EN-US"> <!--[if gte vml 1]><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:378.75pt;height:189.75pt'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\13\clip_image002.gif" o:/> </v:shape><![endif]--> <!--[if !vml]--> <img src="http://www.ambysoft.com/artwork/lifecycleAgileUP.gif" height="260" width="520" /> <br /> <!--[endif]--> </span> </p> <p class="MsoCaption" style="text-align: center; text-indent: 20pt;" align="center"> <span style="font-family: 黑体;">?/span> <span lang="EN-US"> <span style=""> <span style="">2</span> </span> </span> <span style="font-family: 黑体;">?/span> <span lang="EN-US">Agile Unified Process</span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">M来说Q?/span> <span lang="EN-US">RUP</span> <span style="font-family: 宋体;">是最l化的项目开发过E模型,不管你采用什么样的开发方式,整个开发过E的每一个过E你都是无法逃掉的(我们后面会讨个)Q因代表了整个Y件开发实늚客观规律Q只是在定义上有所不同Q侧重点上有所不同Q对于P代的看法有所不同|了?/span> </p> <h2 style="margin-left: 21pt; text-indent: -21pt;"> <!--[if !supportLists]--> <span style="" lang="EN-US"> <span style="">2.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">     </span></span> </span> <!--[endif]--> <span style="font-family: 黑体;">Z么要x软g目开发过E模?/span> </h2> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">如同它的概念所C,软g目开发过E就是对软g目开发过E的概念建模Q从而能够实现在理论上对于Y仉目开发过E进行量化分析?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">那么Q这U量化的分析到底有能有什么好处呢Q?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">我们在引子里说过QQ何的软g目都有它存在的目的Q都是ؓ了解决一些现实中的问题。可以把q个成ؓq个目的目的,可以把需要解决的问题的需求称作这个项目的需求?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">而对于商用(其是企业应用QY仉目开发而言Q最基本也是最重要的目的就是以<b style="">最的成本</b>Q?b style="">在项目交付的期限?/b>Q提?b style="">E_的、可靠的</b>软gQ用?b style="">解决用户提交的所需要解决的问题</b>Qƈ且如有可能,必须为现实生zM问题的变更引L用户需要解决的问题的变更从而要求的软g功能的变更做好准备?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">Z能够把客L问题描述清楚Q必进行业务徏模和需求收集;</span> </p> <p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">Z能够把收集完的问题需求{变成为可以信息化解决的问题ƈ且解冻I必须对其q行软g化设计ƈq行实现Q?/span> </p> <p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">Z保证软g产品的质量,必须q行_多的试Q看看硬件厂商是怎么试的?Q;</span> </p> <p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">Z能够让Y件品正常运转,必须q行软g的部|Ԍ</span> </p> <p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">而在软g开发的q程当中Q对于项目的理、代码的理、还有资源的理Q在哪一个Y仉目开发中能缺?</span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">lgQ对q些q程的徏模和定量的分析,q且定在整个开发过E中各个阶段所占的份额和所拥有的重要性,对于保证目Q尤其是大项目)的^E_发和增强目开发管理有着重要的作用?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">q且Q确定了目开发过E模型,对于定目理方式和提供技术、工h持有着非常重要的作用?/span> </p> <h2 style="margin-left: 21pt; text-indent: -21pt;"> <!--[if !supportLists]--> <span style="" lang="EN-US"> <span style="">3.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">     </span></span> </span> <!--[endif]--> <span style="font-family: 黑体;">接下来要讨论?/span> </h2> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">既然我们已经有了一个明的定义Qƈ且能够把它分解成为几个部分(当然Q我们将会看刎ͼq些部分本n也是十分复杂的)。那么,看上M一步,我们的Q务就是一步一步的分析每一个部分?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">但是Q且慢,q些部分有些是没法讨论的Q比如业务徏模,它与用户的域专家有关Q或者跟一些国家、国际标准有养I跟计机软g开发没太多的关pZ—除非是</span> <span lang="EN-US">IDE</span> <span style="font-family: 宋体;">之类的)Q有些是仁者见仁、智者见智的部分Q比如设计和实现Q,有一些可以不必花太多口舌去讨论(比如软g目的部|和资源理Q,q一?/span> <span lang="EN-US">AUP</span> <span style="font-family: 宋体;">l我们开了个好头Q我们现在需要讨论的是Q?/span> </p> <p class="MsoNormal" style="margin-left: 21pt; text-indent: 21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">需求分?/span> </p> <p class="MsoNormal" style="margin-left: 21pt; text-indent: 21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">试</span> </p> <p class="MsoNormal" style="margin-left: 21pt; text-indent: 21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">配置理</span> </p> <p class="MsoNormal" style="margin-left: 21pt; text-indent: 21pt;"> <!--[if !supportLists]--> <span style="font-family: Wingdings;" lang="EN-US"> <span style="">l<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">         </span></span> </span> <!--[endif]--> <span style="font-family: 宋体;">目理</span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">但就是这么几个,p够我们讨论的。事实上Q如果能够对q些问题都全面的分析q且提出自己的见解和解决Ҏ的话Q分量够一个博士论文(L重量上差不多Q,也许那样我可以出本书Q呵呵,玩笑?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">我只能尽力的往下分析,但是Q我更希望的是大家能够有所反馈。因为,在Y件设计中很多问题都是隐藏的(像地雷一PQ直Ct上它ؓ止,你都不会发现它?/span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-indent: 21pt;"> <span style="font-family: 宋体;">我很希望能够有反馈我避免低U的错误?/span> </p> <img src ="http://www.aygfsteel.com/guitarpoet/aggbug/49758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/guitarpoet/" target="_blank">guitarpoet</a> 2006-06-01 18:28 <a href="http://www.aygfsteel.com/guitarpoet/archive/2006/06/01/49758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软g目开发模型探讨——引?/title><link>http://www.aygfsteel.com/guitarpoet/archive/2006/06/01/49646.html</link><dc:creator>guitarpoet</dc:creator><author>guitarpoet</author><pubDate>Thu, 01 Jun 2006 07:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/guitarpoet/archive/2006/06/01/49646.html</guid><wfw:comment>http://www.aygfsteel.com/guitarpoet/comments/49646.html</wfw:comment><comments>http://www.aygfsteel.com/guitarpoet/archive/2006/06/01/49646.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/guitarpoet/comments/commentRss/49646.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/guitarpoet/services/trackbacks/49646.html</trackback:ping><description><![CDATA[?span id="Edit_dgrItems_ctl09_Label2" name="Label1">是我们创造了工具Qƈ且用它们,而不是相?/span>?br /><span style="font-family: 宋体;"><br />M的Y仉目都有它存在的目的,都是Z解决一些现实中的问题。可以把q个成ؓq个目的目的,可以把需要解决的问题的需求称作这个项目的需求?/span><p class="MsoNormal"><span style="font-family: 宋体;">M的Y仉目的开发都必然M开了解需求、根据需求进行设计、根据设计进行实现这些过E。不是多大的项目,也不是采用何种开发方式?/span></p><p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span><span style="font-family: 宋体;">但是Q设计的方式却有多种Q没有谁会规定,只有采用</span><span lang="EN-US">UML</span><span style="font-family: 宋体;">图进行徏模才叫设计。也没有谁规定,只有“设计”好了的目才能开始代码实现?/span></p><span style="font-family: 宋体;">对于软g目开发而言Q大型的目和小型的目所面的项目开发的问题是不同的?br /></span><p class="MsoNormal"><span style="font-family: 宋体;">一个h几天可以完成的目和几个小l好几个月才能完成的目相比Q它们面临的实际中的开发问题,和开发结束后面的维护问题都是不可同日而语的?/span></p><p class="MsoNormal"><span style="font-family: 宋体;">而且Q技术的角度上看Q适合大的目的开发方式也未必一定适合的目?/span></p><p class="MsoNormal">好了Q说了这么多Q我只是惌Q?/p><p class="MsoNormal">lg所qͼ软g开发过E是一个非常复杂的问题Q对于做技术的人来_其是做计算Y件技术的人)Q解决问题的方式只有一U,分析问题、根据问题设计解x案、然后实现解x案来解决问题Q解x案未必一定是软gQ?/p>分析问题的第一步,是把现实中的东西{换成为概忉|型,q样我们才有一个讨论和研究的^台。如果没有一个明的l一的概忉|型,那么Q无论做什么研I会显得毫无意义(古代的智者和诡辩经常这么干Q?br /><br />既然我们面的问题是软g目开发,那么我们W一个要做的是把它建模Qƈ且对它进行一下研I?br /><br />我会在接下来几篇文章中对它进行详l的阐述Qƈ且针Ҏ在项目开发中的一些经验、ȝ和思考提出我对这个问题设计的解决Ҏ?br /><br />目的只有一个,希望针对q个问题作出一些探讨。希望能够抛砖引玉?br /><img src ="http://www.aygfsteel.com/guitarpoet/aggbug/49646.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/guitarpoet/" target="_blank">guitarpoet</a> 2006-06-01 15:53 <a href="http://www.aygfsteel.com/guitarpoet/archive/2006/06/01/49646.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">°Ͷ</a>| <a href="http://" target="_blank">㽭ʡ</a>| <a href="http://" target="_blank">dz</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̶</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ԫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">²</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ף</a>| <a href="http://" target="_blank">ֶ</a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank">Ӣɳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ѿ</a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ȫ</a>| <a href="http://" target="_blank">γ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">н</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank">¹Ȫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">״</a>| <a href="http://" target="_blank">Ѩ</a>| <a href="http://" target="_blank">˻</a>| <a href="http://" target="_blank">ղ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>