软件工程CMM.ppt
《软件工程CMM.ppt》由会员分享,可在线阅读,更多相关《软件工程CMM.ppt(91页珍藏版)》请在课桌文档上搜索。
1、第七章 软件开发工具与环境,7.1 软件工具定义:用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件成为软件工具.分类:按软件过程活动分类支持软件开发过程的工具支持软件维护过程的工具支持软件管理过程和支持过程的工具,7.2 计算机辅助软件工程(CASE),(CASE,Computer-Aided Software Engineering)7.2.1 CASE的基本概念与发展历史1.什么是CASE CASE使人们能在计算机的辅助下进行软件开发,为软件开发的工程化、自动化进而智能化打下基础。在CASE工具辅助下进行软件开发,可提高开发效率、改善软件质量。,CASE构造积木块,CASE工具
2、,环境体系结构,硬件平台,操作系统,可移植服务,集成框架,信息工程工具工程建模和管理工具项目计划工具风险分析工具项目管理工具需求根据工具质量和管理工具文档工具系统软件工具质量保证工具数据库管理工具软件配置管理工具,分析和设计工具PRO/SIM工具界面设计和开发工具原型工具编程工具集成和测试工具静态分析工具动态分析工具测试管理工具客户/服务器测试工具再工程工具 逆向工程工具 代码重构和分析工具 联机再工程工具,2.CASE工具分类,3.集成化CASE环境(I-CASE),1990年Wasserman提出的五级集成模型平台集成:工具运行在相同的硬件/操作 系统平台上数据集成:工具使用共享数据模型来
3、操作表示集成:工具提供相同用户界面控制集成:工具激活后能控制其它工具的操作过程集成:工具在一个过程模型和“过程机”的指导下使用,I CASE 的元素,基础块,体系结构硬件平台操作系统,可移植服务,集成框架,CASE工具,工具集成层触发执行机制通信机制,集成化CASE环境的总体结构模型,用户界面层用户界面开发工具包界面协议,工具1,信息集成层信息与CASE工具的集成信息与信息的集成,共享中心库层CASE数据库访问控制功能,工具2,工具n,2.CASE中心库,在I-CASE中中心库是软件工程信息的“积聚和存储中心”;是一组实现“数据-工具”和“数据-数据”集成的机制和数据结构。CASE中心库也称为
4、“软件总线”CASE中心库也是一个存放地,结合了高级的集成CASE工具的机制。,CASE中心库存放的内容,被求解的问题关于问题域的信息系统解决方案关于被遵从的软件过程(方法学)的规则和指令项目计划、资源和历史关于组织的信息,CASE中心库提供的服务,可从任何高级的数据库管理系统期望得到的访问类型特定于CASE环境的访问类型,中心库,中心信息库,Data 记录 元素 视图 入库实体,处理 模块 处理 函数 外部实体 界面,图形 DFD 结构图 E-R图 数据模型,规则,权限,过程和管理,现存拷贝库,数据字典,命名标准 标准名 别名 属性名 编译名,中心信息库报告,中心信息库 的内容,版本,属性描
5、述,3.CASE工作台,CASE工作台分类 程序设计工作台分析和设计工作台测试工作台交叉开发工作台配置管理工作台文档工作台项目管理工作台,程序设计工作台,组成程序设计工作台的工具:(1)语言编译器(2)结构化编译器(3)连接器(4)加载器(5)交叉引用(6)按格式打印(7)静态分析器(8)动态分析器(9)交互式调试器,测试工作台(下游CASE工具),源代码,被测试的程序,测试数据,规约,预测器,测试管理器,测试预估,模拟器,文件比较器,报告生成器,动态分析器,测试结果,测试结果报告,执行报告,测试数据生成器,7.3 软件工程环境(SEE),7.3.1 软件工程环境概述软件工程环境定义:(1)一
6、组软件工具的集合(2)工具按一定方法或模型组织(3)工具支持整个生存周期各阶段或 部分阶段,1.软件工程环境分类,(1)按软件开发模型及开发方法分类支持:瀑布模型、演化模型、螺旋模型、喷泉模型等支持:结构化方法、信息模型方法、OO方法等,(2)按应用范围分类 通用型软件工程环境 专用型软件工程环境(应用型软件工程环境),(3)按开发阶段分类前端开发环境(支持系统分析、分析、设计等阶段活动)后端开发环境(支持编程、测试等阶段活动)软件维护环境逆向工程环境,2.软件工程环境的特征,(1)仓库(2)工具的集成(3)用户友好的界面(4)提取信息的能力(5)分析的能力(6)可裁剪和可扩充的能力(7)项目
7、控制和管理(8)方法学的支持,3.软件工程环境的基本功能,(1)软件开发的一致性及完整性维护(2)配置管理及版本控制(3)数据的多种表示形式及自动转换(4)信息自动检索及更新(5)项目控制和管理(6)对方法学的支持,7.3.2 集成环境,软件工程环境的层次模型,工作台应用,框架服务,平台服务,7.3.3 平台服务,SEE运行在工作台网络上,宿主系统,目标机1,目标机2,网络连接,网络连接,宿主目标开发方式:,一个软件工程环境运行其上的平台称为软件工程环境的宿主机系统。,7.3.4 框架服务,SEE参考模型,数据仓库服务,数据集成服务,任务管理服务,用户界面服务,消息服务,工具插槽,第八章 软件
8、质量管理与质量保证,8.1 软件质量概述 8.1.1 软件质量定义 ANSI标准对软件质量的定义:“软件质量是软件产品或服务的特性和特性的整体”IEEE对软件质量的定义:软件产品具备满足给定需求的特性及特征的总体的能力软件拥有所期望的各种属性组合的程度用户认为软件满足他们综合期望的程度软件组合特性可以满足用户预期需求的程度,8.1.2 软件质量的质量特性,McCall质量模型:提出软件质量特性包含的质量特性可使用性(Usability)正确性(Correctness)可靠性(Reliability)效率(Efficiency)完整性、安全性(Integrity,Security)灵活性(Fle
9、xibility)可测试性(Restability)可维护性(Maintainability)可移植性(Portability)复用性(Reuseability)互操作性(Interperability),McCall的三层质量度量模型,McCall质量度量模型框架,特性,评价准则,评价准则,评价准则,度量,度量,度量,面向管理观点的产品质量,决定产品质量的软件属性,定量化地度量软件属性,ISO建议的软件质量评价模型 标准分为三级:高层:质量需求评价准则(SQRC)中层:质量设计评价准则(SQDC)低层:质量度量评价准则(SQMC),ISO建议的软件质量评价模型,正 确 性,可 跟 踪 性,完
10、 备 性,准 确 性,容 错 性,简 洁 性,模 块 性,通 用 性,扩 充 性,可 容 性,效 率,安 全 性,可维护性,适 应 性,互 连 性,SQDC(中层),SQRC(高层),SQMC(低层),可 用 性,一 致 性,使用单位自行制定,8.1.3国际标准和国家标准规定的质量特性ISO/IEC 9126-1991 Information technology software product evaluation quality characteristics and guidelines for their use我国1996年将其等同采用:GB/T16260-1996 软件产品评价质
11、量特性及其使用指南,8.1.4 产品质量与过程质量,产品质量,开发技术,成本、时间、进度,过程质量,人员素质,影响产品质量的4个方面,8.2 软件质量保证,质量保证也是一个过程,已列入国际标准“ISO/IEC 12207信息技术-软件生存期过程”中。,8.2.1 质量保证的主要功能,质量方针的制定和展开质量保证方针的质量保证标准的制定质量保证体系的建立和管理各阶段的质量评审,8.2.2 质量保证的实施 软件质量的度量过程度量产品度量 软件质量评价:软件复杂性度量静态度量软件产品规模软件产品程序控制结构的度量数据结构的度量开发度量,Halstead的软件复杂度度量方法,根据程序中可执行代码行的操
12、作符和操作数的数量来计算程序的复杂性n1:程序中出现的不同操作符数目n2:程序中出现的不同操作数数目N1:程序中操作符出现的总数N2:程序中操作数出现的总数,Halstead使用原始度量定义的算式,(1)程序长度 N=n1log2 n1+n2log2 n2(2)程序容量 V=Nlog2(n1+n2)(3)语言级别 L=(2n2)/(n1n2)(4)程序工作量 E=V/L(5)程序编写时间 T=E/S S:Stroud数(6)程序潜在错误的数量 B=Nlog2(n1+n2)/3000,Halstead认为程序中可能存在的错误与程序容量成正比,例:一程序对75个数据库项共访问1300 次,对150
13、个操作符使用1200次,潜在错 误数为:B=(1300+1200)log2(75+150)/3000=6.5(即67个错误),Halstead复杂性度量方法是一种较科学的方法,但存在不足和问题:(1)未忽略模块特性(2)忽略了非执行语句(3)代码和数据的二义性(4)未考虑数据类型的差异(5)未注意调用深度(6)未区别不同类型的运算符,McCabe复杂性度量(环路度量),McCabe认为程序复杂性很大程度取决于程序控制流的复杂性,以程序图的环路数作为该程序复杂性的度量值 对于具有强连通图的环路数:V(G)=e-n+2 e:边数 n:结点数,McCabe复杂性度量示例,a,c,b,e,f,d,1,
14、2,3,7,6,8,4,5,9,R1,R2,R3,R4,R5,V(G)=9-6+2=5,V(G)其它计算方法:(1)计算图中所有有界区域和无界区域数R 图中共有5个区域(R1到R5),所以 V(G)=5(2)用判定语句总数+1(判定个数=分支数-1)图中可按4个判定计算,V(G)=4+1=5,8.2.3 技术评审,软件评审是一个“过滤器”,用于“净化”软件工程各项活动,质量控制技术,质量控制活动分类,开发方法学,配置管理,验证技术,评 审,正确性验证,性能调试,组件测试,集成测试,系统测试,原子事务,模块冗余性,检 错,质量控制,避免错误,容 错,调 试,测 试,8.3 软件可靠性,硬件系统故
15、障率,0,t,Z(t),软件系统故障率,0,t,Z(t),软件可靠性的主要指标,借用硬件可靠性的定量度量方法来度量软件的可靠性:MTBF:平均故障间隔时间 MTTF:平均故障时间,t1,t2,.,tn:失效时间,MTTF,n,i=1,n,1,t,i,8.4 软件容错技术,提高软件质量和可靠性的技术:避开错误技术容错技术:对无法避开的差错,使其 影响减至最小的技术。,8.4.1 什么是容错软件?,定义1:规定功能的软件,在一定程度上对自 身错误的作用具有屏蔽能力的软件;定义2:规定功能的软件,在一定程度上能从 错误状态自动恢复到正常状态的软件;定义3:规定功能的软件,在因错误而发生错 误时,仍能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 CMM

链接地址:https://www.desk33.com/p-235695.html