《《软件工程》第13章软件开发工具与环境教学文稿》由会员分享,可在线阅读,更多相关《《软件工程》第13章软件开发工具与环境教学文稿(65页珍藏版)》请在金锄头文库上搜索。
1、第十三章软件开发工具与环境第十三章软件开发工具与环境第十三章软件开发工具与环境【本章引言】 早期的开发工具主要用来辅助程序员编程,而随着软件的不断改进,各种功能强大的开发工具应运而生。除了能够辅助编程外,还具有支持需求分析、设计、测试、维护和项目管理等功能。软件开发工具与开发方法的结合,再加上相应的软硬件支持就形成了环境。 【本章重点】n常用开发工具的功能;nCASE工具功能 【教学内容】n13.1 软件开发工具 n13.2 软件工程环境 n13.3 CASE技术 n13.4 小结 n13.5 习题 13.1 软件开发工具软件开发工具n软件开发工具是指为支持计算机软件的开发、维护、模拟、移植或
2、管理而研制的程序系统。n开发软件工具的目的是为了提高软件生产率和改进软件的质量。13.1.1 软件开发工具的功能软件开发工具的功能n1. 软件开发工具的分类n早期人们为提高软件系统的开发效率,研制了许多独立的软件开发工具,如编辑工具、编译工具、组装工具、调试工具和测试工具等。通常,在使用一个工具之后,为使用另一工具必须从前一工具退出,然后才能进入另一工具,工具之间几乎没有任何联系。而事实上,软件系统开发的整个过程使紧密相联的,整个生命周期的各个阶段都有紧密的关系。现在的软件开发工具拥有了更多的功能,各个工具之间都有相互联系。 n软件开发工具可以分为以下几种:n(1) 软件开发工具n需求分析工具
3、。n设计工具。n编码工具。n测试工具。 n(2) 软件维护工具n版本控制工具。n文档分析工具。n逆向工程工具。n再工程工具。n(3) 软件管理和支持工具n项目管理工具。n开发信息库工具。n配置管理工具。n软件评价工具。n2. 软件开发工具的功能n无论使哪种软件开发工具,都具备一定的功能,这些功能都以项目满足软件工程的需要为目的。n软件开发工具应具有以下功能:n描述客观系统n存储和管理开发过程中的信息n代码的编写或生成n文档的编制或生成n软件工程管理n表达能力或描述能力n保持信息一致性的能力n使用的方便程度n工具的可靠程度n对硬件和软件环境的要求应当尽量降低 13.1.2 常用软件开发工具介绍常
4、用软件开发工具介绍n1. 建模工具n(1) IBM Rational RosenIBM Rational Rose在软件工程领域被公认为UML建模工具的最佳产品。RationalRose是一个完全的、具有能满足所有建模环境(包括Web开发、数据库建模、各种开发工具和语言)需求能力和灵活性的一套方案。Rational Rose允许系统开发人员、系统管理人员和系统分析人员在软件的各个开发周期内建立系统需求和系统体系架构的可视化模型,并且能够将这些需求和系统体系架构可视化模型转换成代码,帮助系统开发。nRational Rose是一个独立的工具,通过应用程序接口(API)层与市场主导的各种IDE结合
5、来支持各种编程语言和其它的实现技术。n它有如下功能:n提供基本的绘图功能。Rational Rose提供了众多的绘图元素,是一个完全支持UML的工具。不仅对UML的各种图中的元素的选择、放置、连接以及定义提供了卓越的机制,还提供了用于支持和辅助建模人员绘制正确的图机制。同时提供了对UML的各种图的布局设计的支持,包括允许建模人员重新排列各种元素,并且自动重新排列那些表示消息的直线,以便后者互不交错。n功能强大的浏览器,用于查看模型和查找可重用的构件。n提供模型库,这个模型库相当于一个数据库,该数据库中包含模型中使用的各种元素的信息。Rational Rose通用模型库提供了一个包含来自所有的全
6、部信息的模型库,并且该模型库使通用工具能够进行文档化和重用。n可定制的目标库或编码指南的代码生成机制。可以针对不同类型的目标语言生成n可定制的目标库或编码指南的代码生成机制。可以针对不同类型的目标语言生成相应的代码,这些目标语言包括C+、Ada、Java、CORBA、Oracle、Visual Basic等。这种由Rational Rose的工具生成的代码通常是一些静态信息,例如类的相关信息,包括类的属性和操作,但是类的操作通常只有方法的声明信息,而包含实际代码的方法体通常是空白的,需要由开发人员自己编写。n既支持目标语言中的标准模型又支持用户自定义的数据类型。n保证模型与代码之间转化的一致性
7、。n通过OLE链接,Rational Rose图表可动态连接到Microsoft Word中。n能够与Rational Visual Test、SQA Suite和SoDA文档工具无缝集成,完成软件生命周期中的全部辅助软件工程工作。n功能强大的正向/反向建模工作。n缩短开发周期。n降低维护成本。nIBM Rational Rose通常与Rational产品家族的其它软件配合使用。Rational软件工具可以在Windows、UNIX、Linux和大型机平台上使用,并且可以支持绝大多数语言、IDE和操作环境,其中包括:Java、C、C+、C#、Visual Basic .NET、COM、DCOM
8、、CORBA以及100多个针对实时、嵌入式系统开发人员的开发环境和最新的Internet/Web服务标准。n(2) TogethernBorland软件公司推出的Borland Together Designer Community Edition(简称Together)是一个与平台、语言和IDE无关的建模工具,主要功能与特性如下:n支持所有的UML图形。Together支持UML 2.0和UML 1.2的所有图形,可以将模型以XML规范的方式导出。n能自动进行模型与代码的同步。Together的LiveSource技术能够做到模型与代码的自动同步,使开发人员摆脱了某些CASE工具需要手工去做
9、这些同步的烦恼。另外,由于源代码与模型是实时同步的,软件重构既可以在代码中进行,也可以在模型图中进行。n自动生成文档。Together具有强大的文档生成能力,并且支持文档模板定制,从而使开发人员可以将更多的精力集中到分析和设计上。n广泛的模式支持。Together支持业界常用的模式,如J2EE模式等,并可以让开发人员定制自己的模式,从而使模式的复用成为现实,这将极大提高项目的架构质量。n重构、测试、审计和度量。Together支持多种重构技巧,并具有强大的测试框架生成能力,可以在一个集成开发环境下完成重构所需要的步骤。Together结合使用审计、度量和重构,可以使重构工作更见成效。n支持团队
10、合作,支持与其它CASE工具的集成。n2. 设计工具n(1) IBM Rational Software Architectn在一个开发团队中,软件架构师和高级开发人员要负责确定和维护应用程序架构的各个方面。他们需要功能强大、易于配置的工具来管理当今应用程序的复杂性。IBM Rational Software Architect是一种集成的设计和开发工具,通过使用基于UML的模型驱动的开发,来创建结构更为合理的应用程序和服务。n借助于Rational Software Architect,可以将软件设计和开发的各个方面统一起来:n开发应用程序时比以前更加得心应手、卓有成效。n利用建模语言技术中
11、的最新成果。n检查和控制各种应用程序的结构。n利用开放的和可扩展的建模平台。n简化设计和开发工具解决方案。n与生命周期中的其它方面进行整合。n(2) PowerDesignernSybase公司的PowerDesigner是最具集成特性的设计工具集,用于创建高度优化和功能强大的数据库、数据仓库以及与数据密切相关的构件。nPowerDesigner提供了一个完整的数据库设计解决方案,业务或系统分析人员、设计人员、数据库管理员和开发人员可以对其裁剪以满足他们的特定需要,而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。nPowerDes
12、igner作为一个功能强大而使用简单的工具集,提供了一个全面的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和构件的生成。PowerDesigner产生的模型和应用对象可以不断地增长,适应并随着实际需求的变化而变化。 nPowerDesigner包含6个紧密集成的模块,允许开发机构根据其实际需求灵活选用。下面是这6个模块的功能。n1) PowerDesigner ProcessAnalyst。用于数据分析或数据发现。ProcessAnalyst可以用一种非常自然的方式描述数据项,从而能够描述复杂的处理模型以反映它们的数据库模型。n2) PowerDesigner DataArchi
13、tect。用于数据库的概念层和物理层设计和数据库构建。DataArchitect提供概念数据模型设计、自动的物理数据模型生成、非规范化的物理设计、针对多种DBMS的数据库生成,支持开发工具和高质量的文档特性。n3) PowerDesigner AppModeler。用于物理数据库的设计、应用对象以及与数据密切相关的构件的生成。通过提供完整的物理建模能力以及利用相关模型进行开发的能力,AppModeler允许开发人员针对先进的开发环境(不仅包括Sybase本公司的产品PowerBuilder,还包括Microsoft的Visual Studio)快速地生成应用对象和构件。AppModeler还可
14、以生成用于创建数据驱动的Web站点的构件,使开发人员和设计人员可以从一个DBMS发布“动态”的数据。n4) PowerDesigner MetaWorks。通过模型共享以及支持高级团队工作的能力,MetaWorks提供了所有模型对象的一个全局的层次结构的浏览视图,以确保其贯穿于整个开发周期的一致性。n5) PowerDesigner WarehouseArchitect。用于数据仓库和数据集市的建模和实现。Warehouse Architect提供了针对所有主要传统DBMS(如Sybase、Oracle、Informix和DB2)以及数据仓库特定的DBMS(如Red Brick Warehou
15、se和ASIQ)的完全的仓库处理支持。n6) PowerDesigner Viewer。用于以只读的、图形化的方式访问模型和源数据信息。Viewer提供了对PowerDesigner所有模型(包括概念模型、物理模型和仓库模型)信息的只读访问。 n3. 编程工具n(1) Visual Studio .NETnVisual Studio .NET使Microsoft为解决当今最具挑战性的软件开发需要而推出的新一代开发工具,用于设计、开发、调试和部署功能强大而安全的连接Microsoft .NET的软件。nVisual Studio .NET所提供的开发工具主要包括:n可视化的窗体、网页设计器:支持
16、以拖动方式生成控件,同时提供源码查看视图。n智能化的代码编辑器:支持语句自动完成、语法检查等功能。n集成编译、调试功能。n项目管理功能:生成并管理应用程序文件,并可将应用程序安装到远程服务器上。nVisual Studio .NET支持C+、VB、C#和J#等编程语言,开发人员可以使用Visual Studio .NET完成以下工作:n构建功能强大而且响应能力极好的基于Windows的应用程序。n构建功能强大而且响应能力极好的Pocket PC应用程序。n构建完善而安全的Web应用程序。n构建对设备有智能感知能力的完善而安全的移动Web应用程序。n在以上任何一种应用程序中使用XML Web Services。n避免“DLL灾难”。n消除代价高昂的应用程序部署和维护问题。n(2) Borland JBuildernBorland JBuilder是Borland公司用于Java平台的应用程序生命周期管理(ALM)技术套件的关键部分,用来为Java开发小组提供所需的开发工具,以便加速Enterprise JavaBeans(EJB)、XML、Web业务、移动与数据库应用程序的开发。nJBu