三、开发阶段
第一、配置管理工具
代码管理工具有很多,现在公司用得比较多的代码管理工具有CVS、VSS、SVN。
对于一个开发团队只有2-5个人,并且这两三个人是同一间办公室里,那使用VSS是一个非常不错的选择,个人觉得他小团队的管理方面非常好用。个人觉得VSS唯一的缺点就是一个文件当被一个人锁定,那其他人就没有办法进行修改了,当一个文件为多个人所共用且开发团队人数较多时,这种问题将会显示非常严重。VSS客户端跟服务器你都可以从Visio Studio里面找到。
Eclipse的VSS客户端插件:http://vssplugin.sourceforge.net/
对于一个开发团队有超过5个人,那此如选择CVS或SVN将是一个更好的选择,并且,假如你的团队是分散的,可能不在一间办公室或者根本不在同一个城市,那使用CVS或SVN是一个非常更想的选择。CVS的服务器一般是使用CVSNT或CVSServer。
CVSServer:
Linux for X86:http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-linux/RPMS/i386/
Window for X86:http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/
CVSNT:http://www.cvsnt.org/
CVSClient:
WinCVS:http://www.wincvs.org
TortoiseCVS:http://www.tortoisecvs.org/
JBuilder、Eclipse、NetBeans、IDEA集成的CVS客户端
作为版本管理工具,CVS出现至今,已经有二十个年头,可以说他已经走到了尽头,但可以肯定,它将继续存在着。SVN是作为CVS的代替产品而出现的。现在很多开源组织,都慢慢地转到SVN上,比如Apache跟SourceForge。SVN有着比CVS更强大的功能,比如,它可记录目录的更改,它的性能比CVS会快很多等等。目前SVN慢慢地被企业所接受,但个人觉得其Eclipse的客户端的稳定性还有待提高,也许这个跟Eclipse的版本兼容性有一定关系。但这些不稳定性,让我现在对这个产品的使用还继续停留在试用的阶段。
SVNServer:http://subversion.tigris.org/
SVNClient:
TortoiseSVN :http://tortoisesvn.net/
Eclipse插件:http://subclipse.tigris.org/
目前SVN插件支持包括Eclipse、Jdeveloper、NetBeans等开发工具。
第二、知识库管理工具
团队每一个人在开发的时候都会发现一些问题,最终,有些问题可能没有办法解决,有些问题可以解决。一般情况,大部分问题经过团队成员的共同努力,都是可以解决的,那解决问题的方法,解决问题的步骤,这些都应该形成知识。作为一个团队的Leader,我们必须重视这些知识,因为,这些知识非常有用,它对于一些新手或没有遇到此类问题的同事,能够提供相应的帮助。
Confluence(http://www.atlassian.com/software/confluence ),跟JIRA来自同一家公司的产品,它跟JIRA可以整合得非常好。我们可以通过JIRA的ISSUE,将该ISSUE上升为一个知识。假如你是使用JIRA来进行项目管理跟缺陷管理,那使用Confluence是一个最佳选择。
PHPBB(http://www.phpbb.com ),论坛其实也是一个非常好的知识库管理工具,当某一个工程师遇到一些疑难杂症的时候,最终,通过自己的努力或团队其他同事的努力,终于解决问题了。那作为Leader的你,应该鼓励他们将这些知识,写一些文章,然后发布在公司自己的BBS上。供大家参考及讨论。这个是一种很好的方法。记得我以前,我在网上看到一些有用的信息,我就把它保存在我本机的PHPBB上。只可怜,后来电脑被人偷了。贼郁闷。
四、软件测试阶段
第一、缺陷管理工具
软件你不能保证它永远不会错,只是,有些错误你暂时还没有发现而已;有些错误需要在某些特定的环境下它才会发生。就像Windows,时不时会有一些系统更新文件要求更新。可能这些更新不是错误,只是一些系统安全方面的隐患。这些都可以算是软件系统的缺陷。那这些缺陷我们应该怎么进行管理?怎么进行跟踪呢?现在缺陷管理用得比较多的有两个:第一个是开源的bugzilla,另一个是商业的JIRA。
Bugzilla(http://www.bugzilla.org ),作为开源界缺陷管理系统的鼻祖,它发展到现在已从98年到现在经有10的时间了。它的开发语言是Perl,这使得它的安装变得很麻烦,Bugzilla可以安装在Windows、Linux、Unix等操作系统上。现在的Eclipse也提供了对它的支持,我们可以在Eclispe平台上,找到应用系统的BUG,功能做得非常强大。如果安装能更加轻松一点,或者提供一个All-In-One版本,那会更好!
JIRA,作为商为上化的缺陷管理系统,JIRA的价格对得起它的功能。JIRA不只是一个缺陷管理系统,它更是一个集项目管理、缺陷管理、统计分析为一身的工具。这个工具我一直在使用,只是使用一些“特别”版本而已。
第二、软件性能监测工具
Jprofiler(http://www.ej-technologies.com )是一个非常好的性能监测工具,使用这个工具,你可以快速发现系统那些模块出现性能瓶颈或算法导致的性能问题;它还可以分析内存泄漏的问题。这个工具也提供了相应的Eclipse插件,让你开发更加快速方便。它支持主流的服务器。
Borland Optimizeit Suite(http://www.borland.com )也是一个非常好的性能监测工具,它跟Borland产品整合得非常好。不过,运行这个工具,你最好准备一下,最好有2G内存,否则,本来系统好好的,一运行起来,你机器反而死掉了。
第三、软件性能测试工具
Ant+Windows计划任务创建公司的DailyBuild自动化测试流程,这个是以前做的一个测试流程。使用这种测试流程,无非一个目的,就是提高公司的软件质量。
Jmeter(http://jakarta.apache.org/jmeter ),这个工具是apache出品的,作为apache忠实的Fans,我对Jmeter也是很喜欢,使用Jmeter,你可以摸似多用户环境,对应用系统进行测试,测试整个应用系统能够承受的最大并发量。
LoadRunner(http://www.hp.com ),假如你不知道这个软件,那你肯定做不了测试工程师,这个是最专业的一个软件性能测试工具,它可以模似上千万个用户量来进行压力测试,检测系统能够承受的最大并发量。这个软件我只用过几次,编写脚本,进行测试,使用来讲其实算是比较简单。
五、软件发布
软件的发布我们会怎么去做呢?我们一般做法就是,将数据库脚本化,包括建表语句、初始化数据等,还有制作WAR文件或EAR文件。然后到客户那边,我们需要将数据库表及数据进行初始化,接着,将WAR或EAR文件发布到应用服务器上。这个也许是我们到客户现在发布经常在做的一件事情。那能不能做得更加简单呢?做法一般有两个,第一个就是使用Ant,编写一个初始化数据库跟发布应用程序模块的Ant脚本,然后到生产机上直接运行该脚本即可;第二个就是制作安装文件,一般用来制作安装文件的有IzPack,这个是用得最多的一个免费工具,你可以使用这个免费工具来制作安装程序。也许客户都习惯了安装程序的安装方式了,制作一个可执的安装程序,有助于提高软件产品化的档次。
六、软件维护阶段
第一、客户CASE跟踪管理工具
客户CASE跟踪系统相信很多做CISCO公司金牌代理的人都会用过。我们必须在公司内部建立相应的CASE跟踪制度。当用户使用系统的时候,发现一些问题,那我们需要对这些问题进行录入并进行跟踪。像客户呼叫服务系统等等一些商业化的软件外面还是很多的,这些系统其实公司自己开发一个也是很快的。但必须要有。这个也是提高整个公司整体服务形象的一种态度。
分享到:
相关推荐
大数据架构师是IT行业中负责构建和管理大规模...综上所述,大数据架构师的角色涵盖了从技术实施到团队管理的各个方面,他们不仅需要掌握复杂的技术栈,还需要具备出色的领导力和创新能力,以适应快速变化的大数据环境。
毕业生的培养方向包括软件开发工程师、软件项目经理、系统分析师以及技术研究专家等。为了达成这些目标,学生们必须具备扎实的数学和计算机科学基础,并且熟悉软件开发全过程的关键技能。这要求他们在学术上掌握深厚...
1. **塔顶层**:这部分人才主要包括产品经理、资深项目经理和资深系统分析师等。他们通常具备深厚的软件开发经验、精通相关行业知识,并拥有出色的沟通技巧,能够有效地与客户交流。这类人才不仅需要具备扎实的软件...
- **网络系统设计师**:主要负责设计网络架构,并参与网络建设项目的实施。 网络工程师的职业发展路径清晰且具有较高的晋升空间。无论是从技术角度还是管理层面来看,网络工程师都拥有广阔的发展前景和无限的可能...
2. **系统设计师**:参与需求分析,负责设计系统的总体架构和技术选型。 - **技术选型**:根据项目需求选择合适的技术栈。 - **详细设计**:制定详细的设计方案和技术文档。 3. **程序员**:在设计师的指导下,...