se8_ch05_v5软件工程工具精编版

上传人:ahu****ng1 文档编号:143148273 上传时间:2020-08-26 格式:PPTX 页数:29 大小:613.34KB
返回 下载 相关 举报
se8_ch05_v5软件工程工具精编版_第1页
第1页 / 共29页
se8_ch05_v5软件工程工具精编版_第2页
第2页 / 共29页
se8_ch05_v5软件工程工具精编版_第3页
第3页 / 共29页
se8_ch05_v5软件工程工具精编版_第4页
第4页 / 共29页
se8_ch05_v5软件工程工具精编版_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《se8_ch05_v5软件工程工具精编版》由会员分享,可在线阅读,更多相关《se8_ch05_v5软件工程工具精编版(29页珍藏版)》请在金锄头文库上搜索。

1、Object-Oriented and Classical Software Engineering,CHAPTER 5,THE TOOLS OF THE TRADE,Overview,Stepwise refinement Costbenefit analysis Software metrics CASE Taxonomy of CASE分类 Scope of CASE Software versions Configuration control Build tools Productivity gains with CASE technology使用Case技术提高技术生产力,5.1

2、Stepwise Refinement逐步求精法,软件开发的分析工具,工具,逐步求精法 成本-效益分析法,理论(分析)工具,软件工具,帮助软件工程师 小组开发和维护 软件的产品,软件(CASE)工具,A basic principle underlying many software engineering techniques “Postpone decisions as to details as late as possible to be able to concentrate on the important issues” 尽可能将细节的定义推延到最后,以便集中精力在重要 的事项上

3、,Millers law (1956) A human being can concentrate on 7 2 items at a time,5.1.1 Stepwise Refinement Mini Case Study,设计一个产品,更新包含有True Life Software Disasters月刊订户名和地址数据的顺序主文件。 Three types of transactions Type 1:INSERT (a new subscriber订户into the master file) Type 2:MODIFY (an existing subscriber record

4、) Type 3:DELETE (an existing subscriber record) 事务是按订户名的字母顺序排序的。如果对一个指定的订户有两个以上的事务,则对该用户的事务重新排序,以便插入发生在修改之前,而修改发生在删除之前。,设计解决方案,第一步:建立输入事务的典型文件,如下表所示:,问题描述如下,有两个输入文件,三个输出文件:,输入:(1) 旧的主文件名和地址记录; (2) 事务文件; 输出:(1) 新的主文件名和地址记录; (2) 异常报告; (3) 概要和工作结束消息;,更新主文件,事务文件,异常报告,旧的 主文件,概要和工作 结束消息,新的 主文件,解决方案,第二步:开始

5、设计过程;开始点是上图的更新主文件方框,更新主文件,输入,处理,输出,该方框可分解为三个方框:输入、处理和输出; 分离输入,输出,关注处理!,设计的第一次求精,事务文件,旧的主文件,新的主文件,异常报告,解决方案,处理的图表表示:,解决方案,第三步对处理框再次提炼,进行第二次求精,如下图所示:,更新主文件,输入,差错,写入新文 件记录,执行插入,输出,执行修改,差错,差错,测试事 务类型,测试事 务类型,比较事务记录关键词 主文件记录关键词,执行删除,A,A,A,A,A,=,INSERT,INSERT,MODIFY,MODIFY,DELETE,DELETE,解决方案,第四步求精输入和输出方框,

6、如下图所示,更新主文件,执行差错 处理子程序,写入新文 件记录,写新文 件记录,写工作 结束消息,写新主文件 记录,执行差错 处理子程序,读事务文件,测试事 务类型,测试事 务类型,比较事务记录关键词 主文件记录关键词,读事务文件,A,A,A,A,=,INSERT,INSERT,MODIFY,MODIFY,DELETE,DELETE,读旧主 文件记录,执行差错 处理子程序,读旧主文件 读事务文件,设计有主要错误,解决方案,第五步,进行第四次求精,考虑打开,关闭文件等细节问题的处理; 逐步求精法可看成是建立某个阶段内需解决的各种问题的优先级的一种技术,逐步求精确保每个问题都得到解决,并且在合适的

7、时间解决,不需要一次处理超过7 2个程序块; 逐步求精是一项通用技术,可用于软件开发的每个工作流,表现形式也可以多种多样。 使用逐步求精法的难点在于确定当前的求精中必须处理的重要事项,以及哪些事项需推迟到后面的求精中解决;,5.2 CostBenefit Analysis 成本效益分析法,成本-效益分析法:对比估计的未来收益和预测的未来成本,确定一个可能的行为过程是否有利可图; 成本-效益分析法是确定客户是否应当进行业务计算机化的基本技术,如果确定使用计算机处理业务,应用何种方式来比较各种可选方案的成本和效益;,5.3 Software Metrics软件度量,没有度量(或测度)是不可能在软件

8、开发过程的早期,在问题暴露之前检测到该问题的; 常用的度量:代码行(LOC),每千行代码检测出的错误数,平均故障间隔时间,人月为单位测试工作量,职员的流动性; 产品度量:测量产品本身的某个特性,例如规模或可靠性 过程度量:开发者使用这些度量推断有关软件开发过程的信息,例如开发过程中错误检测的有效性; 成本与计算度量值所需搜集的数据相关; 一个软件组织应该测量什么?The Five Basic Metrics :(1) 规模(代码行);(2) 成本(美元);(3) 持续时间(以月计);(4) 工作量(人月);(5) 质量(检测错误数)。这些度量每一个都必须按工作流测量,根据从这些基本度量中获得的

