系统架构:项目经理、系统架构师或技术骨干应该具备的...

作为一名项目经理、系统架构师或技术骨干,其水平如何,关系到公司的项目管理、软件质量管理等方面的问

题。项目经理或技术骨干应该要起带头作用,使整个团队的开发及管理能达到一种更高的水平。

那作为一名项目经理或公司技术骨干应该学会那些工具及知识点呢?涉及到这一块的工具及技术点非常多,如

何去选择,是摆在项目经理、系统架构师跟技术骨干面前的问题。根据公司及团队的情况,选择合适的工具或

技术框架,这一点非常重要。在项目的不同阶段,需要有不同的工具来支持。

按照软件系统的生命周期的六个阶段,一般分为需求分析阶段、系统设计阶段、系统开发阶段、软件测试阶段

、系统发布阶段、系统维护阶段,这几个阶段都需要有不同工具的支持。

一、需求分析阶段:

第一、项目管理及需求管理工具

项目管理工具很多公司都在使用,为什么要使用这些工具?假如没有使用这些工具,而是使用Excel或Word进

行记录,那当需求变更?需求实现情况的跟踪?软件是否能按时交付?将是一件非常烦锁且容易出错的事情。

一个软件项目、开发团队能否获得成功,管理非常关键。比较有名的商业化工具有:MicroSoftProjectServer

及Project2003、IBMRationalRequisitePro、JIRA、PowerDesinger。比较有名的开源需求管理工具包括:

OSRMT(OpenSourceRequirementsManagementTools)、Xplanner、Openworkbench等等。

很多软件公司都会使用SharePoint,在SharePoint平台上,只要你想得到,基本上都可以通过配置方式来满足

你的业务需求。在SharePoint上,可以跟MicroSoftProjectServer很好的结合,再配置Project2003为客户

端,进行公司的项目管理。也许对Project操作习惯的问题,在Web界面进行项目管理的时候,总觉得很不方便

