软件工程环境及工具
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计工具 Rational Rose
Rose 工具简介 Rational Rose 是 Rational公司出品的基于UML的 Rational公司出品的基于UML的 功能强大的可与多种开发环境无缝集成并支持多种开发 语言,其中包括:Visual Basic、C++、Ada、Smalltalk、 语言,其中包括:Visual Basic、C++、Ada、Smalltalk、 XML DTD 等。可以运行 Rational Rose 的系统数的主流 操作系统,其中有:Windows 9X、 操作系统,其中有:Windows 9X、Windows 2000、 2000、 Solaris、利用 Solaris、利用 Rose 可以开发出几种不同的模型图,用 以在不同的开发阶段、系统的开发建立模型。 这些模型图包括: 业务用例图(Business 业务用例图(Business Use Case Diagram) Diagram) 用例图(Use 用例图(Use Case Diagram) Diagram) 类图(Class Diagram) 类图(Class Diagram) 协作图(Collaboration Diagram) 协作图(Collaboration Diagram) 时序图(Sequence Diagram) 时序图(Sequence Diagram)
•Байду номын сангаас
管理工具
• 版本控制工具
通常一个软件在开发过程中会形成许多不同的版本。开发中经常需要 恢复到过去曾经出现的某个软件版本。版本控制工具就是用来帮助软 件开发人员存储、更新、恢复和管理一个软件的多个不同版本。版本 控制工具一般要首先完整存储软件的第一个版本的内容,而对于后续 版本只存储它们之间的不同之处。这样通过存储的信息可以非常容易 的恢复以前出现的任何一个版本。例:Microsoft SourceSafe、SVN SourceSafe、 • 项目管理工具 该类型的工具用于对软件开发项目的进度和计划进行控制和管理,其 中包括对软件项目的进度、成本、工作量、开发效率和产品质量进行 估计、跟踪和管理。例:Microsoft Project • 文档管理工具 文档也是软件开发过程中的重要产品。在许多软件的开发过程中,都 要花费大量的人力和物力来开发和组织文档,通常软件开发组织要花 20%到30%的工作量来完成软件文档的编写。因此对软件开发过程中产 20%到30%的工作量来完成软件文档的编写。因此对软件开发过程中产 生的文档进行管理和维护对提高软件开发的质量和效率具有重大的意 义。文档管理工具用于对软件开发过程中产生的文档进行分析、组织、 维护和管理。例:JavaDoc
•
常用软件开发工具举例
软件开发任务 撰写可行性研究报告 制定项目开发计划 撰写软件需求说明书 撰写概要设计、详细 设计文档 软件编码、测试、维 护 软件开发工具
文档编制工具:Microsoft 文档编制工具:Microsoft Word 项目管理工具:Microsoft 项目管理工具:Microsoft Project 文档编制工具:Microsoft 文档编制工具:Microsoft Word 绘图工具: Microsoft Visio Word、 Word、Visio 数据库设计工具:Power 数据库设计工具:Power Designer 面向对象软件设计工具:Rational 面向对象软件设计工具:Rational Rose 软件开发集成环境 Microsoft Visual Studio 软件开发集成环境 MyEclipse
管理工具
• 软件配置管理工具
该工具用以帮助完成软件配置管理的五个主要任务,包括 软件配置项目的标识、版本控制、修改控制、审计和状态 统计。 测试管理工具 严格的软件测试是提高软件产品的质量和可靠性的重要保 证。软件测试工具正是支持这一过程的软件工具,其中包 括测试数据的获取工具、程序的静态测试工具(不执行被 测试的软件产品的测试活动)、程序的动态测试工具(在 执行过程中进行测试的活动)、硬件仿真测试工具、测试 管理工具以及交叉管理工具。例:LoadRunner 管理工具以及交叉管理工具。例:LoadRunner
创建业务用例图
(2)泛化关系:描述模型元素之间抽象与具体、一般与特殊的关系。Rose中 使用带空心箭头的线段表示各模型元素之间的泛化关系。
用例图(Use 用例图(Use Case Diagram) Diagram)
用例图用于对软件系统的需求分析,即用于描述一个软件系统需要完成什么 样的功能。 用例图中的信息包括系统中的执行者和用例的描述以及两者之间的相互关系 的描述。 在用例图中主要包括用例和执行者两类模型元素。其中用例表示软件系统中 的功能模块;而执行者表示与所创建的系统进行交互的人或物。 同时,用例图中的模型元素之间可以建立以下 4 种关系: (1)关联关系:描述执行者和用例之间的交互关系。例如对于图书销售管理系 统,“客户”执行者需要与“网上购书”用例进行交互,而“网上购书”用 例又需要与“物流系统” 执行者进行交互。在 Rose 中使用单向箭头图标来 中使用单向箭头图标来 表示模型元素彼此之间的关联关系。 (2)使用关系:描述一个用例需要利用另一个用例提供的功能。例如对于图书 销售管理系统中的“网上购书”用例就需要使用“信用卡验证”用例和“网 络结算”用例所提供的功能。在 Rose 中使用单向虚线箭头图标来表示元素 中使用单向虚线箭头图标来表示元素 彼此之间使用关系,如下图所示
活动图(Activity Diagram) 活动图(Activity Diagram) 状态图(Statechart Diagram) 状态图(Statechart Diagram) 构件图(Component Diagram) 构件图(Component Diagram) 部署图(Deployment Diagram) 部署图(Deployment Diagram) Rational Rose 不仅拥有强大的功能, 而且具有方便友好的用户界发人员进行高 效的软件开发。
• 软件工程环境是软件工程学的重要组成部
分。在软件开发过程中,无论是技术活动 还是管理活动,都离不开环境的支持。 • 软件开发环境是指在计算机的基本软件的 基础上, 基础上, 为了支持软件的开发而提供的一 组工具软件系统。
软件开发工具
• 软件开发工具是用来辅助软件的开发、维护、管理和支持 •
等活动的计算机程序系统,它的目的是为了提高软件生产 效率和改进软件质量,为软件开发活动提供自动化的开发 工具和环境。 软件工程活动中,软件工程师和管理员按照软件工程的方 法和原则,借助于计算机及其软件工具的帮助,开发、维 护、管理软件产品的过程,称为计算机辅助软件工程 (Computer-Aided Software Engineering在,简称 ComputerEngineering在,简称 CASE)。 CASE)。 CASE 的实质是为软件开发提供一组优化集成的且大量节 省成本的软件开发工具,其目的是实现软件生存周期各环 节的自动化并使之成为一个整体。
软件工程工具及环境
概述 软件文档编制工具 Word 项目管理工具 Project 软件开发绘图工具 Visio 数据库设计工具 Power Designer 面向对象软件设计工具 Rational Rose 软件开发集成环境 Visual Studio 软件开发集成环境 MyEclipse
软件工程环境概述
•
CASE 工具分类
CASE按软件过程的活动来分类,归纳为以下三类: CASE按软件过程的活动来分类,归纳为以下三类: 支持软件开发过程的工具,包括需求分析工具、 软件设计工具、编码工具、测试工具和纠错工具 等。 支持软件维护的工具,包括版本控制工具、文档 分析工具、开发信息库工具、逆向工程工具和再 工程工具等。 支持软件管理过程和支持过程的工具,主要包括 项目管理工具、配置管理工具和软件评价工具等。
业务用例图( 业务用例图(Business Use Case Diagram) Diagram)
业务用例图用于建立机构的业务模型,包括 描述整个机构业务执行的流程和所提供的功能等 内容。其中涉及到的模型元素有:业务执行者、 业务工人、业务用例、业务实体和机构单元,业 务用例图对这些元素及其相互关系加以描述。 通过在浏览窗口中,用鼠标右键单击“Use 通过在浏览窗口中,用鼠标右键单击“Use Case View”项目;选择弹出菜单中的“New Use View”项目;选择弹出菜单中的“New Case Diagram”菜单项,就可以为模型中增加业 Diagram”菜单项,就可以为模型中增加业 务用例图。
编程工具
主要包括:编辑程序、汇编程序、编译程序和调试程序等。
编辑程序主要完成程序代码的输入和编辑。任何一种文本编辑程序都 可以用做程序的编辑程序; 汇编程序主要完成将汇编程序代码转化为功能等价的机器语言代码; 编译程序主要完成将文本形式的源代码转化为功能等价的机器语言代 码; 调试程序主要是用于帮助程序员对程序中的错误进行发现和修改。 这些编程工具既可能是一个集成的程序开发环境,其中集成了源代码 的编辑程序、生成可执行代码的编译程序和链接程序、用于原代码排 错的调试程序以及用于产生可供发布的发布程序。 集成的程序开发环境的典型例子有 Microsoft公司的Visual C++、 Microsoft公司的Visual C++、 Visual Basic 和 Borland公司的Delphi、C++Builder。 Borland公司的Delphi、C++Builder。 另一种类型的编程工具并非一个集成的程序开发环境,其中的编辑、 编译、链接等功能是由彼此独立的应用程序提供的,这些工具并没有 被集成为一个统一的开发环境和用户界面。这方面的典型例子有Sun 被集成为一个统一的开发环境和用户界面。这方面的典型例子有Sun 公司的JDK开发工具。 公司的JDK开发工具。
分析和设计工具
• 软件开发人员使用这类工具建造软件系统的模型 软件开发人员使用这类工具建造软件系统的模型 • 分析工具用于软件开发的需求分析阶段。它帮助 • • •
开发人员从软件用户的需求定义出发,生成完整、 清晰、一致的功能规范,是对软件要完成的功能 的准确而完整的描述。 它必须在软件用户和软件开发人员之间通过充分 的交流达成一致。 需求分析工具就是帮助软件用户和软件开发人员 完成软件功能规范的制订。 设计工具则用于帮助软件开发人员从软件的功能 规范出发制订相应的设计规范。
菜单栏
工具栏
浏览窗口 框图窗口 浮动工具栏
文档窗口
Rational Rose 的用户界面
Rose 的用户界面包括以下几个部分: 菜单条:包含了所有的 Rose 命令和操作; 标准工具栏:用于快速的访问 Rose 中的常用命令和操作; 浏览窗口:采用树型的层次结构,用于在 Rose 模型中进行浏览。通过浏览 窗口可以快速的访问到 Rose 模型中的各个模型元素; 文档窗口:用于为模型元素建立说明文档; 框图工具栏:用于在模型图中添加各种模型元素,其内容随打开的 UML 模 型图的类型不同而有所不同; 框图窗口:用于显示和编辑 Rose 模型中的各种 UML 模型图。当增删框图 窗口中的模型元素时,Rose 窗口中的模型元素时,Rose 会自动更新浏览窗口中的内容;同样当修改浏览 窗口中的模型元素时,相应的修改也会自动反映在框图窗口中。
软件维护工具
• 这类工具用于对软件产品进行维护。主要包括从 •
程序代码到规格说明的逆向工程工具和 程序代码到规格说明的逆向工程工具和再工程工 具。 软件项目的逆向工程是与软件开发相反的过程。 逆向工程工具以程序的源代码作为输入,输出软 件的体系结构、控制结构、数据结构及其分析和 设计方面的信息,使得软件工程的维护和理解变 得更为容易和方便。 再工程工具是用来支持在已有软件系统的基础上 重新构造一个性能和功能更为完善的软件系统, 重新构造一个性能和功能更为完善的软件系统, 其中包括对代码的重构、程序结构的重构和数据 结构的重构等。