编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
懒惰化、标准化、自动化——>工具化,原文发表在《MSDN开发精选》,如有商业站点转载请联系杂志社或者我本人,可以从这里下载,如果有兴趣的读者,可以去购买这个杂志阅读,下面提到的一些软件如果涉及到版权问题,均和本文无关。同时感谢杂志社的霍泰稳先生,正是他对于我的穷追不舍才让我憋完此文。对于小型软件开发团队的探讨,也希望能够和各位交流,我的Email:liuruhongatgmail.com懒惰化,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> .NET 专区 >> NET 技术 >> 文章正文
【字体:
懒惰化、标准化、自动化——>工具化   进入问吧

本站地址:http://www.bajiao123.com

作者:admin    文章来源:本站    点击数:    更新时间:2007-6-10    

懒惰化、标准化、自动化——>工具化

原文发表在《MSDN开发精选》,如有商业站点转载请联系杂志社或者我本人,可以从这里 下载,如果有兴趣的读者,可以去购买这个杂志阅读,下面提到的一些软件如果涉及到版权问题,均和本文无关。同时感谢杂志社的霍泰稳先生,正是他对于我的穷追不舍才让我憋完此文。对于小型软件开发团队的探讨,也希望能够和各位交流,我的Email: liuruhong at gmail.com

懒惰化、标准化、自动化——工具化

——利用合适的工具构建流水线软件过程
Eric Liu at 2005年5月

       Eric是一家小公司的开发部经理,同样也是一名普通的开发人员。这是一家提供网站服务的公司,理所当然的,Eric这个部分的主要工作是基于网站应用的开发,就如目前主流应用的推介的做法,所有的应用是分层设计的,理所当然的有数据访问层、业务逻辑层和表现层。Eric所带的几个开发人员也没有任何与众不同之处:A君比较熟悉数据库和业务逻辑层的编写,但是对于Web表现层的了解太太有限;B君对于JavaScript、HTML、CSS等等有比较多的了解,但是对于组件层的开发还略显生疏;C君非常熟悉业务,但是对于具体实现技术的了解有限;D君。。。。

       这个一个普通得不能够再普通的团队,不论在技术还是在协作上都没有太多的出彩之处。而就是这样一个组建不久的团队,Eric的任务是带领他们在三个月之内完整整个应用网站的开发,并且保证完工的东西能够适应未来发展的变化。

       我想在大多数人看来,如果保证软件架构的向前扩展性和兼容性,这是一个软件架构师应用考虑的问题,而不应该把他降解到普通开发人员的身上,道理是正确的,可是可行性是不高的,在国内的软件开发中,谁都明白很多时候软件过程的各个角色重叠和冲突的可能性是很大的,很少有团队能够不打折扣的分离出这些岗位。比方来说,应该将系统架构师和系统分析员这两个角色分离,让架构师专注于技术和业务的可实现性规划,而系统分析员在架构师工作的基础上,将技术和业务转化成面面俱全的应用。现实的说,没有多少公司可以在一个项目中同时建立这两个角色。

       对于Eric而言,一切困挠无法幸免,在小型开发团队中,角色的相对模糊和对于结对协作的高要求是同时出现的,这个也就是矛盾本身。如果说RUP或者其他软件过程最大的贡献是分离和定义角色,并且指明了各个角色的职责和如何互动,这个一切的基础是在于相对稳定的目标上的角色清晰化。那么XP编程恰恰相反,他强调变化,并且拥抱变化,业务导向(Business Oriented)的开发方式同样决定了无法严格界定岗位。

       正是因为如此,Eric的团队必须解决几个问题:

n         如何高效的编写出应用需要的代码?

n         如何保证不同开发人员的代码具有统一的规范性和可阅读性?

n         如何在业务变动的情况下快速适应变化

n         如何保证代码质量?

n         是否需要版本控制?

n         如何进行错误跟踪和回馈

n         。。。。

一切正如本文题目所言的:懒惰化、标准化、自动化,方才可能构建出流水线的软件过程,这就是Eric这个团队所要解决的问题,答案是简约有效的——工具化,让工具替你完成一切可以完成的工作。

因为Eric的开发团队采用了ASP.NET作为网站应用的构建技术,因此下面提到的一些工具有些来自开源社区,有些是共享软件,当然也有一些商业软件。这里不是要求你使用所有的工具,也不是说必须使用那个工具,只是一一展示利用各种工具能够让你省却你曾经以为不可能缩减的工作。我不想去熬述软件开发过程的各个环节,毕竟那样的课题不是这点文字可以解决的,我想讨论的是一个标准的网站应用开发的各个环节你可能使用的工具。而一个网站开发过程不外乎需求——数据库设计——建模——实现——测试——部署这样粗线条的东西。

Visio(for Enterprise Architect 2003)

       有很多种理由去推荐这个工具,如果你从事VS.NET开发,这是最好的数据库工具,也是最容易使用的数据库建模工具,或许你已经习惯了Power Designer或者ERWin这样的数据库建模工具,会觉得Visio

[1] [2] [3] 下一页

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
高级搜索
编程资料集中营