软件工程方法学作业6_答案

合集下载

软件工程作业与参考答案(最新版)

软件工程作业与参考答案(最新版)

软件工程-、软件危机与软件工程1.软件危机是指在开发和(A.运行B.设计2・造成软件危机的原因是:)过程中所遇到的一系列严重问题。

C.维护D.编码A.用户使用不当B.对软件的错误认识C.硬件不可靠D.缺乏好的开发方法和手段3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分,其期望达到的最终目标是()。

A.消除软件危机B.软件开发工程化C.程序设计自动化D.实现软件重用4.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的()。

A・工程管理B•成本核算 C.人员培训 D.工具开发5.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是()。

A.设计人员和用户C.分析人员和设计人员B.分析人员和用户D.编码人员和用户6・软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于()。

A.开发阶段B・计划阶 C.分析阶段 D.设计阶段段7.在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。

通常,计划时期包括问题定义、可行性研究和①,开发时期包括②、详细设计、编码以及① A.需求分枷 B.究可行性研 C.经费预算 D. 质量保证② A.需求分析 B. 可行性研C总体设D模块化设计究# -------③ A.文档编制 B. 运行维护 C.测试 D.验收8.软件开发中常采用的生命周期方法,由于其特征而一般称其为。

()A.层次模型B.瀑布模C.螺旋模D.对象模型型型9・描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。

其中,设计阶段又可以分成(B)和(C)两个步骤。

A:①需求分析②可行性研究③需求调查④问题定义② 代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计10・什么是软件危机?软件危机产生的原因? 11・生命周期阶段的划分?每个阶段的任务?二、可行性研究 邂统规模和冃 1.可行性研尤的任务?步骤?对丁各*中可能n 勺方案,从哪几个方而进行可行性研尤?参考答案:任务:在尽可能短的时间内确定该软件项冃是台能够开发,是占值得开发。

软件工程第六版课后习题答案

软件工程第六版课后习题答案

第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。

常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。

而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。

这些都降低了开发商的信誉,引起用户不满。

(2) 用户对已完成的软件不满意的现象时有发生。

(3) 软件产品的质量往往是靠不住的。

(4) 软件常常是不可维护的。

(5) 软件通常没有适当的文档资料。

文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。

