第2讲 软件开发工具的功能与结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9
(1)需求分析工具 需求分析工具是在系统分析阶段用来严格定义需求规格的工具, 能将应用系统的逻辑模型清晰地表达出来。由于系统分析是系统开 发过程中最困难的阶段,它的成功与否往往是决定系统成败的关键, 因此需求分析工具应包括对分析的结果进行一致性和完整性检查, 发现并排除错误的功能。 属于系统分析阶段的工具主要包括数据流程图(DFD)绘制与分 析工具、图形化的E-R图编辑和数据字典的生成工具、面向对象的 模型与分析工具以及快速原型构造工具等。例如美国Logic Works 公司的ERwin和BPwin就是基于数据结构设计方法的双向的数据库 设计工具,它能进行E-R图的绘制,直接生成各种数据库的关系模 式,还能从现有的数据库应用系统生成相应的E-R图。
13
2.基于集成程度划分的工具 目前,还应充分利用各种专用的软件开发工具。至于 开发与应用集成化的软件开发工具是应当努力研究与探 索的课题,而要集成化地、统一地支持软件开发全过程 的工具,还是相当困难的。 集成化程度是用户接口一致性和信息共享的程度,是 一个新的发展阶段。集成化的软件开发工具要求人们对 于软件开发过程有更深入的认识和了解。开发与应用集 成化的软件开发工具是应当努力研究与探索的课题,集 成化的软件开发工具也常称为软件工作环境。
4
(2) 信息库及其管理 信息库也称为中心库、主库等。本意是用数据库技 术存储和管理软件开发过程的信息。信息库是开发工具的 基础。 信息库存储系统开发过程中涉及四类信息。 第一类是关于软件应用领域与环境状况的; 第二类是设计成果; 第三类是运行状况的记录; 第四类是有关项目和版本管理的信息. 信息库的许多管理功能是一般数据库管理系统己经 具备的,作为开发工具的基础,在以下两方面功能更强。 一是信息之间逻辑联系识别与记录; 二是定量信息与文字信息的协调一致。
16
(1)可视化编程工具 可视化编程工具的典型代表有VB(Visual Basic), PB(Power builder)和Delphi,它们是Windows环境中最 快的Windows用程序生成工具。可视语言和可视编程使 用户只关心特定问题的解决,而不再被计算机及计算机 语言所困扰,大大简化了程序员的编程。 VB是一个实用可视编程的工具。它除具有可视化编 程环境的基本功能外,还包含功能强大的数据库管理功 能,可以方便地创建数据库应用程序;它支持多用户, 以面向事务方式对不同格式数据库进行存取,并率先支 持对象链接与嵌入OLE及32位编程;它支持ODBC,并 可嵌入SQL,大大减轻了编程工作。
4.基于应用领域划分的工具 按应用领域的不同,应用软件可分为:事务处理、 实时应用、嵌入式应用软件等 。其中事务处理范围最 广,从工资、仓库、会计等单项管理到具有决策能力 的管理信息系统(MIS) ,还有收银处的各种计费软 件、储蓄所使用的存款软件等,均属此类 。 下面简单介绍一些实用的开发工具:主要是系统实 施阶段用于程序编制的开发工具。
第2讲 软件开发工具的功能与结构
1.基本功能 2.一般结构 3. 工具分类 4.集成化的CASE环境
1
2.1基本功能
软件开发工具的基本功能可以归纳为以下五个方面: (1) 提供描述软件状况及其开发过程的概念模式,协助开发人员认 识软件工作的环境与要求、管理软件开发的过程。 (2) 提供存储和管理有关信息的机制与手段。软件开发过程中涉及 众多信息,结构复杂,开发工具要提供方便、有效的处理这些信 息的手段和相应的人机界面。 (3) 帮助使用者编制、生成和修改各种文档。开发过程中大量的文 字材料、表格、图形常常使人望而却步,人们企望得到开发工具 的帮助。 (4) 生成代码,即帮助使用者编写程序代码,使用户能在较短时间 内半自动地生成所需要的代码段落,进行测试和修改。 (5) 对历史信息进行跨生命周期的管理,即管理项目运行与版本更 新的有关信息,以便于信息与资源的充分利用。
7
(4) 项目管理与版本管理 项目管理与版本管理是跨生命周期的信息管理, 关键是历史信息的处理。在大型软件开发过程中,各 个阶段的信息要求不同。 项目数据库记录项目进展的各种有关信息,如各 阶段的预期进度、实际进展情况。项目负责人应随时 掌握这些情况,发现问题,组织解决。 关于版本的信息,主要内容有各版本的编号、功 能改变、模块组成、文档状况、产生时间、用户数量、 用户反映等。它也可以作为项目数据库的一部分来处 理。
8
2.3 工具分类
对软件开发工具可以从不同的角度来进行分类, 其中比较普遍使用的有以下四种分类方法: 1.基于工作阶段划分 软件工作是一个长期的、多阶段的过程,各个阶 段对信息的需求不同,相应的工具也不相同。基于其 工作阶段,可以分为需求分析工具、设计工具、编码 工具、测试工具、运行维持工具和项目管理工具。
6
文档形成的功能比代码生成更复杂一些。文档 是给人看的,必须符合人的工作习惯与要求,否则 没有实用价值。文档有文章、表格、图形三大类。 表格比较容易按信息库当前的内容输出。随着计算 机绘图功能越来越强,画图也不是困难问题了。文 章最难处理。目前的文档生成器,大多数只能提供 一个标准的框架,提醒人们完整地、准确地表达设 计思想。
10
(2)设计工具 设计工具是用来进行系统设计的,将设计结果描述出来形成设计说 明书,并检查设计说明书中是否有错误,然后找出并排除这些错误。 其中属于总体设计的工具主要是系统结构图的设计工具;详细设计的 工具主要有HIPO图工具、PDL支持工具、数据库设计工具及图形界面 设计工具等。 (3)编码工具 在程序设计阶段,编码工具可以为程序员提供各种便利的编程作业 环境。 属于编码阶段的工具主要包括各种正文编辑器、常规的编译程 序、链接程序、调试跟踪程序以及一些程序自动生成工具等,目前广 泛使用的编程环境是这些工具的集成化环境。在数据库应用开发方面 还有支持数据访问标准化的软件工具,比如美国INTERSOLV公司的 ODBC(开放数据库互连方案)产品能支持多种异构数据源和各种操 作系统,它提供的统一编程接口的开发环境避免了涉及访问和操作众 多的DBMS的具体细节,使在某种平台上开发的DBMS应用可方便地 移植到其他平台上并支持多达35种不同的数据源。
17
PB(PowerBuilder)是一个图形化的应用程序开发环境。使用PB可 以很容易地开发和数据库打交道的商业化应用软件。PB开发的应用 软件由窗口构成,窗口中不仅可以包含按钮、下拉列表框及单选按钮 等标准的Windows控件,还可以有PB提供的特殊的控件。这些特殊 控件可以使应用软件更容易使用,使应用软件的开发效率更高。例如, 数据窗口就是PB提供的一个集成度很高的控件,使用该控件可以很 方便地从数据库中提取数据。 Delphi由 Borland Pascal发展而来,继承其全功能平台特性,弥合 不可视化与全功能平台之间的鸿沟。它具有编译效率高,可执行代码 质量高等优点,在面向数据库基础上,可以开发出任何要求的应用程 序,它可以同时与ODBC数据源(如Oracle,Sybase等)连接并访问数 据,还可通过ODBC与其他一些数据连接。
14
3.基于硬件、软件的关系划分的工具 按与硬件和软件的关系,软件开发工具可分两类 : (1)依赖于特定计算机或特定软件(如某种数据库管 理系统); (2)独立于硬件与其它软件的软件开发工具 ; 一般来说,设计工具多是依赖于特定软件的,因为它 生成的代码或测试数据不是抽象的,而是具体的某一种 语言的代码或该语言所要求的格式的数据。例如 ORACLE的CASE所生成的是ORACLE代码,HP/9000机 器上的4GL生成的是在HP/9000上可运行的代码。而分析 工具与计划工具则往往是独立于机器与软件的,集成化 的软件开发工具又常常是依赖于机器与软件的。 软件开发工具是否依赖于特定的计算机硬件或软件系 统,对于应用的效果与作用是有直接影响的,因此,这 个问题是研究与使用软件开发工具时必须注意 。 15
11
(4)测试工具 软件测试历来是软件质量的保证,它是为了发现错误而执行程 序的过程。测试工具应能支持整个测试过程,包括测试用例的选择、 测试程序与测试数据的生成、测试的执行及测试结果的评价。而目 前很多应用系统是client/server(客户-服务器)环境,实际环境 中每个client站点的软硬件配置可能不同,而且在运行过程中,服 务器都有许多客户机并发访问,因此测试工具功能还应包括并发用 户数对性能的影响、服务器数据量对性能的影响、多个客户端应用 对相互之间的冲突和死锁及网络配置对应用的影响等。 属于测试阶段的工具有静态分析器、动态覆盖率测试器、测试 用例生成器、测试报告生成器、测试程序自动生成器及环境模拟器 等。在Windows client/server应用领域较出色的产品有美国SQA 公司的SQASuite,其中SQATeamTest提供客户端图形用户界面 (GUI)应用的自动化测试手段,SQAclient/server用于多用户并 发运行情况下的测试。
5
(3) 文档生成与代码生成 代码生成器(code generator)的基本轮廓。 生成代码依据三方面的材料: 一是信息库中的资料; 二是各种标准模块的框架和构件; 三是通过屏幕输入的信息
框架组件
用户Βιβλιοθήκη Baidu
人机 界面
代码生成器
代码
信息库管理模块
信息库
代码生成器输出的代码可以是某种高级程序设计语言 的代码或某种机器语言环境下的代码。
18
(2)数据库管理系统开发工具及语言 目前各种RDBMS产品的工具都己进入4GL及图、文、 声、像并举的时代,快捷的应用开发工具和生成工具唾 手可得,第三方数据库开发工具也是应有尽有。常用产 品有Borland公司推出的dBASE 5.O for Windows; Microsoft 公司的Visual Foxpro5.0、6.0、7.0等中小型应 用数据库。有Oracle Ingres,Sybase,Informix等功能 完善、结构先进的大型DBMS;还有UNIFACE,Power builder等架构在前类DBMS产品之上的,能提供更丰富 的开发环境的第三方数据库开发工具,这类产品还具有 一定的互连各厂家数据库产品的功能。
12
(5)运行维护工具 运行维护的目的不仅是要保证系统的正常运行,使系统适应新的变 化,更重要的是发现和解决性能障碍。属于软件运行维护阶段的工具 主要包括支持逆向工程(reverse-engineering)或再造工程 (reengineering)的反汇编程序及反编译程序、方便程序阅读和理解 的程序结构分析器、源程序到程序流程图的自动转换工具、文档生成 工具及系统日常运行管理和实时监控程序等。 (6)项目管理工具 软件项目管理贯穿系统开发生命周期的全过程,它包括对项目开发 队伍或团体的组织和管理,以及在开发过程中各种标准、规范的实施。 具体讲,有项目开发人员和成本估算、项目开发计划、项目资源分配 与调度、软件质量保证、版本控制、风险分析及项目状态报告和跟踪 等内容。 目前支持项目管理的常用工具有PERT图工具、Gantt图工具、软 件成本与人员估算建模及测算工具、软件质量分析与评价工具以及项 目文档制作工具、报表生成工具等。在这个领域中INTERSOLV公司 的产品PVCS就是一套标准的软件开发管理系统,它是一个集成环境, 覆盖了开发管理领域的所有重要问题。
代 码 生 成
其 他 输 出
3
(1) 总控部分及人机界面。总控部分及人机界 面是使用者和工具之间交流信息的桥梁。一 个好的开发工具,不仅能帮助使用者完成具 体的开发任务,而且能引导试用者熟悉和掌 握科学的开发方法。 人机界面的设计应遵循三条原则: 第一是面向用户的原则。 第二是保证各部分之间信息的准确传递。 第三是保证系统的开放性和灵活性。
2
2.2一般结构

软件开发工具的一般结构:总控部分及人机界面、信息库 (repository)及其管理、代码生成及文档生成、项目管理及 版本管理
系统 状况 设计 成果 运行 状况 项目 版本 信 息 库
使用 查询 用户 人机 界面 总控
一致性 维护
录入 更新
信 息 库 管 理
联 机 查 询
文 档 生 成
相关文档
最新文档