软件工程--习题及答案--第五章
软件工程第二版答案

里面包含绝大部分的软件工程第二版中的课后习题答案瞿中编第一章仿真试题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、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( )A、互相排斥B、互相补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它重要应用于哪种软件开发方法( )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发规定最高( )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实行时强调的是分析对象的( )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划提成( )A、计划阶段、开发阶段、运营阶段B、计划阶段、编程阶段、测试阶段C、总体设计、具体设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特性而一般称其为( )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为也许占用人员最多的阶段是( )A、分析阶段B、设计阶段C、编码阶段D、测试阶段13、软件开发模型是指软件开发的所有过程、活动和任务的结构框架。
软件工程实用教程(2版)-第2、3、4、5章-习题与参考答案(人民邮电大学出版社 郭宁主编)

《软件工程实用教程》第2、3、4、5章习题与参考答案第2章软件生存周期及开发模型1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软件生存周期主要包括哪几个阶段?答案要点:软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个阶段:可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包括单元测试)、集成测试、确认测试、系统运行和维护。
这几个阶段又可以归纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。
2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?答案要点:瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利。
例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段性的评审等。
这为提高软件产品质量提供了有效保证。
瀑布模型的特点:•阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档。
•阶段评审:在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返工,如果评审不合格,则不开始下一阶段的工作。
•文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段的任务。
3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?答案要点:原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。
将模拟的手段引入需求分析的初期阶段,通过建立原型缩短用户与分析人员之间的距离。
快速原型方法具有以下一些特点。
•快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。
一旦需求或设计确定下来,原型就将被抛弃。
因此快速原型要求快速构建、容易修改,以节约原型创建成本,加速开发速度。
快速原型往往采用软件生成工具来创建,例如,4GL语言。
软件工程实用教程第三版-郭宁主编-课后习题及答案

软件工程实用教程第三版-郭宁主编-课后习题及答案第一章软件工程引论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)型的设计过程。
软件工程 第5章软件详细设计

第5章例题分析与解答作者:不详来源:2006年9月1日发表评论进入社区一、填空题1.结构化程序设计方法的要点是使用___三种基本控制_____结构,自顶向下、逐步求精地构造算法或程序。
2.为了产生结构化的流程图,应由三种基本控制结构顺序组合或__完全嵌套___而成。
3.结构化程序设计方法提倡开发人员的组织形式是___主程序组_____。
4.PAD图是一种由左向右展开的二维树型结构,图中的竖线为程序的____层次线____。
5.在Jackson方法中解决结构冲突的具体办法是引入__中间数据结构或中间文件______。
二、选择题1.详细设计与概要设计衔接的图形工具是( B )。
A.DFD图B.SC图C.PAD图D.程序流程图2.结构化程序设计主要强调的是( C)。
A.程序的效率B.程序的执行速度C.程序的易读性D.程序的规模3.详细设计的任务是确定每个模块的( A)。
A.算法B.功能C.调用关系D.输入输出数据4.Jackson方法实现从( A )导出(C )。
A.数据结构B.数据流图C.程序结构D.软件模块层次结构5.在软件详细设计过程中不采用的描述工具是( D )。
A.判定表B.IPO图C.PAD图D.DFD图三、应用题一个正文文件由若干个记录组成,每个记录是一个字符串。
要求统计每个记录中空格字符的个数及文件中空格字符的总个数。
要求输出数据格式是每复制一行字符串之后,另起一行印出上一行字符串空格字符的个数,最后一行印出空格字符总个数。
答案:一、填空题1.三种基本控制结构2.完整嵌套3.主程序员组4.层次线5.中间数据结构或中间文件二、选择题1.B2.C3.A4.AC5.D三、应用题图5-1图5-2<>第5章自测题及参考答案作者:不详来源:2006年9月1日发表评论进入社区一、名词解释1.结构化程序设计2.PAD3.PDL4.结构冲突5.对应关系二、填空题1.结构化程序设计方法使用___三种基本控制结构___构造程序。
软件工程习题(附答案)

第一章概述1.软件产品具有哪些特性?答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的a.软件产品是一种逻辑产品.b.软件产品的生产主是研制,软件产品的成本主要体现在软件的...c.开发的软件可维护性差.d. 开发的软件可靠性差⑴是一种逻辑产品,与物质产品有很大的区别.⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品.⑶软件产品不会用坏,不存在磨损,消耗.⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵.(6)其质量往往靠不住,缺乏可见性2.简述什么是软件工程?答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件”的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不超过预算,并满足用户要求;3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段?答:定义时期:问题的定义(客户需求)、可行性研究(为什么做);开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。
运行时期:软件维护。
4.依下列叙述确定软件生命周期模型。
M公司的软件产品以开发实验型的新软件为主。
用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。
若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐明你的理由。
答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。
另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。
软件工程 第五章(总结和课后习题)

