.net敏捷开发及常用工具

前端之家收集整理的这篇文章主要介绍了.net敏捷开发及常用工具前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

.net敏捷开发及常用工具

http://luxuejie.blog.sohu.com

工欲擅其事,必先利其器,能利用工具是人与动物的最大区别。然而,大多数商业化工具价格不菲,已经加入@H_502_5@WTO@H_502_5@好几年了,再用盗版会给企业带来很大的不确定性,并且盗版用多了,往往会失去一种程序员的自豪感,丢掉一种文化。经过几个月的摸索,本着以下原则,偶选择了一些适合中小企业开发的工具,当作自己的工具箱:

@H_502_5@@H_502_5@ (@H_502_5@1@H_502_5@)适用于中小型企业,中小型项目(@H_502_5@<500@H_502_5@万),功能适度

@H_502_5@@H_502_5@ (@H_502_5@2@H_502_5@)易用性好,具备必要的文档

@H_502_5@@H_502_5@ (@H_502_5@3@H_502_5@)免费或低价

@H_502_5@@H_502_5@ 基于这些工具,慢慢形成了一套敏捷开发过程。

@H_502_5@@H_502_5@一、工具简介

@H_502_5@@H_502_5@@H_502_5@ 下面简单介绍这些工具,这些工具有些偶已经有相当的使用经验,有些正在使用,有些只是刚选定。除直接用于@H_502_5@.net@H_502_5@开发的工具中外,还包括一些开发相关的软件设计、项目管理工具。偶的主要开发经验是@H_502_5@Web@H_502_5@开发,桌面开发和原型开发,对@H_502_5@Mobile@H_502_5@开发不熟悉,也就没这方面的推荐了。

@H_502_5@@H_502_5@1@H_502_5@,运行平台

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@常用的也就@H_502_5@.net framework 1.1,2.0,@H_502_5@和@H_502_5@mono@H_502_5@了,都是免费的。从功能性能及安装基础来讲,自然@H_502_5@.net framework@H_502_5@要优于@H_502_5@mono@H_502_5@了。@H_502_5@mono@H_502_5@是开源的,@H_502_5@.net framework@H_502_5@类库可以反编译,从透明的角度讲两者都差不多。如果你想在非@H_502_5@windows@H_502_5@平台上开发,或者想研究运行时的实现,可以研究@H_502_5@mono@H_502_5@,否则还是用@H_502_5@.net framework@H_502_5@吧。

@H_502_5@@H_502_5@2@H_502_5@,服务器

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@我用过的也就@H_502_5@IIS5.0@H_502_5@,@H_502_5@IIS6.0@H_502_5@,@H_502_5@Apache@H_502_5@加一个@H_502_5@mod@H_502_5@,还有@H_502_5@mono@H_502_5@的@H_502_5@xsp@H_502_5@,这也没啥好比较的,自然首选@H_502_5@IIS6.0@H_502_5@了。不过@H_502_5@IIS@H_502_5@虽然免费,但是至少得@H_502_5@windows server@H_502_5@版本才运行得爽,至少得花几千元。@H_502_5@XP@H_502_5@上的@H_502_5@IIS@H_502_5@很不爽,据说也能装全版@H_502_5@IIS6.0@H_502_5@,不过还是得折腾。开发用的话,用@H_502_5@Apache@H_502_5@加一个@H_502_5@.net@H_502_5@的@H_502_5@mod@H_502_5@,或者@H_502_5@mono@H_502_5@的@H_502_5@xsp@H_502_5@,还是挺好用的。@H_502_5@Apache@H_502_5@的缺点是对新版@H_502_5@.net framework@H_502_5@的支持较@H_502_5@IIS6.0@H_502_5@滞后。

@H_502_5@@H_502_5@3@H_502_5@,@H_502_5@IDE

@H_502_5@@H_502_5@ tnnd@H_502_5@,这个选择空间也很小。首选自然是@H_502_5@VS 2003@H_502_5@或@H_502_5@2005@H_502_5@,如果@H_502_5@VS 2005@H_502_5@速成版将来免费的话,偶就选定这个了,或者选价格并不算高的@H_502_5@VS 2005 @H_502_5@专业版。可恶速成版、专业版中没单元测试,在这里@H_502_5@BS@H_502_5@微软@H_502_5@10000@H_502_5@遍。坚决抵制@H_502_5@VSTS@H_502_5@版!

