软件工程——方法与实践(许家珆)习题答案

上传人:cjc****537 文档编号:34151678 上传时间:2018-02-21 格式:DOC 页数:22 大小:278.50KB
返回 下载 相关 举报
软件工程——方法与实践(许家珆)习题答案_第1页
第1页 / 共22页
软件工程——方法与实践(许家珆)习题答案_第2页
第2页 / 共22页
软件工程——方法与实践(许家珆)习题答案_第3页
第3页 / 共22页
软件工程——方法与实践(许家珆)习题答案_第4页
第4页 / 共22页
软件工程——方法与实践(许家珆)习题答案_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《软件工程——方法与实践(许家珆)习题答案》由会员分享,可在线阅读,更多相关《软件工程——方法与实践(许家珆)习题答案(22页珍藏版)》请在金锄头文库上搜索。

1、习 题 答 案许家珆编习题一答案一、选择题1. 软件的主要特性是(A B C)。A) 无形 B) 高成本C) 包括程序和文档 D) 可独立构成计算机系统2. 软件工程三要素是(C D)。A) 技术、方法和工具 B) 方法、工具和过程C) 方法、对象和类 D) 过程、模型、方法3. 包含风险分析的软件工程模型是(A)。A) 螺旋模型 B) 瀑布模型 C) 增量模型 D) 喷泉模型4. 软件工程的主要目标是(C)。A) 软件需求 B) 软件设计 C) 风险分析 D) 软件实 现5. 下列属于面向对象开发方法的是(A B C D)。A) Booch B) UML C) Coad D) OMT6. 软

2、件危机的主要表现是(B D)。A) 软件成本太高 B) 软件产品的质量低劣C) 软件开发人员明显不足 D) 软件生产率低下7. 软件开发方法的主要工作模型有(A B C)A) 螺旋模型 B) 循环模型 C) 瀑布模型 D) 专家模型8. 软件工程的目标有(A B C)。A) 易于维护 B) 低的开发成本C) 高性能 D) 短的开发期9. 软件工程学的目的和意义是( ) 。A) 应用科学的方法和工程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训工作D) 以较低的成本开发出高质量的软件二、 判断题1. 软件就是程序,编写软件就是编写程序。()2. 瀑布模型的最大优点是将软件开

3、发的各个阶段划分得十分清晰。()3. 结构化方法的工作模型是使用螺旋模型进行开发。()4. 结构化方法和 JSP 方法都不适合于大型软件的开发。 ()5. 原型化开发方法包括生成原型和实现原型两个步骤。()6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。( )7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。() 8. 软件工具的作用是为了延长软件产品的寿命。()9. 软件工程过程应该以软件设计为中心,关键是编写程序。()10. RCP 法与 RSP 法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。()三、简答题1.

4、软件产品的特性是什么?答: 软件是一种逻辑产品,具有无形性;软件产品的生产主要是研制;软件不存在磨损和老化问题,但存在退化问题;软件产品的生产主要是脑力劳动;软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式; 软件具有 “复杂性”,其开发和运行常受到计算机系统的限制。2. 软件发展有几个阶段?各有何特征?答: 程序设计阶段。硬件特征:价格贵、存储容量小、运行可靠性差。软件特征:只有程序、程序设计概念,不重视程序设计方法。 程序系统阶段。硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长 。软件特征:程序员数量猛增,开发人员素质低。 软件工程阶段。硬件特征:向超

5、高速、大容量、微型化及网络化方向发展。软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3. 什么是软件危机?其产生的原因是什么?答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增 加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术 不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力, 而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。(2) 软件生产率低,不能满足需要。4. 什么是软件生存周期模型?它有哪

6、些主要模型?答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。 主要模型包括:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型。 5. 有哪些主要的软件开发方法?答:主要的软件开发方法有:结构化开发方法、Jackson(JSP、JSD)方法、原型化开发方 法、维也纳开发方法(VDM)和面向对象的开发方法。6. 软件生命期各阶段的任务是什么?答:软件生命期瀑布模型分为六个阶段: 可行性研究与计划 (确定系统的目标和规模,分析项目的可行性); 需求分析与规格说明 (明确系统的规格和要求 ); 设计(包括概要设计和详细设计,将系统分解为模块); 编程(用程序语言实现每个

7、模块,简单容易); 测试(发现并改正错误,分为模块测试、集成测试和系统联调三级); 运行维护 (扩充功能、纠错等 )。习题二答案一、 选择题1. 需求分析的主要目的是( ) 。A) 系统开发的具体方案B) 进一步确定用户的需求C) 解决系统是“做什么的问题”D) 解决系统是 “如何做的问题”2. 需求分析的主要方法有( ) 。A) 形式化分析方法 B) PAD 图描述C) 结构化分析(SA)方法 D) OOA 法3. 面向对象的分析方法主要是建立三类模型,即()。A) 系统模型、 ER 模型、应用模型B) 对象模型、动态模型、应用模型C) -模型、对象模型、功能模型D) 对象模型、动态模型、功

