版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.系统分析及UML建模软件开发的阶段:包括可行性研究、需求分析、系统设计、编码、测试、部署、运行、维护等。可行性研究1.全国会计专业技术资格考试网上集中评卷可行性报告介绍2.全国会计专业技术资格无纸化考试可行性报告介绍需求分析需求Requirement是系统必须满足的条件或必须实现的性能,是用户对目标软件系统在功能、行为、性能、约束等方面的期望。系统分析Analysis的目的是将系统需求转化为能更好地将需求映射到软件设计师所关心的实现领域的形式,如通过分解将系统转化为一系列的类和子系统。良好的需求分析活动有助于防止或修正软件的早期错误,提高软件生产率,降低开发本钱,改良软件质量。考前须
2、知:改良不合理的、或不合实际的需求当需求不明确时,可以利用快速原型,引导用户提出需求。可以将系统的需求划分为以下几个方面:功能性需求:是指系统需要完成的功能,它通过详细说明系统的输入和输出条件来描述系统的行为。非功能性需求,主要有:使用性Usability:如易学性、易用性、用户界面、用户文档等可靠性Reliability:是指系统能正常运行的概率,如系统的失败程度、系统的可恢复性、可预测性和准确性。性能Performance:如事件的响应时间、存占有量等。可支持性Supportability:指易测试性、可维护性等。如测试工具:LoadRunner、APP Scan、 Fortify SCA
3、等。设计约束:如对操作系统的要求、硬件网络的要求等。以一个简单的图书管理系统为例进展系统建模。创立系统的用例模型进展系统分析和设计的第一步就是创立系统的用例模型,整个开发过程都是围绕系统的需求用例表述的问题和问题模型进展的。创立系统用例的第一步是确定系统的参与者,各自的任务、工作流程等。图书管理系统的参与者一般包含以下几种:借阅者:能够借阅图书、查询图书信息、预定图书和归还图书操作。图书管理员:处理借阅者借阅图书和归还图书。系统管理员:负责图书、借阅者、图书管理员等的信息维护。在Use Case View中建立3个Actor 可以为每个参与者建立一个活动图,因为活动图能够反映出参与者的工作流程
4、,例如,以下是图书管理员的活动图。如图:建立顶层用例图,由于系统比拟简单在此可以省略。分别建立每个参与者的用例图如图1:如图2:如图3:创立系统静态模型确定系统中的类以及类之间的联系。首先可以确定参与者类及其根本属性。这里有3个参与者类,它们的类图如下:如图 :这个阶段的类图一般是概念层的类图确定在系统中的主要实体类,实体类是要在数据库中进展存储的。这里主要有图书类、预定信息可以确定预定类、借阅信息确定借阅类,类图如下:如图:根据对处理业务的不同设计出各种处理业务的界面类边界类。可以为用例建立一个顺序图序列图,顺序图是一个二维图形。在顺序图中水平向为对象维,沿水平方向排列参与交互的对象类角色;
5、竖向为时间维,沿垂直向下方向按时间递增顺序列出各对象类角色所发出和接收的消息。这样可以通过对象发现对象类。如图与顺序图等价的协同图:建立上述发现的类之间的关系。如图 :软件工程框架及工具的选择作为一名工程经理、系统架构师或技术骨干,其水平如何,关系到公司的工程管理、软件质量管理等方面的问题。工程经理或技术骨干应该要起带头作用,使整个团队的开发及管理能到达一种更高的水平。那作为一名工程经理或公司技术骨干应该学会那些工具及知识点呢?涉及到这一块的工具及技术点非常多,如何去选择,是摆在工程经理、系统架构师跟技术骨干面前的问题。根据公司及团队的情况,选择适宜的工具或技术框架,这一点非常重要。在工程的不
6、同阶段,需要有不同的工具来支持。按照软件系统的生命周期的六个阶段,一般分为需求分析阶段、系统设计阶段、系统开发阶段、软件测试阶段、系统发布阶段、系统维护阶段,这几个阶段都需要有不同工具的支持。一、需求分析阶段:第一、工程管理及需求管理工具工程管理工具很多公司都在使用,为什么要使用这些工具?假设没有使用这些工具,而是使用E*cel或Word进展记录,那当需求变更?需现情况的跟踪?软件是否能按时交付?将是一件非常烦锁且容易出错的事情。一个软件工程、开发团队能否获得成功,管理非常关键。比拟有名的商业化工具有:MicroSoft Project Server及Project 2003、IBM Rati
7、onal RequisitePro、JIRA、PowerDesinger。比拟有名的开源需求管理工具包括:OSRMT(Open Source Requirements Management Tools)、*planner、Openworkbench等等。很多软件公司都会使用SharePoint,在SharePoint平台上,只要你想得到,根本上都可以通过配置方式来满足你的业务需求。在SharePoint上,可以跟MicroSoft Project Server很好的结合,再配置Project 2003为客户端,进展公司的工程管理。也许对Project操作习惯的问题,在Web界面进展工程管理的时
8、候,总觉得很不方便。IBM Rational RequisitePro.ibm./ 可以算是最骨灰级的一个软件了,假设你公司整个软件生命周期管理都是采用IBM的解决方案,那使用RequisitePro是一个非常好的解决方案。需要这些软件可以到IBM官方上去下载一个最新版本,或者在电驴上面下载一些特别版本。设计工具、管理工具的完美结合,这个正是IBM Rational RequisitePro的强项。RequisitePro跟Offce结合得也是非常完美。JIRA.atlassian./ 原来只是一个缺陷跟踪系统,你可以在JIRA上面创立新的ISSUE,当ISSUE分配给*个程序员时,系统会自动
9、发送一封给该程序员,提示有新的BUG。JIRA也有提供一个Eclipse插件,你可以在Eclipse上面,查到属于自己的ISSUE,并快速解决。现在JIRA也可以用来做工程管理,在操作方面非常人性化,个人一直非常喜欢使用JIRA来进展工程管理、缺陷管理,再结合Eclipse,简直就是完美!但作为商业的软件,价格也非常贵,互联网上也有很多Crack,大家有兴趣也可以搜一下。OSRMT 是一个开源的需求管理工具,分为客户端跟效劳器,也提供了一个安装界面供用户安装,做开源的已经算是做得非常完美了。当前最新版本是V1.5,有兴趣的朋友可以下载一个最新版本玩一下,操作还算是挺人性化的。*planner.
10、*/ 是一个开源的,基于*P编程的工程管理软件,它可以帮我们生成一些统计图表。这个软件从06年底发布0.7b7版后,就再也没有更新过了,我对开源工具的看法就是:版本号没有超过1.0版,我都不会应用于生产!对于*planner,也是停留在试用的阶段。O/ 也是一个开源的工程管理软件,其功能跟Project 2003相似,是一个值得大家去使用的一个工具,但对于中国很多软件公司,都是使用特别版的Project 2003。假设你很尊重,又不想使用Project 2003,那Openworkbench是一个非常好的选择。第
11、二、需求分析工具需求分析工具用得比拟多可能就是Rational Rose、MicroSoft Visio或MindManager,一般我们使用Rational Rose来进展用例分析,画用例图,画状态图;使用MicroSoft Visio来画出应用系统的构造图、流程图等。当然,对于MicroSoft Visio能画出来的东西,其实Rose也一样可以实现,只是,大家都是这么干,我们也没有必要专门去做一些特例的东西,特别是对于一些比拟特殊的公司及行业。Ration Rose 2003是一个值得思念的工具,至今还是有很多公司跟个人都是使用,个人觉得这个软件版本算是最经典的一个,但对于现在所见即所得的
12、要求下,使用Rose 2003,可能没有方法满足你,因为它需要经过一些小操作才能满足你的要求。但不可否认,它是一个非常优秀的软件。现在对于一些喜欢使用新工具新技术的程序员,也许现在他们正在使用RSA。MicroSoft Visio.microsoft./ 是每个搞设计的人都会用的一个工具,我们一般使用Visio来画系统构造图、关键流程图、系统部署构造图等。MicroSoft Visio也提供了UML的功能,可以用它来画用例图、类图、状态图,时序图等,但一般这个功能很少使用。至少我根本上不用。MindManager.mindjet./ 是一个非常好用的工具,我们用来描述我们的思维,很多人都不喜欢
13、通过软件来描述,而是通过一纸,然后在上面进展涂鸦,接着跟客户或团队进展思维沟通。MindManager很好地解决了这个问题。MindManager跟Office结合得非常完美,可以生成Word、E*cel、PDF等文件。这个工具是我一直在使用的一个软件,非常好用。最新版本为7,大家有兴趣可以下载一个试用一下,也可以在网搜搜索一些特别版本。二、系统设计阶段:第一、系统设计工具主流的系统设计工具有大家非常熟悉的Rose2003,不过,现在已经不叫Rose了,现在IBM最新的设计工具是RSARation Software Architect,Borland Together,SyBase Power
14、Desinger,MicroSoft Visio,对于开源的系统设计工具也有很多,比方ArgoUML、DBDesigner等等。RSA.ibm./ :IBM最新的设计工具,它是一个基于Eclipse平台的一个工具,对于你使用RSA,那也许你会将你的整个团队的工具都采用IBM的整套解决方案,使用RequisitePro来进展需求管理、使用RSA来进展建模、使用ClearCase来进展配置管理、使用ClearQuest来进展缺陷跟踪、使用RFT(Rational Functional Tester)来进展测试RSA有一个最大的优点,那就是跟Word结合得非常好。这一点可以肯定。Together.b
15、orland./ :Borland公司的NB的设计工具,Together 2006版本也是一个基于Eclipse平台的软件,功能也是非常强大,其所见所得的功能,是我非常喜欢它的一个原因。还有一个原因就是基于Eclipse平台,这个可以跟我的开发工具很完美地整合在一起。不过,整合要注意一个问题,那就是Eclipse兼容性问题,这一点是非常烦人的。PowerDesigner.sybase./ : PowerDesigner是一站式建模与设计解决方案,物理数据模型的数据库平台无关性,所见即所得,反向工程,报表生成等等功能,使得它成为数据库设计人员心目中最好的产品,它的易用性深深地吸引了我!特别它的R
16、epository模型库的功能,更让我们实现了模型设计的版本控制。最新的PowerDesigner,使得我觉得它是一件艺术品。做设计的人员一般会使用PowerDesigner来进展数据库物理模型设计,它是我心目中的首选工具。之前曾经比照过RSA、Together、ERWin的数据库模型设置工具,最终我还是更加喜欢使用PowerDesigner,也许,我的操作习惯已经被PowerDesigner腐蚀。第二、开发的技术框架技术框架的选择是非常关键,一个好的技术框架,可以让我们的开发更加快速、团队的分工更加合理、系统能够支持多种数据库平台、我们的维护更加方便。Web前端MVC框架是Struts 2。
17、Struts 2可以说是Struts穿上了WebWork的外衣,其核大局部都是采用了WebWork的技术,并且基于AOP的设计思想,让我们在软件设计上的能够更加多地表达高聚,低耦合的设计思想。J2EE框架是Spring,作为一个开源的J2EE框架,虽然它没有太多的新技术点,但它的整合性,拿得我们的开发更加简单,IOC、AOP、事务处理、开源框架的整合支持等等,使得作为一个J2EE框架的首选。持久层框架是Hibernate,作为一个开源的工程,我想,没有一个开源工程的社区能够你Hibernate一样,丰富的文档,活泼的社区,基于Hibernate的开发团队的庞大,使得它作为持久层框架的首先。基于
18、 Hibernate,我们可以开发出数据库平台无关性的产品。但是,Hibernate也有自身的问题,假设使用不当,也许会有所失控,一旦失控,它所带来的,就是性能问题。对于最新的Hibernate3,存储过程的支持,外部SQL的定制,很好地解决了这个问题。但在关联关系上,使用还是要小心为好。页面框架,可以多考虑使用DIV技术、JSTL标签库、Struts 2标签库、DWR、AJA*、*ML+*SLT等技术来让我们页面更好维护,使用OSCache缓存技术来提高我们页面的访问速度。第三、开发规的定制文件命名规、数据库设计规、编码规、团队协作规定等等一些规性的东西,需要在系统开发前就规定好,并且做相应
19、的培训。QA也要做好监视的作用,定期做评审工作,对已发生的问题及可能出现的问题,及早发现,及早处理。第四、开发工具的选择团队一定要选择同样的开发工具,开发工具一样,软件版本一样。为什么要这样子做,其实假设你作为一个Team Leader,你会在管理你的团队的时候发现很多问题,而解决这个问题,那在工程编码前,就把什么东西都规定好,以免其中发生问题,影响整个团队的开发速度。开发工具的选择也是非常重要的,目前企业用得比拟多的开发工具有:Eclipse、uilder、NetBeans、IDEA。uilder:最新的uilder版本是2007,2007版根本上可以算是重新开发的版本,因为它是基于Ecli
20、pse之上的。我算是Borland公司最为忠实的Fans啦,从uilder6,到uilder7,再到uilder8,再到uilder9、uilder *,uilder 2005,uilder 2006,我经常跟我学生说,对于uilder,相信没有人比我更熟悉他了,做Java开发接近6年时间,超过4年的时间,每天都都在使用的工具,uilder见证了我的长成。使用过uilder的人很多人知道一点,就是uilder的盗版问题,安装完uilder之后,假设你一个不小心,没有安装防火墙,那uilder会不时通过8888端口向Borland总部发送一些你的计算机信息,这个是一种非常可怕的木马,什么是木马?
21、这个就是!这种情况自从uilder *以后就一直有。假设你不怕Borland公司的人跟工商局过来查你公司的软件的话,那选择uilder是一个不错的选择。作为Java IDE开发平台的老大,uilder在企业应用开发是非常有优势的,特别是开发E跟WebService,偶只能用一个句来形容,那就是牛。uilder 2007,王者归来,相信对于很多Borland的Fans,还是非常喜欢并乐意去尝试的,不过,价格还是会让很多公司都受不了、速度会让很多程序员也受不了。我的uilder的缘分到2006就根本上已经完毕了。现在我的开发环境根本上都是Eclipse。Eclipse:IBM捐出来的好东西,开展挺
22、快的,现在已经到了Eclipse3.3,非常好用的一个工具。但Eclipse只是一个根底平台,假设你需要其他的功能,那你需要下载相关的插件进展扩展,下载的插件要注意一下跟Eclipse平台的兼容性问题。Eclipse+MyEclipse.myeclipseide./ 是个是很多WEB开发人员都是在采用的一个整合工具,但MyEclipse要钱,如果公司愿意为此支付29.9美元的话,那它是一个非常好的选择;比MyEclipse更上一个档次的还有E*adel.e*adel./web/portal/home ,不过,价格贵得离谱,因为它本身就是一家咨询效劳公司做出来,主要还是靠咨询效劳,培训挣钱,并且
23、,运行时的不稳定,也让我放弃了选择这个插件作为我的开发工具,虽然这个工具真的是很强大。Eclipse+WTP./ 也是一个非常好的免费的开发工具,从eclipse官方上可以下载WTP跟Eclipse整合在一起的工具,现在教学根本上用这个。Lomboz 也是一个非常好用的免费J2EE插件,学生用的很多,因为好似有不少书都是用这个进展教学的。通过插件来的扩展本来是一件好事,但当它的版本问题?兼容性问题?平安性问题?语言问题?出现的时候,你就会骂着,为什么不提供一站式开发平台呢?如果你下载了语言包,你会发现,有些地方是中文的,有些地方是英文的,极其丑陋!也许,Eclipse作为
24、一个根底平台,它确实是太根底了。但现在,我们也可以下载一些All-In-One版本的Eclipse,但个人感觉还是不够,很多功能,我们还需要去找插件来进展扩展。也许,Eclipse的决策者认为,作为根底平台,肯定是越简单越好,需要什么就加什么,这样,资源占用会更少。正如标准最咨深的平面教师曾宇飞讲过一句话:你会去麦当劳点酸菜鱼吃吗?NetBeans:作为Sun公司出品的开发工具,功能一样也是非常强大,不管你是做应用程序开发还是做应用系统开发,NetBeans都是一个不错的选择。NetBeans也跟Eclispe一样,也是一个根底平台,但这个根底平台做得比Eclipse强大很多,根本上你下载一个
25、NetBeans就可以开发应用程序或J2EE应用系统了。并且,NetBeans的中文支持非常好,根本上一个新版本出来,就已经有中文版、英文版跟日语版了。看来,NetBeans的决策者还是比拟看好这些人群的。NetBeans的Mobile插件开发J2ME是最快最好用的,至少我个人这么认为。开发J2ME应用产品,我首选的就是NetBeans。目前NetBeans已经开展到6.0的版本了,界面非常华美,有兴趣的朋友可以下载一个玩一下。NetBeans的下载地址是:./ 。IDEA:对于IDEA的评价,我只能用六个字来形容,那就是:实用的艺术品。它非常好用,界面非常华美,相当如
26、果你是一个女性的工程经理或技术牛人,你会喜欢上这件艺术器的。IDEA开发应用程序非常强大,这一点绝对可以肯定。官方提供的插件也非常丰富,当你需要那一方面的功能,根本上都可以找得到,找插件,你只需要在官方插件库里面去找就可以了,并且自动安装,自动更新。作为2003年拿到JavaWorld大将的一个作品,相信,它可以带来很多IDEA的创新。它是属于商业化的工具,价格也只有499美元,而个人买也就249美元,如果你愿意牺牲*些功能,那你完全可以下载一个免费的版本。价格方面,个人觉得完全对得起这件艺术品价值。有兴趣的话可以下载一个试用版玩一下:.jetbrains./idea ,小声地说,上一下bai
27、du,插件一下,其实你可以找到很多注册号。Ant是apache的一个开源工程,可以从Ant官方上下载一个最新的版本:ant.apache./ 。虽然该工程虽然现在开展变得非常缓慢,但可以非常肯定地讲,它是一个好东西。我们可以使用ant来对我们整个工程进展编译,打包,单元测试,部署等等,根本上你想得到的东西,Ant可以帮你做得到。Mavenmaven.apache./ 是一人比Ant还要强大的工具,现在大有Maven将会代替Ant的趋势,Maven也是工程经理要关注的一个技术点。根本上现在主流的开发工具都提供共了对Ant的支持,有些甚至是依赖,比方:NetBeans,你在NetBeans当中创立
28、一个新的工程,那系统会自动地创立一个ant的运行脚本程序。对于你进展编译、打包、发布,那完全都是依赖于这个ant脚本。我们可以使用Ant来开发一个DailyBuild微软叫每日产品生成,*P叫持久集成的流程,来提高我们整个团队的软件开发质量。Ant的使用非常简单,多看手册,多花点心思,那你会做得更好。三、开发阶段第一、配置管理工具代码管理工具有很多,现在公司用得比拟多的代码管理工具有CVS、VSS、SVN。对于一个开发团队只有2-5个人,并且这两三个人是同一间办公室里,那使用VSS是一个非常不错的选择,个人觉得他小团队的管理方面非常好用。个人觉得VSS唯一的缺点就是一个文件当被一个人锁定,那其
29、他人就没有方法进展修改了,当一个文件为多个人所共用且开发团队人数较多时,这种问题将会显示非常严重。VSS客户端跟效劳器你都可以从Visio Studio里面找到。Eclipse的VSS客户端插件:对于一个开发团队有超过5个人,那此如选择CVS或SVN将是一个更好的选择,并且,假设你的团队是分散的,可能不在一间办公室或者根本不在同一个城市,那使用CVS或SVN是一个非常更想的选择。CVS的效劳器一般是使用CVSNT或CVSServer。CVSServer:Linu* for *86:Window for *86:CVSNT:./CVSClient:WinCVS:.wincvs.
30、org/TortoiseCVS:./uilder、Eclipse、NetBeans、IDEA集成的CVS客户端作为版本管理工具,CVS出现至今,已经有二十个年头,可以说他已经走到了尽头,但可以肯定,它将继续存在着。SVN是作为CVS的代替产品而出现的。现在很多开源组织,都慢慢地转到SVN上,比方Apache跟SourceForge。SVN有着比CVS更强大的功能,比方,它可记录目录的更改,它的性能比CVS会快很多等等。目前SVN慢慢地被企业所承受,但个人觉得其Eclipse的客户端的稳定性还有待提高,也许这个跟Eclipse的版本兼容性有一定关系。但这些不稳定性,
31、让我现在对这个产品的使用还继续停留在试用的阶段。SVNServer:SVNClient:TortoiseSVN : ,跟JIRA来自同一家公司的产品,它跟JIRA可以整合得非常好。我们可以通过JIRA的ISSUE,将该ISSUE上升为一个知识。假设你是使用JIRA来进展工程管理跟缺陷管理,那使用Confluence是一个最正确选择。PHPBB.phpbb./ ,论坛其实也是一个非常好的知识库管理工具,当*一个工程师遇到一些疑难杂症的时候,最终,通过自己的努力或团队其他同事的努力,终于解决问题了。那作为Leader的你,应该鼓励他们将这些知识,写一些文章,然后发布在公司自己的BBS上。供大家参考
32、及讨论。这个是一种很好的方法。记得我以前,我在网上看到一些有用的信息,我就把它保存在我本机的PHPBB上。只可怜,后来电脑被人偷了。贼郁闷。四、软件测试阶段第一、缺陷管理工具软件你不能保证它永远不会错,只是,有些错误你暂时还没有发现而已;有些错误需要在*些特定的环境下它才会发生。就像Windows,时不时会有一些系统更新文件要求更新。可能这些更新不是错误,只是一些系统平安方面的隐患。这些都可以算是软件系统的缺陷。那这些缺陷我们应该怎么进展管理?怎么进展跟踪呢?现在缺陷管理用得比拟多的有两个:第一个是开源的bugzilla,另一个是商业的JIRA。B/ ,
33、作为开源界缺陷管理系统的鼻祖,它开展到现在已从98年到现在经有10的时间了。它的开发语言是Perl,这使得它的安装变得很麻烦,Bugzilla可以安装在Windows、Linu*、Uni*等操作系统上。现在的Eclipse也提供了对它的支持,我们可以在Eclispe平台上,找到应用系统的BUG,功能做得非常强大。如果安装能更加轻松一点,或者提供一个All-In-One版本,那会更好!JIRA,作为商为上化的缺陷管理系统,JIRA的价格对得起它的功能。JIRA不只是一个缺陷管理系统,它更是一个集工程管理、缺陷管理、统计分析为一身的工具。这个工具我一直在使用,只是使用一些特别版本而已。第二、软件性能监测工具Jprof
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年工程促成居间合同集锦
- 2024年工程助理劳务合作协议
- 2024丙丁双方关于虚拟现实技术开发与应用合同
- 2024年严驰郑黛共同发起的公益项目捐赠合同
- 井区安全员年终个人述职汇报-述职报告范文
- 2024年广告效果监测与评估合同
- 2024年度石油天然气管道建设合同
- 2024年度网页美工设计外包合同
- 2024年度图书订阅合同
- 2024年度旅游管理与服务合同
- 装修垃圾清运处置方案
- JC-T 2536-2019水泥-水玻璃灌浆材料
- 品牌授权协议书
- 艺术设计就业职业生涯规划
- 《狙击手》和《新神榜杨戬》电影赏析
- 枪库应急处置预案
- 老年患者术后谵妄的护理干预
- 《凸透镜成像的规律》课件
- 仓库管理中的客户服务和沟通技巧
- 规划选址及用地预审
- 土砂石料厂项目融资计划书
评论
0/150
提交评论