(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。

二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。

软件工程课后习题答案

软件工程课后习题答案

第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。

常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。

而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。

这些都降低了开发商的信誉,引起用户不满。

(2) 用户对已完成的软件不满意的现象时有发生。

(3) 软件产品的质量往往是靠不住的。

(4) 软件常常是不可维护的。

(5) 软件通常没有适当的文档资料。

文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。

(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。

二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。

软件工程试题与答案 (6)

软件工程试题与答案 (6)

第一章软件工程概述一。

填空题1. 软件的发展过程, , ,。

2. 基于软件的工作方式,软件可以划分为 , , , .3。

在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 .4。

在计算机系统中,软件是,而硬件是。

5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。

6。

文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档.7. 软件生存期若分为三个大的阶段,, .8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码).9. 在软件的生存周期开发阶段要经三个步骤 , , 。

10. 瀑布模型是以文档为驱动、适合于的软件项目的模型.11。

螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。

12。

软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。

采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。

螺旋线第一圈的开始点可能是一个____ .从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。

13。

软件开发模型,,,, , .14. 软件工程面临的问题有 , , , .15。

面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 .16.基于软件的功能划分可以把软件划分为, ,和。

17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机.为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。

18.软件工程是指导的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

《软件工程》试题及参考答案(第6套)

《软件工程》试题及参考答案(第6套)

电计系软件工程专业20 –20 学年度期《软件工程》试题(第6套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)二、在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

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.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们()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.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14. 协作图反映收发消息的对象的结构组织,它与()是同构的。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。

1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。

它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。

2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。

它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。

2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。

功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。

3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。

3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。

面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。

4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。

4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。

编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。

5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。

《软件工程》试题及参考答案(第6套)

《软件工程》试题及参考答案(第6套)

《软件工程》试题(第6套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。

A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。

A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。

A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。

A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。

A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。

软件工程习题及参考答案

软件工程习题及参考答案

软件工程习题及参考答案软件工程习题及部分参考答案判断题软件也会磨损和老化。

(X)完善性维护是提高或完善软件的性能。

(√)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。

(X)软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。

(X)软件模块之间的耦合性越弱越好。

(√)如果通过软件测试没有发现错误,则说明软件是正确的。

(X)快速原型模型可以有效地适应用户需求的动态变化。

(√)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

(√)集成测试主要由用户来完成。

(X)确认测试计划应该在可行性研究阶段制定(X)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。

(X)?软件概要设计包括软件系统结构设计以及数据结构和数据库设计。

(√)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。

(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。

(╳)?模块越多,开发成本越小。

(╳)软件测试的目的就是证明软件没有错。

(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。

(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。

(×)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。

(√)HIPO 法既是需求分析方法,又是软件设计方法。

(√)在面向对象的需求分析方法中,建立动态模型是最主要的任务。

(×)加工小说明是对系统流程图中的加工进行说明。

(×)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。

(×)需求分析的主要方法有SD 法、OOA 法及HIPO 法等。

(×)分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。

《软件工程作业》考试复习题库(含答案)

《软件工程作业》考试复习题库(含答案)

《软件工程作业》考试复习题库(含答案)一、选择题1. 软件工程的三要素不包括以下哪项?A. 软件开发B. 软件维护C. 软件管理D. 软件设计答案:B2. 下列哪种编程范式主要用于软件工程中的面向对象编程?A. 命令式编程B. 函数式编程C. 面向对象编程D. 逻辑编程答案:C3. 在软件开发过程中,以下哪个阶段产生的文档最多?A. 需求分析B. 设计C. 编码D. 测试答案:A4. 以下哪个软件工程方法学强调在软件开发过程中使用迭代和增量开发?A. 敏捷开发B. 水晶方法C. 瀑布模型D. 敏捷开发与水晶方法的结合答案:A5. 以下哪个工具常用于软件需求分析阶段的模型建立?A. UML图B. 数据流程图C. 状态转换图D. 时序图答案:B二、填空题1. 软件工程的目的是提高软件的______、______和______。

答案:可用性、可靠性、可维护性2. 软件开发生命周期包括______、______、______、______和______。

答案:需求分析、设计、编码、测试、维护3. 在软件需求分析阶段,常用的方法有______、______和______。

答案:数据流程图、实体关系图、状态转换图4. 软件设计分为______设计和______设计。

答案:架构设计、详细设计5. 软件测试的目的不包括以下哪项______。

答案:找出软件的错误三、判断题1. 软件工程是计算机科学的一个分支。

()答案:正确2. 软件工程适用于所有类型的软件开发项目。

()答案:错误3. 敏捷开发方法适用于所有类型的软件开发项目。

()答案:错误4. 软件测试是软件开发过程中的最后一个阶段。

()答案:错误5. 软件维护是软件开发过程中的重要环节。

()答案:正确四、简答题1. 简述软件工程的定义及目标。

答案:软件工程是应用计算机科学、数学原理和方法来设计、开发、测试和维护软件的一门学科。

其目标包括提高软件的可用性、可靠性和可维护性,降低软件开发成本,提高软件开发效率。

软件工程习题及答案.doc

软件工程习题及答案.doc

软件工程习题及答案:一、选择题:D1. 为了提升测试的效率,应当。

A、随机地选用测试数据B、取全部可能的输入数据作为测试数据C、在达成编码后拟订软件的测试计划D、选择发现错误可能性大的数据作为测试数据D2. 与设计测试数据没关的文档是。

A、需求说明书B、设计说明书C、源程序D、项目开发设计B3. 结构设计是一种应用最宽泛的系统设计方法,是以为基础、自顶向下、逐渐求精和模块化的过程。

A、数据流B、数据流图C、数据库D、数据结构A4. 纲要设计的结果是供给一份。

A、模块说明书B、框图C、程序D、数据结构B5. 需求剖析是由剖析员经认识用户的要求,仔细仔细地调研、剖析,最后应成立目标系统的逻辑模型并写出。

A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档D6. 说明是提升程序可读性的有效手段,好的程序说明占到程序总量的。

A、 1/6B、 1/5C、1/4 D 、 1/3A7. 变换型和事务型是程序结构的标准形式。

从某处获取数据,再对这些数据作办理,而后将结果送出是属于。

A、变换型B、事务型B8. PAD( Problem Analysis Diagram )图是一种工具。

A、系统描述B、详尽设计C、测试D、编程协助A9. 排错一般是在测试发现错误后进行,此中找到错误地点占排错总工作量的。

A、 95%B、 5%C、 50%D、 20%A10. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的。

A、总貌B、细节C、抽象D、软件的作者B11. 数据流图中,当数据流向或流自文件时,。

A、数据流要命名,文件不用命名B、数据流不用命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不一样的D、数据流和文件均不要命名,经过加工可自然反应出B12. 剖析员是。

A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导A13. 在软件开发中,有益于发挥集体智慧的一种做法是。

软件工程(第五版)-习题及答案---第六章

软件工程(第五版)-习题及答案---第六章

软件工程(第五版)-习题及答案---第六章-标准化文件发布号:(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):用例是系统的使用过程或要执行的动作序列,用来描述某个参与者使用系统所完成的功能。

在图中用椭圆来表示,用例名称可写在椭圆中或椭圆下面。

软件工程第6章 课后作业参考答案

软件工程第6章 课后作业参考答案

第六章 作业题参考答案3.画出下列伪码程序的程序流程图和盒图: STARTIF p THENWHILE q DO f END DO ELSEBLOCK g nEND BLOCK END IF STOP 答:(1)流程图如图6-1所示:图6-1从伪码变成的程序流程图 (2)该程序的盒图如图6-2所示:图6-2 从伪码变成的程序盒图4.下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。

(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag的程序。

答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。

图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。

(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图6-3描绘了等价的结构化程序的盒图。

(a)解法1(b)解法2图6-3 与该图等价的结构化程序(用flag)(3)不使用flag把该程序改造为等价的结构化程序的方法如图6-4所示。

图6-4 与该图等价的结构化程序(不用flag)8.画出下列伪码程序的流图,计算它的环形复杂度。

你觉得这个程序的逻辑有什么问题吗?C EXAMPLELOOP:DO WHILE X>0A=B+1IF A>10THEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT GELSE PRINT KEND IFSTOP答:(1)该伪码的流程图如图6-8所示:图6-8 程序流程图根据该程序流程图,可得该程序流图如图6-9所示:图6-9 程序流图环形复杂度V(G)=流图中的区域数=流图中判定结点数目+1=6+1=7 (判定结点为:1、3、6、8、10、11)(2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没有任何有可能该变Z的语句。

(完整版)《软件工程》作业及答案.

(完整版)《软件工程》作业及答案.

《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机典型表现:对软件开发成本和进度的估计常常很不准确。

用户对“已完成的”软件系统不满意的现象经常发生。

软件产品的质量往往靠不住。

软件常常是不可维护的。

软件通常没有适当的文档资料。

软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

管理和控制软件开发过程相当困难。

软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。

1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。

软件工程习题及答案

软件工程习题及答案

软件工程习题及答案一、选择题: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、1/6B、1/5C、1/4D、1/37.变换型和事务型是程序结构的标准形式。

从某处获得数据,再对这些数据作处理,然后将结果送出是属于。

A、变换型B、事务型8.PAD(ProblemAnalysisDiagram)图是一种工具。

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.在开发软件时,可用来提高程序员的工作效率。

A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14.结构化程序设计主要强调程序的。

软件工程作业含答案解析

软件工程作业含答案解析

软件工程第一章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2 简述软件的分类,并举例说明。

(1)1.4 什么是软件工程? (1)1.5 简述软件工程的基本原则。

(1)1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。

(1)1.9 简述各类软件过程模型的特点。

(2)1.10 敏捷软件开发的特点是什么? (2)1.12 简述敏捷软件开发的原则。

(2)第2、3章 (3)2.1简述系统工程的任务。

(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可行性分析的任务。

(3)3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。

(3)3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。

(4)3.4列出在制定需求获取策略时的3种主要考虑因素。

(5)3.6举例说明一个系统的3个不同类型的非功能需求 (5)3.8软件需求分析的操作性原则和需求工程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。

. 53.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。

5 第4章 (5)4.1 简述软件设计阶段的基本任务 (5)4.2 软件设计与质量的关系是怎么样的? (6)4.4 简述模块、模块化及模块化设计的概念。

(6)4.6 耦合和软件可移植性的概念有何关系?举例说明自己的结论。

(6)4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。

64.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1 简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。

(完整版)软件工程课后习题答案

(完整版)软件工程课后习题答案

第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

●软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。

例如:编译软件、操作系统。

2.支撑软件支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境。

3.应用软件应用软件是特定应用领域专用的软件。

例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.3简述软件语言的分类,并举例说明。

1.需求定义语言是用于书写软件需求定义的语言。

例如:PSL/PSA。

2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。

例如:广谱语言、Z 语言。

3.设计性语言是用于书写软件设计规约的语言。

例如:PDL。

4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。

例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

5.文档语言是用于书写软件文档的语言。

通常用自然语言或半形式化语言书写。

1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

1.5简述软件工程的基本原则。

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

3.提供高质量的工程支撑软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。

软件工程作业及参考答案

软件工程作业及参考答案

软件工程作业1.什么是软件工程?产生软件工程的原因有哪些?答:软件的定义:软件工程是借助工程化的方法进行软件开发(先对软件进行设计再开发)。

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

产生软件工程的原因:(1)当时无法在预算内开发出高质量软件;(2)软件开发者无法制定具体目标,无法实现预测所需的资源,无法实现客户的期望;(3)软件工程的重点既在软件,也在工程;(4)软件开发具有复杂性和多变性的特征;(5)软件产品必须随着终端用户需求和目标环境的变化而变化。

2.常见的软件体系结构有哪些?分析它们的优缺点?答:2.1 管道/过滤器风格在管道/过滤器风格中,每个构件都有一组输人和输出,构件读输人的数据流,经过内部处理,然后产生输出数据流。

这里的构件被称为过滤器。

连接件被称为管道。

此风格特别重要的过滤器必须是独立的实体,它不能与其它的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。

这种风格的优点:(1)使得软构件具有良好的隐蔽性和高内聚、低藕合的特点;(2)有助于设计者将整个系统的输人/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件重用;(4)易于系统维护和增强系统性能;(5)允许对一些如吞吐量、死锁等属性的分析;(6)支持并行执行。

这种风格的缺点:(1)通常导致进程成为批处理的结构;(2)不适合处理交互的应用;(3)数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,导致了系统性能下降,增加了编写过滤器的复杂性,使数据传输量增加。

这种风格经常应用在UnixS hell中编写的应用系统中。

2.2 仓库风格在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存贮上执行,仓库与外构件间的相互作用在系统中会有大的变化。

按控制策略的选取分类,可以产生两个主要的子类。

若输人流中某类时间触发进程执行的选择,则仓库是传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是黑板系统。

《软件工程》试题及参考答案(第6套)

《软件工程》试题及参考答案(第6套)

宜宾学院200 –200 学年度期《软件工程》试题(第6套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。

A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。

A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。

A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。

A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 软件设计一般分为总体设计和详细设计,它们之间的关系是(B)。

A. 全局和局部
B. 抽象和具体
C. 总体和层次
D. 功能和结构
2. 软件结构使用的图形工具,一般采用(C)图。

A. DFD
B. PAD
C. SC
D. E-R
3. 下列中属于软件设计的基本原理的是(D)。

A. 数据流分析设计
B. 变换流分析设计
C. 事务流分析设计
D. 模块化
4. 在软件结构的后处理中,下列说法错误的是(E)。

A. 为模块写的处理说明及接口说明可采用IPO图
B. 数据结构的描述可用Warnier图或Jackson图
C. 给出设计约束或限制。

如数据的边界值、数据类型、格式、内存容量及时间的限制
D. 在概要设计评审中,应着重评审软件需求是否得到满足及软件结构的质量等
E. 设计的优化工作主要放在软件结构设计的后处理阶段
5. 在分层数据流图映射成软件结构的设计中,下列说法错误的是(D)。

A. 分层的数据流图映射成软件结构图也应该是分层的
B. 软件结构图的物理输入与输出部分放在主图中较为合适
C. 分层DFD图的映射方法:主图是变换型,子图是事务型;或主图是事务型,子
图是变换型
D. 变换型通常用于高层数据流图的转换,而事务型通常用于较低层数据流图的转换
6. 软件设计阶段一般又可分为(B)。

A. 逻辑设计与功能设计
B. 概要设计与详细设计
C. 概念设计与物理设计
D. 模型设计与程序设计
7. 结构图中,不是其主要成分的是(C)。

A. 模块
B. 模块间传递的数据
C. 模块内部数据
D. 模块的控制关系
8. 好的软件结构应该是(B)。

A. 高耦合、高内聚
B. 低耦合、高内聚
C. 高耦合、低内聚
D. 低耦合、低内聚
9. 结构分析方法就是面向(B)自顶向下逐步求精进行需求分析的方法。

A. 目标
B. 数据流
C. 功能
D. 对象
10. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性和(C)。

A. 独立性
B. 有效性
C. 耦合性
D. 安全性
11. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的(D)和耦合性。

A. 一致性
B. 作用域
C. 嵌套限制
D. 内聚性
12. 软件设计中划分通常遵循的原则是要使模块间的耦合性尽可能(B)。

A. 强
B. 弱
C. 较强
D. 适中
13. 对象模型的描述工具是(C)。

A. 状态图
B. 数据流图
C. 对象图
D. 结构图
14. 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程,因此面向对象方法有许多特征,如软件系统是由对象组成的;(C);对象彼此间仅能通过传递消息互相联系;层次结构的继承。

A. 开发过程基于功能分析和功能分解
B. 强调需求分析的乖要性
C. 把对象划分成类,每个对象类都定义一组数据和方法
D. 对即存类进行调整
15. 每个对象可用它自己的一组属性和它可以执行的组(C)来表现。

A. 行为
B. 功能
C. 操作
D. 数据
16. 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有了类,这种层次结构系统的一个重要性质是(B ),一个类获得其父类的全部描述(数据和操作)。

A. 传递性
B. 继承性
C. 复用性
D. 并行性
17. 面向对象的主要特征除对象唯一性、封装、继承外,还有(A)。

A. 多态性
B. 完整性
C. 可移植性
D. 兼容性
18. 面向对象开发方法子概念和表示上的致性保证了分析和设计的(C)过渡。

A. 困难
B. 不容易
C. 平滑
D. 顺序
19. 动态模型的描述工具是(C)。

A. 对象图
B. 结构图
C. 状态图
D. 设计图
20. 表示对象的相互行为的模型是(B )模型。

A. 对象
B. 动态
C. 功能
D. 静态
21. PAD图的特点是什么?
(1)使用表示结构优化控制结构的PAD符号所设计出来的程序必然是程序化程序(2)PAD图所描述的程序结构十分清晰。

图中最左边的竖线是程序的主线,即第一层控制结构。

随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。

PAD图中竖线的总条数就是程序的层次数;(3)用PAD图表现程序逻辑,易读、易懂、易记。

PAD图是二维数型结构的图形,程序从图中最左边上端的结点开始执行,自上而下,从左到右顺序执行;(4)很容易将PDA图转换成高级程序语言源程序
22. 用PDL表示的程序结构一般有哪几种?
上机题
1.某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。

客户可在其收到的目录上圈定自己要买的书。

出版公司按照客户的反馈信息邮寄图书。

要求为出版公司设计软件,以实现以下功能:
⑴自动生成图书分类目录。

⑵自动处理客户反馈信息。

试用面向数据流的方法给出系统的数据流图,并设计出软件结构图。

2.图书馆的预定图书子系统有如下功能:
⑴由供书部门提供书目给订购组。

⑵订购组从各单位取得要订的书目。

⑶根据供书目录和订书书目产生订书文档留底。

⑷将订书信息(包括数目,数量等)反馈给供书单位。

⑸将未订书目通知给订书者。

⑹对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

3. 输入卡片分析程序
一叠输入卡片,按内容可分为K1、K2、K3三类,卡片叠排列规则是以K1开始,K2卡终止。

启始卡之前属前置部分,不许有K1卡片,启始卡与终止卡之间为分批部分,不许有
K2卡。

K1
卡张数=C K3卡批数=D
…………
图示:输入卡片的一种可能的排列 试用Jackson 方法编写一程序,要求能依次完成下列工作: ——统计起始卡以前的卡片张数,存入A ;
——打印起始卡的内容;
——统计起始卡以后出现的K1卡和K3卡总批数,存入B ; ——统计起始卡以后出现的K1卡的张数,存入C ;
——统计起始卡以后出现的K3卡的批数,存入D ;
——打印终了卡的内容;
——打印A ,B ,C ,D 4个统计值。

前置部分
非K1卡张数=A
终了卡。

相关文档
最新文档