IBMRationalRequisitePro(http://www.ibm.com)可以算是最骨灰级的一个软件了,假如你公司整个软

件生命周期管理都是采用IBM的解决方案,那使用RequisitePro是一个非常好的解决方案。需要这些软件可以

到IBM官方网站上去下载一个最新版本,或者在电驴上面下载一些“特别”版本。设计工具、管理工具的完美

结合,这个正是IBMRationalRequisitePro的强项。RequisitePro跟Offce结合得也是非常完美。

JIRA(http://www.atlassian.com)原来只是一个缺陷跟踪系统,你可以在JIRA上面创建新的ISSUE,当

ISSUE分配给某个程序员时,系统会自动发送一封邮件给该程序员,提示有新的BUG。JIRA也有提供一个

Eclipse插件,你可以在Eclipse上面,查到属于自己的ISSUE,并快速解决。现在JIRA也可以用来做项目管理

,在操作方面非常人性化,个人一直非常喜欢使用JIRA来进行项目管理、缺陷管理,再结合Eclipse,简直就是

完美!但作为商业的软件,价格也非常贵,互联网上也有很多Crack,大家有兴趣也可以搜一下。

OSRMT(http://sourceforge.net/projects/osrmt)是一个开源的需求管理工具,分为客户端跟服务器,也

提供了一个安装界面供用户安装,做开源的已经算是做得非常完美了。当前最新版本是V1.5,有兴趣的朋友可

以下载一个最新版本玩一下,操作还算是挺人性化的。

Xplanner(http://www.xplanner.org)是一个开源的,基于XP编程的项目管理软件,它可以帮我们生成一

些统计图表。这个软件从06年底发布0.7b7版后,就再也没有更新过了,我对开源工具的看法就是:版本号没

有超过1.0版,我都不会应用于生产!对于Xplanner,也是停留在试用的阶段。

Openworkbench(http://www.openworkbench.org)也是一个开源的项目管理软件,其功能跟Project

2003相似,是一个值得大家去使用的一个工具,但对于中国很多软件公司,都是使用特别版的Project2003。

假如你很尊重版权,又不想使用Project2003,那Openworkbench是一个非常好的选择。

第二、需求分析工具

需求分析工具用得比较多可能就是RationalRose、MicroSoftVisio或MindManager,一般我们使用

RationalRose来进行用例分析,画用例图,画状态图;使用MicroSoftVisio来画出应用系统的结构图、流程

图等。当然,对于MicroSoftVisio能画出来的东西,其实Rose也一样可以实现,只是,大家都是这么干,我们

也没有必要专门去做一些特例的东西,特别是对于一些比较特殊的公司及行业。

RationRose2003是一个值得怀念的工具,至今还是有很多公司跟个人都是使用,个人觉得这个软件版本算是

最经典的一个,但对于现在所见即所得的要求下,使用Rose2003,可能没有办法满足你,因为它需要经过一

些小操作才能满足你的要求。但不可否认,它是一个非常优秀的软件。现在对于一些喜欢使用新工具新技术的

程序员,也许现在他们正在使用RSA。

MicroSoftVisio(http://www.microsoft.com)是每个搞设计的人都会用的一个工具,我们一般使用

Visio来画系统结构图、关键流程图、系统部署结构图等。MicroSoftVisio也提供了UML的功能,可以用它来

画用例图、类图、状态图,时序图等,但一般这个功能很少使用。至少我基本上不用。

MindManager(http://www.mindjet.com)是一个非常好用的工具,我们用来描述我们的思维,很多人都

不喜欢通过软件来描述,而是通过一张纸,然后在上面进行涂鸦,接着跟客户或团队进行思维沟通。

MindManager很好地解决了这个问题。MindManager跟Office结合得非常完美,可以生成Word、Excel、

PDF等文件。这个工具是我一直在使用的一个软件,非常好用。最新版本为7,大家有兴趣可以下载一个试用一

下,也可以在网搜搜索一些“特别”版本。

二、系统设计阶段:

第一、系统设计工具

主流的系统设计工具有大家非常熟悉的Rose2003,不过,现在已经不叫Rose了,现在IBM最新的设计工具是

RSA(RationSoftwareArchitect),BorlandTogether,SyBasePowerDesinger,MicroSoftVisio,对于

开源的系统设计工具也有很多,比如ArgoUML、DBDesigner等等。

RSA(http://www.ibm.com):IBM最新的设计工具,它是一个基于Eclipse平台的一个工具,对于你使用

RSA,那也许你会将你的整个团队的工具都采用IBM的整套解决方案,使用RequisitePro来进行需求管理、使

用RSA来进行建模、使用ClearCase来进行配置管理、使用ClearQuest来进行缺陷跟踪、使用RFT(Rational

FunctionalTester)来进行测试……RSA有一个最大的优点,那就是跟Word结合得非常好。这一点可以肯定。

Together(http://www.borland.com):Borland公司的NB的设计工具,Together2006版本也是一个基

于Eclipse平台的软件,功能也是非常强大,其所见所得的功能,是我非常喜欢它的一个原因。还有一个原因就

是基于Eclipse平台,这个可以跟我的开发工具很完美地整合在一起。不过,整合要注意一个问题,那就是

Eclipse兼容性问题,这一点是非常烦人的。

PowerDesigner(http://www.sybase.com):PowerDesigner是“一站式”建模与设计解决方案,物理数

据模型的数据库平台无关性,所见即所得,反向工程,报表生成等等功能,使得它成为数据库设计人员心目中

最好的产品,它的易用性深深地吸引了我!特别它的Repository模型库的功能,更让我们实现了模型设计的版

本控制。最新的PowerDesigner,使得我觉得它是一件艺术品。做设计的人员一般会使用PowerDesigner来进

行数据库物理模型设计,它是我心目中的首选工具。之前曾经对比过RSA、Together、ERWin的数据库模型设

置工具,最终我还是更加喜欢使用PowerDesigner,也许,我的操作习惯已经被PowerDesigner腐蚀。

第二、开发的技术框架

技术框架的选择是非常关键,一个好的技术框架,可以让我们的开发更加快速、团队的分工更加合理、系统能

够支持多种数据库平台、我们的维护更加方便。

Web前端MVC框架是Struts2。Struts2可以说是Struts穿上了WebWork的外衣,其内核大部分都是采用了

WebWork的技术,并且基于AOP的设计思想,让我们在软件设计上的能够更加多地体现“高内聚,低耦合

”的设计思想。

J2EE框架是Spring,作为一个开源的J2EE框架,虽然它没有太多的新技术点,但它的整合性,拿得我们的开发

更加简单,IOC、AOP、事务处理、开源框架的整合支持等等,使得作为一个J2EE框架的首选。

持久层框架是Hibernate,作为一个开源的项目,我想,没有一个开源项目的社区能够你Hibernate一样,丰

富的文档,活跃的社区,基于Hibernate的开发团队的庞大,使得它作为持久层框架的首先。基于

Hibernate,我们可以开发出数据库平台无关性的产品。但是,Hibernate也有自身的问题,假如使用不当,也

许会有所失控,一旦失控,它所带来的,就是性能问题。对于最新的Hibernate3,存储过程的支持,外部

SQL的定制,很好地解决了这个问题。但在关联关系上,使用还是要小心为好。

页面框架,可以多考虑使用DIV技术、JSTL标签库、Struts2标签库、DWR、AJAX、XML+XSLT等技术来让

我们页面更好维护,使用OSCache缓存技术来提高我们页面的访问速度。

第三、开发规范的定制

文件命名规范、数据库设计规范、编码规范、团队协作规定等等一些规范性的东西,需要在系统开发前就规定

好,并且做相应的培训。QA也要做好监督的作用,定期做评审工作,对已发生的问题及可能出现的问题,及早

发现,及早处理。

第四、开发工具的选择

团队一定要选择同样的开发工具,开发工具相同,软件版本相同。为什么要这样子做,其实假如你作为一个

TeamLeader,你会在管理你的团队的时候发现很多问题,而解决这个问题,那在项目编码前,就把什么东西

都规定好,以免其中发生问题,影响整个团队的开发速度。开发工具的选择也是非常重要的,目前企业用得比

较多的开发工具有:Eclipse、Jbuilder、NetBeans、IDEA。

Jbuilder:最新的Jbuilder版本是2007,2007版基本上可以算是重新开发的版本,因为它是基于Eclipse之上

的。我算是Borland公司最为忠实的Fans啦,从Jbuilder6,到Jbuilder7,再到Jbuilder8,再到Jbuilder9、

JbuilderX,Jbuilder2005,Jbuilder2006,我经常跟我学生说,对于Jbuilder,相信没有人比我更熟悉他了

,做Java开发接近6年时间,超过4年的时间,每天都都在使用的工具,Jbuilder见证了我的长成。使用过

Jbuilder的人很多人知道一点,就是Jbuilder的盗版问题,安装完Jbuilder之后,假如你一个不小心,没有安装

防火墙,那Jbuilder会不时通过8888端口向Borland总部发送一些你的计算机信息,这个是一种非常可怕的

“木马”,什么是“木马”?这个就是!这种情况自从JbuilderX以后就一直有。假如你不怕Borland公司的人

跟工商局过来查你公司的软件的话,那选择Jbuilder是一个不错的选择。作为JavaIDE开发平台的老大

,Jbuilder在企业应用开发是非常有优势的,特别是开发EJB跟WebService,偶只能用一个句来形容,那就是

牛。Jbuilder2007,王者归来,相信对于很多Borland的Fans,还是非常喜欢并乐意去尝试的,不过,价格还

是会让很多公司都受不了、速度会让很多程序员也受不了。我的Jbuilder的缘分到2006就基本上已经结束了。

现在我的开发环境基本上都是Eclipse。

Eclipse:IBM捐出来的好东西,发展挺快的,现在已经到了Eclipse3.3,非常好用的一个工具。但Eclipse只是

一个基础平台,假如你需要其他的功能,那你需要下载相关的插件进行扩展,下载的插件要注意一下跟

Eclipse平台的兼容性问题。Eclipse+MyEclipse(http://www.myeclipseide.com)是个是很多WEB开发人员

都是在采用的一个整合工具,但MyEclipse要钱,如果公司愿意为此支付29.9美元的话,那它是一个非常好的

选择;比MyEclipse更上一个档次的还有Exadel(http://www.exadel.com/web/portal/home),不过,价

格贵得离谱,因为它本身就是一家咨询服务公司做出来,主要还是靠咨询服务,培训挣钱,并且,运行时的不

稳定,也让我放弃了选择这个插件作为我的开发工具,虽然这个工具真的是很强大。Eclipse+WTP(

http://www.eclipse.org)也是一个非常好的免费的开发工具,从eclipse官方网站上可以下载WTP跟

Eclipse整合在一起的工具,现在教学基本上用这个。Lomboz(http://lomboz.objectweb.org/)也是一个非

常好用的免费J2EE插件,学生用的很多,因为好像有不少书都是用这个进行教学的。通过插件来的扩展本来是

一件好事,但当它的版本问题?兼容性问题?安全性问题?语言问题?出现的时候,你就会骂着,为什么不提

供一站式开发平台呢?如果你下载了语言包,你会发现,有些地方是中文的,有些地方是英文的,极其丑陋

!也许,Eclipse作为一个基础平台,它确实是太基础了。但现在,我们也可以下载一些All-In-One版本的

Eclipse,但个人感觉还是不够,很多功能,我们还需要去找插件来进行扩展。也许,Eclipse的决策者认为,作

为基础平台,肯定是越简单越好,需要什么就加什么,这样,资源占用会更少。正如东方标准最咨深的平面老

师曾宇飞讲过一句话:你会去麦当劳点酸菜鱼吃吗?

NetBeans:作为Sun公司出品的开发工具,功能一样也是非常强大,不管你是做应用程序开发还是做应用系统

开发,NetBeans都是一个不错的选择。NetBeans也跟Eclispe一样,也是一个基础平台,但这个基础平台做得

比Eclipse强大很多,基本上你下载一个NetBeans就可以开发应用程序或J2EE应用系统了。并且,NetBeans的

中文支持非常好,基本上一个新版本出来,就已经有中文版、英文版跟日语版了。看来,NetBeans的决策者还

是比较看好这些人群的。NetBeans的Mobile插件开发J2ME是最快最好用的,至少我个人这么认为。开发

J2ME应用产品,我首选的就是NetBeans。目前NetBeans已经发展到6.0的版本了,界面非常华丽,有兴趣的

朋友可以下载一个玩一下。NetBeans的下载地址是:http://www.netbeans.org。

IDEA:对于IDEA的评价,我只能用六个字来形容,那就是:实用的艺术品。它非常好用,界面非常华丽,相

当如果你是一个女性的项目经理或技术牛人,你会喜欢上这件艺术器的。IDEA开发应用程序非常强大,这一点

绝对可以肯定。官方提供的插件也非常丰富,当你需要那一方面的功能,基本上都可以找得到,找插件,你只

需要在官方插件库里面去找就可以了,并且自动安装,自动更新。作为2003年拿到JavaWorld大将的一个作品

,相信,它可以带来很多IDEA的创新。它是属于商业化的工具,价格也只有499美元,而个人买也就249美元

,如果你愿意牺牲某些功能,那你完全可以下载一个免费的版本。价格方面,个人觉得完全对得起这件艺术品

价值。有兴趣的话可以下载一个试用版玩一下:http://www.jetbrains.com/idea,小声地说,上一下

baidu,插件一下,其实你可以找到很多注册号。

Ant是apache的一个开源项目,可以从Ant官方网站上下载一个最新的版本:http://ant.apache.com。虽然

该项目虽然现在发展变得非常缓慢,但可以非常肯定地讲,它是一个好东西。我们可以使用ant来对我们整?

相关推荐