@H_502_5@@H_502_5@ 其它可选的有@H_502_5@SharpDevelop@H_502_5@和@H_502_5@mono develop@H_502_5@。对于不开发@H_502_5@Web@H_502_5@程序的初学者来说,用@H_502_5@SharpDevelop@H_502_5@其实也挺不错的,集成的@H_502_5@Nant@H_502_5@,@H_502_5@NDoc@H_502_5@,@H_502_5@NUnit@H_502_5@都是很有用的工具。@H_502_5@SharpDevelop@H_502_5@没断点调试功能,但熟用@H_502_5@NUnit@H_502_5@的话可以弥补这一不足。如果对类库理解得比较深入的话,采用@H_502_5@SharpDevelop@H_502_5@,生产力其实也挺高的――即使是进行@H_502_5@Web@H_502_5@开发。@H_502_5@SharpDevelop@H_502_5@的缺点之一是暂时没重构功能,在下一个版本里会有。缺点之二是内存占用比较大,还有性能比@H_502_5@VS@H_502_5@低得多,大项目,大程序可能不爽。我测试过,用@H_502_5@SharpDevelop@H_502_5@打开一个大于@H_502_5@3M@H_502_5@的@H_502_5@C#@H_502_5@源文件(嘿嘿!是@H_502_5@csgl@H_502_5@还是@H_502_5@tao@H_502_5@的,忘了),挂了;用@H_502_5@VS 2003@H_502_5@打开大概要花几十秒。

@H_502_5@@H_502_5@ btw@H_502_5@,我个人认为其实就用记事本写中小型(@H_502_5@<3000@H_502_5@行)的@H_502_5@C#@H_502_5@程序,效率其实也挺高的,这时候会更加注意类的设计,思路会更清晰一些,当然,速度会慢一些。

@H_502_5@@H_502_5@4@H_502_5@,类库和文档

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@类库是@H_502_5@.net@H_502_5@平台的资产。目前@H_502_5@.net@H_502_5@下成熟的类库比较少,和@H_502_5@java@H_502_5@比,最大的不足就是这里了。最常用的类库当然是@H_502_5@.net framework@H_502_5@了,其它各方面的类库在网上都能搜索到一些。类库的关键资产要素是@H_502_5@dll@H_502_5@和文档。看文档要看一手资料,第一手资料就是源代码或反编译过来的代码,然后就是各类的原始文档,一般是@H_502_5@chm@H_502_5@格式的。如果看源代码习惯的话,效率会很高,并且,建议用反编译工具看代码,不建议直接看源文件,原因其一是反编译工具提供了很多有用的附加功能,其二是反编译的代码比源文件更真实。常用的反编译工具是@H_502_5@Reflector@H_502_5@。

@H_502_5@@H_502_5@ .net@H_502_5@下的文档是爽死了,比@H_502_5@javadoc@H_502_5@的@H_502_5@pp@H_502_5@多了。因此在写代码的时候应该注意,多写@H_502_5@///@H_502_5@注释,然后用@H_502_5@Ndoc@H_502_5@自动生成@H_502_5@chm@H_502_5@文档,多爽呀。

@H_502_5@@H_502_5@ 很多开源项目提供源代码和少量的文档,但它的源代码中有大量的@H_502_5@///@H_502_5@注释,可用@H_502_5@NDoc@H_502_5@自动生成@H_502_5@chm@H_502_5@文档。即使没有@H_502_5@///@H_502_5@注释,采用@H_502_5@NDoc@H_502_5@生成文档也是很值的。

@H_502_5@@H_502_5@5@H_502_5@,数据库

@H_502_5@@H_502_5@@H_502_5@ MS sql Server Express@H_502_5@版应该是免费的,但标准版和企业版价格还是不低的,还是用开源的好。对功能有要求就用@H_502_5@Postgresql@H_502_5@,没要求就用@H_502_5@MysqL@H_502_5@。偶现在是@H_502_5@GIS@H_502_5@项目用@H_502_5@Postgresql@H_502_5@,一般项目用@H_502_5@MysqL@H_502_5@。数据库管理用@H_502_5@EMS MysqL Manager Lite@H_502_5@和@H_502_5@EMS Postgresql Manager Lite@H_502_5@,免费,好用,界面很豪华,性能还行。

