《软件工程》复习题参考答案

上传人:飞*** 文档编号:37143504 上传时间:2018-04-07 格式:DOC 页数:34 大小:411.50KB
返回 下载 相关 举报
《软件工程》复习题参考答案_第1页
第1页 / 共34页
《软件工程》复习题参考答案_第2页
第2页 / 共34页
《软件工程》复习题参考答案_第3页
第3页 / 共34页
《软件工程》复习题参考答案_第4页
第4页 / 共34页
《软件工程》复习题参考答案_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《《软件工程》复习题参考答案》由会员分享,可在线阅读,更多相关《《软件工程》复习题参考答案(34页珍藏版)》请在金锄头文库上搜索。

1、软件工程软件工程习题参考答案习题参考答案第一章 1什么是软件危机?产生原因是什么? 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解 决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: 软件规模越来越大,结构越来越复杂。 软件开发管理困难而复杂。 软件包开发费用不断增加。 软件开发技术落后。 生产方式落后,仍采用手工方式。 开发工具落后,生产率提高缓慢。2什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发 的软件易于移植;只需较低的

2、维护费用;能按时完成开发任务,及时交付使用; 开发的软件可靠性高。 软件工程内容:研究内容包括开发技术和开发管理两个方面。 开发技术主要研究:软件开发方法,开发过程,开发工具和环境。 开发管理主要研究:软件管理学,软件经济学,软件心理学。3软件工程面临的问题是什么? 软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软 件的重用。4什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码, 测试,维护。5什么是软件生存周期模型?有哪些主要模型? 生存周期模型:描

3、述软件开发过程中各种活动如何执行的模型。对软件开发提 供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人 员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环 境的核心。 主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换 模型。第二章 1.可行性研究的任务是什么?可行研究的任务:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限 制。分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型 出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它 的可行性。 主要从三个方面考虑:.技术可行

4、性:一般要考虑的情况包括 开发的风险即设计出的系统能否达到要求的功能 和性能;资源的有效性;相关技术的发展是否支持;.经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得 投资。.社会可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度人员素质操作方式是否可行。 2.项目开发计划有哪些内容? .项目概述:说明项目的各项主要工作;说明软件的功能性能;为完成项目 应具有的条件;用户及合同承包者承担的工作完成的期限及其他条件限制;应 交付的程序名称;所使用的语言及程储形式;应交付的文档。 .实施计划:说明任务的划分,各任务责任人,项目开发进度

5、,项目的预算, 各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成 时间。 .人员组织及分工:所需人员类型数量组成结构。 .交付期限:最后完工日期。第三章 什么是需求分析?需求分析阶段的基本任务是什么? 需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求 陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。 基本任务: 问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求, 用户界面需求。 分析与综合,导出软件的逻辑模型 编写文档:包括编写“需求规格说明书“,“初步用户使用手册“,“确认测试计划“,“修改完

6、善 软件开发计划“ 什么是结构分析方法?该方法使用什么描述工具? 结构化分析:简称 SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策 略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象 到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判 定树描述加工逻辑。 结构化分析方法通过哪些步骤来实现? 了解当前系统的工作流程,获得当前系统的物理模型。 抽象出当前系统的 逻辑模型。 建立目标系统的逻辑模型。 作进一步补充和优化。 什么是数据流图?其作用是什么?其中的基本符号各表示什么含义? 数据流图(DFD):以图形的方式描述数据在系

7、统中流动和处理的过程。只反映 系统必须完成的逻辑功能,是一种功能模型。5 什么是数据字典?其作用是什么?共有哪些条目? 数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条 目:数据流,数据项,数据存储,基本加工。具体条目内容及举例如下: 数据流条目 数据流名称:订单 别名:无 简述:顾客订货时填写的项目 来源:顾客 去向:加工 1“检验订单“ 数据流量:1000 份/每周(单位时间内的传输次数) 组成:编号+订货日期+顾客编号+地址+电话+银行帐号+货物名称+规格+数量 数据存储条目 数据存储名称:库存记录 别名:无 简述:存放库存所有可供货物的信息 组成:货物名称+编号+

