软件工程课后习题答案_第1页
软件工程课后习题答案_第2页
软件工程课后习题答案_第3页
软件工程课后习题答案_第4页
软件工程课后习题答案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章习题参考答案 1答:软件产品特性:是一种逻辑产品,与物质产品有很大的区别。软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。软件产品不会用坏,不存在磨损,消耗。生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是定做的开发软件的费用不断增加,致使生产成本相当昂贵。2软件生产有几个阶段?各有何特征?开发工具开发环境 网络分布式面向对象技术来开发软件。3什么是软件危机?产生原因是什么?产生原因: 软件规模越来越大,结构越来越复杂。 软件开发管理困难而复杂。 软件包开发费用不断增加。 软件开发技术落后。 生产方式落后,仍采用手工方式。 开发

2、工具落后,生产率提高缓慢。4什么是软件工程?它目标和内容是什么?答:软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。 5软件工程面临的问题是什么?答:软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。6什么是软件生存周期?它有哪几个活动?答:软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。7什么是软件生存周期模型?有哪些主要模型?主要

3、有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。8什么是软件开发方法?有哪些主要方法?主要有:结构化方法,JACKSON 方法,维也纳开发方法VDM,面向对象开发方法。第二章习题参考答案?主要从三个方面考虑:技术可行性:一般要考虑的情况包括 开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。社会可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度人员素质操作方式是否可行。? 研究正在运行的系统;收集研究分析现有系统的文档

4、资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性经济可行性社会可行性进行评估,得到可行的解决方法。编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。?答:引言:编写本文档的目的;项目名称背景;本文档用到的专门术语和参考资料。可行性研究前提:说明开发项目的功能性能和基本要求;达到的目标;各种限制条件; 可行性研究方法和决定可行性的主要因素。对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需各类专业技术人吧和数量;所需各种设备;向有系统存在什么问题。现有软件开发

5、环境运行环境的影响;对经费支出的影响;对技术可行性的评价。所建议系统的经济可行性分析:说明建议系统的确良各种支出,各种效益;收益投资比;投资顺收周期。侵犯专利权侵犯版权等问题的分析; 说明用户使用可行性,是否满足用户行政管理工作制度人吧素质的要求。其它可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。结论意见:说明项目是否能开发;还需什么条件才能开发;对项目目标有何变动等。成本-效益分析可用哪些指标进行度量?答:投资回收率:通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。纯

6、收入:整个生存周期之内的累计经济效益(折成现在值)与投资之差。?实施计划:说明任务的划分,各任务责任人,项目开发进度,项目的预算,各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成时间。人员组织及分工:所需人员类型数量组成结构。交付期限:最后完工日期。第三章习题参考答案什么是需求分析?需求分析阶段的基本任务是什么?基本任务:问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求, 用户界面需求。分析与综合,导出软件的逻辑模型编写文档:包括编写需求规格说明书,初步用户使用手册,确认测试计划,修改完善软件开发计划什么是结构分析方法?该方法使用什么描述工具?定

7、树描述加工逻辑。结构化分析方法通过哪些步骤来实现?答:了解当前系统的工作流程,获得当前系统的物理模型。 抽象出当前系统的逻辑模型。 建立目标系统的逻辑模型。 作进一步补充和优化。什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图DF:以图形的方式描述数据在系统中流动和处理的过程。只反映系统必须完成的逻辑功能,是一种功能模型。画数据流图应注意什么事项?答:命名: 不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。画数据流而不是控制流。 数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。一般不画物质流。每个加工至少有一个输入数据流和一个输出数据流,反映出此加

8、工数据的来源与加工的结果 。编号: 某个加工分解成加一张数据流图时,上层图为父图,下层图为子图。子图应编号子图上的所有加工也应编号,子图的编号应与父图的编号相对应。父图与子图的平衡:子图的输入输出 数据流同父图相应加工的输入输出数据流必须一致局注意数据流图的易理解性。什么是数据字典?其作用是什么?共有哪些条目?答:数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。具体条目内容及举例如下: 数据流条目数据流名称:订单别名:无简述:顾客订货时填写的项目来源:顾客去向:加工 1检验订单数据流量:1000 份/每周(单位时间内的传输次数)组成

