软件工程第六章答案
张海藩《软件工程导论》(第6版)(章节题库 第6章 详细设计)【圣才出品】
十万种考研考证电子书、题库视频学习平台
第 6 章 详细设计
一、选择题 1.在软件开发过程中,以下说法正确的是( )。 A.程序流程图是逐步求精的好工具 B.N-S 图不可能任意转移控制,符合结构化原则 C.判定表是一种通用的设计工具 D.程序流程图和 N-S 图都不易表达模块的层次结构 【答案】B 【解析】程序流程图本质上不是逐步求精的好工具,它会使程序员过早地考虑程序的控 制流程,而不去考虑程序的全局结构;判定表不是一种通用的设计工具,没有一种简单的方 法使用它能同时清晰地表示顺序和循环等结构;程序流程图不易表示模块的层次结构,N- S 图则可以表示模块的层次结构。
11.程序控制一般分为( )、分支、循环三种基本结构。 A.分块 B.顺序 C.循环 D.分支 【答案】B 【解析】程序控制一般分为顺序结构、分支结构也成选择结构、循环结构三种基本结构, 任何一种结构都能由这三种结构组成。
12.Jackson 方法根据( )来导出程序结构。 A.数据结构 B.数据间的控制结构
4 / 14
圣才电子书 十万种考研考证电子书、题库视频学习平台
10.对于详细设计,下面说法错误的是( )。 A.详细设计是具体地编写程序 B.详细设计是细化成很容易地从中产生程序图纸 C.详细设计的结果基本决定了最终程序的质量 D.详细设计中采用的典型方法是结构化程序设计方法 【答案】A 【解析】详细设计阶段,主要对模块内的算法和模块内的数据结构进行设计,具体编写 程序属于编码阶段的任务。
8.( )工具在软件详细设计过程中不采用。 A.判定表 B.IPO 图 C.PDL D.DFD 图 【答案】D 【解析】DFD 图(数据流图)是软件需求阶段过程中采用的工具,用于描述系统的分 解,即描述系统由哪几个部分组成,各部分之间有什么联系等等。
软件工程导论(第六版)课后习题答案之欧阳法创编
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
软件工程实用教程第三版-郭宁主编-课后习题及答案
软件工程实用教程第三版-郭宁主编-课后习题及答案第一章软件工程引论1.在下列选项中,(D)不是软件的特征。
A.系统性与复制性 B. 可靠性与一致性 C.抽象性与智能型 D.有形性与可控性2.软件是一种(B)产品。
A.有形 B. 逻辑 C. 物质 D. 消耗3.软件工程是一种(A)分阶段实现的软件程序开发方法。
A.自顶向下B. 自底向上C. 逐步求精D. 面向数据流4.与计算机科学的理论研究不同,软件工程是一门(B)学科。
A.理论性 B. 工程性 C. 原理性 D. 心理性5.软件工程与计算机科学性质不同,软件工程着重于(C)。
A.原理探讨 B. 理论研究 C. 建造软件系统D. 原理性的理论6.下列说法正确的是(B)A.软件工程的概念于20世纪50年代提出B.软件工程的概念于20世纪60年代提出C.20世纪70年代出现了客户机/服务器技术D.20世纪80年代软件工程学科达到成熟7.软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是(D)A.管理开发人员,以开发良好的软件B.采用先进的软件开发工具,开发优秀的软件C.消除软件危机,达到软件生产的规模效益D.以基本的社会效益为基础,工程化生产软件第二章软件生命周期及开发模型1.软件生命周期包括可行性分析和项目开发计划、需求分析、总体设计、详细分析、编码、(B)、维护等活动。
A.应用 B. 测试 C. 检测 D. 以上答案都不正确2.软件生命周期模型有多中,下列项目中,(C)不是软件生命周期模型。
A.螺旋模型 B. 增量模型 C. 功能模型 D.瀑布模型3.软件生命周期中时间最长的阶段时(D)A.需求分析阶段 B. 总体设计阶段 C. 测试阶段 D. 维护阶段4.瀑布模型是一种(D)A.软件开发方法B. 软件生存周期C. 程序设计方法学 D. 软件生存周期模型5.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A.瀑布模型B. 对象模型C. 螺旋模型D. 层次模型6.在结构化的瀑布模型中,(D)阶段定义的标准将成为软件测试中系统测试阶段的目标A.详细设计阶段B. 总体设计阶段C. 可行性研究阶段 D. 需求分析7.增量模型是一种(B)的模型A.整体开发B. 非整体开发C. 灵活性差D.较晚产生工作软件8.(C)是指模拟某种产品的原始模型A.模型B. 最初模型C. 原型D. 进化模型9.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)A.用于验证软件需求的原型B. 垂直原型C.用于验证设计方案的原型 D.用于演化出目标系统的原型10.原型化方法是一种(A)型的设计过程。
软件工程 第六章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
第六章测验一、单选题(共40.00分)1. 对象之间通过()互相通信。
A. 访问全局变量B. 调用函数C. 使用信号量D. 传递消息正确答案:D2. 使用面向对象方法学开发软件时,工作重点应该放在生命周期中的()阶段。
A. 需求捕获B. 分析C. 设计D. 编码正确答案:B3. 在面向对象的软件技术中,()可以像父类对象那样使用。
A. 子类B. 子类对象C. 子类数据D. 子类接口正确答案:B4. 类图描述类及类与类之间的()。
A. 静态关系B. 动态关系C. 运行时关系D. 请求-响应关系正确答案:A二、多选题(共33.00分)1. 面向对象模型的三种形式包括()。
A. 对象模型B. 动态模型C. 功能模型D. 数据模型正确答案:A B C2. 类图的3个抽象层次包括()。
A. 概念层B. 说明层C. 实现层D. 主题层正确答案:A B C3. 类的图形符号包括()。
A. 类名B. 属性列表C. 操作列表D. 属性、操作的可见性正确答案:A B C D三、判断题(共27.00分)1. 类是对象的实例,对象是生成类的模板。
()A. 正确B. 错误正确答案:B2. 复合关系是一种特殊的类间实现关系。
()A. 正确B. 错误正确答案:B3. “多重继承”可简写为“多继承”。
()A. 正确B. 错误正确答案:B。
软件工程导论第6章
70年代初N.Wirth在Pascal语言中设置支持“顺序 结构”、“IF-THEN-ELSE选择结构”、“DO-WHILE 重复结构”或“DO-UNTIL重复结构”三种基本控制 结构语句。
25
3种基本控制结构
(1) 顺序型
A B
(2) 选择型
F P A B T
(2) 多情况选择型(case)
T T
P=1 F P=2 F P=n F
…
A1 A2
T
An
(3) 先判定型循环
后判定型循环
(do-while)
F
(do-until)
P T S
S P F
T
例1、某模块有两个输入a和b,一 个输出c,当满足条件(a>0)and(b<2) 时,c=a+b,否则c=a-b。画出该模 块的程序流程图。
a b
第6章 详细设计
6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.6 小结 习题
1
详细设计阶段的根本目标:确定应该怎样具体地 实现所要求的系统。 为软件结构图中的每一个模块确定使用的算法和 块内数据结构,并用某种选定的表达工具给出清晰 的描述。
100 110
120
130 140
Eq:等于 ne:不等于 gt:大于 lt:小于 ge:大于等于 le:小于等于
例:打印A、B、C三数中最小者的程序 if (A.LT.B .AND. A.LT.C)then write(6,*) A else if (A.GE.B .AND. B.LT.C) then write(6,*) B else write(6,*) C endif endif
软件工程习题解答(含基本章节应试例子以及一个UML案例)
软件⼯程习题解答(含基本章节应试例⼦以及⼀个UML案例)软件⼯程习题解答⼀、软件⽣存周期各阶段的基本任务?1. 问题定义:(1)回答要解决的问题是什么。
(2)系统分析员应该提出关于问题性质、⼯程⽬标和规模的书⾯报告。
(3)经过和⽤户讨论,澄清含糊不清的地⽅,改正理解不正确的地⽅,得出⼀份双⽅都满意的⽂档。
(4)问题定义是软件⽣命周期中最简短的阶段。
2.可⾏性研究:(1)前⼀阶段定义的问题有可⾏的解决办法吗?(2)系统分析员要进⾏⼀次⼤⼤压缩和简化了的系统分析和设计。
导出⾼层逻辑模型(⽤数据流图表⽰)。
确定⼯程规模和⽬标,准确估计系统的成本和效益。
(3)使⽤部门的负责⼈根据可⾏性研究的结果决定是否继续进⾏该⼯程的开发⼯作。
3.需求分析:(1)主要确定⽬标系统必须具备哪些功能。
(2)系统分析员和⽤户密切配合,充分交流,得出经⽤户确认的系统逻辑模型(数据流图、数据字典、算法描述)。
4.总体设计:(1)回答如何解决问题。
(2)系统分析员应使⽤系统流程图或其他⼯具描述每种可能系统;估计每种⽅案的成本和效益。
推荐⼀较好的系统──有其详细计划。
设计软件的结构(⽤层次图或结构图描述)。
5.详细设计:(1)回答应该怎样具体地实现这个系统。
(2)设计出程序的详细规格说明(⽤HIPO层次图加输⼊/处理/输出图)或PDL语⾔(过程设计语⾔)。
6.编码和单元测试:(1)写出正确的容易理解,容易维护的程序模块。
(2)程序员:选取⼀种适当的⽤⾼级语⾔书写程序(或汇编语⾔)。
仔细测试编写出的每⼀个模块。
7.综合测试:(1)通过各种类型的测试,使软件达到预定的要求。
(2)最基本的测试是集成测试和验收测试⽅法。
集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配的过程中对程序进⾏必要的测试。
验收测试是按照需求规格说明书的规定,由⽤户对⽬标系统进⾏验收。
(3)⽤正式⽂档将测试计划、详细测试⽅案以及实际测试结果保存。
(完整版)软件工程第六章答案
作业4参考答案1.假设只有SEQUENCE和DO_WHILE两种控制结构,怎样利用它们完成IF_THEN_ELSE操作?答:转化如下:K = 1DO WHILE (条件.AND. K.EQ.1)程序块1K=K+1END DODO WHILE ((.NOT. 条件) .AND. K.EQ.1)程序块2K=K+1END DO2.假设允许使用SEQUENCE和IF_THEN_ELSE两种控制结构,怎样利用它们完成DO_WHILE操作?答:转化如下;label: IF (条件) THEN程序块GOTO labelELSE程序块END IF3.画出下列伪码程序的程序流程图和盒图:STARTIF p THENWHILE q DOfEND DOELSEBLOCKgnEND BLOCKEND IFSTOP答:(1)流程图如图4-1所示:图4-1 从伪码变成的程序流程图(2)该程序的盒图如图4-2所示:图4-2 从伪码变成的程序盒图4.下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图4-3描绘了等价的结构化程序的盒图。
(a)解法1(b)解法2图4-3 与该图等价的结构化程序(用flag)(3)不使用flag把该程序改造为等价的结构化程序的方法如图4-4所示。
图4-4 与该图等价的结构化程序(不用flag)5.研究下面的伪代码程序:LOOP: Set I to (START+FINISH)/2If TABLE(I)=ITEM goto FOUNDIf TABLE(I)<ITEM Set START to (I+1)If TABLE(I)>ITEM Set FINISH to (I-1)If (FINISH-START )>1 goto LOOPIf TABLE(START)=ITEM goto FOUNDIf TABLE(FINISH)=ITEM goto FOUNDSet FLAG to 0Goto DONEFOUND: Set FLAG to 1DONE:Exit(1)画出程序流程图。
软件工程导论(第六版)课后习题答案之欧阳体创编
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
软件工程导论第6章(第4版)
二. 人机界面设计
人机界面设计是接口设计的一个重要的组成部 分。对于交互式系统来说,人机界面设计和数据设 计、体系结构设计及过程设计一样重要。
1.指导规则
T.Mandel在《用户界面设计要素》中,提出了3 条指导规则: 让用户驾驭软件,不是软件驾驭用户 减少用户的记忆 保持界面的一致性
2. 应该考虑的设计问题
4. 人机界面设计指南
(3) 数据输入指南 尽量减少用户的输入动作。 保持信息显示和数据输入之间的一致性。 允许用户自定义输入。 交互应该是灵活的,可调整成用户喜欢的输入方式。 使在当前动作语境中不适用的命令不起作用。 让用户控制交互流。 对所有输入动作都提供帮助。 消除冗余的输入。
三. 过程设计
1.过程设计的目的与任务 目的 确定模块采用的算法和块内数据结构,用某种 选定的表达工具给出清晰的描述。 任务:编写软件的“过程设计说明书” 为每个模块确定采用的算法 (模块的详细过程性 描述) 确定每一模块使用的数据结构 确定模块接口的细节 (包括对系统外部的接口和 用户界面,对系统内部其他模块的接口,以及关 于模块输入数据、输出数据及局部数据的全部细 节)
三. 过程设计
2.过程设计的原则与方法
清晰第一的设计风格 结构化的控制结构 结构程序设计的经典定义为: “如果一个程序的代码块仅仅通过顺序、选择和循环这3 种基本控制结构进行连接,并且每个代码块只有一个入口和 一个出口,则称这个程序是结构化的。” 结构程序设计技术是一种实现在逻辑上正确描述每个模 块的功能,并且使设计出的处理过程尽可能简明易懂的关键 技术,是过程设计的逻辑基础。 逐步细化的实现方法 例:在一组数中找出其中的最大数
(4) 命令交互 命令行现在仍然是许多高级用户偏爱的交互方式。在 多数情况下,用户既可以从菜单中选择软件功能,也可以 通过键盘命令序列调用软件功能。 在提供命令交互方式时,必须考虑下列设计问题: 是否每个菜单选项都有对应的命令? 采用何种命令形式?有3种选择:控制序列(例如Ctrl+P), 功能键和键入命令。 学习和记忆命令的难度有多大?忘记了命令怎么办? 用户是否可以定制或缩写命令? 在理想的情况下,所有应用软件都有一致的命令使用 方法。
《软件工程》习题参考答案
《软件⼯程》习题参考答案《软件⼯程》习题参考答案周兵1.1教材:《软件⼯程》⽅⽊云主编,清华⼤学出版社,2016 1.2参考书⽬:1.《Software engineering》8th Edition Ian Sommervile,PearsonEducation, 机械⼯业出版社,20062. 《软件⼯程》,王忠群主编,中国科学技术⼤学出版社,20093. 《软件⼯程导论》(第4版), 张海藩编著, 清华⼤学出版社, 20074、《Software engineering : a practitioner's approach》 RogerS. Pressman. 6th ed. Pressman, Roger S. China MachinePress, 20081.3说明:斜体部分是可选讲授内容, 带星号的习题为可选。
第1章软件⼯程学概述1.1习题A.1什么是软件?软件可以分为哪些类?p11答:软件是程序、数据及相关⽂档的完整集合。
软件可分为通⽤软件和定制软件。
A.2*什么是软件危机及其表现?p11答:软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题。
软件危机包含下述两⽅⾯的问题:如何开发软件,以满⾜对软件⽇益增长的需求;如何维护数量不断膨胀的已有软件。
具体地说,软件危机主要有以下⼀些典型表现。
(1) 对软件开发成本和进度的估计常常很不准确。
(2) ⽤户对“已完成的”软件系统不满意的现象经常发⽣。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的⽂档资料。
(6) 软件成本在计算机系统总成本中所占的⽐例逐年上升。
(7) 软件开发⽣产率提⾼的速度,远远跟不上计算机应⽤迅速普及深⼊的趋势。
A.3什么是软件⼯程?p11答:软件⼯程是指导计算机软件开发和维护的⼀门⼯程学科。
采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,把经过时间考验⽽证明正确的管理技术和当前能够得到的最好的技术⽅法结合起来,以经济地开发出⾼质量的软件并有效地维护它,这就是软件⼯程。
软件工程(第五版)-习题及答案---第六章
软件工程(第五版)-习题及答案---第六章-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII一、选择题1、UML的主要特点不正确的是(C)。
A、面对对象,表达能力强B、可视化建模C、面对过程,表达能力强D、统一标准2、静态建模图不包括(B)。
A、用例图B、协作图C、类图D、对象图3、用例图的模型元素不包括(D)。
A、用例B、系统C、行为者D、软件开发者4、类图的要素不包括(D)。
A、类名称B、操作C、属性D、对象5、时序图中的要素不包括(A)。
A、执行者B、对象C、对象生命线D、消息6、对象模型的描述工具是(C)。
A、状态图B、数据流图C、对象图D、结构图7、协作图的要素不包括(A)。
A、用例B、对象C、链D、消息8、类图反映了系统中对象之间的抽象关系,不包括(D)。
A、关联B、聚合C、泛化D、内聚9、下面(D)不是状态图的图符。
A、圆角的矩形B、实心圆点C、实心圆环D、椭圆10、描述类中某个对象的行为,反映了状态与事件关系的是(A)。
A、状态图B、数据流图C、对象图D、结构图11、动态模型的描述工具(C)。
A、对象图B、设计图C、状态图D、结构图12、表示对象的相互行为的模型是(A)模型。
A、对象B、动态C、结构D、静态13、有关类和对象的描述中,错误的是(A)。
A、一个类只能有一个对象B、对象是类的具体实例C、类是某一类对象的抽象D、类和对象的关系是一种数据类型和变量的关系14、用例图中用例之间的关系通常有关联关系、依赖关系和(C)关系。
A、协作B、聚合C、泛化D、内聚15、动态模型图包括:时序图、协作图、状态图和(C)图。
A、对象图B、设计图C、活动图D、结构图二、简答题1.简要介绍用例图的三个要素。
答:用例图主要包括以下三个元素:①用例(Use Case):用例是系统的使用过程或要执行的动作序列,用来描述某个参与者使用系统所完成的功能。
在图中用椭圆来表示,用例名称可写在椭圆中或椭圆下面。
软件工程智慧树知到答案章节测试2023年天津科技大学
第一章测试1.“软件危机”是指()。
A:利用计算机系统进行经济犯罪活动B:软件开发和软件维护中出现的一系列问题C:人们过分迷恋计算机系统D:计算机病毒的出现答案:B2.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。
A:开发人员的素质B:软件开发的环境C:硬件环境D:软件开发工具和软件开发的环境答案:D3.软件危机可以表现为()。
A:软件产品的质量差B:软件的价格昂贵C:产品不符合用户的需要D:软件的可维护性差答案:ABCD4.下面的()说法是错误的。
A:一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功B:购买大多数计算机系统所需的硬件比软件更昂贵C:由于软件是产品,因此可以应用其他工程制品所用的技术进行生产D:大多数软件系统是不容易修改的,除非它们在设计时考虑了变更答案:ABC5.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。
A:错B:对答案:A第二章测试1.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。
A:确定B:行或不行C:正确D:无二义答案:B2.数据流图是描述数据在软件中流动和变换的过程,而对数据流图中所包含的元素的定义则是()。
A:数据定义B:数据加工C:数据字典D:数据存储答案:C3.在软件的可能性研究中经常从不同的角度对系统进行可行性研究,其中从功能角度对系统进行研究属于()的研究。
A:法律可行性B:技术可行性C:经济可行性D:操作可行性答案:B4.关于数据字典正确的描述是()。
A:数据字典最重要的用途是作为分析阶段的工具B:数据字典应该容易更新和修改C:可以采用卡片形式书写数据字典D:实现数据字典三种常见的方法有全人工过程、全自动过程、混合过程答案:ABCD5.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
A:错B:对答案:A第三章测试1.需求分析阶段的任务是确定()。
软件工程导论(第六版)课后习题答案
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机?软件工程是指导计算机软件开发和维护的工程学科。
(1) 它采用工程的概念、原理、技术和方法来开发和维护软件;(2) 它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来;(3) 它强调使用生存周期方法学和结构分析和结构技术;(4) 经过人们长期的努力和探索,围绕着实现软件优质高产这个目标,从技术到管理两个方面做了大量的努力,逐渐形成了"软件工程学"这一新的学科。
软件工程的本质特征:(1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化(4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具(5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户(7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径:(1) 对计算机软件有一个正确的认识(软件≠程序)(2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目(3) 推广使用在实践中总结出来的开发软件的成功技术和方法(4) 开发和使用更好的软件工具四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。
信息技术第6章 软件开发练习题库(附答案)
第六章软件开发一、单项选择1.给定如下所示的JAVA代码,则运行时,会产生哪种类型的异常()String s = null;s.concat( "追加的字符串");A. ArithmeticExceptionB. NullPointerExceptionC. IOExceptionD. ClassNotFoundException参考答案:B答案解析:空值的字符串变量无法进行追加字符串运算。
A选项为数学运算异常;C选项为输入输出异常;D选项为未找到类定义的异常。
知识点:税务系统业务能力升级测试大纲(信息技术类)-专业知识与技能—第六章软件开发—第二节 Web熟悉开发 4.了解Java编程。
2.为使得开发人员对软件产品的各阶段都进行周密的思考,从而减少返工,所以编制下列哪个文件是很重要的()A.需求说明B.概要说明C.软件开发文档D.测试大纲参考答案:C试题解析:软件开发文档是软件开发使用和维护过程中的必备资料。
它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,尤其在维护工作中,文档是不可或缺的资料。
知识点:税务系统业务能力升级测试大纲(信息技术类)-专业知识与技能—第六章软件开发—第一节软件开发基础知识3.下列哪个文档属于软件开发人员为用户准备的有关该软件使用、操作、维护的资料()A.开发文档B.管理文档C.用户文档D.软件文档参考答案:C试题解析:用户文档可以帮助用户掌握相关软件的使用、操作及维护。
知识点:税务系统业务能力升级测试大纲(信息技术类)-专业知识与技能—第六章软件开发—第一节软件开发基础知识4.关于中间件特点的描述,不正确的是()A.中间件可运行于多种硬件和操作系统平台上B.跨越网络、硬件、操作系统平台的应用或服务可通过中间件透明交互C.中间件运行于客户机/服务器的操作系统内核中,提高内核运行效率D 中间件应支持标准的协议和接口参考答案:C试题解析:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
软件工程方法与实践知到章节答案智慧树2023年昆明理工大学
软件工程方法与实践知到章节测试答案智慧树2023年最新昆明理工大学第一章测试1.软件产品与物质产品有很大区别,软件产品是一种()产品。
参考答案:逻辑2.软件会逐渐退化而不会磨损,其原因在于()。
参考答案:不断的变更使组件接口之间引起错误3.软件工程要解决的问题是()。
参考答案:以上都是4.软件工程的基本要素包括方法、工具和()。
参考答案:过程5.软件一般包括以下()部分。
参考答案:文档;数据;程序;规程第二章测试1.基于计算机系统的元素包括软件、硬件、人员、数据库、文档和()。
参考答案:规程2.基于计算机的系统本身可以成为一个更大的基于计算机系统中的一个()。
参考答案:元素3.经济可行性分析中的效益包括经济效益和()效益。
参考答案:社会4.在基于计算机系统的元素中,硬件包括()。
参考答案:提供外部世界功能的电子机械设备(如传感器、马达等);提供计算能力的电子设备;支持数据流的互连设备(如网络交换器、电信设备)5.系统工程的任务包括()。
参考答案:可行性分析;识别用户的要求;系统建模和模拟;成本估算及进度安排第三章测试1.在软件生存周期中,()阶段主要任务是“弄清楚要做什么?”。
参考答案:需求分析2.通常将软件生命周期划分为系统工程、需求分析、软件设计、编码实现、软件测试、运行维护等阶段,每个阶段都有各自侧重的任务和目标,以下不属于需求分析阶段的任务是()。
参考答案:弄清楚怎么做,规划系统体系结构3.需求规格说明描述了()。
参考答案:计算机系统的功能、性能及其约束4.常用的需求分析方法包括()。
参考答案:面向对象的分析方法;面向数据结构的分析方法;面向数据流的结构化分析方法5.软件需求规格说明SRS的作用包括()。
参考答案:用于规划和控制系统的开发过程;成为用户、分析人员和设计人员之间进行理解和交流的手段;支持系统测试活动第四章测试1.软件设计是将软件分析模型中通过数据、功能和行为模型所展示的软件需求的信息,传送给设计阶段,产生数据/类设计、体系结构设计、()、部件级设计。
软件工程智慧树知到课后章节答案2023年下山东财经大学
软件工程智慧树知到课后章节答案2023年下山东财经大学山东财经大学第一章测试1.软件没有相应的文档,且最终不能满足用户要求是软件危机的一种表现。
()答案:对2.软件本身的不可见性和复杂性随规模的增加呈指数上升是产生软件危机的主要原因。
()答案:错3.开发软件就是写程序。
()答案:错4.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称()。
答案:软件危机5.以下对软件工程描述正确地是()。
答案:采用经过时间考验而证明正确的管理技术。
;一门工程学科。
;经济地开发出高质量的软件并有效地维护它。
;结合最好的技术方法。
6.软件生命周期中所花费费用最多的阶段是()。
答案:软件维护。
7.软件是()。
答案:程序、数据及其文档的集合。
8.同螺旋模型相比,原型模型主要缺少()。
答案:风险分析9.在软件生存周期模型中,不适应变化需求的软件开发模型是()。
答案:瀑布模型10.针对高质量软件的生产的软件过程模型()。
答案:净室模型第二章测试1.可行性研究的技术可行性是指现有技术是否可行。
()答案:对2.可行性研究的成本效益分析是从经济方面讨论是否可行。
()答案:对3.可行性分析研究的目的是()。
答案:项目值得开发否4.描绘物理系统的传统工具是()。
答案:系统流程图5.数据字典的基本功能是()。
答案:数据定义。
6.使用数据流图对工资系统进行需求分析建模,外部实体是()。
答案:接受工资单的银行7.数据流图的作用包括()。
答案:可以逻辑模型考虑系统的物理实现;作为交流信息的工具;作为分析和设计的工具8.典型环境下各个开发阶段需要使用的人力的百分比最多的是()。
答案:综合测试第三章测试1.需求分析阶段的产品是()。
答案:需求规格说明书。
2.进行需求分析可使用多种工具,但是()不适用。
答案:PAD图3.软件需求规格说明的内容不应该包括()。
答案:算法的描述。
4.在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
课后习题答案
第一章 (2)第二章 (3)第三章 (4)第四章 (5)第五章 (6)第六章 (8)第七章 (10)第八章 (10)第九章 (11)课后习题答案第一章项目的市场调研习题1.选择题(1)软件是计算机系统中与硬件相互依存的另一部分,它包括文档、数据和()。
A.数据B. 软件C.文档D. 程序(2)软件工程是一门研究如何用系统化、()、可度量化等工程原则和方法去进行指导软件开发和维护的学科。
A.规范化B.标准化C.抽象化D.简单化(3)软件工程的出现主要是由于()。
A.方法学的影响B.软件危机的出现C.其他工程学科的发展D.计算机的发展(4)可行性研究主要包括经济可行性、技术可行性、法律可行性和()等六个方面。
A.运行可行性B.条件可行性C.环境可行性D.维护可行性(5)编制项目开发计划的目的是用文件的形式,把在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软件、硬件条件等问题做出的安排以()记载下来。
A.文件形式B. 文档形式C. 电子档案形式D. 条文形式2.填空题(1)软件工程是开发、运行、维护和修复软件的系统方法,这里所说的系统方法,是把系统化的、规范化的、可度量化的途径应用于软件生存周期中,也就是把工程化应用于软件中。
(2)可行性研究的任务不是具体解决系统中的问题,而是确定问题是否值得解决、是否能够解决。
(3)软件的开发计划也称项目实施计划,是一个综合的计划,是软件开发工作的指导性文档,阅读对象是软件开发的主管部门、软件技术人员和普通用户。
3.思考题(1)软件危机产生的原因是什么?为何要引入软件工程的概念?答:①忽视了软件开发前期的需求分析的需求分析;②开发过程没有统一、规范的方法论的指导,文档资料不齐全,忽视了人与人之间的交流。
③忽视测试阶段的工作,提交给用户的软件质量差。
④请示软件的维护。
(2)可行性研究的主要任务有哪些?答:①经济可行性②技术可行性③时机可行性④管理上的可行性⑤法律可行性⑥运行可行性(3)制定项目开发计划的主要任务是什么?答:①项目资源计划软件开发中的资源包括用于支持软件开发的硬件,软件工具以及人力资源。
软件工程简答题答案第五版
软件工程简答题答案第五版软件工程简答题第一章绪论1.什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么?答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
表现:(1)对于软件开发的成本和进度的估计很不准确。
(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。
(3)开发的软件可靠性差。
(4)软件通常没有适当的文档资料。
(5)软件的可维护性差。
(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
原因:软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。
2.简述软件的发展过程。
答:软件生产的发展划分为三个年代:(1)程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。
(2)程序系统时代:由于计算机的应用领域不断扩大,软件的需求也不断增长,软件由于处理的问题域扩大而使程序变得复杂,设计者不得不由个体手工劳动组成小集团合作,形成作坊式生产方式小集团合作生产的程序系统时代。
(3)软件工程时代:软件工程时代的生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件。
4.软件工程的目标是什么?软件工程有哪些原则?答:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
原则如下:抽象、模块化、信息隐藏、局部化、完整性、一致性和可验证性。
软件工程过程(山东联盟)知到章节答案智慧树2023年山东工商学院
软件工程过程(山东联盟)知到章节测试答案智慧树2023年最新山东工商学院第一章测试1.以下属于应用软件的是()。
参考答案:wps办公软件2.开发软件的高成本及软件产品的低质量之间存在矛盾,这种现象称之为()。
参考答案:软件危机3.以下()属于软件危机的具体表现。
参考答案:软件开发进度难以预测;产品的功能、性能难以满足用户需求;软件开发成本难以控制4.软件工程是由()组成。
参考答案:方法;过程;工具5.软件工程学的提出起源于软件危机,其目的就是最终解决软件的生成工程化问题。
参考答案:对6.以下()属于软件工程七个基本原理。
参考答案:开发小组人员应少而精;结果应能清楚地审查;实行严格的产品控制;用分阶段的生命周期计划严格管理7.ISO/IEC 12207软件生存周期过程标准,把用于开发一个软件系统的过程分为三类,包括主过程、辅助(组织)过程及()。
参考答案:支持过程8.一个软件从定义到开发,所经历的生存过程称为软件生存期或叫生命周期。
参考答案:错9.关于程序和软件,说法正确的是( )。
参考答案:软件包括程序10.软件开发小组的规模与个人生产率成正比,向一个已经延期的软件项目增加人手,会使它按期完工。
参考答案:错第二章测试1.问题定义是拟研发软件之前,对软件的需求问题进行初步调研、确认和描述的过程参考答案:对2.在问题定义阶段,开发任务主要是()。
参考答案:理解项目所涉及的基本问题3.问题定义报告通常不包括以下()内容。
参考答案:项目的可行性研究4.下列()属于可行性研究阶段的成果物。
参考答案:可行性研究报告5.一个项目是否开发,从经济上来说是否可行,归根结底是取决于()。
参考答案:软件项目效益评估;成本估算6.软件可行性研究中的社会可行性涉及()等社会因素。
参考答案:道德;社会影响;法律7.()是软件可行性研究涉及到的内容。
参考答案:是否有足够的工具和相关技术来支持系统开发;待开发的软件是否有市场、经济上是否合算;是否有足够的人员和相关技术来支持系统开发8.可行性研究的主要任务是用最小的代价在尽可能短的时间内确定问题是否能够解决。
自学考试软件工程第6章例题分析与解答
第6章例题分析与解答
一、填空题
1.软件需求分析之后,软件的设计、编码、测试与语言的特性有很大的关系,这个特性主要是语言的______特性。
[答案]技术
2.为了提高程序的易读性,同时减少错误,提高软件开发效率,编码时注意养成良好的_____。
[答案]程序设计风格
3.源程序中加注释是帮助理解程序的重要手段,注释分为_______两类。
[答案]序言性注释和功能性注释
二、选择题
1.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在人们更重视程序的( )。
A.技巧性
B.保密性
C.一致性
D.可理解性
[答案]D
2.与选择编程语言无关的因素是( )。
A.软件开发的方法
B.软件执行的环境
C.程序设计风格
D.软件开发人员的知识
[答案]C
3.源程序文档化要求在每个模块之前加序言性注释。
该注释内容不应有( )。
A.模块的功能
B.语句的功能
C.模块的接口
D.开发历史
[答案]B
4.不适合作为数据处理的语言是( )。
A.PROLOG
B.C
C.4GL
D.SQL
[答案]A
5.提高程序效率的根本途径并非在于( )。
A.选择良好的设计方法
B.选择良好的数据结构
C.选择良好的算法
D.对程序语句作调整
[答案]D。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程第六章答案
-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
作业4参考答案
1.假设只有SEQUENCE和DO_WHILE两种控制结构,怎样利用它们完成
IF_THEN_ELSE操作
答:转化如下:
K = 1
DO WHILE (条件 .AND. 程序块1
K=K+1
END DO
DO WHILE ( (.NOT. 条件) .AND. 程序块2
K=K+1
END DO
2.假设允许使用SEQUENCE和IF_THEN_ELSE两种控制结构,怎样利用它们完成DO_WHILE操作
答:转化如下;
label: IF (条件) THEN
程序块
GOTO label
ELSE
程序块
END IF
3.画出下列伪码程序的程序流程图和盒图:
START
IF p THEN
WHILE q DO
f
END DO
ELSE
BLOCK
g
n
END BLOCK
END IF
STOP
答:(1)流程图如图4-1所示:
图4-1
从伪码变成的程序流程图
(2)该程序的盒图如图4-2所示:
图4-2 从伪码变成的程序盒图
4.下图给出的程序流程图代表一个非结构化的程序,请问: (1)为什么说它是非结构化的 (2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag 吗若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag 的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量flag ,至少有两种方法可以把该程序改造为等价的结构化程序,图4-3描绘了等价的结构化程序的盒图。
(a)解法1
(b)解法2
图4-3 与该图等价的结构化程序(用flag)
(3)不使用flag把该程序改造为等价的结构化程序的方法如图4-4所示。
图4-4 与该图等价的结构化程序(不用flag)
5.研究下面的伪代码程序:
LOOP:Set I to (START+FINISH)/2
If TABLE(I)=ITEM goto FOUND
If TABLE(I)<ITEM Set START to (I+1)
If TABLE(I)>ITEM Set FINISH to (I-1)
If (FINISH-START )>1 goto LOOP
If TABLE(START)=ITEM goto FOUND
If TABLE(FINISH)=ITEM goto FOUND
Set FLAG to 0
Goto DONE
FOUND: Set FLAG to 1
DONE:Exit
(1)画出程序流程图。
(2)程序是结构化吗说明理由。
(3)若程序是非结构化的,设计一个等价的结构化程序并且画出流程图。
(4)此程序的功能是什么它完成预定功能有什么隐含的前提条件。
答:(1)该程序流程图如下:
(2)该程序不是结构化的,结构化的程序只有一个入口和一个出口,而该程序的流程途中有两个出口。
(3)等价的结构化程序的流程图如下:
(4)此程序有二分查找的功能,它完成预定功能的隐含前提条件是现有序列为从小到大顺序排好的有序序列。
6.用Ashcroft_Manna技术可以将非结构化的程序转化为结构化程序,图是一个转换的例子。
(1)能否从这个例子总结出Ashcroft_Manna技术的一些基本方法
(2)进一步简化(b)给出的结构化设计。
答:(1)从这个例子中看出,Ashcroft_Manna 技术的基本方法是,当待改造的序含有嵌套的非结构化的IF语句时,改造后的程序中增加DO-CASE语句和DO-UNTIL语句,并增加一个辅助变量I,I的初始值为1。
最外层的IF语句在I=1时执行,执行完这个IF语句后把I赋值为随后应该执行的内层IF语句所对应的CASE标号值。
DO-CASE语句的最大分支数(可执行的最大标号值)等于IF语句的个数。
当执行完最内层的IF语句之后,把I赋值为可执行的最大标号值加1,而DO-UNTIL 循环的结束条件就是I等于这个值。
(2)进一步简化后的结构化程序的流程图如下所示。