8、能模型4. 法的主要描述手段有( ) 。A) 系统流程图和模块图B) 图、数据词典、加工说明C) 软件结构图、加工说明D) 功能结构图、加工说明5. 画分层图的基本原则有( ) 。A) 数据守恒原则B) 分解的可靠性原则C) 子、父图平衡的原则D) 数据流封闭的原则6. 在 E-R 模型中,包含以下基本成分(C)。A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、联系7. 画 DFD 图的主要目的是(A D)。A) 作为需求分析阶段用户与开发者之间交流信息的工具B) 对系统的数据结构进行描述C) 对目标系统的层次结构进行描述D) 作为分析和设计的工具8. 数据

9、字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(C)。A) 数据说明条目、控制流条目、加工条目、数据存储条目B) 数据流条目、数据项条目、文件条目、加工条目C) 数据源条目、数据流条目、数据处理条目、数据文件条目 D) 数据流条目、数据文件条目、数据池条目、加工条目 9. 在需求分析阶段主要采用图形工具来描述的原因是(B C)。A) 图形的信息量大,便于描述规模大的软件系统B) 图形工具能够极好地概括描述一个系统的信息,比文字叙述能够更好地表达重 要的细节C) 图形能够更加直观地描述目标系统,便于用户理解和交流,有利于开发者与用 户之间达成一致的需求D) 图形比文字描述简单、形象

10、二、 判断题1. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。()2. 法是面向数据流,建立在数据封闭原则上的需求分析方法。()3. HIPO 法既是需求分析方法,又是软件设计方法。()4. 在面向对象的需求分析方法中,建立动态模型是最主要的任务。()5. 加工小说明是对系统流程图中的加工进行说明。()6. 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。()7. 需求分析的主要方法有 SD 法、OOA 法及 HIPO 法等。()8. 分层的 DFD 图可以用于可行性分析阶段,描述系统的物理结构。()9. 信息建模方法是从数据的角度来建立信息模型的,最常用的描述

11、信息模型的方法是 E-R 图。()10. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。()三、 问答题1. 什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求。准确地回答 “系统必须做什么?” 的问题。获得需求规格说 明书。还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。需求分析的基本任务包括:(1) 抽取需求 分析现行系统存在需要解决的问题。获取

12、足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等 。(2) 模拟和分析需求 需求分析和模拟又包含三个层次的工作。首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结构化英语等) 和形式化表示等三种。需求概念模型的要求包括实现的独立性:不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。(3) 传递需求 传递需求的主要任务是书写软件需求规格说明。(4) 认可需求 就是对需求规格说明达成一致,其主要任

13、务是冲突求解,包括定义冲突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。(5) 进化需求 客户的需要总是不断(连续) 地增长,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化) 就成为软件进化的首要问题。对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。当前的发展是软件家族法 ,即产品线方法。多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性, 并进行关于变化的推理。2. M 公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为

14、一名管理员刚加入 M 公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度 超过一页(B5)。参考答案提示:应先简述瀑布模型的缺点,它已不适宜开发实验型的软件。根据快速原型法的特点,说明它特别适合于开发探索型、实验型的软件。3. 如何画分层数据流图?答:总的原则是:至顶而下,逐层分解(画分层数据流图) 。比较复杂的系统不能画在一张纸上,逐层分解的画法可以控制每一层的复杂度。顶层:将整个系统作为一个加工,描述系统边界(输入与输出) 。中间层:表示某个加工分解为一组子加工,其中的子加工还需进一步分解。底层:由不再进行分解的基本加工组成。4

15、. 加工小说明有哪些描述方法?答:结构化语言:介于自然语言和形式语言( 如谓词逻辑)之间。结构化英语:通常由外层和内层结构组成。汉语的情况:精确、简明扼要、文体可以灵活。判定表:适用于表述比较复杂的加工逻辑,如具有多项选择条件的操作。判定树:本质上与判定表相同,图形表示更易于理解。5. 考察下图中子图、父图的平衡。图 1图 2参考答案:显然,图 1 中子图与父图不平衡。改正如下:如果有如下数据条目:订货单=客户+ 账号+数量 则子、父图平衡 6. 画出银行取款过程的 DFD 图。问题描述为:储户用存折取款,首先填写取款单,根据“ 账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“ 储户存款 数据库”,修改相应数据,并更新“账卡” ,同时发出付款通知,出纳向储户付款。参考答案:7. 常用的软件需求分析方法有哪些?答: 结构化分析方法(SA)、功能分解法、信息建模法、面向对象的分析方法 (OOA)。习题三答案一、 选择题1. 模块的基本特征是(A C)。A) 外部特征 (输入/输出、功能) B) 内部特征(输入/输出、功能) C) 内部特征(局部数据、代码 ) D) 外部特征 (局部数据、代码 )2. SD 方法的设计总则是(C D) 。A) 程序简

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

最新文档


当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

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