9、:编号+订货日期+顾客编号+地址+电话+银行帐号+货物名称+规格+数量数据存储条目数据存储名称:库存记录别名:无简述:存放库存所有可供货物的信息组成:货物名称+编号+生产厂家+单价+库存量组织方式:索引文件,以货物编号为关键字 查询要求:要求能立即查询数据条目数据项名称:货物编号别名:G-No,G-num,Goods-No 简述:本公司所有货物的编号类型:字符串长度:10取值范围及含义: 第一位:进口/2-4 位:类别5-7 位:规格第 8-10 位:品名编号加工条目加工名:查阅库存编号:12激发条件:接收到合格订单时优先级:普通输入:合格合格订单输出:可供货订单,缺货订单加工逻辑:根据库存记

10、录IF 订单项目数量该项目库存量临界值THEN 可供货处理ELSE 此订单缺货,登录,待进货后再处理ENDIF描述加工逻辑有哪些工具?答:加工逻辑的描述:一般用结构化语言,判定表,判定树结构化语言是介于自然语言和形式语言之间的一种半形式化语言。它的结构可分里层和内层外层:用来描述控制结构,采用顺序,选择,重复三种基本结构。 顺序结构:是一组祈使语句,选择语句,重复语句的顺序排列 选择结构:一般用 IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE 等关键词。 重复结构:一般用 DO-WHILE-ENDDO,REPEAT-UNTIL 等关键词。其 动词含义要具体,尽量不使用形

11、容词和副词来修饰。21 21 岁以26 A 26 岁以下的已婚男性,或者是26 B 21 26 岁以下的单身C 类保险。附此之外的其他申请者都适用A 类保险。什么是 IDEF 方法?IDEF0 方法有哪些特点?答:IDEF 方法是美国空军针对计算机辅助制造工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析方法基础上提出来的。包括:IDEF0 描述系统的功能活动及联系,建立系统的功能模型。即反映系统做什么折功能。IDEF1 描述系统的信息及联系,建立系统的信息模型。IDEF2 进行系统模拟,建立系统的动态模型。IDEF0 特点:采用方框和箭头等简单图形符号描述系统的活动和数据流,描述活动

12、所受的约束条件及实现机制。如下图描述,其中输入为完成某活动时所需的数据,输出指执行活动产生时的数据,控制活动指所受到的约束条件,机制是指活动由谁来完成。采用严格的自顶向下逐层分解的方式建立系统功能模型。简述 SA 方法的优缺点。答:SA 方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析明,易读,也易于使用。但也存在一些弱点,表现如下:SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程。SADFD 在分析与描述数据要求 图)结合起来,才能较完整地描述用户对系统的需求。DFD 不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。SA 方法要与形式化方法结合起来

13、,才能更精确地描述软件需求。要借助需求分析工具,提高需求分析的质量及效率。某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果 是存款,系统记录存款人姓名住址存款类型存款日期利率等信息,并打印出存款 描绘该功能的需求,并建立相应数据字典。答:数据流名称:取款单、存款单别名:无简述:顾客存/取款时填写的单据来源:顾客去向:核查数据流量:200 份/天组成:日期取|存款金额姓名地址存/取款类型+密码账号数据流名称:存款凭证别名:无简述:顾客存款后得到的凭据来源:银行存款系统去向:顾客数据流量:200 份/天组成:日期存款金额储户姓名储户地址存款类型账号利率操作员数据流名称:

14、结算单别名:无简述:顾客取款时得到的利率清单来源:银行储蓄系统去向:顾客数据流量:200 份/天组成:取款日期取款金额储户姓名储户地址存款类型+利息总金额操作员数据流名称:存/取款信息别名:无简述:系统检查确认后得到的存/取信息来源:银行储蓄系统去向:登录数据流量:200 份/天组成:日期存|取款金额储户姓名储户地址存款类型+账号利率密码操作员数据流名称:付款信息别名:无简述:存储系统处理的取款信息来源:银行储蓄系统去向:付款处理数据流量:200 份/天+账号利息总金额操作员数据存储名称:账卡别名:无简述:存放用户信息及存取款情况组成:储户姓名储户地址账号|日期|存/取款金额+存款类型利率密码

