软件工程作业及参考答案(最新版)_第1页
软件工程作业及参考答案(最新版)_第2页
软件工程作业及参考答案(最新版)_第3页
软件工程作业及参考答案(最新版)_第4页
软件工程作业及参考答案(最新版)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程一、 软件危机与软件工程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 质量保证 A需求分析 B可行性研究 C总体设计 D模块化设计 A文档编制 B运行维护 C测试 D验收8软件开发中常采用的生命周期方法,由于其特征而一般称其为()。A层次模型 B瀑布模型 C螺旋模型 D对象模型9描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。其中,设计阶段又可以分成(B)和(C)两个步骤。A: 需求分析 可行性研究 需求调查 问题定义B,C: 方案设计 代码设计 概要(总体)设计 数据设计 详细设计10什么是软件危机?软件危机产生的原因? 11生命周期阶段的划分?每个阶段的任务?二、 可行性研究1可行性研究的任务?步骤?对于各种可能的方案,从哪几个方面进行可行性研究?参考答案:任务:在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。步骤:1.复查系统规模和目标;2.研究当前系统;3.建立新系统的高层逻辑模型;4.导出和评价各种方案;5.推荐可行方案;6.编写可行性研究报告。对于各种可能的方案,主要从以下几个方面进行可行性研究:1.经济可行性;2.技术可行性;3.法律可行性;4.运行可行性;5.开发方案可行性等。三、 需求分析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结构化分析方法以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。ADFD图 BPAD图 CIPO图 D数据字典9进行需求分析可使用多种工具,但( )是不适用的。A数据流图 B判定表 CPAD图 D数据字典四、软件设计-包括概要设计(总体设计)和详细设计1软件设计一般分为概要设计和详细设计,它们之间的关系是( )。A全局和局部 B抽象和具体 C总体和层次 D功能和结构2SD方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是建立( )。A软件结构 B软件流程 C软件模型 D软件模块3模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。A抽象和信息隐蔽 B局部化和封装化 C内聚性和耦合性 D激活机制和控制方法4软件结构设计中,好的软件结构设计应该力求做到( )。A顶层扇出较少,中层扇出较高,低层模块低扇入B顶层扇出较高,中层扇出较少,低层模块高扇入C顶层扇出较少,中层扇出较高,低层模块高扇入D顶层扇出较高,中层扇出较少,低层模块低扇入5软件开发的结构化设计方法,全面指导模块划分的最重要原则应该是( )。A模块高内聚 B模块低耦合 C程序模块化 D模块独立性6HIPO图应用于软件开发的( )阶段。A需求分析 B详细设计 C总体设计 D实现7详细设计工具可分为三类,即图形、表格和语言工具。图形工具中,(A)简单而应用广泛。(B )表示法中,每个处理过程用一个盒子表示,盒子可以嵌套。(C )可以纵横延伸,图形的空间效果好。(D)是一种设计和描述程序的语言。A-C: N-S图 程序流程图 HIPO图 PAD图 D: C PDL PROLOG PASCAL 8软件需求分析方法中,结构化分析是一种常用的方法。结构化分析产生的系统说明书是由一套分层的 、一本 、一组 及补充材料组成的。在结构化设计阶段产生的文档是 。 A流程 B数据流图 C软件结构 D事务转换 A结构说明 B用户需求 C数据字典 D数据流程 A小说明 B索引 C 模块接口 D 层次结构 A 系统模型说明书 B 程序流程图C 系统功能说明书 D 模块结构图和模块说明书9面向数据流的软件设计方法,一般是把数据流分为( )两种流,再将数据流图映射为软件结构。A数据流与事务流 B变换流与事务流 C信息流与变换流 D交换流域数据流10程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意( )。A支持逐步求精 B考虑控制流程 C遵守结构化设计原则 D数据结构表示五、 编码1程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其重要的选择依据是( )。A对语言的熟悉程序 B语言的应用领域 C数据结构的复杂度 D算法的复杂度2下列叙述中选出五条关于好的程序设计风格的正确叙述( C G H I J )A尽量多用临时变量B把常见的局部优化工作留给编译程序去做C程序中嵌套的层数应加以限制D程序的书写格式最好所有语句都左对齐,这样也可以节省纸张E在主存储器能容纳得下的前提下,应使模块尽可能大,以便减少模块的个数F模块越小,优点越明显。一般说来,模块的大小都在10行以下G只要模块之间的接口关系不变,各模块内部实现细节的修改不会影响别的模块H在编写程序时尽可能对程序代码进行优化I程序中的注释并不是可有可无的J使用可以看得出意义的标识符3程序设计属于软件开发过程的( )阶段。A设计 B编程 C实现 D编码六、 测试1软件测试可能发现软件中的( ),但不能证明软件( )。A所有错误、没有错误 B错误、 没有错误 C逻辑错误、没有错误 D设计错误、没有错误2软件测试的目的是( )。A证明软件的正确性 B找出软件系统中存在的所有错误 C证明软件系统中存在错误 D尽可能多的发现软件系统中的错误3为提高测试效率,应该( )。A随机地选取测试数据 B在完成编码以后制定软件的测试计划 C取一切可能的数据作为测试数据 D选择发现错误可能性最大的数据作为测试数据4黑盒测试是从( C )观点的测试,白盒测试是从( D )观点的测试。A开发人员、管理人员 B用户、管理人员 C用户、开发人员 D开发人员5使用白盒方法测试时确定测试数据应根据( )和指定的覆盖标准。A程序的内部逻辑 B程序的复杂程度 C使用说明书 D程序的功能6白盒测试方法重视( )的度量。A测试覆盖率 B测试数据多少 C测试费用 D测试周期7黑盒测试法根据( )设计测试用例。A程序调用规则 B模块间的逻辑关系 C软件要完成的功能 D数据结构8单元测试又称( B ),一般采用( D )测试。A集成测试 B模块测试 C黑盒法 D白盒法七、 维护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( )阶段是软件生命周期中花费最多、持续时间最长的阶段。BA 需求分析 B 维护 C 设计 D 测试7注释是提高程序可读性的有效手段,好的程序注释占到程序总量的( )A 1/6 B 1/5 C 1/4 D 1/3八、简述软件危机产生的原因。参考答案:(1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。致使经费预算常常突破,进度计划无法遵循,开发完成的期限一拖再拖。(2)软件需求,在开发的初期阶段提得不够明确,或是未能得到确切的表达。 开发工作开始后,软件人员和用户又未能及时交换意见,造成开发后期矛盾的集中暴露。(3)开发过程没有统一的、公认的方法论和规范指导,参加的人员各行其事。加之设计和实现过程的资料很不完整;或忽视了每个人工作与其他人的接口,使得软件很难维护。(4)未能在测试阶段充分做好检测工作,提交用户的软件质量差,在运行中暴露出大量的问题。九、简述软件生命周期阶段的划分?每个阶段的主要任务?参考答案:生命周期划分为六个阶段,分别为计划、需求分析、软件设计(包括概要设计和详细设计)、编码、软件测试和运行/维护。各个阶段的主要任务分别为:(1)计划阶段首先确定要解决的问题是什么,通过问题定义阶段的工作,系统分析员应该提出关于问题的性质、规模和工程目标的书面报告,之后进行可行性研究,应该决定该问题是否存在一个可行的解决办法,是否值得去解。(2)需求分析阶段应该深入具体地了解用户的需求,在所要开发的系统必须做什么这个问题上和用户取得一致的看法,确定系统的功能要求和运行要求,安全要求等非功能性要求,给出目标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论