第10章 软件工具与集成化环境

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第十章软件工具与集成化环境10软件工具是用于辅助软件的开发、运行、维护、管理和支持等活动的软件系统。其目的是为了降低软件开发和维护的成本,提高软件生产效率,改进软件产品的质量。借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程,称为计算机辅助软件工程(Computer-AidedSoftwareEngineering,简称CASE)。10.1软件工具另一种是集成化的CASE环境,它将在软件开发过程的不同阶段使用的工具进行集成,使其有着一致的用户界面和可以共享的信息数据库。目前有两种层次的软件开发工具,一种是孤立的单个软件开发工具,用于支持软件开发过程中的某一项特定活动。按软件活动的各阶段,可把软件工具分为:软件开发工具软件维护工具管理与支持工具10.1.1软件开发工具软件开发工具可分为:分析工具、设计工具、编码工具和调试工具。1.分析工具辅助软件开发人员完成软件系统需求分析活动的软件工具。典型的有Rational公司的AnalystStudio,用于应用问题分析和系统定义的一组相对完备的工具集,适合于团队联合开发使用。包括以下内容:⑴RationalRequisitePro;⑵RationalRoseDataModelerEdition;⑶RationalClearQuest;⑷RationalSoDAforWord⑸RationalUnifiedProcess;软件设计工具主要包括三种类型:基于图形描述、语言描述的设计工具;基于形式化描述的设计工具;面向对象的设计工具。典型的有EnterpriseArchitect,是一个基于UML的VisualCASE工具,主要用于设计、编写、构建和管理以目标为为导向的软件系统。2.设计工具3.编码工具编码工具主要包括:编辑程序、汇编程序、编译程序和调试程序等。典型的集成程序开发环境有:MicroSoft公司的VisualC++、VisualBasic和Borland公司的Delphi、C++Builder4.调试工具也称为排错工具,在程序编码过程中,及时发现和排除程序代码中的错误和缺陷。分为:源代码调试程序和调试程序生成程序两类。⑴源代码调试程序帮助程序开发人员了解程序的执行状态,查询相关数据信息,发现和排除程序代码中存在的错误和缺陷。⑵调试程序生成程序是一种通用的调试工具,能够针对给定的程序设计语言,生成一个相应的源代码调试程序。5.软件开发工具的评价与选择根据以下几个标准来评价一个软件开发工具的优劣程度:⑴功能开发工具应具有完备的开发功能。⑵硬件要求硬件要求较低的工具可以节省相应的硬件开销和开发成本。⑶性能软件开发工具的运行速度等性能指标将直接影响工具的使用效果。⑷方便性软件开发工具应该具有十分友好的用户界面。⑸服务和支持软件开发工具需要不断的进行升级和改进。提供有效及时的技术服务和支持。重要的软件维护工具包括:版本控制工具、文档管理工具、开发信息库工具、逆向工程工具、再工程工具。⑴版本控制工具版本控制工具用于帮助软件维护人员实现对软件版本的存储、更新、恢复和管理。典型代表是UNIX操作系统的SCCS(源代码控制系统)。⑵文档管理工具对软件开发过程中产生的文档进行分析、组织、维护和管理。⑶开发信息库工具记录每个对象的开发与修改信息;维护对象和与之相关信息间的关系。10.1.2软件维护工具现在的逆向工程工具能够分析高级程序设计语言的源程序,恢复出程序的控制结构、流程图、PAD图等更高级的抽象信息。⑸再工程工具再工程是在获得软件设计信息的同时,利用这些信息修改或重构软件系统的工作。根据用户的需求,软件开发人员可利用再工程重新实现已有的软件系统,同时增加新的功能和改进性能。⑷逆向工程工具软件的逆向工程是指对已有的程序进行分析,以获得比源代码更高级的表现形式,是一个设计恢复的过程。软件管理与支持工具中,比较重要的包括:项目管理工具、配置管理工具、软件评价工具、风险分析工具。⑴软件评价工具帮助软件产品的管理与支持人员对软件产品的质量加以保证。如ISO软件质量度量模型、McCall软件度量模型等。⑵软件配置管理工具对软件修改进行标示、组织和控制的技术,用来协调和控制软件开发的整个过程。是软件质量保证的重要环节。10.1.3软件管理与支持工具⑶软件项目管理工具主要任务是制定软件开发计划,跟踪、监督和协调软件开发的进度,以保证软件产品能够按时保质完成。⑷风险分析工具标示潜在的风险并设计相应的计划去缓解、监控和管理风险,这对于一个大型项目是极为重要的。风险分析工具可以通过提供对风险标示和分析的详细指南,使得项目管理者能够有效地对在软件项目开发过程出现的风险进行控制和规避。10.2集成化CASE环境分散的软件开发工具都只在软件产品的某个开发阶段起作用,它们有着不同的用户界面、不同的数据存储格式,不能够有效的进行相互通信和数据共享,这些缺陷极大地限制了其最大效能的发挥。为克服以上缺陷,将多个CASE工具结合起来构成集成化的CASE环境,使得各种软件开发信息能够在不同CASE工具之间、不同开发阶段以及不同开发人员之间顺畅的传递。集成化的CASE环境大致划分为以下几种层次:(1)具有信息传递的软件工具集环境中工具之间完全独立,它们之间有着不同的用户界面和信息的存储格式。借助操作系统的文件服务和数据交换服务,实现不同工具之间的数据交换和共享。集成度非常低。工具B信息转换器工具A专有开发信息专有开发信息具有信息传递的软件工具集(2)具有公共界面的软件工具集提供了一致的公共用户界面和操作方式,但软件工具之间的数据交换仍然沿用了在不同格式的文件导入/导出的方式,这严重的影响了彼此之间数据交换的效率和数据的完全性与完整性。工具B信息转换器工具A专有开发信息专有开发信息公共用户界面具有公共界面的软件工具集⑶信息共享的软件工具集工具之间不仅具有一致的用户界面和操作方式而且对不同工具的开发信息进行统一的存储和管理。从根本上解决了在不同的软件工具之间进行信息交换的问题,提高了工具之间的继承度。工具B信息转换器工具A专有开发信息专有开发信息公共用户界面共享的软件工程信息库信息共享的软件工具集10.2.2集成化CASE开发环境的体系结构一个集成化的CASE开发环境通常需要完成以下三个层次集成:1.平台的集成为实现运行在不同计算机硬件和操作系统平台上的CASE工具间的互操作和数据共享,基于平台的集成就成为急需解决的问题。2.界面的集成指集成化的CASE环境中的各种软件开发工具都采用统一的用户交互界面和方式。3.数据的集成为实现不同的CASE工具之间的数据交换与共享,数据的集成是需要解决的一个核心问题。CASE开发环境体系结构用户界面层对象管理层软件工程信息库工具集成层工具A工具N工具B…………………集成化的CASE开发环境的体系结构1.用户界面层由一个标准化的统一的界面工具箱和各个CASE工具所共同遵守的界面协议所组成。2.工具集成层工具集成层主要完成对构成集成CASE开发环境的所有工具的管理和协调任务。3.对象管理层主要完成在集成CASE开发环境中对软件开发信息的管理和集成,实现CASE工具与信息的集成以及信息与信息的集成。4.软件工程信息库在整个集成CASE开发环境中,软件工程信息库处于一个核心地位,是其他层次模块的基础。10.3软件开发工具RationalRoseRationalRose是Rational公司出品的基于UML的功能强大的可视化建模工具,与多种开发环境无缝集成并支持多种开发语言,包括:VisualBasic、Java、PowerBuilder、C++、Ada、Smalltalk、XMLDTD等。可以运行RationalRose的系统平台包括了目前大多数的主流操作系统,如:Windows9X、Windows2000、Solaris、AIX和HP-UX等。Rose支持面向对象开发方法所有阶段的建模,已成为建立软件系统模型最有力的工具。Rose的用户界面Rose的用户界面框图工具栏框图窗口文档窗口浏览窗口菜单条标准工具栏Rose的用户界面包括以下几个部分:⑴菜单条:包含了所有的Rose命令和操作;⑵标准工具栏:快速访问Rose中常用命令和操作;⑶浏览窗口:采用树型的层次结构,用于在Rose模型中进行浏览,访问Rose模型中的各个模型元素;⑷文档窗口:为模型元素建立说明文档;⑸框图工具栏:根据打开的UML模型图的类型,在模型图中添加各种模型元素。⑹框图窗口:用于显示和编辑Rose模型中的各种UML模型图。当增删、修改框图窗口中的模型元素时,Rose会自动更新浏览窗口中的内容;在业务用例图中包括以下几类模型元素:⑴业务用例表示机构中的一组业务的执行和工作流程。⑵业务执行者表示处于机构之外与机构进行交互的实体。⑶业务工人表示处于机构之内参与了业务执行流程的角色。⑷业务实体机构业务流程中可能使用的物理实体,如资金帐目、客户定单、客户资料等等。⑸机构单元业务工人、业务实体和其他相关模型元素的集合,是组织业务模型的机制。业务用例图中模型元素之间存在以下两种关系:⑴关联关系:描述执行者或业务工人与用例之间的通信和联系。⑵泛化关系:描述模型元素之间抽象与具体、一般与特殊的关系。业务用例图中的关联关系10.3.2用例图用例图(UseCaseDiagram)用于描述一个软件系统需要完成什么样的功能。模型元素之间的几种关系:1.包含关系用例图中的包含关系2.扩展关系用例图中的扩展关系3.泛化关系用例图中的泛化关系10.3.3类图类图创建菜单在浏览窗口的逻辑视图(LogicView)下面,逻辑视图中一般已有一个自动创建的名为“Main”的类图。也可通过右键菜单选择“New►ClassDiagram”创建新的类图。选择类图右侧的工具栏中的“类”(Class)按钮,可以在类图中创建一个新的类。并为其指定类名,增加相应的属性和行为。“Book”类的属性设置定义类之间的关系类图中的多个类之间存在着彼此的相互关系,Rose中可在类之间定义关联、聚集、泛化、依赖关系。1.聚集关系类之间的聚集关系2.泛化关系表示类之间“一般与特殊”、“抽象与具体”的关系即不同类之间的继承关系。类之间的泛化关系10.3.4协作图与时序图1.创建协作图通过菜单“New►CollaborationDiagram”在逻辑视图(LogicView)中创建了一个协作图,并在其中增加对象,为新增的对象设置规范:包括对象的名称、对应的类名、说明文档等。在对象之间建立链接,对象之间的链接使用实线表示。同一个对象之上也可以建立特殊的“反身链接”(LinktoSelf)。链接上添加消息,表示对象之间传送的信息的内容。图中,描述两个对象之间的链接,及在它们之间传送的3个消息,并把消息映射为对象的操作。协作图2.创建协作图通过菜单“New►SequenceDiagram”,可以在Rose的逻辑视图(LogicView)中创建时序图。在时序图中增加对象,为该对象设置所在的类、对象的持续性等属性。按照时间顺序,在时序图中从上到下,在对象之间添加消息。也可以为对象之间的消息指定其映射的对象操作。方法是在消息上点击鼠标右健,从弹出菜单中选择该消息所映射的操作或者输入一个新操作。时序图在浏览窗口中使用菜单项“New►ActivityDiagram”可以创建新的活动图。可以增加“泳道”(SwimLane),并在相应的“泳道”中添加相应的活动,在活动之间设置转换和转换发生需要具备的条件,增加开始和结束状态。10.3.5活动图活动图10.3.7状态图在浏览窗口中使用菜单项“New►StatechartDiagram”可以创建新的状态图。状态图中可以加入对象的各种不同状态,包括“初始状态”和“结束状态”。增加状态状态设置完成以后,需要在状态之间增加状态迁移。图书销售管理系统中“Book”类对象状态图10.3.8构件图和部署图1.构件图在浏览窗口中的“ComponentView”项目上使用菜单项“New►ComponentDiagram”可以创建新的构件图。构件图由构件和构件之间依赖关系

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功