15、操作员组织方式:数据文件,以储户姓名或账号为关键字进行索引查询要求:要求能立即查询并修改数据项名称:存款类型别名:无简述:国家规定的几类存款方式类型:字符串长度:2 位取值范围及含义:00:定期; 01:零存整取;10:活期;11:定/活两便加工名:核查编号:激发条件:接受存款单或取款单输入:存款单或取款单输出:认定的合格的村/取款信息加工逻辑:根据账卡及用户存/取款单据if 单据存款单 then存款单据是否填写规范,是否与现金一致else审核是否为有效取款单,取款金额不得超出存款金额,密码是否正确某图书管理系统有以下功能:10 本, 1010 本,办理借书(检查库存,修改库存目录并将读者借书

16、情况录入)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3理。否则,修改库存目录与借书文件。查询:通过借书文件,库存目录文件查询读者情况图书借阅及库存情况,打印统计表。解:顶层图I营理员图书管理系统0 层图借书信思借书信思1 层图借书信思图 l借书信思勹节借借书通知节借库存记录数据字典数据流名称:借书别名:借书单简述:读者借书时填写的单据来源:读者去向:审核借书数据流量:250 份/天组成:借书证编号借阅日期书名借阅方式密码借阅人数据流名称:还书别名:无简述:读者还书时附带的数据来源:读者去向:审核还书数据流量:250 份/天组成:借书证编号借阅日期书名借阅方式数据存储名称:借

17、书文件别名:无简述:借书证编号借阅日期书名借阅方式密码借阅人操作员查询要求:要求能立即查询并修改数据存储名称:库存文件别名:无简述:存放图书出/入库信息组成:书名出版社作者出版日期入库数据总数量(内容简介)当前库存量组织方式:数据文件,以书名为关键字进行索引查询要求:要求能立即查询并修改加工名:审核借书证编号:1.1激发条件:接受到借书证输入:借书证输出:认定合格的借书证加工逻辑:根据借书文件及读者借书证if 借书证编号在借书文件存在 and 未过期 and 密码正确 then借书证有效else 借书证无效岁以下者,初中文化程度脱产学习, 高中文化程度当电工。岁之间,中学文化程度,男性当钳工,

18、女性当车工,大学岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言判定表或判定树描述上述问题的加工逻辑。结构化语言:CASE 年龄20CASE 文化程度 初中分配工种 脱产学习CASE 文化程度 高中分配工种 电工ENDCASECASE 年龄=20CASE 文化程度 初中.OR.高中CASE 性 别 男分配工种 钳工CASE 性别 女分配工种 车工ENDCASE ENDCASECASE 文化程度 大学分配工种 技术员ENDCASE ENDCASE CASE 年龄40CASE 文化程度 初中.OR.高中分配工种 材料员CASE 文化程度 大学分配工种 技术员ENDCASE EN

19、DCASE第四章习题参考答案1、什么是软件概要设计?该阶段的基本任务是什么?基本任务:设计软件系统结构,具体为:采用某种设计方法,将一个复杂的系统按功能划分为模块。确定每个模块的功能。确定模块之间的调用关系。确定模块之间的接口(模块之间传递的信息) 评价模块的结构质量进行数据结构及数据库的设计编写概要设计的文档主要内容有:概要设计说明书,数据库说明书(DBMS 的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略方法步骤)2、软件设计的基本原理包括哪些内容?(可降低复杂度、减少工作量)模块具有以下几种特性: 接口:模块的输入输出。功能:指模块实现什么功能。逻辑:描述模块内部如何