出:分析类[完成];4、对包进行分析: 输入:系统体系结构描述[分析]、分析 包[概述]输出:分析类[完成]。 � (18)创建系统的分析模型,一般应进 行体系结构分析、用况分析、类的分析 以及包的分析 4 项活动。 � (19)用况分析[分析]的目标:1、标识 那些在用况事件流执行中所需要的分析 类和对象;2、将用况的行为,分布到参 与交互的各个分析对象;3、捕获用况细 化上的特定需求。 � (20)用况分析[分析]开展的活动包括: 1、标识分析类,标识在细化一个用况中 所需要的实体类、控制类和边界类,给 出它们的名字、责任、属性和关系;2、 描述分析(类)对象之间的交互,通常 使用交互图来描述。 � (21)类的分析[分析]的目标:1、标识 并维护分析类的责任;2、基于它们在用 况细化中的角色,标识并维护分析类的 属性和关系;3、捕获分析类细化中的特 定需求。 � (22)类的分析[分析] 开展的活动包 括:1、标识责任;2、标识属性;3 标识 关联与聚合; � (23)需求分析模型对以后开发工作的 影响?1、对设计中子系统的影响。分析 包一般将影响设计子系统的结构;2、对 设计类的影响。分析包可以作为类设计 时的规格说明;3、对用况细化[设计]的 影响。用况细分[分析]对用况细化[设计] 有两方面影响,一个是它们有乃至于为 用况创建更精确的规格说明,另一个是 当对用况进行设计时,用况细化[分析] 可作为其输入。 (24)需求获取模型与需求分析模型之
第五章 RUP
[概述];输出:子系统[完成]、接口[完 成]。 � (29)用况的设计包括以下任务:1、标 识参与用况细化的设计类;2、标识参与 用况细化的子系统的接口。 � (30)类的设计包括以下任务:1、概括 描述设计类;2、标识操作;3、标识属 性;4、标识关联、聚合;5、标识泛化; 6、描述方法; � � � (31)RUP 设计的突出优点:P165 页 (32)RUP 的设计系统生成构件;对构件进行测试,进行 集成测试和连接;把可执行的构件映射 到部署模型。 � (34)RUP 实现包括以下活动:1、实现 模型;2、实现子系统;3、实现模型视 角下的体系结构描述;4、实现类; � � (35)RUP 测试包括内部测试、中间测试 和最终测试。 (36)RUP 测试的主要活动:1、计划测 试;2、设计测试;3、实现测试;4、执 行集成测试;5、执行系统测试;6、评 价测试。
(完整版)软件工程 第五章 面向对象的需求分析

第五章面向对象的需求分析面向对象的需求分析方法的核心是利用面向对象的概念和方法为软件需求建造模型。
它包含面向对象风格的图形语言机制和用于指导需求分析的面向对象方法学。
面向对象的思想最初起源于 20世纪 60年代中期的仿真程序设计语言Simula67。
20世纪80年代初出现的Smalltalk 语言及其程序设计环境对面向对象技术的推广应用起到了显著的促进作用。
20世纪90年代中后期诞生并迅速成熟的UML(Unified Modeling Language,统一建模语言)是面向对象技术发展的一个重要里程碑。
UML 统一了面向对象建模的基本概念、术语和表示方法,不仅为面向对象的软件开发过程提供了丰富的表达手段,而且也为软件开发人员提供了互相交流、分享经验的共用语言。
本章首先介绍面向对象的主要概念和思想。
在概述了UML的全貌之后,以“家庭保安系统”为实例,介绍与需求分析相关的部分 UML语言机制以及基于UML的面向对象的需求分析方法和过程。
第一节面向对象的概念与思想一、面向对象的概念关于“面向对象”,有许多不同的看法。
Coad和 Yourdon给出了一个定义:“面向对象 = 对象 + 类 + 继承 + 消息通信”。
如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。
一个面向对象的程序的每一成分应是对象,计算是通过新的对象的建立和对象之间的消息通信来执行的。
1.对象(object)一般意义来讲,对象是现实世界中存在的一个事物。
可以是物理的,如一个家具或桌子,如图 5-1-1所示,可以是概念上的,如一个开发项目。
对象是构成现实世界的一个独立的单位,具有自己的静态特征(用数据描述)和动态特征(行为或具有的功能)。
例如:人的特征:姓名、性别、年龄等,行为:衣、食、住、行等。
图 5-1-1 对象的定义(1)对象、属性、操作、消息定义对象可以定义为系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和一组对属性进行操作的服务组成。
软件工程--习题及答案--第五章