9、数据,管理者可以发现软件组织内部的问题;,5.4 CASE (Computer-Aided Software Engineering),软件开发产品的开发过程中,需要进行许多不同的操作。典型的活动包括评估资源要求、写出规格说明文档、进行集成测试以及编写用户操作指南。这些工作不能由计算机完全自己实现,需要人的参与,但是计算机可以辅助这些工作的实现; CASE:计算机辅助软件工程; CASE包含计算机支持软件工程的所有方面;,CASE的分类,UpperCASE (front-end tool)高端CASE或高端工具:在软件开发过程的较早工作流帮助开发者的CASE工具; LowerCASE (bac

10、k-end tool)低端CASE或低端工具:帮助实现流、和交付后维护的CASE工具; 数据字典 一致性检查器 报表生成器 屏幕生成器 图形表示工具与数据字典结合,一致性检查器、报表生成器一起构成需求、分析和设计的工作平台; 另一类工作平台是需求管理工作平台,这类工作平台允许系统分析员组织和跟踪软件开发项目的需求;,CASE的分类,CASE工作平台是一些工具的集合,共同支持一个或两个活动,这里,活动是相关任务的集合; 将CASE技术从工具到工作平台的发展再继续下去,下一项是CASE环境。 与一个支持一个或两个活动的工作平台不同,环境支持整个软件开发过程,或者至少是软件开发过程的大部分;,Tax

11、onomy分类of CASE (contd),(a) Tool versus (b) workbench平台 versus (c) environment,Figure 5.9,5.6 Scope of CASE CASE的范围,实现CASE技术的一个主要原因是总是需要有准确、最新和可用的文档;,编程工具一词指诸如文本编辑器、调试器和灵巧打印机这样的CASE工具;,电子邮件 电子数据表格 文字处理器,结构编辑器: 灵巧打印机 在线接口检查 语法指导编辑器 操作系统前端 源代码调试器 ,5.7 Software Versions 软件版本,老版本,新版本,新版本替代老版本?,适应性维护,纠错性维

12、护,多个软件版本,控制!,5.8 Configuration Control 配置控制,制品代码形式: (1)源代码 (2)目标代码(编译代码) (3)可执行载入映像,运行 时例程,可执行载入映像,编译 文件1,编译 文件2,编译 文件3,编译 文件n,源文件1,源文件2,源文件3,源文件n,.,.,某个(完成的)产品的给定 版本所赖以建造的每个制品 的特定版本称为该产品那个 版本的配置,配置控制,现象:测试报告显示一个制品在某组测试数据上有问题。 问题:程序员如何确定制品哪个变种版的哪个修订版进入了出现问题的产品版本? 处理多个版本时必须解决两个问题:第一,有必要区分版本,以便将每个制品的正

13、确版本编译并链接到产品中;第二,存在相反的问题:给定一个可执行载入映像,确定每个组件的哪个版本进入了它; 解决问题的方法:(1) 版本控制工具;(2) 保留产品每个版本的详细记录(出处),配置控制,版本控制常用技术:使每个文件的名称包含两部分,文件名本身和修订版本号; 关于多个变种版,一个基本的文件名后跟着一个带圆括号的变种名; 版本控制记录出处的方法:包括每个源代码组成部分的名称、使用的多种编译器和链接器的版本、创建产品的人的名字,生成产品的日期和时间; 如果在一个变种版中发现的错误在其他变种版本中也存在,怎么办? 配置控制工具可以自动管理多个变种版,但配置控制的作用不局限于多个变种版。 配

14、置控制工具还可以处理小组开发和维护时出现的问题;,Configuration-Control,问题:多个程序员同时维护一个产品,会产生意想不到的麻烦 如何解决? 基准Baselines :产品中所有制品的配置(版本集) 个人工作台Private workspaces 冻结version is frozen 产品开发过程中的配置控制 While an artifact is being coded The programmer performs informal testing Then the artifact is given to the SQA group for methodical

15、testing An artifact must be subject to configuration control from the time it is passed by SQA,Configuration-Control Tools,UNIX version-control tools sccs源代码控制系统 rcs修订版控制系统 cvs并行版本控制系统 Popular commercial configuration-control tools PVCS SourceSafe Open-source configuration-control tool cvs,5.9 Build

16、 Tools建造工具,任何版本控制工具都将帮助用户区分源代码制品的不同版本; 但跟踪编译代码更难,因为有些版本控制工具不把编译后版本的修改版本附上; 解决方法:晚上自动编译每个制品的最新版,确保所有的编译代码总是最新的; 缺点:浪费计算机时间; 解决方法:如UNIX工具make,如make这样的工具已经加到不断变化的编程环境中;,5.10 Productivity Gains with CASE Tools提高生产力,Survey of 45 companies in 10 industries (1992) Half information systems Quarter scientific software Quarter real-time aerospace software Results 年生产力 annual productivity gains 时间 成本 软件质量,作业,P90 5.6,5.7,5.17,The End,Thank you!,1、有时候读书是一种巧妙地避开思考的方法。20.8.2620.8.26Wednesday, Augu

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号