软件工程-理论与实践(许家珆)习题答案
更新时间:2024-01-03 00:58:01 阅读量: 教育文库 文档下载
《软件工程——理论与实践》习题答案
习 题 答 案
习题一答案
一、选择题
1. 软件的主要特性是(A B C)。 A) 无形
C) 包括程序和文档
2. 软件工程三要素是(C D)。 A) 技术、方法和工具 C) 方法、对象和类
B) 方法、工具和过程 D) 过程、模型、方法
B) 高成本
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) OMT 6. 软件危机的主要表现是(B D)。
A) 软件成本太高 B) 软件产品的质量低劣 C) 软件开发人员明显不足 D) 软件生产率低下 7. 软件开发方法的主要工作模型有(A B C) A) 螺旋模型 B) 循环模型 8. 软件工程的目标有(A B C)。
C) 瀑布模型
D) 专家模型
A) 易于维护 B) 低的开发成本
C) 高性能 D) 短的开发期 9. 软件工程学的目的和意义是( )。
A) 应用科学的方法和工程化的规范管理来指导软件开发
B) 克服软件危机
C) 作好软件开发的培训工作
D) 以较低的成本开发出高质量的软件 二、 判断题
1. 软件就是程序,编写软件就是编写程序。(×)
2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。(×) 3. 结构化方法的工作模型是使用螺旋模型进行开发。(×) 4. 结构化方法和JSP方法都不适合于大型软件的开发。(√) 5. 原型化开发方法包括生成原型和实现原型两个步骤。(×)
6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。( √)
7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。(×) 8. 软件工具的作用是为了延长软件产品的寿命。(×)
9. 软件工程过程应该以软件设计为中心,关键是编写程序。(×)
1
《软件工程——理论与实践》习题答案
10. RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。(√)
三、简答题
1. 软件产品的特性是什么?
答: ● 软件是一种逻辑产品,具有无形性; ● 软件产品的生产主要是研制;
● 软件不存在磨损和老化问题,但存在退化问题;
● 软件产品的生产主要是脑力劳动;
● 软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特征? 答: ① 程序设计阶段。
硬件特征:价格贵、存储容量小、运行可靠性差。
软件特征:只有程序、程序设计概念,不重视程序设计方法。
② 程序系统阶段。 硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长 。 软件特征:程序员数量猛增,开发人员素质低。 ③ 软件工程阶段。
硬件特征:向超高速、大容量、微型化及网络化方向发展。
软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。
3. 什么是软件危机?其产生的原因是什么?
答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增 加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术 不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力, 而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。
(2) 软件生产率低,不能满足需要。
4. 什么是软件生存周期模型?它有哪些主要模型? 答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。 主要模型包括:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型。 5. 有哪些主要的软件开发方法?
答:主要的软件开发方法有:结构化开发方法、Jackson(JSP、JSD)方法、原型化开发方 法、维也纳开发方法(VDM)和面向对象的开发方法。 6. 软件生命期各阶段的任务是什么? 答:软件生命期瀑布模型分为六个阶段:
● 可行性研究与计划(确定系统的目标和规模,分析项目的可行性); ● 需求分析与规格说明(明确系统的规格和要求);
● 设计(包括概要设计和详细设计,将系统分解为模块);
● 编程(用程序语言实现每个模块,简单容易);
● 测试(发现并改正错误,分为模块测试、集成测试和系统联调三级); ● 运行维护(扩充功能、纠错等)。
2
《软件工程——理论与实践》习题答案
习题二答案
一、 选择题
1. 需求分析的主要目的是(B C)。 A) 系统开发的具体方案 B) 进一步确定用户的需求 C) 解决系统是“做什么的问题” D) 解决系统是“如何做的问题” 2. 需求分析的主要方法有(C D)。 A) 形式化分析方法 C) 结构化分析(SA)方法
B) PAD图描述 D) OOA法
3. 面向对象的分析方法主要是建立三类模型,即(D)。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 4. SA法的主要描述手段有(B)。 A) 系统流程图和模块图
B) DFD图、数据词典、加工说明 C) 软件结构图、加工说明
D) 功能结构图、加工说明
5. 画分层DFD图的基本原则有(A C D)。 A) 数据守恒原则 B) 分解的可靠性原则 C) 子、父图平衡的原则 D) 数据流封闭的原则
6. 在E-R模型中,包含以下基本成分(C)。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、联系
7. 画DFD图的主要目的是(A D)。
A) 作为需求分析阶段用户与开发者之间交流信息的工具 B) 对系统的数据结构进行描述
C) 对目标系统的层次结构进行描述 D) 作为分析和设计的工具
8. 数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(C)。 A) 数据说明条目、控制流条目、加工条目、数据存储条目 B) 数据流条目、数据项条目、文件条目、加工条目
C) 数据源条目、数据流条目、数据处理条目、数据文件条目 D) 数据流条目、数据文件条目、数据池条目、加工条目
3
《软件工程——理论与实践》习题答案
9. 在需求分析阶段主要采用图形工具来描述的原因是(B C)。
A) 图形的信息量大,便于描述规模大的软件系统
B) 图形工具能够极好地概括描述一个系统的信息,比文字叙述能够更好地表达重 要的细节
C) 图形能够更加直观地描述目标系统,便于用户理解和交流,有利于开发者与用 户之间达成一致的需求
D) 图形比文字描述简单、形象
二、 判断题
1. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×) 2. SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√) 3. HIPO法既是需求分析方法,又是软件设计方法。(√)
4. 在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×) 5. 加工小说明是对系统流程图中的加工进行说明。(×)
6. 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) 7. 需求分析的主要方法有SD法、OOA法及HIPO法等。(×)
8. 分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。(×) 9. 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。(√)
10. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√)
三、 问答题
1. 什么是需求分析?需求分析阶段的基本任务是什么? 答:
需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求。准确地回答 “系统必须做什么?” 的问题。获得需求规格说 明书。还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。
需求分析的基本任务包括:
(1) 抽取需求 分析现行系统存在需要解决的问题。获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等 。
(2) 模拟和分析需求 需求分析和模拟又包含三个层次的工作。首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。需求概念模型的要求包括实现的独立性:不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。
(3) 传递需求 传递需求的主要任务是书写软件需求规格说明。
(4) 认可需求 就是对需求规格说明达成一致,其主要任务是冲突求解,包括定义冲突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。
(5) 进化需求 客户的需要总是不断(连续)地增长,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的首要问题。对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。当前的发
4
《软件工程——理论与实践》习题答案
展是软件家族法 ,即产品线方法。多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性, 并进行关于变化的推理。
2. M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度 超过一页(B5)。 参考答案提示:
应先简述瀑布模型的缺点,它已不适宜开发实验型的软件。根据快速原型法的特点,说明它特别适合于开发探索型、实验型的软件。 3. 如何画分层数据流图? 答:
总的原则是:至顶而下,逐层分解(画分层数据流图)。
比较复杂的系统不能画在一张纸上,逐层分解的画法可以控制每一层的复杂度。 顶层:将整个系统作为一个加工,描述系统边界(输入与输出)。
中间层:表示某个加工分解为一组子加工,其中的子加工还需进一步分解。 底层:由不再进行分解的基本加工组成。
4. 加工小说明有哪些描述方法? 答:
● 结构化语言:介于自然语言和形式语言(如谓词逻辑)之间。 ● 结构化英语:通常由外层和内层结构组成。
● 汉语的情况:精确、简明扼要、文体可以灵活。
● 判定表:适用于表述比较复杂的加工逻辑,如具有多项选择条件的操作。 ● 判定树:本质上与判定表相同,图形表示更易于理解。 5. 考察下图中子图、父图的平衡。
图1
图2
参考答案:
显然,图1中子图与父图不平衡。改正如下:
如果有如下数据条目:
订货单=客户+账号+数量 则子、父图平衡
6. 画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取款单,
5
正在阅读:
软件工程-理论与实践(许家珆)习题答案01-03
豆豆日记三则10-29
初中物理暑假复习(四)——电路与电流06-07
餐饮连锁企业营运手04-11
高二化学寒假作业 选修五 预习学案02-26
法拉第镜式光学电流互感器原理06-02
打印-英语单词词性转换的基本规律05-13
六数下册《解决问题的策略 - 假设法》的教学设计,实录和反思评课02-03
模电第八章 功率放大电路05-15
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 许家
- 软件工程
- 习题
- 实践
- 答案
- 理论
- 国外汽车标志及介绍(一)
- 品牌连锁店项目可行性研究报告(目录) - 图文
- TOEFL词汇词根+联想记忆法(45天突破版)
- 浅谈分数改革后煤矿从业人员的安全培训教育
- 1981年全国硕士研究生入学统一考试英语试题
- 劳动合同书文本(以完成一定工作任务为期限)
- 模拟试题3
- 心肺复苏试题及答案
- 综合阶段(2012) 审计 专题八 审计沟通 课后作业
- 中国珠宝新三板挂牌仪式隆重举行
- 流域综合规划环境影响评价报告书模板 - 图文
- 初中化学实验教学中培养学生探究能力的实践与思考
- 2017-2022年中国水资源开发市场规模现状及十三五未来趋势研究报告(目录)
- 计算机判断题
- 营改增后房地产开发企业税收与会计处理的分析
- 曹家大院三多堂多子院院落布局特征考察 - 图文
- 公安警察个人先进事迹材料
- 2016-2017学年度人教版三年级语文上册全册优秀导学案(表格式) - 图文
- 艾司唑仑有哪些副作用
- 第一章1.3-1.3.1柱体、锥体、台体的表面积与体积