《软件工程CMM.ppt》由会员分享,可在线阅读,更多相关《软件工程CMM.ppt(91页珍藏版)》请在第壹文秘上搜索。
1、第七章第七章 软件开发工具与环境软件开发工具与环境7.1 7.1 软件工具软件工具定义:定义:用来辅助软件开发、运行、维护、管理、用来辅助软件开发、运行、维护、管理、 支持等过程中的活动的软件成为软件工具支持等过程中的活动的软件成为软件工具. .分类:分类:按软件过程活动分类按软件过程活动分类支持软件开发过程的工具支持软件开发过程的工具支持软件维护过程的工具支持软件维护过程的工具支持软件管理过程和支持过程的工具支持软件管理过程和支持过程的工具 7.2 计算机辅助软件工程计算机辅助软件工程 (CASE) (CASE ,C Computer- -A Aided S Software E Engin
2、eering )7.2.1 7.2.1 CASECASE的基本概念与发展历史的基本概念与发展历史1.什么是CASE CASECASE使人们能在计算机的辅助下进行使人们能在计算机的辅助下进行软件开发软件开发, ,为软件开发的为软件开发的工程化工程化、自动化自动化进进而而智能化智能化打下基础。打下基础。 在在CASE工具辅助下进行软件开发工具辅助下进行软件开发, ,可可提高开发效率、改善软件质量提高开发效率、改善软件质量。 CASE构造积木块构造积木块CASE工具工具环境体系结构环境体系结构硬件平台硬件平台操作系统操作系统可移植服务可移植服务集成框架集成框架信息工程工具信息工程工具工程建模和管理工
3、具工程建模和管理工具项目计划工具项目计划工具风险分析工具风险分析工具项目管理工具项目管理工具需求根据工具需求根据工具质量和管理工具质量和管理工具文档工具文档工具系统软件工具系统软件工具质量保证工具质量保证工具数据库管理工具数据库管理工具软件配置管理工具软件配置管理工具分析和设计工具分析和设计工具PRO/SIMPRO/SIM工具工具界面设计和开发工具界面设计和开发工具原型工具原型工具编程工具编程工具集成和测试工具集成和测试工具静态分析工具静态分析工具动态分析工具动态分析工具测试管理工具测试管理工具客户客户/ /服务器测试工具服务器测试工具再工程工具再工程工具 逆向工程工具逆向工程工具 代码重构和
4、分析工代码重构和分析工具具 联机再工程工具联机再工程工具2. 2. CASECASE工具工具分类分类3.3. 集成化集成化CASE环境环境( (I - CASE) )1990年年Wasserman提出的五级集成模型提出的五级集成模型平台集成平台集成: :工具运行在相同的硬件工具运行在相同的硬件/ /操作操作 系统平台上系统平台上数据集成数据集成: :工具使用共享数据模型来操作工具使用共享数据模型来操作表示集成表示集成: :工具提供相同用户界面工具提供相同用户界面控制集成控制集成: :工具激活后能控制其它工具的操作工具激活后能控制其它工具的操作过程集成过程集成: :工具在一个过程模型和工具在一个
5、过程模型和“过程机过程机” 的指导下使用的指导下使用 I CASE 的元素基础块基础块体系结构硬件平台操作系统可移植服务可移植服务集成框架集成框架CASECASE工具工具工具集成层工具集成层触发执行机制触发执行机制通信机制通信机制 集成化集成化CASECASE环境的总体结构模型环境的总体结构模型用户界面层用户界面层用户界面开发工具包用户界面开发工具包界面协议界面协议工具1信息集成层信息集成层信息与信息与CASECASE工具的集成工具的集成信息与信息的集成信息与信息的集成共享中心库层共享中心库层CASECASE数据库数据库访问控制功能访问控制功能工具2工具n2 . CASE中心库 在在I-CAS
6、E中中心库是软件工程信息的中中心库是软件工程信息的“积聚和存储中心积聚和存储中心”;是一组实现;是一组实现 “数据数据-工具工具”和和“数据数据-数据数据”集成的集成的机制机制和数据结构。和数据结构。 CASE中心库也称为中心库也称为“软件总线软件总线” CASE中心库也是一个存放地,结合了中心库也是一个存放地,结合了高级的集成高级的集成CASE工具的机制。工具的机制。CASE中心库存放的内容被求解的问题被求解的问题关于问题域的信息关于问题域的信息系统解决方案系统解决方案关于被遵从的软件过程(方法学)的关于被遵从的软件过程(方法学)的规则和指令规则和指令项目计划、资源和历史项目计划、资源和历史
7、关于组织的信息关于组织的信息CASE中心库提供的服务可从任何高级的数据库管理系统期望可从任何高级的数据库管理系统期望得到的访问类型得到的访问类型特定于特定于CASE环境的访问类型环境的访问类型中心库中心库中心信息库中心信息库Data 记录记录 元素元素 视图视图 入库实体入库实体处理处理 模块模块 处理处理 函数函数 外部实体外部实体 界面界面图形图形 DFD 结构图结构图 E-RE-R图图 数据模型数据模型规则规则权限权限过程和管理过程和管理现存现存拷贝库拷贝库数据数据字典字典命名标准命名标准 标准名标准名 别名别名 属性名属性名 编译名编译名中心信息库中心信息库报告报告中心信息库中心信息库
8、 的内容的内容版本版本属性描述属性描述3. CASE工作台CASECASE工作台分类工作台分类 程序设计工作台程序设计工作台分析和设计工作台分析和设计工作台测试工作台测试工作台交叉开发工作台交叉开发工作台配置管理工作台配置管理工作台文档工作台文档工作台项目管理工作台项目管理工作台程序设计工作台组成程序设计工作台的工具:组成程序设计工作台的工具:(1)(1)语言编译器语言编译器(2)(2)结构化编译器结构化编译器(3)(3)连接器连接器(4)(4)加载器加载器(5)(5)交叉引用交叉引用(6)(6)按格式打印按格式打印(7)(7)静态分析器静态分析器(8)(8)动态分析器动态分析器(9)(9)交
9、互式调试器交互式调试器测试工作台(下游CASE工具)源代码源代码被测试被测试的程序的程序测试数据测试数据规约规约预测器预测器测试管理器测试管理器测试预估测试预估模拟器模拟器文件比较器文件比较器报告生成器报告生成器动态分析器动态分析器测试结果测试结果测试结测试结果报告果报告执行报告执行报告测试数据生成器测试数据生成器7.3 软件工程环境 (SEE) 7.3.1 7.3.1 软件工程环境概述软件工程环境概述软件工程环境定义软件工程环境定义: :(1)(1)一组软件工具的集合一组软件工具的集合(2)(2)工具按一定方法或模型组织工具按一定方法或模型组织(3)(3)工具支持整个生存周期各阶段或工具支持
10、整个生存周期各阶段或 部分阶段部分阶段1. 软件工程环境分类(1)(1)按软件开发模型及开发方法分类按软件开发模型及开发方法分类支持:瀑布模型、支持:瀑布模型、 演化模型、演化模型、 螺旋模型、螺旋模型、 喷泉模型等喷泉模型等支持:结构化方法、支持:结构化方法、 信息模型方法、信息模型方法、 OOOO方法等方法等 (2)(2)按应用范围分类按应用范围分类 通用型软件工程环境通用型软件工程环境 专用型软件工程环境专用型软件工程环境( (应用型软件工程环境应用型软件工程环境) )(3)(3)按开发阶段分类按开发阶段分类前端开发环境前端开发环境( (支持系统分析、分析、设计等阶段活动支持系统分析、分
11、析、设计等阶段活动) )后端开发环境后端开发环境 ( (支持编程、测试等阶段活动支持编程、测试等阶段活动) )软件维护环境软件维护环境逆向工程环境逆向工程环境2. 软件工程环境的特征( (1)1)仓库仓库(2)(2)工具的集成工具的集成(3)(3)用户友好的界面用户友好的界面(4)(4)提取信息的能力提取信息的能力(5)(5)分析的能力分析的能力(6)(6)可裁剪和可扩充的能力可裁剪和可扩充的能力(7)(7)项目控制和管理项目控制和管理(8)(8)方法学的支持方法学的支持3. 软件工程环境的基本功能( (1)1)软件开发的一致性及完整性维护软件开发的一致性及完整性维护(2)(2)配置管理及版本
12、控制配置管理及版本控制(3)(3)数据的多种表示形式及自动转换数据的多种表示形式及自动转换(4)(4)信息自动检索及更新信息自动检索及更新(5)(5)项目控制和管理项目控制和管理(6) (6) 对方法学的支持对方法学的支持7.3.2 集成环境软件工程环境的层次模型软件工程环境的层次模型工作台应用工作台应用框架服务框架服务平台服务平台服务7.3.3 平台服务SEESEE运行在工作台网络上运行在工作台网络上 宿主系统宿主系统目标机目标机1 1目标机目标机2 2网络连接网络连接网络连接网络连接宿主宿主目标开发方式:目标开发方式: 一个软件工程环境运行其上的平台称为一个软件工程环境运行其上的平台称为软
13、件工程环境的宿主机系统软件工程环境的宿主机系统 。7.3.4 框架服务SEESEE参考模型参考模型数据仓库服务数据仓库服务数据集成服务数据集成服务任务管理服务任务管理服务用户界面服务用户界面服务消息服务消息服务工具插槽工具插槽第第八八章章 软件质量管理与质量保证软件质量管理与质量保证8.1 8.1 软件质量软件质量概述概述 8.1.18.1.1 软件质量软件质量定义定义 ANSI标准对软件质量的定义:标准对软件质量的定义:“软件软件质量是软件产品或服务的特性和质量是软件产品或服务的特性和特性的整体特性的整体” IEEE对软件质量的定义:对软件质量的定义:软件软件产品具备满足给定需求的特性及特征
14、的总体的能力产品具备满足给定需求的特性及特征的总体的能力软件拥有所期望的各种属性组合的程度软件拥有所期望的各种属性组合的程度用户认为软件满足他们综合期望的程度用户认为软件满足他们综合期望的程度软件组合特性可以满足用户预期需求的程度软件组合特性可以满足用户预期需求的程度8.1.2 8.1.2 软件质量的质量特性软件质量的质量特性McCallMcCall质量模型质量模型: :提出软件质量提出软件质量特性包含的特性包含的质量特性质量特性可使用性可使用性( (Usability)Usability)正确性正确性( (Correctness)Correctness)可靠性可靠性( (Reliabilit
15、y)Reliability)效率效率( (Efficiency)Efficiency)完整性、安全性完整性、安全性( (Integrity, Security)Integrity, Security)灵活性灵活性( (Flexibility)Flexibility)可测试性可测试性( (RestabilityRestability) )可维护性可维护性( (Maintainability)Maintainability)可移植性可移植性( (Portability)Portability)复用性复用性( (ReuseabilityReuseability) )互操作性互操作性( (Interp
16、erabilityInterperability) )McCall的三层质量度量模型的三层质量度量模型McCall质量度量模型框架质量度量模型框架特性特性评价准则评价准则评价准则评价准则评价准则评价准则度量度量度量度量度量度量面向管理观点面向管理观点的产品质量的产品质量决定产品质量决定产品质量的软件属性的软件属性定量化地度定量化地度量软件属性量软件属性ISOISO建议的软件质量评价建议的软件质量评价模型模型 标准分为标准分为三级三级: :高层高层: :质量需求评价准则质量需求评价准则( (SQRC)SQRC)中层中层: :质量设计评价准则质量设计评价准则( (SQDC)SQDC)低层低层: :质量度量评价准则质量度量评价准则( (SQMC)SQMC)ISOISO建议的软件质量评价模型正正 确确 性性可可 跟跟 踪踪 性性完完 备备 性性准准 确确 性性容容 错错 性性简简 洁洁 性性模模 块块 性性通通 用用 性性扩扩 充充 性性可可 容容 性性效效 率率安安 全全 性性可维护性可维护性适适 应应 性性互互 连连 性性SQDC(中层中层)SQRC(高层高层)SQMC(低层低层)可可 用