@H_502_5@@H_502_5@6@H_502_5@,设计与建模

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@偶选定的@H_502_5@UML@H_502_5@建模工具是@H_502_5@JUDE@H_502_5@,@H_502_5@2M@H_502_5@大,免费但不开源,比@H_502_5@ArgoUML@H_502_5@功能多、好用。比@H_502_5@Visio @H_502_5@的@H_502_5@UML@H_502_5@功能不知道强大多少倍,比@H_502_5@Together@H_502_5@也好用。缺点就是只是建模工具,和代码不同步。另一个缺点就是不能自动生成文档。不过偶喜欢这样的工具,强大,体积小,灵活,方便。并且偶觉得它在设计时用就行了,具体的类的文档用@H_502_5@NDoc@H_502_5@生成。@H_502_5@JUDE@H_502_5@是基于@H_502_5@java@H_502_5@的,得安装@H_502_5@java@H_502_5@虚拟机。好像它跨平台也不怎么样,我在@H_502_5@linux@H_502_5@下没运行成功过。

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@开源或免费的数据库建模工具试过很多,感觉都不成熟不好用,最后选择了一个商业软件――@H_502_5@CASE Studio 2@H_502_5@,价格@H_502_5@100-300@H_502_5@美元,功能很实用,支持很多数据库生成的文档也很@H_502_5@pp@H_502_5@。

@H_502_5@@H_502_5@7@H_502_5@,敏捷开发工具

@H_502_5@@H_502_5@ NUnit@H_502_5@――单元测试。

@H_502_5@@H_502_5@ NAnt@H_502_5@――@H_502_5@build@H_502_5@工具。前面已经提及。

@H_502_5@@H_502_5@ NDoc@H_502_5@――文档生成。前面已经提及。

@H_502_5@@H_502_5@ CruiseControl.Net @H_502_5@――持续集成,暂时还没用过。

@H_502_5@@H_502_5@ NUnit@H_502_5@,@H_502_5@NAnt@H_502_5@,@H_502_5@NDoc@H_502_5@用的好的话,感觉非常爽,写程序会有艺术家的感觉。

@H_502_5@@H_502_5@8@H_502_5@,团队协作工具

@H_502_5@@H_502_5@ @H_502_5@版本管理:@H_502_5@CVS@H_502_5@和@H_502_5@SVN@H_502_5@,推荐@H_502_5@SVN@H_502_5@。客户端推荐用@H_502_5@TortoiseSVN@H_502_5@――非常可爱的小乌龟。

@H_502_5@@H_502_5@ Bug@H_502_5@管理:偶选用的是@H_502_5@BugTracker.NET@H_502_5@,简单,用@H_502_5@ASP.Net@H_502_5@写的,小项目够用了。

@H_502_5@@H_502_5@ 需求管理、项目管理、日程、经费计算与管理:还是在用@H_502_5@Word@H_502_5@、@H_502_5@Outlook@H_502_5@、@H_502_5@Excel@H_502_5@。要免费的话可用永中@H_502_5@Office@H_502_5@试用版,一样好用。

@H_502_5@@H_502_5@二、优势

@H_502_5@@H_502_5@1@H_502_5@,性价比高。对于@H_502_5@10@H_502_5@人规模的团队,看看软件成本:

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@运行平台:@H_502_5@.net framework 1.1@H_502_5@或@H_502_5@2.0@H_502_5@,免费

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@服务器:@H_502_5@1@H_502_5@套@H_502_5@windows 2003 server@H_502_5@版,数千元

@H_502_5@@H_502_5@@H_502_5@ IDE@H_502_5@:@H_502_5@1@H_502_5@套@H_502_5@VS @H_502_5@标准版或专业版,数千元,其它用@H_502_5@express@H_502_5@版就行了

@H_502_5@@H_502_5@ 类库和文档:免费

@H_502_5@@H_502_5@ 数据库:免费。用商业数据库,让客户掏钱。

@H_502_5@@H_502_5@ 设计与建模:@H_502_5@1@H_502_5@套@H_502_5@CASE Studio 2@H_502_5@就行了,数千元

@H_502_5@@H_502_5@ 敏捷开发工具:免费

