软件工程第五版课后习题答案第五章-推荐下载
软件工程第五章课后题
一、选择题
1.软件管理中,需要对软件进行配置,各阶段文档的管理属于()。
D
A.组织管理
B资源管理
C.计划管理
D.版本管理
2.软件开发的结构化方法中,常用数据字典技术,其中数据加工是
其组成内容之一,下述方法()是常采用编写加工说明的方法。
Ⅰ结构化语言Ⅱ判定树Ⅲ判定表
A.Ⅰ
B.Ⅱ
C.Ⅱ、Ⅲ
D.都是
3.在软件工程实施中,产生软件生命周期的概念是由()。
A.方法论所决定的
B.开发技术划分
C.软件开发规律
D.软件工程管理
二、填空题
1.软件计划包括和两个阶段。
2.软件概要设计的成果是。
3.软件的详细设计,也称模块设计。
它要求设计人员为每一个程序模块确定所使用的,,、输出数据等。
4.结构化分析方法是进行分析的方法。
三、解答题
1.什么是软件的可维护性?可维护性的度量的特性是什么?
2.提高可维护性的方法有哪些?
答案:
一、1.D 2.D 3.A
二、
1.总体设计(或概要设计)详细设计
2.软件设计说明书
3.算法数据结构接口细节和输入
4. 面向数据流
三、
1.软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。
可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
2.(1)建立明确的软件质量目标。
(2)利用先进的软件开发技术和工具。
(3)建立明确的质量保证工作。
(4)选择可维护的程序设计语言。
(5)改进程序文档。
软工题第五章
第五章习题一、选择题1.对于软件产品来说,有4个方面影响着产品的质量,即( A )、( B )、( C )及成本、时间和进度等条件。
重视软件过程的质量是近年来质量管理理论和实践的新发展。
重视软件过程质量的控制,其部分原因可能是:相对于产品质量的控制来说,过程质量的控制是( D )、( E )、( F ),而产品质量的控制是( G )、( H )、( I )。
供选择的答案:A ~ C. ①开发时间②开发技术③过程质量④风险控制⑤质量控制⑥人员素质⑦项目管理⑧配置管理D ~ I. ①主动的②被动的③整体的④系统的⑤先期的⑥事后的⑦个别的⑧部分的2. 在软件维护的实施过程中,为了正确、有效地修改,需要经历以下3个步骤:(A )、(B )、(C )。
( A )是决定维护成败和质量好坏的关键。
( C )包括(D )确认、计算机确认和维护后的(E )。
供选择的答案:A ~ C. ①修改程序②建立目标程序③分析和理解程序④重新验证程序⑤验收程序D. ①动态②静态③人工④自动E. ①验证②验收③检验④存档2. A. ③, B. ①, C. ④, D. ②, E. ②在软件维护的实施过程中,为了正确、有效地修改,需要经历以下3个步骤:分析和理解程序、修改程序和重新验证程序。
经过分析,全面、准确、迅速地理解程序是决定维护成败和质量好坏的关键。
有如下几种方法:分析程序结构图、数据跟踪、控制跟踪及其它方法。
在将修改后的程序提交用户之前,需要通过静态确认、计算机确认和维护后的验收,保证修改后的程序的正确性。
3. 从供选择的答案中选出同下列各叙述关系最密切的字句。
A. 软件从一个计算机系统或环境转移到另一个计算系统或环境的容易程度。
B. 软件在需要它投入使用时能实现其指定的功能的概率。
C. 软件使不同的系统约束条件和用户需求得到满足的容易程度。
D. 在规定的条件下和规定的一段期间内,实现所指定的功能的概率。
E. 尽管有不合法的输入,软件仍能继续正常工作的能力。
软件工程(第五版)--习题及答案
打印出取票通知和票务账单。旅客可在航班的前一天凭取票通知和票务账单交款取票。系统
13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导
致了A。
A、软件危机 B、软件工程
C、程序设计革命 D、结构化程序设计
14、集成化开发环境中的环境集成机制不包括D。
A、数据集成 B、控制集成
没有尽早停止没有可行解决方案的开发项目就会造成时间、资金、人力、物力的浪费。为
了降低软件开发失败的可能性需要进行软件可行性研究。可行性研究要从经济可行性、技
术可行性、运行可行性和法律可行性四方面进行。 2、简述可行性研究的步骤。
答1审核系统的规模和目标2分析研究现行系统3设计新系统的高层逻辑模
5、×文字处理软件Word属于系统软件。 应用软件 6、√原型是软件的一个早期可运行的版本它反映最终系统的部分重要特性。
7、√软件开发过程中一个错误发现得越晚为改正它所付出的代价就越大。
8、×快速原型模型对软件开发人员的水平要求不高。
9、√喷泉模型适合于面向对象的软件开发。
10、×面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题
1、软件是一种C。
A、程序 B、数据 C、逻辑产品 D、物理产品
2、软件开发方法是A。
A、指导软件开发的一系列规则和约定 B、软件开发的步骤
C、软件开发的技术 D、软件开发的思想
2、软件可行性研究的目的是C。
软件工程课后参考答案
第一章课后参考答案1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
“软件危机”包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
出现软件危机的原因(1)开发人员与客户认识之间的矛盾(2)开发人员能力与开发目标之间的矛盾(3)预估与实际工作量之间的矛盾(4)客户认识的提高与软件维护之间的矛盾(5)遗产系统与实施软件之间的矛盾2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机?软件工程是指导知道计算机软件开发和维护的一门工程学科。
软件工程第五版课后习题答案第五章
习题5
3(1)数据流图如下:
对数据流图划分边界,如下所示:
按照以上数据流图设计软件结构,如下所示:
4(1)数据流图如下:
(2)需求说明:
功能需求:系统需要能查出教师的原有工资,计算出教师的现有工资,并打印相关信息。
数据需求:教师的原有工资信息,教师赡养的人数,教师的工龄
行为需求:系统要能判断原有工资是否符合涨工资要求,要精确计算现有工资,要提供给用户调查信息的借口与界面。
(3)用a 算法的HIPO 图:
教师档案
办公室磁带 打印原有工资和新工资信息 提取原工资
信息
计算新工资 办公室磁带
年工资大于等于$26000 年工资小于$26000
用b算法的HIPO图:
对于算法(a):优点:这样设置符合常规思路,容易让人理解
缺点:计算的次数较多。
检索效率低。
对于算法(b):优点:计算的次数较少,效率高
缺点:该算法不易于理解。
涉及到排序算法的设计。
(4)所画的数据流图更符合a算法。
5.答:需求分析:要实现三大功能,发牌;确定获胜方和牌型;模拟多次游戏,计算牌型的获胜和平局的概率。
分析后,设计的HIPO图如下:流程图在下页:
控制流程图如下:。
软件工程(第5版课后答案)
f(作者姓名)
系统搜索指定的作者姓名,并在屏幕上显示该作者的著作的索引号,同时把这些索引存入文件。
设计测试数据以全面测试系统正常操作。 设计测试数据以测试系统的非正常操作。
P175 5
P175 5 参考答案
划分等价类(略) 全面测试系统正常操作 B BS BSD F FD
B:输入关键字,看是否输出约20个加了行号的字,是否与关键字完全相同的字约在屏幕中央。 输入:“计算机” 预期输出:约20个加行号的字 BS:输入关键字,选取屏幕上行号,是否生成包含索引号的文件。 输入:“计算机”;12 预期输出:约20个加行号的字;文件 BSD:输入关键字,选取屏幕上行号,检索索引号有关信息,是否显示文件中索引信息。 输入:“计算机”;12;3 预期输出:约20个加行号的字;文 件;文件中索引信息。 F:输入作者姓名,是否在屏幕上显示该作者的著作的索引号,是否将这些索引存入文件。 输入:“金庸” 预期输出:该作者著作的索引号 FD:输入作者姓名,检索索引号有关信息,是否现实文件中索引信息。 输入:“金庸”;3 预期输出:该作者著作索引号;文件中 索引信息
单击此处可添加副标题
P23 7参考答案
增量模型 缺点: 至始至终开发者和客户纠缠在一起,直到完全版本出来。 优点: 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。 具有一定的市场。 适合于软件需求不明确、设计方案有一定风险的软件项目。
习题1第6题
什么是软件过程?它与软件工程方法学有何关系?
P23 6
P23 6参考答案
软件工程导论-张海藩-第五版课后习题答案
多态
多态是指同一个操作作用于不 同的对象,可以产生不同的结 果。
UML建模语言简介
UML是一种用于对软件密集系统进行可视化建模 的统一建模语言。
UML通过统一的符号和工具,为软件开发人员提 供了一种通用的建模语言。
UML可以描述软件系统的静态结构和动态行为, 包括类图、时序图、用例图等。
面向对象分析、设计和实现过程
列表。
与用户确认需求列表,确保对用户需求有准确的理解。
03
需求规格说明书编写
01
编写详细的需求规格说明书,包括功能需求、性能需求、接 口需求等。
02
使用清晰、准确的语言描述需求,避免歧义和模糊性。
03
提供必要的图表、示例和数据,以便更好地理解和实现需求 。
需求变更管理
建立需求变更管理流 程,确保所有变更都 经过评估和批准。
及时通知相关干系人, 协商并处理变更请求, 确保项目顺利进行。
对变更进行影响分析, 评估变更对项目进度、 成本和质量的影响。
03 系统设计
总体设计原则与方法
模块化
将系统划分为若干个相对独立的模块, 每个模块具有特定的功能,模块之间 通过接口进行通信。
高内聚、低耦合
模块内部的功能应该高度相关,而模 块之间的依赖关系应该尽量减少。
要点二
软件评估技术
软件评估技术包括代码审查、走查、桌面检查等。代码审 查是一种正式的评估技术,由一组开发人员对源代码进行 详细检查以发现错误;走查是一种轻量级的评估技术,由 开发人员自行检查代码并记录下潜在的问题;桌面检查则 是一种非正式的评估技术,由评估人员通过查看文档和演 示来评价软件产品的质量。
THANKS FOR WATCHING
感谢您的观看
软件工程导论第五版答案
13:07:42
软件工程导论第五版答案
•作业及解答(第4章)
仔细研究图示的有穷状态机可以发现,它还有不够严格的地 方。有兴趣的同学请进一步改进它,画出更严格的、与浮 点二进制数定义完全一致的有穷状态机。
13:07:42
软件工程导论第五版答案
•作业及解答(第5章)
补充1:请为某仓库的管理设计一个ER模型。该仓库主要管 理零件的订购和供应等事项。仓库向工程项目供应零件, 并且根据需要向供应商订购零件。
〈floating point binary〉∷=[〈sign〉]〈bitstring
〉E[〈sign〉]〈bitstring〉
〈sign〉∷=+|-
〈bitstring〉∷=〈bit〉[〈bitstring〉]
〈bit〉∷=0|1
13:07:42
软件工程导论第五版答案
•作业及解答(第4章)
其中, ✓符号∷=表示定义为; ✓符号[...]表示可选项; ✓符号a|b表示a或b。 假设有这样一个有穷状态机:以一串字符为输入,判断字符 串中是否含有合法的浮点二进制数。试对这个有穷状态机进 行规格说明。
(3)在1995年对存储容量的需求估计为:
如果字长为32位,则这个存储器的价格是:
如果一条指令为一个字长,则为使存储器装满程序共需 73,577,679条指令。
在1995年一名程序员每天可开发出30条指令,每月可开 发出600条指令,为了开发出可装满整个存储器的程序, 需要的工作量为
13:07:42
软件工程导论第五版答 案
2020/12/19
软件工程导论第五版答案
•作业及解答
作业一 基本概念(第1-2章) 作业二 需求分析(第3章) 作业三 系统设计(第5章) 作业四 详细设计(第6章) 作业五 系统实现(第7章) 作业六 系统维护(第8章) 作业七 面向对象方法学引论(第9章) 作业八 面向对象分析(第10章) 作业九 面向对象设计(第11章) 作业十 面向对象实现(第12章) 作业十一 软件项目管理(第13章)
软件工程导论----张海藩(第五版)课后习(考研专用)
《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程导论(第5版)课后习题答案
《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1)开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2)软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1)充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2)推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3)根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程简答题答案 第五版
软件工程简答题第一章绪论1.什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么?答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
表现:(1)对于软件开发的成本和进度的估计很不准确。
(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。
(3)开发的软件可靠性差。
(4)软件通常没有适当的文档资料。
(5)软件的可维护性差。
(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
原因:软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。
2.简述软件的发展过程。
答:软件生产的发展划分为三个年代:(1)程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。
(2)程序系统时代:由于计算机的应用领域不断扩大,软件的需求也不断增长,软件由于处理的问题域扩大而使程序变得复杂,设计者不得不由个体手工劳动组成小集团合作,形成作坊式生产方式小集团合作生产的程序系统时代。
(3)软件工程时代:软件工程时代的生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件。
4.软件工程的目标是什么?软件工程有哪些原则?答:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
原则如下:抽象、模块化、信息隐藏、局部化、完整性、一致性和可验证性。
软件工程部分习题讲解张海藩清华大学出版社第五版
8
作业及解答(第3章)
数据结构的描述
符号
含义 举 例
=
被定义为
+
与
x = a+b
[...,...] 或 [...|...]
或 x = [a , b],x = [a | b]
{ ... }或 m{...}n 重复 x = {a}, x = 3{a}8
(...)
ER模型
本问题中共有两类实体,分别是“储户”和“储蓄所”, 在它们之间存在“存取款”关系。因为一位储户可以在多 家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取 款”是多对多(M:N)关系。
储户的属性主要有姓名、住址、电话号码和身份证号码, 储蓄所的属性主要是名称、地址和电话号码,而数额、类 型、到期日期、利率和密码则是关系类型存取款的属性。
11
作业及解答(第3章)
E1 储户
F1存款单 F2取款单
P0储蓄系统
F3存单 F4利息清单
F5存款信息 F5存款信息
D1存款信息
E1 储户
12
E1 储户
F1存款单 F7密码
P1 记录存款信息
F5存款信息
D1存款信息
P2 打印存单
F5存款信息 F3存单
E1 储户
F7密码 F2取款单
F5存款信息
F4利息 F4利息
4
E2 病人
F2生理信号
E3 时钟
F3日前、时间
F5安全范围 D2患者安全范围
P2 分析信号
危及病人信息
P3 产生警告信息
F2生理信号
P1 接收信号
F2生理信号
F4警告信息
E1 护士
软件工程导论----张海藩(第五版)课后习(考研专用).doc
《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程导论(第五版)张海藩课后答案(2021修订版)(2021整理)
第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题暗示在以下几个方面:(1)用户对开发出的软件很难对劲。
(2)软件产物的质量往往靠不住。
(3)一般软件很难维护。
(4)软件出产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的开展远远满足不了计算机应用的普及与深入的需要。
2.为什么会发生软件危机?(1) 开发人员方面,对软件产物缺乏正确认识,没有真正理解软件产物是一个完整的配置组成。
造成开发中制定方案盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和尺度指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不克不及包管、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的开展已经远远不克不及适应社会需求。
3.怎样克服软件危机?(1) 充实吸收和借鉴人类持久以来从事各种工程工程中堆集的行之有效的有效道理、概念、技术与方法,出格是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的办理,彼此友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期开展阶段形成的一些错误概念和作法。
(3) 按照不同的应用领域,开发更好的软件东西并使用这些东西。
将软件开发各个阶段使用的软件东西调集成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术办法(方法和东西),又要有必要的组织办理办法。
工程的最终产物:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件保存周期?软件保存周期是指从软件定义、开发、使用、维护到裁减的全过程。
《软件工程》(第五版)习题参考答案
《软件工程》(第五版)习题参考答案
第1章 一、判断题 1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适 当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和 衰亡的生存过程。 5、(×)文字处理软件 Word 属于系统软件。应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系 统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所 付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面 不够灵活。 二、选择题 1、软件是一种(C)。 A、程序 B、数据
D、合同文档 14、结构化分析方法是以数据流图、(D)和加工说明等描述工 具,即用直观的图和简洁的语言来描述软件系统模型。 A、DFD 图 B、PAD 图 C、IPO 图 D、DD 15、软件需求分析阶段的工作,可以分为四个方面:需求获取、 需求分析、编写需求规格说明书以及(B)。 A、阶段性报告 B、需求评估 C、总结 D、都不正确 16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一 些特定的图符构成。下面图符名称标识的图符不属于数据流图合 法图符的是(A)。 A、控制流 B、加工 C、数据存储 D、源点和终点 17、DFD 用于描述系统的(D)。 A、数据结构
软件工程(第五版)--习题及答案--第五章
软件⼯程(第五版)--习题及答案--第五章⼀、判断题1、(√)详细设计也称模块设计。
2、(×)在数据代码设计时,应尽量让⼀条代码代表多个信息。
3、(×)在数据代码设计时,应可能设计字母和数字混合代码。
4、(×)在输出界⾯设计时,要尽可能使⽤代码或缩写,以求简洁。
5、(×)详细设计评审应尽可能和概要设计评审⼀同进⾏。
⼆、选择题1、软件详细设计的主要任务是确定每个模块的(A)。
A、算法和使⽤的数据结构B、外部接⼝C、功能D、程序2、借助于软件⼯具,可将(C)容易地转换为⾼级语⾔源程序。
A、程序流程图B、N-S图C、PAD图D、判定表3、不属于详细设计⼯具的是(A)。
A、DFD图B、PAD图C、PDlD、N-S图4、程序的三种基本结构是(C)。
A、过程、⼦过程和⼦程序B、递归、堆栈和队列C、顺序、选择和重复D、调⽤、返回和转移5、下⾯描述中,符合结构化程序设计风格的是(A)。
A、使⽤顺序、选择和重复(循环)三种基本控制结构表⽰程序的控制逻辑B、模块只有⼀个⼊⼝,可以有多个出⼝C、注重提⾼程序的执⾏效率D、不使⽤goto语句三、简答题1、软件的详细设计阶段完成的主要任务是什么?答:(1)算法设计;(2)数据结构设计;(3)模块接⼝细节设计;(4)测试⽤例设计;(5)数据库物理设计;(6)数据代码设计;(7)其他设计;(8)编写详细设计说明书并进⾏评审。
2、数据输⼊界⾯设计的主要原则有哪些?答:在设计数据输⼊界⾯时应做到:尽量简化⽤户的⼯作、减少输⼊的出错率;减轻⽤户的记忆负担、尽可能减少输⼊量并实现⾃动输⼊;对共同的输⼊设置默认值;使⽤代码或缩写;⾃动填⼊已输⼊过的内容;列表式输⼊; 数据分组输⼊。
3、代码设计的原则有哪些?答:代码设计的原则是标准化、唯⼀性、可扩充性、简单性、规范性和适应性。
四、应⽤题1、请分别使⽤程序流程图、PAD图和N-S图描述下列程序的算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题5
3(1)数据流图如下:
对数据流图划分边界,如下所示:
按照以上数据流图设计软件结构,如下所示:
储蓄系统
输入用户
信息
处理用户请求
输出相关清单
4(1)数据流图如下:
(2)需求说明:
功能需求:系统需要能查出教师的原有工资,计算出教师的现有工资,并打印相关信息。
数据需求:教师的原有工资信息,教师赡养的人数,教师的工龄
行为需求:系统要能判断原有工资是否符合涨工资要求,要精确计算现有工资,要提供给用户调查信息的借口与界面。
(3)用a 算法的HIPO 图:
教师工资系统工资调整
2.0
用b 算法的HIPO
图:
教师工资系统工资调整 2.0对于算法(a):优点:这样设置符合常规思路,容易让人理解
缺点:计算的次数较多。
检索效率低。
对于算法(b):优点:计算的次数较少,效率高 缺点:该算法不易于理解。
涉及到排序算法的设计。
(4)所画的数据流图更符合a 算法。
5.答:需求分析:要实现三大功能,发牌;确定获胜方和牌型;模拟多次游戏,计算牌型的获胜和平局的概率。
分析后,设计的HIPO 图如下:
扑克牌模拟程序
进行N 次游戏 2.0
流程图在下页:
控制流程图如下:。