




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 软件开发工具的技术要素 v4.1基本功能与一般结构 v4.2总控与人机界面 v4.3信息库及其管理 v4.4文档生成与代码生成 v4.5项目管理与版本管理 v由于软件开发工具一般都较为复杂、庞大, 所以,它的功能设计与总体结构是必须认真 考虑的。 4.1 基本功能与一般结构 v软件开发工具对各类支持工作归纳成五个方 面,即软件的功能要求: v认识与描述客观系统 v存储及管理开发过程中的信息 v代码的编写或生成 v文档的编制或生成 v软件项目的管理 一、软件开发工具的基本功能(五个方面 ) (1)提供描述软件状况及其开发过程的概念模式, 协助软件开发人员认识软件工作的环境与要求、 合理地组织与管理软件开发的工作过程。系统描 述 v软件开发工具是引导人们建立正确的、有效地概 念模式的一种手段。 此处的概念模式包括几个主要方面: v对软件的应用环境的认识和理解 v对预期产生的软件产品的认识与理解。 v对软件开发过程的认识与理解。 任何软件开发工具都具备这种功能。 v(2)提供存储和管理有关信息的机制与手 段。 简单说就是根据概念模式提供一个信息库 和一个人机界面,它能够有效地管理这些信 息。信息管理 v(3)帮助使用者编制、生成及修改各种文 档。这包括文字材料和各种表格、图形。软 件开发中有大量的文档产生,其工作量常常 使人望而却步,软件开发工具在这方面的功 能是十分重要的。文档生成 v(4)帮助使用者编写程序代码,即代码生成。这些编码工 作本来是程序员的任务,软件开发工具通过各种信息的提供 ,使用户能够在较短时间内半自动地生成所需的代码段落, 进行测试、修改错误等。代码生成 v(5)对于历史信息进行跨生命周期的管理,把项目运行与 版本更新的有关信息科学地管理起来。对于大型软件开发来 说,这一部分会成为信息处理的瓶颈。做好这一部分工作将 非常有利于信息与资源的充分利用(或重用),其作用也是 十分可观的。项目管理 v完整的、一体化的软件开发工具应当具备以上这些功能。 v理想情况下,现有的多数软件开发工具往往实现了其中某一 荐或某几项。 二、软件开发工具的一般结构 根据软件开发工具的基本功能概括软件开发工具的一般结构: 处于中心位置的是总控和人机界面。一方面,人机界面面对着 不同的用户类型;另一方面,总控面对着系统内部的各种功能 与各种信息,它要保证各部分相互之间的协调一致,保证各部 分之间信息有效地、准确地流通。另一个重要部分是信息库及 其管理,信息库框架反映了人们对软件产品和软件开发过程的 基本看法。信息库内容的丰富程度则是软件开发工具的功能与 作用的最基本的依据。图中没有反映出来的技术要素是项目管 理和版本管理。 分析设计人员 运行管理人员 项目管理人员 人机 界面 总控 使用 查询 一致性 维护 录入 更新 联机 查询 文档 生成 代码 生成 其他 输出 系统 状况 设计 成果 运行 状况 项目 版本 信息库 信息库管理 具体包括以下的几个方面: 1、总控部分与人机界面 这部分是使用用者和软件开发工具之间交流信息,实现所有的 支持功能的桥梁。这一部分的有效实现是软件开发工具的实用 性和灵活性的主要保证。 2、信息库存及其管理模块 软件开发工具对软件开发支持的范围及深度取决于信息库的功 能和内容 3、文档生成模块 用于输出文档 4、代码生成模块 用于生成代码 5、项目管理模块 用于实现跨越开发周期的信息共享、知识重用以及软件重用 文档生成和代码生成是两个最重要的信息出口。 4. 2总控部分及人机界面 总控与人机界面的地位与作用 作为一个完整的、一体化的软件开发工具,总控和人机界面处 于中心的位置。 (1)从一体化的软件开发工具来看 作为一个完整的、一体化的软件开发工具,总控和人机界面 提供了各个工作环节之间的协调与配合,早期的、单项功能 工具,只是帮助人们完成某一项具体工作,各个环节缺乏协 调与配合,工具的封闭性致使它们的输出格式之间有差别, 协调配合更加困难。随着软件规模的扩大,整个工具的总的 结构,各部分之间的联系方式及在用户面前保持统一的形象 逐步成为中心议题。 (2)从单项功能的工具集成的角度来看 在实际工作中,常常采用来自不同厂家的单项工具,使用者 自己承担集成的任务。如分析阶段使用独立于机器的一般化 的以逻辑设计文档作为其输出的工具,在设计编码阶段,使 用依赖于某个软件(语言或数据库管理系统)的设计工具。 在这种情况下,最关键的也是最麻烦的就是把前半段的输出 ,准确无误地转化为后半段工作所要求的输入。这就要设立 一个有效的总控,它能够在各个具体工具之上,实现信息的 正确传递与转换,帮助人们完成上述协调与配合的工作,从 而形成一个统一的、完整地支撑环境,并通过一个统一的、 友好的人机界面与用户对话。 因此,不论是从一体化的软件开发工具来说,还是从单项的 工具集成的角度来说,总控和人机界面都处于中心的位置。 v软件配置(集成)名词:实质是设立一个有 效的总控部分,能够在各个具体工具之上实 现信息的正确传递与转换,帮助人们完成软 件开发各阶段的协调与配合工作,从而形成 一个统一的、完整的支撑环境,并通过一个 统一的、友好的人机界面与用户对话。 总体结构设计的基本原则是什么? 在技术上可以归纳为三条要点:面向使用者;保 证信息的准确传递;保证系统的开放性(或灵活 性) 首先,总控和人机界面是使用者与工具之间联系的 桥梁,必须严格遵循面向使用者的原则。 其次,保证各部分之间信息的准确传递。各个分散 的软件工具在集成为一个一体化的工具时,它们 的内部并不发生改变,而是通过相互之间的信息 交流联系。 最后,保证的开放性或灵活性。软件开发过程的复 杂性决定了软件开发工具的多样性和可变性。理 想的模块结构应当是模块式的,易于裁剪的。 面向用户的原则体现在几个方面? 面向用户的原则具体体现在两方面: v一方面是总控部分对各部分的调度与安排应 当体现符合软件开发人员思路的概念模式。 v另一方面,向用户提供的统一界面应当体现 这个模式。 v不论是设计一体化的软件开发工具,还是把 分散的单项工具集成起来,都应当遵循面向 用户这个基本原则。 为什么要保证软件开发工具各部分之间信息的准确传递 ? v无论是分散的软件工具集成为一体化工具还是有计划有组 织的统一开发一体化工具,它们的内部都是通过相互交流 信息联系。 v交流信息时,信息能够准确地从一个部分传送到另一个部 分,就成为一体化是否成功的关键。某一部分的输出当它 成为另一个部分的输入的时候,它的特殊因素就必须经过 充分的考虑,并进行必要的交换或调整,否则,就会产生 误解以致干扰和破坏了整个软件系统的正常运转。 v因此,必须保证软件开发工具各部分之间信息的准确传递 。 软件开发工具是为软件开发人员服务,因此软件开发工具要能 够对软件环境及需求、软件结构与功能、软件开发工作的过程 与步骤进行描述。IBM的AD/Cycle就是这样一个框架,它一方 面描述了一般的应用软件的结构即SAA,另一方面,它进一步 提出了应用软件开发的各个阶段的模型。SAA:系统应用体系 结构,包括的接口及内容如下表所示: AD/Cycle把软件开发过程的一个周期分五个阶 段,各阶段的任务 v(1)需求分析阶段 需求分析阶段的任务是建立逻辑模型。具体 说: 首先应当建立志软件所处领域或环境的模 型(即“企业模型”) 其次,建立起软件所要处理信息的静态模 型,即数据模型。 第三,建立起信息流通的模型,即信息的 来源、去向、存储及处理的逻辑过程。 v(2)分析设计阶段 需求分析阶段的基本任务是完成系统的总体 设计。包括数据结构的详细设计,处理过程 的详细设计,子系统或模块的划分以及它们 之间相互联系的具体规定。作为对于一下阶 段工作的具体要求,还应当完成屏幕设计、 报表设计、数据库的物理设计。 (3)编码阶段 是指编写软件的阶段,这里是实际的程序代 码的产生点。 v(4)测试阶段 任务是对已经完成的各个模块或子系统进行 测试、调整,以便最终形成完整的软件。需 要安排测试方案,准备测试数据,收集与分 析测试结果,对需要修改的模块进行修改或 调整。 v(5)运行维护阶段 任务是组织和管理软件的日常运行,收集运 行中的状态信息及出现的问题并及时地进行 局部的修改与完善。 4. 3信息库及其管理 v信息库是软件开发工具的基础。没有这个基础, 或者这个基础不牢。总控就无信息可调度,人机 界面也就没有有用的信息向用户提供,所谓支持 软件开发也就为一句空话。因此,合理的组织信 息库的内容,加强信息库的管理功能,是软件开 发工具的又一个重要的技术要素。 信息库的技术考虑主要涉及四个问题: v信息库的内容 v信息库的组织方式 v信息库的管理功能 v历史信息的处理方法。 一、信息库的内容: 信息库中需要存放四大类信息 系统状况:关于软件应用的领域与环境的状况。包括应用 领域中的有关实体及它们之间的相互关系的描述,软件要 处理的信息的种类、格式、数量、流向、应用领域对软件 的要求、使用者的情况、背景、工作目标、工作习惯等。 一般是在需求分析阶段收集并存入信息库,主要用于分析 设计阶段。 设计成果:包括逻辑设计与物理设计的成果。 主要包括:数据流程图、数据字典、系统结构图、数据库 逻辑设计、各模块的设计要求以及由此形成的设计文档。 运行状况的记录:包括运行效率、作用、用户反映、故障 情况、故障的原因及处理情况。 项目管理与版本管理的信息:包括项目的进度、过程、人 员分工、资源投入、版本组织等。属于跨生命周期的信息 。 第三章书本61页有详细的内容。 二、信息库的组织方式(三种) v1、集中存储方式(最初采取) 就是建立一个庞大的数据库,把各种信息都存放在这个数据库存中, 而各种工具,或实现单项功能的模块则围绕在这个信息库的周围,进 行操作。 优点:想法比较自然,而且充分利用已有的数据库技术,比较容易保 持一致性。 缺点:与模块化的要求相冲突。 v2、分散存储 把信息分别存入不同的数据库,由不同的功能模块来处理。 优点:易于变更和裁剪,一部分发生变更,不致影响整个系统。 缺点:每个模块都要有自己进行一整套增删改的操作,且各部分之间 的一致性无从保证。 信息库 模块 1 模块 2 模块 3 子库 模块 1 模块 2 模块 3 子库子库 v3、逻辑上统一、物理上分散、设立统一的 信息库管理模块来进行管理:通过信息库管 理模块来对分散的各个数据库进行存取,并 进行一致性的检查与维护。 优点:数据库与模块都实现了模块化,既保 持了一致性,又保持了灵活性。 子库 模块 1 模块 2 模块 3 子库子库 信息管理模块 三、信息库的管理功能 v1)与一般数据库管理系统相同的功能:录入更新 、使用查询、一致性维护。 v2)与一般数据库不同的管理功能: 信息库管理 的主要任务 v (1)信息之间逻辑联系的识别与记录。即信息 库管理模块必须记住信息之间的逻辑联系,如数 据字典某一项发生变化,相应的数据流程图也必 须随之变更,不管是否在同一个数据中。 v (2)如何实现定量信息与文字信息的协调一致 。 如数字的部分修改不会引起与数字对应的全部文 字的修改。 四、历史信息的处理方法 v1、信息库的另一个问题是如何处理历史信息。实际操作中有 两个困难: (1)一个是历史信息的数量太大,占用存储设备过多。 大容量问题 (2)另一个是历史信息格式不一致,难以有效地利用。 表达方式不一致问题 v2、解决办法: (1)前一个问题一般采用脱机备份的方法解决。即面对信息 爆炸的问题要做好脱机备份的准备。 (2)解决后一个问题是十分困难的。加强标准化、稳定数据 结构只能使这个问题得到一定程度的解决。(任何标准化都 不是一成不变的,数据结构的稳定是相对的,变更则是绝对 的。这个问题至今尚无令人十分满意的解决办法) 4.4 文档的生成与代码的生成 v除了通过屏幕上的对话获取信息支持外,使用者从软件开 发工具得到的最主要的帮助有两种方式:文档生成与代码 生成。软件开发工具的起点也就是这二者,软件开发工具 的主要输出成果:程序和文档。 一、代码生成 1、代码生成器的基本任务 v根据设计要求,自动地或者半自动地产生相应的某种语言 的程序。输出代码是这个模块的目标。输出的代码有两种 情况:某种高级语言程序的代码和某种机器环境下可运行 的机器指令。 v 某种高级程序设计语言的代码 优点:使用者可以在这个基础上进一步修改加工, 即利用自动生成模块作为原型,在此基础上形成自 己所要求的系统(或系统的一部分)。 缺点:功能较死,效率不高。 某种机器(包括硬件和操作系统)环境下可运行 的机器指令。 优点:可以直接运行,如果不合要求可以立即调整 命令和参数重新生成一遍。 缺点:机器代码一般无法直接修改,对机器的硬件 软件环境的依赖很大。 哪类程序易于生成?哪类程序难于生成?为什么 ? v一般来说,对话屏幕、输入屏幕、输出报表 、菜单控制结构等类型的模块比较容易生成 ,因为它们的处理过程比较规范,比较容易 通过一些参数来加以描述和规定。而对于统 计分析、数据加工、决策判断等类型的模块 则比较难以生成,因为它们的灵活程度较大 。 v2、代码生成器依据三方面的资料 v(1)信息库里已有的有关资料。如系统的总体结构 、模块间的调用关系、基础数据的相关设置、屏幕 报表设计要求等。保证系统的统一。 v(2)各种标准模块的框架和构件。事实上,代码生 成的技术是根据人们对某一类模块的编程经验,归 纳出一些一般框架或一般构件,事先存放在机器中 ,在实际使用时根据当时输入的参数,填入框架或 重新组合构件,从而形成一个新的程序段落。 v(3)使用者通过屏幕前的操作送入的信息。信息库 中不可能已经存人了代码设计所需要的全部信息, 还有相当一部分要求或参数是在编码时才确定的。 所见即所得的的人机界面在图形、鼠标、功能键等 的配合下,方便使用者的操作。 二、文档生成 v文档生成的功能与代码生成相比,数量更大、内 容更复杂。 文档生成包括三大类:文章、表格、图形。 v画图已经不是困难的问题,困难是把图形的含义 与信息库中的内容有机的联系起来。把信息库中 的内容用人们一目了然的图形表示出来有一定的 难度。 v表格比较容易按信息库当前的内容输出。 v文章是最难处理的。写好系统分析、设计报告或 用户手册绝不只是技术问题。 文档生成的困难性? v文档生成比代码生成困难得多。 v1、文档内容复杂,包括文章、表格和图形。 v2、文档没有严格的语法规则,随意性大,种类多,又要 符合人们的习惯与要求。 v3、文档中的包括表面形式和含义,需要将其建立逻辑的 联系,保持文档各部分之间、文档与程序之间的一致性尤 其困难。一处变更,需要触发相关各处的修改。 v4、文章的生成是最难处理的,这不只是技术问题。 4.5 项目管理与版本管理 v项目管理与版本管理的核心问题:跨生命周期的 信息管理问题。 v项目管理与版本管理的关键问题:历史信息的处 理。 vAD/Cycle的总框架中,对项目管理应当考虑的范围给出如 下规定(也就是项目管理的任务) (1)研究与确定开发工作的方针与方法。如采用什么样 的阶段划分方法,采用什么样的系统描述方法等。 (2)开发任务的划分与分工。整个开发任务如何逐层分 解为具体的任务,这些任务委托给什么人来做,这些任务 之间的相互关系。 (3)资源状况。有多少人力、物力、设备、软件资金, 它们在做什么,是否得到充分利用等。 (4)人员情况。每个人进度如何,是否需要培训等。 (5)变更情况。需求、人员、环境的变更 (6)质量情况。检验标准是什么,谁负责等。 v一、项目管理内容 项目管理的方法 v人们依据项目管理的经验,提出了以项目数 据库为中心进行项目管理的方法。项目数据 库实际上是信息库的一个组成部分,它记录 的是项目本身进展的各种有关信息。如各工 作阶段的预期进度、实际进展情况、验收情 况。项目负责人要随时掌握这些情况,一方 面把住验收质量关,同时掌握全局,及时发 现瓶颈环节,从组织上加以解决。 二、版本管理 v主要内容是:各个版本的编号、功能改变、 模块组成、文档状况、推出时间、用户数量 (或用户名单)、用户反映、封存情况等。 主要是对成为产品中,需要不断更新的大型 软件而言的。 练习 v软件开发工具的基本功能有哪些? v(1)提供描述软件状况及其开发过程的概念模式 ,协助软件开发人员认识软件工作的环境与要求 、合理地组织与管理软件开发的过程。(2)提供 存储和管理有关信息的机制与手段。(3)帮助使 用者编制、生成及修改各种文档。(4)帮助使用 者编写程序代码,即代码生成。(5)对于历史信 息进行跨生命周期的管理,把项目运行与版本更 新的有关信息科学地管理起来。 v一体化的软件开发工具包括哪几个主要组成部分 ? v(1)总控和人机界面中心位置,使用者和工 具间的桥梁,工具实用性和灵活性的保证。(2) 信息库和信息库管理模块工具功能与作用的 最基本依据。(3)文档生成和代码生成两个 重要输出(4)项目管理和版本管理跨周期信 息共享、知识重用、软件重用的关键问题。 v总控和人机界面为什么是系统开放性和灵活性的关键? v总控和人机界面是使用者和软件开发工具之间交流信息、 实现所有的支持功能的桥梁。这一部分的有效实现对于软 件开发工具来说,是实用性和灵活性的主要保证。 v一方面,人机界面面对不同类型的用户,这些用户既有区 别,又有共性,人机界面既要保持统一和一致,又要能够 在正确区分和识别用户的基础上,针对不同用户的要求与 习惯提供有效的帮助。 v另一方面,总控部分面对系统内部的各种功能与各种信息 ,它要保证各部分之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准商铺租赁合同范本
- 烟台科技学院《体育社会组织建设与管理》2023-2024学年第一学期期末试卷
- 南京工业大学《轨道交通通信系统》2023-2024学年第二学期期末试卷
- 江西经济管理职业学院《波与成像》2023-2024学年第二学期期末试卷
- 2025塑料保护剂经销合同
- 吉利学院《Biochemistry》2023-2024学年第二学期期末试卷
- 2025至2031年中国大喷量实心锥喷嘴行业投资前景及策略咨询研究报告
- 2025花卉采购合同书范本
- 2025年室内排水、电线、网络等管道井专项劳务分包施工合同
- 老式住宅拆除方案范本
- 【公开课课件】《农业区位因素及其变化》
- 2024届清华大学强基计划数学学科笔试试题(附答案)
- (必会)军队文职(数学1)近年考试真题题库(含答案解析)
- 全国统一规范电子税务局概况介绍及操作辅导
- 工商企业管理毕业论文范文(4篇)
- 浙江省杭州市(2024年-2025年小学三年级语文)人教版开学考试(上学期)试卷(含答案)
- 【贸易战背景下华为公司危机应对措施及其启示18000字(论文)】
- 【网络谣言型寻衅滋事罪的认定存在的争议探析8600字(论文)】
- 2024延迟退休政策详解
- 水泥标准培训考核2024
- 图书馆运营管理服务投标方案(技术方案)
评论
0/150
提交评论