软件工程(第五版)--习题及答案--第五章(总8页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除一、判断题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.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
- 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程课后习题答案2-12章

D3生理信息 定时的生理信号
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 P6 产生病情报告 D1患者日志
范
信
理
生
患者生理信 号获取
生理信号
定
时
生
理
生
号
理
信
信
围
号
号
患者监护系 统
危 日志 机信息
安排航班
预 定 信 息
机票 信息
交款
打印取票单 据
打印及发放 机票
有
航班
通 效 知
设置航班
录入预定信 息
录入取票凭 证
核对取票凭 证
P2 分析信号 E2 病人 F2生理信号
危及病人信息 F2生理信号 D2患者安全范围 P7制定安 全范围 P5 更新日志
P3 产生警告信息 F4警告信息 E1 护士
F5安全范围
监护处理
志 日 定时生理信号
号 生理信
监护信息输 出
息
生
理
制定生理信 号安全范围
接收信号
定时取样 生理信号
时间
分析信号
更新日志
报警
危机信
信
号
范
围
信息 危机
生
信 理 生 时 定 号 信 理
日 志
取得时间
号
病情报告
• P104:4 • 美国某大学有200名教师,校方与教师工会刚刚签订一项协议。 按照协议,所有年工资超过$26000(含$26000 )的教师工 资将保持不变,年工资少于$26000的教师将增加工资,所增 加工资数额按下述方法计算:给每位教师所赡养的人(包括 教师本人)每年补助$100,此外,教师有一年工龄每年再多 补助¥50,但是,增加后的年工资总额不能多于$26000。 • 教师工资档案存储在行政办公室的磁带上,档案中有目前的 年工资、赡养的人数、雇佣日期等信息。需要写一个程序计 算并印出每名教师的原工资和调整后的新工资。 • 要求:(1)画出此系统的数据流图;(2)写出需求说明; • (3)设计上述的工资调整程序(要求用HIPO图描绘设计结果), 设计时分别采用两种算法,并比较两种算法的优缺点: – (a)搜索工资档案数据,找出年工资少于$26000的人, 计算新工资,校核是否超过$26000,存储新工资,印出新 旧工资对照表; – (b)把工资档案数据按工资从最低到最高的次序排序,当 工资数额超过$26000时即停止排序,计算新工资,校核是 否超过限额,存储新工资,印出结果。 • (4)你所画出的数据流图适应用那种算法?
软件工程第五版课后习题答案第五章

习题5
3(1)数据流图如下:
对数据流图划分边界,如下所示:
按照以上数据流图设计软件结构,如下所示:
4(1)数据流图如下:
(2)需求说明:
功能需求:系统需要能查出教师的原有工资,计算出教师的现有工资,并打印相关信息。
数据需求:教师的原有工资信息,教师赡养的人数,教师的工龄
行为需求:系统要能判断原有工资是否符合涨工资要求,要精确计算现有工资,要提供给用户调查信息的借口与界面。
(3)用a 算法的HIPO 图:
教师档案
办公室磁带 打印原有工资和新工资信息 提取原工资
信息
计算新工资 办公室磁带
年工资大于等于$26000 年工资小于$26000
用b算法的HIPO图:
对于算法(a):优点:这样设置符合常规思路,容易让人理解
缺点:计算的次数较多。
检索效率低。
对于算法(b):优点:计算的次数较少,效率高
缺点:该算法不易于理解。
涉及到排序算法的设计。
(4)所画的数据流图更符合a算法。
5.答:需求分析:要实现三大功能,发牌;确定获胜方和牌型;模拟多次游戏,计算牌型的获胜和平局的概率。
分析后,设计的HIPO图如下:流程图在下页:
控制流程图如下:。
软工题第五章

第五章习题一、选择题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. 尽管有不合法的输入,软件仍能继续正常工作的能力。
《软件工程案例教程软件项目开发实践》第五章练习题

第五章练习题:一、填空题1.PDL又称过程设计语言,它是一种非形式化的比较灵活的语言。
2.软件的详细设计可采用图像、表格和过程设计语言等形式的描述工具表示模块的处理过程。
3.软件详细设计需要设计人员对每个设计模块进行描述,确定所使用的算法、数据结构、接口细节和输入、输出数据等。
4.结构化设计方法与结构化分析方法一样,采用自顶向下、逐步求精技术。
结构化设计方法与结构化分析方法相结合,依数据流图设计程序的结构。
5.软件中详细设计一般在概要设计基础上才能实施,它们一起构成了软件设计的全部内容。
6.在Warnier方法中,采用Warnier图表示数据结构和程序结构。
7.面向数据结构的设计方法主要包括JSD方法和Warnier方法。
8.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的局部的数据结构进行设计。
二、判断题1.JSD(Jackson)方法的原理与Warnier方法的原理类似,也是从数据结构出发设计程序,但后者的逻辑要求更严格。
(√)2.软件详细设计需要设计人员对每个程序模块所使用的算法、数据结构、接口细节和输入/输出数据等。
(√)3.伪代码可以被直接编译,它体现了设计的程序的框架或者代表了一个程序流程图。
(×)4.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是程序流程图。
(√)5.PAD是一种改进的图形描述方式,优点是能够反映和描述自顶向下的历史和过程。
(√)6.详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员根据这个蓝图编写实际的代码。
(√)7.过程设计的描述工具包括程序流程图、N-S图、PAD图、PDL伪代码等。
(√)三、选择题1.JSD设计方法是由Jackson所提出的,它是一种面向(C)的软件设计方法。
A.对象B.数据流C.数据结构 D.控制结构2.数据元素组成数据的方式的基本类型是(D)。
A.顺序的B.选择的C.循环的D.以上全部3.数据流程图中的箭头代表的是(B)。
软件工程简答题答案 第五版

软件工程简答题第一章绪论1.什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么?答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
表现:(1)对于软件开发的成本和进度的估计很不准确。
(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。
(3)开发的软件可靠性差。
(4)软件通常没有适当的文档资料。
(5)软件的可维护性差。
(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
原因:软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。
2.简述软件的发展过程。
答:软件生产的发展划分为三个年代:(1)程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。
(2)程序系统时代:由于计算机的应用领域不断扩大,软件的需求也不断增长,软件由于处理的问题域扩大而使程序变得复杂,设计者不得不由个体手工劳动组成小集团合作,形成作坊式生产方式小集团合作生产的程序系统时代。
(3)软件工程时代:软件工程时代的生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件。
4.软件工程的目标是什么?软件工程有哪些原则?答:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
原则如下:抽象、模块化、信息隐藏、局部化、完整性、一致性和可验证性。
软件工程习题5

习题5【5-1】从供选择的答案中选出正确的答案填入下列叙述中的()内。
模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。
(1) 一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是( A )的。
(2) 将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。
该模块的内聚性是( B )的。
(3) 模块中所有成分引用共同的数据,该模块的内聚性是( C )的。
(4) 模块内的某成份的输出是另一些成份的输入,该模块的内聚性是( D )的。
(5) 模块中所有成份结合起来完全一项任务,该模块的内聚性是( E )的。
它具有简明的外部界面,由它构成的软件易于理解、测试和维护。
供选择的答案:A ~ E:①功能内聚②信息内聚③通信内聚④过程内聚⑤巧合内聚⑥时间内聚⑦逻辑内聚【解答】A. ⑤,B. ⑦,C. ③,D.④,E. ①【5-2】从供选择的答案中选出正确的答案填入下面的()中。
块间联系和块内联系是评价程序模块结构质量的重要标准。
联系的方式、共用信息的作用、共用信息的数量和接口的( A )等因素决定了块间联系的大小。
在块内联系中,( B )的块内联系最强。
SD方法的总的原则是使每个模块执行( C )功能,模块间传送( D )参数,模块通过( E )语句调用其它模块,而且模块间传送的参数应尽量( F )。
此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。
SD方法认为,(G )应该是(H )的子集。
供选择的答案:A:①友好性②健壮性③简单性④安全性B:①巧合内聚②功能内聚③通信内聚④信息内聚C:①一个②多个D:①数据型②控制型③混合型E:①直接引用②标准调用③中断④宏调用F:①少②多G ~ H:①作用范围②控制范围【解答】A 3,B 2 ,C 1,D 1,E 2 ,F 1,G 1 ,H 2【5-3】举例说明你对概要设计与详细设计的理解。
有不需要概要设计的情况吗?【解答】概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。
《软件工程》(第五版)习题参考答案

《软件工程》(第五版)习题参考答案
第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.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
出现软件危机的主要原因(1)与软件本身的特点有关(2)与软件开发和维护过程中使用的方法不正确有关2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”时在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机?软件工程是指导知道计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、判断题
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、PDl
D、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)求整数1-n的累加和SUM,其中n的值由键盘输入。
答:程序流程图如下
PAD图如下
N-S图如下
Sum=0,i=1
输入数n
DO─WHILE n>=i
Sum=Sum+ i
i++
输出数Sum
(2)求整型数组K[50]中的最大值和次大值。
答:N-S图如下:
(3)求s=1- 1/2!+1/3!-1/4! + …. +1/n!,其中n的值由键盘输入。
答:PAD图如下:
2.根据以下伪码,画出PAD图
if (x<y) goto 30
if (y<z) goto 50
s=z
goto 70
30 if (x<z) goto 60
s=z
goto 70
50 s=y
goto 70
60 s=x
70 ……
答:
3.将程序流程图转化为PAD图(
(2)
答:
(3)
答:
(5)只使用顺序结构和循环结构,构造分支结构。
请画出PAD图。
答:对于分支结构
if(f)
a;
else
b;
只使用顺序和循环结构的PAD图如下:。