@H_502_5@@H_502_5@ 团队协作工具:@H_502_5@1@H_502_5@套@H_502_5@MS Office@H_502_5@(带@H_502_5@Visio@H_502_5@的)就行了,数千元,其它人用永中。

@H_502_5@@H_502_5@
整个下来,不足@H_502_5@20000@H_502_5@元。

@H_502_5@2@H_502_5@,易用性好

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@反正我的感觉是和商业软件差不多或者稍差

@H_502_5@3@H_502_5@,易扩展

@H_502_5@@H_502_5@@H_502_5@ @H_502_5@上面工具大部分是开源的,并且很多工具之间协作性比较好,这样可以用来定制适合自己的生产线。老外的那一套生产线,比如@H_502_5@RUP@H_502_5@,@H_502_5@MSF@H_502_5@及其相关工具,除价格贵外,其灵活性也不高,别人的生产线不一定适合自己用。这时上面工具的优势就出来了。

@H_502_5@@H_502_5@三、搭建软件生产线

@H_502_5@@H_502_5@流程@H_502_5@1@H_502_5@:项目管理流程

@H_502_5@@H_502_5@ 用@H_502_5@Office@H_502_5@管理需求。用@H_502_5@SVN@H_502_5@进行源代码管理和文档管理,@H_502_5@BugTracker.NET@H_502_5@进行 @H_502_5@Bug@H_502_5@管理和事务管理。尽量将程序、文件、文档的维护自动化。

@H_502_5@@H_502_5@流程@H_502_5@2@H_502_5@:开发管理流程

@H_502_5@@H_502_5@ 开发过程中所维护的文件越少越好。偶觉得应该尽量少用@H_502_5@UML@H_502_5@图写文档,只写最关键的部分。类的文档最好由@H_502_5@NDoc@H_502_5@直接生成。偶用@H_502_5@UML@H_502_5@工具的时间很少。写代码的过程就是类设计过程。不妨比较这两个流程:(@H_502_5@1@H_502_5@)用例分析-@H_502_5@>@H_502_5@采用@H_502_5@UML@H_502_5@工具设计类-@H_502_5@>@H_502_5@由@H_502_5@UML@H_502_5@工具生成代码或撰写代码-@H_502_5@>@H_502_5@重构代码自动更新@H_502_5@UML@H_502_5@文档。(@H_502_5@2@H_502_5@)用例分析-@H_502_5@>@H_502_5@撰写代码-@H_502_5@>@H_502_5@重构代码。第一个流程只有一个优势,就是人对图形的理解比对代码的理解更加直观,但是多了很对累赘工作。第二个流程少了很多步骤,并且可以随时根据代码逆向工程出类图出来,

@H_502_5@@H_502_5@ 我还是喜欢以代码为基础的流程。撰写代码也可分为@H_502_5@2@H_502_5@个过程,第一个过程是写出一个代码框架,所有的方法都是@H_502_5@UNDO@H_502_5@,写出属性,接口,写出@H_502_5@///@H_502_5@文档。这应该是设计过程。这个过程基本上只产生、维护源文件。类图可以通过@H_502_5@visio@H_502_5@逆向工程,类设计文档可以通过@H_502_5@NDoc@H_502_5@自动生成,并且提供了一个测试基础,可以根据这个测试基础写测试代码了。测试代码最好也只写个框架,但是要写好@H_502_5@///@H_502_5@注释,然后生成测试文档。这应该是设计过程。第二个过程是实现过程,把类文档和代码框架提交给相关人,实现、测试、重构@H_502_5@......@H_502_5@一切都自动进行@H_502_5@......@H_502_5@整个过程中只有一份东西,就是源代码,开发过程中的交付件应该都从源代码自动生成

@H_502_5@@H_502_5@ 数据库脚本和文档用@H_502_5@CASE Studio 2@H_502_5@维护。最后提交、上线、验收都很好办,所要的东西@H_502_5@biaji@H_502_5@一下子都出来了。要申报著作权直接从源代码和@H_502_5@chm@H_502_5@文档中弄一部分出来就够了。

@H_502_5@@H_502_5@ 开发的核心是源代码,所有文档应该体现在源代码的结构、关系和注释中。控制整个开发流程的核心工具是@H_502_5@Nant@H_502_5@。要是能把用例分析过程体现在源代码中就好了

猜你在找的Postgre SQL相关文章