20、实现要求及所需的数据。状态:该模块的运行环境,模块间调用与被调用关系。隐蔽模块独立性:每个模块只完成系统要求的独立的子功能。3、衡量模块独立性的两个标准是什么?各表示什么含义? 答:内聚和耦合内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。差,以低耦合为设计目标。4、模块的耦合性有哪几种?各表示什么含义?公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用控制耦合:模块之间通过传递控制信息相互作用标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合数据耦合:模块之间通过传递数据交换信息无耦合:模块间无任何关系,独立工作5、模块的内聚性有哪几种?各表示

21、什么含义? 答:偶然内聚:一个模块各个成分之间毫无关系逻辑内聚:将几个逻辑上相关的功能放在同一个模块中时间内聚:一个模块完成的功能在同一时间执行过程内聚:一个模块内部的处理成分是相关的,而且必须以特定的次序执行通信内聚:一个模块的所有成分都集中在同一个数据结构上功能内聚:模块内的所有成分属于一个整体,完成单一的功能。(内聚最高)6、什么是软件结构?简述软件结构设计的优化准则。答:改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。模块的规模应该适中模块结构的深度、宽度、扇出和扇入应适中深度:软件结构中控制的层数宽度:软件结构中同一层次上最

22、大模块总数扇入:某一模块有多少直接调用它的上级模块数目(越大越好)扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3,4 个为宜,不超过 9 个,顶层扇出较高,中间扇出较少,底层模块高扇入多一个模块的作用域(范围,应处在这个模块的控制域(范围)之内模块的作用域:受该模块内一个判定影响的所有模块的集合模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合7、什么是模块的影响范围?什么是软件的控制范围?它们之间应建立什么关系?答:模块的影响范围(作用域:受该模块内一个判定影响的所有模块的集合模块的控制范围(控制域:这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响

23、范围(作用域,应处在这个模块的模块的控制范围(控制域)内。8、什么样是事物流?什么是变换流?试将相应形式的数据流图转换为软件结构图答:数据流图(DFD)一般可分为变换流,事物流两种。变换流:由输入输出变换(或称处理)三部分组成,是一顺序结构。事物流:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心)9试述变换分析事务分析设计步骤。答:变换分析设计步骤:确定变换中心,逻辑输入和输出。设计软件结构的顶层和第一层-变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)第一层至少有三种功能模块:输入输出

24、和变换模块设计中下层模块,对第一层的模块自顶向下分解。输入模块由两部分组成:接收数据转换成调用模块所需信息。输出模块由两部分组成:将数据转换成下属模块所需的形式 发送数据变换模块:对每个基本加工建立一功能模块设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。事务分析的设计步骤:确定事务中心和加工路径设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。中下层模块的设计优化工作与变换

25、结构相同。事务型软件结构包括两部分: 接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并 。10A ?请陈述理由。答:我认为(b)方案较好。要评价一个软件结构设计,主要看模块的独立性,要从软件结构(a)A B 之间形成了控制耦合, B 模块内部,有两个不同的功能被放在一起,形成的是逻辑内聚, 内聚性不高。对于(b)A (b)方案比(a)方案更好些。11、请将图 4-16 的 DFD 转换为软件结构图。(注:图中表示或者)解:我们可以看出主图是变换型 DFD,而子图是事务型 DFD。根据结构设计的方法,得到的结构图如下:123 10 题设计成相应的软件结构图(SC)图。某

26、银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是 存款,系统记录存款人姓名住址存款类型存款日期利率等信息,并打印出存款单 给储户;如果是取款,系统计算清单给储户。某图书管理系统有以下功能:借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读 本,若本,办理借书(检查库存,修改库存目录并将读者借书情况录入借)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3 个月)作罚款处理。否则,修改库存目录与借书文件。(3)查询:通过借书文件,库存目录文件查询读者情况 IPO图喳 索 库 存尽 件否询系统圉书系统圉书管理系统的H图罚歌处理办

27、理 手罚歌处理办 理 手 套审 一挡察办理霞书手续恪 汉 军 序确定是否偌书图书笞理系玩始人取歌的相关数据图书营理系统确定能否借”的IFO图系统名:计笙机储菩系统设计人:桓块名:确定是否借书日期:桓块编号:上层调用模块:借书处理下层调用模块:文件名:库存文件、借书文件全局变呈:轿入数据:书名 Name 库存数呈 L骗出数据:已惜本数 S处 理:If S芍 then(拒绝借书)Else If 库存书目 无 N扭记(拒绝借书) Else 正L= 0 ( 拒绝借书)曰se(调用“办理借书手续”)芦芦注释:主图主图图书营理系统第五章习题参考答案1、详细设计的基本任务是什么,有哪几种描述方法? 答:详细

28、设计的基本任务包括:为每个模块进行详细的算法设计为模块内的数据结构进行设计对数据库进行物理设计其他设计编写详细设计说明书评审PAD(问(PDL)来作为工具。2、结构化程序设计的基本要点是什么? 答:主要有三个:采用自顶向下、逐步求精的程序设计方法使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。主程序员组的组织形式。3、简述 Jackson 方法的设计步骤。答:Jackson 方法的设计步骤如下:Jackson找出输入数据结构和输出数据结构中有对应关系的数据单元。按一定的规则由输入、输出的数据结构导出程序结构。列

29、出基本操作与条件,并把它们分配到程序结构图的适当位置。(5)用伪码写出程序。4、请使用流程图、PAD 图和 PDL 语言描述下列程序的算法。A(1)A(10)解:如图所示:PDL 语 言 描 述 : GET(a1,a2,.a10)max=a1; max2=a2; FOR i=2 TO IF aimax max2=max; max=ai; ELSEIF aimax2 max2=ai; ENDIFENDIF ENDFORPUT(max,max2) END输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。 解:如图:PDL 语言描述如下: GET(a,b,c)IF (a+b

30、c and b+ca and IF (a=b)IF(a=c)PUT(ELSEPUT(ENDIFELSE IF(a=c)PUT(ELSEIF (b=c)PUT(ELSEPUT(ENDIFENDIF ENDIF ELSEPUTENDIF5、用 PAD 图描述下面问题的控制结构。A(1)A(2)Keyixxkey算法:H=1(表头),T=N(表尾)。(2)i=(H+T)/2(取整)。Key=A(i),则找到,ix;KeyA(i)Keyi+1KeyTA(i),.A(N)A(i+1).A(N+1),KeyA(i)中。解:如图所示:6、一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空

31、格字符 的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串后,另起一行 Jackson第六章习题参考答案1、 程序语言有哪些共同特征?2答:通常要考虑的因素有:34(4GL)答:4GL友好的用户界面兼有过程性和非过程性双重特性高效的程序代码完备的数据库(54、 举例说明各种程序设计语言的特点及适用范围?答:以常见的一些编程语言为例:FORTRAN 语言,它不仅面向科学计算,数据处理能力也极强。适用于科学工程计算Pascal 语言,具有很强的数据和过程结构化能力,它语言简明,数据类型丰富,程序结构严谨。它是第一个体现结构化编程思想的语言。用于描述结构化算法和科学计算,操作系统的编

32、写C 语言:功能强大,支持复杂的数据结构,可大量运用指针,具有丰富灵活的操作运算符及Coble描述分开。结构严谨层次分明,广泛用于商业数据处理。SQL:结构化查询语言,用于对数据库进行存取管理。汇编语言和 Ada 语言,主要用于实时处理和编写系统软件。PrologLispLispProlog 是一种逻辑型语言,它提供了支持知识表示的特性,每一个程序由一组表示事实、规则和推理的句子组成,比较接近与自然语言。这两种语言主要用于人工智能系统开发。C+、Java 语言,是面向对象的设计语言,用于面向对象的方开发软件。5、 什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?答:程序设计风

33、格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。第七章习题参考答案1、 软件测试的目的是什么?软件测试中,应注意哪些原则?答:软件测试的目的是为了发现软件的错误。软件测试中应注意的原则有:测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应的提示。除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。应制定测试计划并严格执行,排除随意性。长期保留测试用例。对发现错误较多的程序段,应进行更深入的测试。挑剔性的行为,心理状态是测试自己程序的障碍。2、 什么是白盒测试法?有哪些覆盖

34、标准?试对他们的检错能力进行比较?语句覆盖判定/条件覆盖条件组合覆盖路径覆盖从上到下的覆盖标准其检错能力也从弱到强,其中条件组合发现错误的能力较强,凡满足其3、 什么是黑盒测试法?采用黑盒技术测试用例有哪几种方法?这些方法各有什么特点?()划分成若干个等价边界值分析法一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子做代表, ()这种方法可以查出更多的错误,因为在程序中往往在处理边界情况时易发生错误。4、 软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?答:软件测试要经过的步骤是:单元测试集成测试确认测试系统测试。单元测试对源程序中每一个程序单元进行测试,检查各个模块

35、是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。()结合在一起进行测试。以确定软件是否可以支付使用。5测试中采用什么方法?答:单元测试主要针对模块的以下五个基本特征进行测试:模块接口局部数据结构重要的执行路径错误处理边界条件用的模块。它的作用是返回被测模块所需的信息。6非渐增式测试与渐增式测试有什么区别? 渐增式测试如何组装模块? 两者区别是:成。渐增式可以较早地发现接口之间的错误,非渐增式最后组

36、装时才发现。渐增式比较彻底,已测试的模块和新的模块再测试。渐增式点用时间较多,但非渐增式所需更多的驱动模块和桩模块也占用一些时间。非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。 7该阶段有哪些工作?答:确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中8、 调试的目的是什么?调试有哪些技术手段?(Debug)。调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等。9(A)是最强是I,II,III,IV 四组(如表中给出),则实现语句覆盖(C)(D)或(E)。可供选择的答案:A:(1)语句覆盖 (2)条件覆盖 (3)判定覆盖 (4)路径覆盖

37、BE:(1)I 和 II 组 (2)II 和 III 级 (3)III 和 IV 组 (4)I 和IV 组 (5)I、II 和 III 组 (6)II,III 和IV 组 IV组 (8)I、 和IV组答 B:(1) C:(4) D:(5) 10、对第 5 章习题第 5 题(2)判定三角形类别程序算法用等价类划分和边界值分析法设计测试用例,并检查逻辑覆盖标准。解:先划分等价类并编号:为合理等价类设计测试用例,对于表中对应的四个合理等价类,用三个测试用例覆盖。为每一个不合理等价类设计一个测试用例:用边界值法设计测试用例:第七章习题参考答案10、软件测试的目的是什么软件测试中,应注意哪些原则?答:软

38、件测试的目的是为了发现软件的错误。软件测试中应注意的原则有:测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应的提示。除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。应制定测试计划并严格执行,排除随意性。(11)长期保留测试用例。(12)对发现错误较多的程序段,应进行更深入的测试。挑剔性的行为,心理状态是测试自己程序的障碍。11、 什么是白盒测试法?有哪些覆盖标准?试对他们的检错能力进行比较?语句覆盖判定/条件组合覆盖路径覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的

39、测试标准。12、什么是黑盒测试法?采用黑盒技术测试用例有哪几种方法?这些方法各有什么特 点?()划分成若干个等价边界值分析法一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子做代表, ()这种方法可以查出更多的错误,因为在程序中往往在处理边界情况时易发生错误。13、软件测试要经过哪些步骤这些测试与软件开发各阶段之间有什么关系?答:软件测试要经过的步骤是:单元测试集成测试确认测试系统测试。单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。集成测试是为了检查与设计相关的软件体系结构的有关问题,也

40、就是检查概要设计是否合理有效。确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。14、单元测试有哪些内容测试中采用什么方法?答:单元测试主要针对模块的以下五个基本特征进行测试:模块接口局部数据结构重要的执行路径错误处理边界条件15、 什么是集成测试?非渐增式测试与渐增式测试有什么区别? 渐增式测试如何组装模块?答:集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。两者区别是:(2) 成。非渐增式需要更多的工作量,因

41、为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量少。渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现。渐增式比较彻底,已测试的模块和新的模块再测试。渐增式点用时间较多,但非渐增式所需更多的驱动模块和桩模块也占用一些时间。非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。16、 什么是确认测试该阶段有哪些工作?答:确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中17、调试的目的是什么?调试有哪些技术手段?(Debug)。调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等。18、 将正确

42、答案的编号填入题目空白处:(A)是最强是I,II,III,IV 四组(如表中给出),则实现语句覆盖(C)(D)或(E)。可供选择的答案:A:(1)语句覆盖 (2)条件覆盖 (3)判定覆盖 (4)路径覆盖BE:(1)I 和 II 组 (2)II 和 III 级 (3)III 和 IV 组 (4)I 和IV 组 (5)I、II 和 III 组 (6)II,III 和IV 组 IV组 (8)I、 和IV组答 B:(1) C:(4) D:(5) 10、对第 5 章习题第 5 题(2)判定三角形类别程序算法用等价类划分和边界值分析法设计测试用例,并检查逻辑覆盖标准。解:先划分等价类并编号:为合理等价类设

43、计测试用例,对于表中对应的四个合理等价类,用三个测试用例覆盖。为每一个不合理等价类设计一个测试用例:用边界值法设计测试用例:1第八章习题参考答案1适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。2答:主要体现在三个方面:非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。软件维

44、护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护3、 软件维护的流程是什么?录、复审。4、 软件维护的副作用有哪些? 答:维护的副作用有以下三种:编码副作用。在使用程序设计语言修改源代码时可能引入的错误。数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致文档副作用。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。5性、可使用性和效率。6(1)使用先进的软件开发技术和工具。建立明确的质量保证。选择可维护性的程序设计语言。改进程序的文档。第九章习题参考答案1、 渐增模型有几种?各有何特点?2、快速原型模型有几种,各有什么特点?答:快速原形模型

45、根据原型的不同作用,有三类原型模型:缺乏经验的情况,通过对原型的开发来明确用户的需求。统,若对设计方案心中没有把握时,可通过这种原型的开发来证实设计方案的正确性。 统,在得到用户认可后,将原型系统不断扩充演化为最终的软件系统。2、 快速原型的开发步骤是什么?答:快速原型的开发步骤是:快速分析:在分析人员与用户的配合下,迅速确定系统基本需求并开始构造原型。构造原型:在快速分析的基础上,根据基本需求说明尽快实现一个可运行的系统。运行原型:通过运行快速原型,发现问题,消除误解,达到开发者也用户的充分协调。评价原型:在运行的基础上,评价原型的特性,分析运行效果是否满足用户的需求, 提出全面的修改意见。

46、修改:根据评价原型的活动结果进行修改,修改过程代替初始的快速分析,从而实现原型开发的循环过程。用户与开发者在这种循环过程中不断接近系统的最终要求。上述步骤在软件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那样严格的阶段划分,线性推进。3、 评价快速原型模型的优缺点。答:快速原型的优点是:可及早为用户提供有用的产品。可及早发现问题,随时纠正错误。减少技术、应用风险,缩短开发时间,减少费用、提高生产率。通过实际运行原型,提供直接评价系统的方法,促使用户主动参与开发活动,加强了信息反馈,促进各类人员的协调,减少误解,适应需求变化,能有效提高系统质量。快速原型的缺点是:缺乏丰富而强有力的软件工

47、具和开发环境。缺乏有效的管理机制,还未建立起自己的开发标准。对设计开发环境要求较高。在多次重复改变原型的过程中,程序员会感到厌倦。系统的易变性对测试有一定影响,难于做到彻底测试,更新文档较为困难。4、比瀑布模型与增量模型,指出增量模型的新思路。答:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段增量模型是在瀑布模型的基础上加以修改而形成的。属于非整体开发模型。它的基本思路是为了使开发过程具有一定的灵活性和可修改性,在开发过程中推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。第十章习题参考答案1、 说明对象、类、类结构、消息的基本概念。答:(1)对象:对象是人

48、们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽is a关系,类的这种层次结构hasa在类的层次结构中,通常上层的类称为父类或超类,下层类称为子类。消息:对象之间进行通信的构造叫做消息。在对旬的操作中,当一个消息发送给某个对2、 说明面向对象的特征和要素。答:面向对象的特征是:对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。多态性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。面向对象的要素是:抽象。(3)共享性。3在对象模型中,定义了两种类的层

49、次结构:一般化关系和聚集关系。一般化关系是在保留对象差异的同时共享对象相似性的一种高度抽象方式,即一般-具体 的关系。比如下图所示:聚集关系是一种整体-部分关系。在这种关系中,有整体类和部分类之分。如下图所示:4、 说明动态模型的特征,说明事件,脚本、状态的含义。事件是指特定时刻发生的某件事情,它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。脚本是完成系统某个功能事件序列,侧重于表达说明发生于系统执行过程中的一个特定场景,用事件跟踪图表达。状态是对象属性值的抽象。状态指明了对象对输入事件的响应。5、 说明功能模型的特征,比较功能模型的 DFD 和结构化方法的 DFD 异同。6、

50、 说明三种分析模型的关系。7、 说明对象建模的过程。答:对象建模的过程如下:准备数据字典。为所有建模实体准备一个数据词典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。示,把它们记下来,但不要过早去细化这些表述。些只用于实现的属性,要为各个属性取有意义的名字。(6)完善对象模型。8、 说明动态建模的过程。答:动态建模的过程如下:准备脚本确定事件准备事件跟踪表构造状态图9、 说明功能建模的过程。答:功能建模的过程如下:确定输入、输出值建立数据流图10、说明对象设计的步骤。获得操作确定操作的目标对象算法设计优化设计控制的实现调整继承(711、用面向对象方

51、法建立一个现实问题的分析模型。答:题目如下:学校管理系统要存储下列数据:系:系名,系主任学生:学号,姓名,学生所属系教师:工作证号,姓名,教师所属系研究生:专业方向教授:研究领域课程:课程号,名称,学分学生每学期要选修若干门课程,每门课有一个考试成绩;莫个学期开设的莫门课程只有一个任教教师;一个教师只任教一门课;一个教师有能力讲授多门课程,一门课程也可以1)画出表示上述数据的对象模型(不必考虑服务)2)第十一章习题参考答案1、 软件质量与软件质量保证的含义是什么?答:从实际应用来说,软件质量定义包括三个一致性:与所确定的功能和性能需求的一致性; (2)与所成文的开发标准的一致性;与所有专业开发

52、的软件所期望的隐含特性的一致性。软件质量保证是指确定、达到和维护所需要的软件质量而进行的所有有计划、有系统的管理活动。2、 影响软件质量的因素有哪些?3、 什么是软件质量保证策略?软件质量保证的主要任务是什么?答:软件质量保证策略是指软件质量保证工作的过程和侧重点。质量保证的主要任务包括以下几点:正确定义用户的要求。技术方法的应用。提高软件开发的工程能力。软件的复用。发挥每个开发者的能力。组织外部力量协作。排除无效劳动。提高计划和管理质量。4、 程序复杂性的度量方法有哪些? 答:软件复杂性的度量方法有:1、 代码行度量法:以源代码行数作为程序复杂性的度量。2、McCabe 度量法:一种基于程序

53、控制流的复杂性度量方法。5、 什么是软件的可靠性?它们能否定量计算?MTTFMTBF6、为什么要进行软件评审?软件设计质量评审与程序质量评审都有哪些内容?揭露软件中的缺陷然后加以改正。设计质量评审的对象是在需求分析阶段产生的软件需求规格说明、数据需求规格说明,在软件概要设计阶段产生的软件概要设计说明书等。主要内容有:评价软件的规格说明是否合乎用户的要求。评审可靠性。评审保密措施实现情况。评审操作特性实施情况。评审性能实现情况。评审软件是否具有可修改性、或扩充性、可互换性和可移植性。评审软件是否具有可测试性。评审软件是否具有复用性。程序质量评审的重点在于软件本身的结构、与运行环境的接口、变更带来的影响而进行的评审活动。7、说明容错软件的定义与容错的一般方法。答:容错软件的定义有四种,指规定功能的软件,(1)在一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论