史料數位化之METADATA與AUTHORITY CONTROL / 陳雪華 软件工程学实验 马丽
《软件工程学实验》课程说明 实际上课时间:1 ~ 16周 本实验教程一般与《软件工程学》课程配套 每周必须完成相应的实验作业 按指导教师要求完成相应的课程设计作业
《软件工程学实验》教材 教 材 教学参考书 周课时:2课时/周 * 16 《软件工程学实验》,周苏等编著,科学出版社,2004 教 材 《软件工程学实验》,周苏等编著,科学出版社,2004 教学参考书 《软件工程学教程》第二版,周苏等编著,科学出版社,2004 GB/T8566-2001《信息技术 软件生存周期过程》 GB/T8567-1988《计算机软件产品开发文件编制指南》 周课时:2课时/周 * 16
实验1 实验1.1 软件工程的计算环境 实验1.2 工具、环境与CASE
实验1.1 软件工程的计算环境 软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具 实验1.1 软件工程的计算环境 软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具 软件开发方法就是开发软件的规范化方法 软件工具是指能支持软件生存周期中某一阶段 (如系统定义、需求分析、设计、编码、测试或维护等) 的需要而使用的软件系统
实验1.1 软件工程的计算环境 软件开发环境则是面向软件整个生存周期,为支持各个阶段的需要,在基本硬件和宿主软件的基础上使用的一组软件系统。软件工具和软件开发环境都是软件工程的重要支柱,对于提高软件生产率,改进软件质量,以及适应计算机技术的迅速发展有着越来越大的作用
实验1.1 软件工程的计算环境 从20世纪70年代末开始,专家们就致力于软件开发自动化工具的研究,并逐步形成了应用于软件过程的集成的项目支撑环境 (integrated project support environment) 和计算机辅助软件工程 (CASE,computer-aided software engineering) 工具。在此基础上建立集成式软件开发环境,全面支持软件开发过程,以期实现软件设计过程的自动化或半自动化
实验1.2 工具、环境与CASE 软件工程的主要目标是提高软件生产率,改善软件质量和降低软件成本,而这些目标的实现只能依靠软件工具、软件开发环境和计算机辅助软件工程 (CASE) 的广泛应用
实验1.2 工具、环境与CASE 1. 软件工具 是“用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理等目的而编制的计算机程序或软件。” 其主要目的是为了提高软件生产率和改善软件的质量 软件工具重视用户界面的设计,不断采取新理论和新技术,正由单个工具向多个工具集成方向发展,且注重工具间的平滑过渡和互操作性 软件工具商品化推动软件产业发展.而软件产业发展又增加了对软件工具的需求,促进了软件工具的商品化进程
实验1.2 工具、环境与CASE 软件工具的范围很广,它既包括比较成熟的传统工具,如操作系统、编译程序、解释程序和汇编程序等,又包括支持软件生存周期各阶段,如需求分析、设计、编码、测试、维护等的开发和管理工具 例如,一项分类标准把软件工具分为13类,它们是:系统模拟和模型工具;需求追踪工具;需求分析工具;设计工具;编码和单元测试工具;测试和集成工具;文档工具;项目管理工具;配置管理工具;质量保证工具;度量工具;软件再用工具;其他工具
实验1.2 工具、环境与CASE 2. 软件开发环境 软件开发环境是指在计算机基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统 1985年第八届国际软件工程会议提出的关于“软件开发环境”的定义是:“软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。”
实验1.2 工具、环境与CASE 一般说来,软件开发环境都具有层次式的结构,例如可区分为四层: 宿主层:它包括基本宿主硬件和基本宿主软件。 核心层:包括工具组、环境数据库、通信设施和运行时刻支援设施。 基本层:包括一组工具,如编译程序、编辑程序、调试程序、连接程序和装配程序等。这些工具都是由核心层来支援的。 应用层:以特定的基本层为基础,包括一些补充工具,借以更好地支援各种应用软件的研制
实验1.2 工具、环境与CASE 按内容分,软件开发环境一般由环境数据库、接口软件和工具组等构成。 环境数据库。这是软件开发环境的核心,其中存放被研制软件在其生存周期中所必须的信息和软件研制工具的有关信息等 接口软件。包括系统与用户的接口、子系统和子系统之间的接口。开发环境要求所有的接口都具有统一性 工具组。软件开发环境中的工具彼此有交互作用。工具组中的各个工具被设计成由一些基本功能成分组成。这些成分可以组合,供用户选用,并可通过环境数据库进行通信
实验1.2 工具、环境与CASE 工具组: 语言工具。一般提供编译 (或解释) 程序、连接装配程序、调试程序、静态及动态分析程序等一系列语言支撑工具 质量保证工具。主要是静态、动态测试技术以及各种形式的评审技术 需求分析及设计工具。主要由文本编辑工具、图形工具及一致性检验工具等支持 配置管理工具。对不同用户或不同硬件配置,往往有不同的软件配置;即使同一软件也有不同的版本;加上软件产品的修改需要进行严格的管理等原因,软件的配置管理已成为软件生产管理的重要课题
实验1.2 工具、环境与CASE 软件开发环境发展方向是集成化的软件工程环境,即软件生存周期中各个阶段的开发环境 (工具与支持系统) 集成为一致的用户接口,包括制定各种标准接口 以下一些名称具有相同或类似的含义 软件开发环境 (SDE) 、软件工程环境 (SEE) 、软件支持环境 (SSE) 、项目支持环境 (PSE) 、自动开发环境 (ADE) 、集成化程序设计环境 (IPE) 、工具盒 (Toolbox) 、工具箱 (Toolkit)
实验1.2 工具、环境与CASE 3. 计算机辅助软件工程 (CASE) CASE是一组工具和方法的集合,用来辅助软件开发生命周期各阶段进行软件开发,它是软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物,CASE把软件开发技术、软件工具和软件开发方法集成到一个统一的框架中,并且吸取了计算机辅助设计 (CAD) 、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,从产业角度讲,CASE是种类繁多的软件开发和系统集成的产品及软件工具的集合
实验1.2 工具、环境与CASE CASE可以简单到单个工具,它支持某个特定的软件工程活动,或者复杂到一个完整的环境,包含了工具、数据库、人员、硬件、网络、操作系统、标准以及许多其他部件。CASE的构造积木块如图所示
CASE工具 集成框架 可移植服务 操作系统 硬件平台 环境体系结构
实验1.2 工具、环境与CASE 每个构造积木块是形成其上一层的基础,而CASE工具位于构造积木块的顶部 环境体系结构由硬件平台和操作系统支持 (包括网络和数据库管理软件) 构成,铺设了CASE的基石。但是,CASE环境本身要求其他的构造积木块。一组可移植服务提供了CASE工具及其集成框架与环境体系结构间的连接桥梁。集成框架是一组专用程序,它们使得单个的CASE工具可以和其他工具相互通信,能够创建项目数据库,以及使终端用户 (软件工程师) 看到同样的软件界面。可移植服务允许CASE工具及其集成框架能够跨越不同的硬件平台和操作系统使用,而不需要大量的相应修改
实验1.2 工具、环境与CASE 某些CASE工具保持“点解决方案”,即工具被用于辅助某个特定的软件工程活动 (如分析建模) ,但并不直接和其他工具通信,不关联到一个项目数据库,也不是某个集成CASE环境的一部分。这种方案虽然不很理想,但CASE工具仍可以被有效地使用。 对CASE工具的分类,可以根据功能、它们被作为管理工具还是技术工具、它们在软件工程过程各个步骤中的使用、支撑它们的环境体系结构 (硬件和软件) 、或者甚至它们的起源或价格来划分
实验1.2 工具、环境与CASE 按使用的功能来进行分类,主要有: 信息工程工具 过程建模和管理工具 信息工程工具 过程建模和管理工具 项目计划工具 风险分析工具 项目管理工具 需求跟踪工具 度量和管理工具 文档工具 系统软件工具 质量保证工具 数据库管理工具 软件配置管理工具 分析和设计工具 原型和仿真工具 界面设计和开发工具 原型工具 编程工具 集成和测试工具 静态分析工具 动态分析工具 测试管理工具 客户/服务器测试工具 再工程工具
实验1.2 工具、环境与CASE GB/T15853-1995软件支持环境
实验1.2 工具、环境与CASE 软件支持环境又分为软件开发支持环境和软件生存期支持环境两种类型 前者是由软件开发单位确定、并经任务委托单位认可的资源,用于支持合同项目中的软件需求 后者是由软件生存期支持部门使用的 (属于任务委托单位的) 资源,用于为指定的目标机系统提供整个生存期内的软件支持
实验目的 熟悉软件工具、软件开发环境以及CASE工具的基本概念及其分类 了解主流的软件工具和软件开发环境产品 了解GB/T15853-1995《软件支持环境》的相关内容