8、生产厂家+单价+库存量 组织方式:索引文件,以货物编号为关键字 查询要求:要求能立即查询 数据条目 数据项名称:货物编号 别名:G-No,G-num,Goods-No 简述:本公司所有货物的编号 类型:字符串 长度:10 取值范围及含义: 第一位:进口/国产 第 2-4 位:类别 第 5-7 位:规格 第 8-10 位:品名编号 加工条目 加工名:查阅库存 编号:12 激发条件:接收到合格订单时 优先级:普通 输入:合格合格订单 输出:可供货订单,缺货订单 加工逻辑:根据库存记录 IF 订单项目数量=20CASE 文化程度 初中.OR.高中CASE 性别 男分配工种 钳工CASE 性别 女分配

9、工种 车工ENDCASEENDCASE CASE 文化程度 大学分配工种 技术员ENDCASE ENDCASE CASE 年龄40CASE 文化程度 初中.OR.高中分配工种 材料员CASE 文化程度 大学分配工种 技术员ENDCASE ENDCASE 第 4 章 1. 什么是软件概要设计?该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构 设计。基本任务: 设计软件系统结构,具体为: 采用某种设计方法,将一个复杂的系统按功能划分为模块。 确定每个模块的功能。 确定模块之间的调用关系。 确定模块之间的接口(模块之间传递的信息) 评价模块的结

10、构质量 进行数据结构及数据库的设计 编写概要设计的文档 主要内容有:概要设计说明书,数据库说明书(DBMS 的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略方法步骤)评审:是否完整地实现了规定的功能性能要求。设计方案是否可行。关键的处理及内部接口定义的正确性,有效性,各部分的一致性。2软件设计的基本原理包括哪些内容? 模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成 整体,可以满足问题的要求。模块化即按照一定的原则,将软件划分成若干个模块,每个 模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。 (可降低复 杂度、减少工作量)

11、 模块具有以下几种特性: 接口:模块的输入输出。 功能:指模块实现什么功能。 逻辑:描述模块内部如何实现要求及所需的数据。 状态:该模块的运行环境,模块间调用与被调用关系。 抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其 它因素。通过抽象确定组成软件的过程实体。 信息隐蔽:将模块实现自身功能的细节与数据“隐蔽“起来。模块间仅交换为完成系统功 能所必须的信息。 模块独立性:每个模块只完成系统要求的独立的子功能。 3衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块

12、间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性 越差,以低耦合为设计目标。 4模块的耦合性有哪几种?各表示什么含义? 内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入 另 一模块 公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用 控制耦合:模块之间通过传递控制信息相互作用 标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合数据耦合:模块之间通过传递数据交换信息 无耦合:模块间无任何关系,独立工作 5模块的内聚性有哪几种?各表示什么含义? 偶然内聚:一个模块各个成分之间毫无关系 逻辑内聚:将几个逻辑上相关的功能放在同一个模块中 时

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

14、上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好) 扇出:一个模块直接控制(调用)下级模块的数目。 (越少越好,3,4 个为宜,不超过 9 个, “顶层扇出较高,中间扇出较少,底层模块高扇入多“ 一个模块的作用域(范围) ,应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合 模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合7什么样是“事物流“?什么是“变换流“?试将相应形式的数据流图转换为软件结构图 数据流图(DFD)一般可分为“变换流“,“事物流“两种。“变换流“:由输入输出变换(或称处理)三部分组成,是一顺序结构。

15、“事物流“:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入 值选择其中一个路径来执行。 (这人加工称为事务处理中心)8.图是某系学籍管理的一部分,(a),(b)分别是同一模块 A 的两个不同设计方案, 你认为哪一个设计方案较好?请陈述理由。答:我认为(b)方案较好。要评价一个软件结构设计,主要看模块的独立性,要 从软件结构的耦合性和内聚性两个方面来衡量。对于(a)方案,模块 A 与模块 B 之间形成了控制耦合,因此独立性不高,而在 B 模块内部,有两个不同的功能 被放在一起,形成的是逻辑内聚,内聚性不高。对于(b)方案,模块 A 与 B1 和 B2 之间是数据耦合,独立性

16、较强,在 B1 和 B2 内部,只完成单一的功能,是功 能内聚,因此内聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。9.请将图 4-16 的 DFD 转换为软件结构图。(注:图中表示或者)解:我们可以看出主图是变换型 DFD,而子图是事务型 DFD。根据结构设计的方 法,得到的结构图如下:10.将第 3 章习题中的第 8 题、第 9 题设计成相应的软件结构图(SC)和 HIPO 图。 某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系 统,如果是存款,系统记录存款人姓名住址存款类型存款日期利率等 信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。 2、某图书管理系统有以下功能: 借书:输入读者借书证。系统首先检查借书证是否有效,若有效,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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