软件工程期中试卷(07A)答案_第1页
软件工程期中试卷(07A)答案_第2页
软件工程期中试卷(07A)答案_第3页
软件工程期中试卷(07A)答案_第4页
软件工程期中试卷(07A)答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程期中测试卷(A答案与评分参考一、名词解释(25分每题5分1、软件危机;答:所谓软件危机,就是指在软件开发和软件维护过程中所存在的一系列严重问题。表现为(1软件开发没有真正的计划性,对软件开发进度和软件开发成本的估计常常很不准确,计划的制定带有很大的盲目因素。(2对于软件需求信息的获取常常不充分,软件产品往往不能真正地满足用户的实际需求。(3缺乏良好的软件质量评测手段,从而导致软件产品的质量常常得不到保证。(4对于软件的可理解性、可维护性认识不够;软件的可复用性、可维护性不如人意。(5软件开发过程没有实现“规范化”,缺乏必要的文档资料或者文档资料不合格、不准确,难以进行专业维护。(6软件

2、开发的人力成本持续上升。(7缺乏自动化的软件开发技术,软件开发的生产率依然低下,远远满足不了急剧增长的软件需求。评分:达到5个或以上要点得满分2、瀑布开发模型;答:要点1,线性顺序模型有时也称为“瀑布模型”。它表示了软件开发系统的、顺序的方法。要点2,直至目前,对于需求确定、变更相对较少的项目,线性顺序模型仍然是一种可以考虑采取的过程模型。要点3,但在“用户驱动”的商业软件开发中,采用线性顺序模型并不是一个好的选择。评分:达到2个或以上要点得满分3、面向对象生存期模型;答:要点1,在整个开发过程中,都采用OO的方法;要点2,保留传统的分析方法,采用OO的设计与实现;要点3,保留传统的实现(用过

3、程性语言方法,采用OO的分析与设计;要点4,采用OO的分析和传统的设计与实现;采用OO的实现和传统的分析与设计。评分:达到3个或以上要点得满分4、模块的独立性答:要点1,模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能, (3分要点2,而和软件系统中其他模块的接口是简单的。(2分5、信息隐蔽答:要点1,信息隐蔽是指,每个模块的实现细节对于其它模块来说是隐蔽的。要点2,就是说,模块中所包含的信息(包括数据和过程不允许其它不需要这些信息的模块使用。要点3,通过信息隐蔽,则可定义和实施对模块的过程细节和局部数据结构的存取限制。评分:达到2个或以上要点得满分二、问答题(56分每题8分1、

4、应该怎样来划分阶段?答:根据软件生命周期来划分阶段。通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动。(1每一个阶段的任务尽可能独立;(2同一阶段内的任务性质尽可能相同;(3每一个阶段任务的开始和结束有严格的标准。评分:达到2个或以上要点得满分2、软件工程面临的问题是什么?答;软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。评分:达到3个或以上要点得满分3、简述可行性研究的具体步骤。答:(1复查系统规模和目标(2研究目前正在使用的系统(3导出新系统的高层逻辑模型(4重新定义问题(5导出和评价供选择的解法(6推荐行

5、动方针(7草拟开发计划(8书写文档提交审查。评分:达到5个或以上要点得满分4、软件工程把设计过程分为两步:概要设计和详细设计。试阐述这两个阶段各自要完成的主要任务答:在软件概要设计过程中需要完成的工作:(1 制定规范(2 软件系统结构的总体设计(3 处理方式设计(4 数据结构设计(5 可靠性设计(6 编写概要设计阶段的文档(7 概要设计评审。评分:达到5个或以上要点得4分在详细设计过程中,需要完成的工作是:(1 确定软件各个组成部分内的算法以及各部分的内部数据组织。(2 选定某种过程的表达形式来描述各种算法。(3 针对数据库的逻辑设计进行物理设计,设计数据库模式的一些物理细节,如数据项存储要求

6、、存取方式、建立索引等。(4 进行详细设计的评审评分:达到5个或以上要点得4分5、SA方法的优缺点?答:优点:SA是公认的、有效的、成熟的、使用广泛的方法。它比较适用数据处理方面的设计。采用图形形式化工具表达需求,简洁、易读、适用方便,对后续阶段的测试、评价提供了有利的条件。(满分4分缺点:它是个静态模型,没有反映控制流不适于实时控制系统的描述、SA对数据要求方面的描述不够全面,最好和E-R图一起使用。不适合描述人机界面交互频繁的系统,为了加强对系统的描述能力应与形式化方法结合一起使用。(满分4分6、软件设计有哪些基本原理?答:抽象、模块化(接口、功能、逻辑、状态、信息隐蔽、模块独立性。评分:

7、达到3个或以上要点得4分7、逐步求精、分层过程与抽象等概念之间的相互关系如何?答:要点1:“自顶向下,逐步求精”是Niklaus Wirth提出的设计策略:即将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。要点2:这样的结构实际就是一个模块的分层结构,即分层的过程。在实施时,采用抽象化的方法,自顶向下,给出不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。而在较低的抽象层次上,则采用过程化的方法。要点3:在描述问题的解法时,我们可以配合使用面向问题的术语和面向现实的术语。

8、但最后在最低的抽象层次上,我们应使用能够直接实现的方式来描述这个解法。评分:达到前面两个要点得满分三、综合分析题(19分1、答:要点1,敏捷开发(agile development是一种以人为核心、迭代、循序渐进的开发方法。敏捷开发(agile development概念从2004年初开始广为流行。(2分要点2:敏捷开发方法的核心思想是:(1、适应变化和以人为中心。(2、个人和交流重于过程和工具;(3、正在运行的软件本身重于复杂的文档;(4、与客户的沟通和交流重于使用合同约束客户;(5、对变化的快速响应重于跟随计划。敏捷开发其实借鉴了大量软件工程中的方法,借鉴了迭代与增量式软件开发方法。借鉴了

9、瀑布式与快速原型法软件开发方法。敏捷开发实际上是一种改善,而非创新。可理解为在原有软件开发方法基础上的整合。(8分其余参考内容,可酌情给分,但满分不能超过10分敏捷开发遵循原则(1、尽早的、持续的交付有价值的软件来使客户满意。(2、即使到了开发的后期,也欢迎改变需求,利用变化来为客户创造竞争优势。(3、经常性地交付可以工作的软件,交付的时间间隔越短越好。(4、在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。(5、提供环境和支持,相互信任,相互沟通,有效率的传递信息。(6、可以工作的软件是首要的进度度量标准。(7、责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。(8、不断

10、地关注优秀的技能和好的设计会增强敏捷能力。(9、简单是最根本的,最好的构架、需求和设计出于自组织团队,允许任何人提出想法和建议。(10、每隔一定时间,团队会在如何才能更有效地工作方面进行反省,相应地对自己的行为进行调整。四、2 软件工程期中测试卷B答案以及评分参考五、 名词解释(25分每题5分1、软件工程;答:把软件当作一种工业产品,“采用工程化的原理与方法对软件进行计划、开发、运行和维护”的系统方法。2、原型开发模型;答:原型模型从需求收集开始,开发者和用户在一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域。然后进行快速设计并进行编码实现,进行原型的建造。这一过程是多次迭代

11、进行的。3、面向对象生存期模型;答:在整个开发过程中,都采用OO 的方法;保留传统的分析方法,采用OO 的设计与实现;保留传统的实现(用过程性语言方法,采用OO 的分析与设计;采用OO 的分析和传统的设计与实现;采用OO 的实现和传统的分析与设计。汇总 缺书单 教材存量表 教材采购子系统的 SC 图4、四代技术;答:四代技术即4GL,是面向结果的非过程式语言,独立于具体的处理机,有丰富的软件工具的支持,能统一利用和管理各种数据资源,因此能适应不同水平用户的需求。以4GL为核心的软件开发技术称为四代技术(4GL。5、模块化答:把大型软件按照规定的原则划分成一个个较小的、相对独立的,但又相关的模块

12、,成为模块化。六、问答题(56分每题7分8、软件工程过程有哪些?答:软件工程过程包括如下七个过程:(1获取过程;(2供应过程;(3开发过程;(4操作过程;(5维护过程;(6管理过程;(7支持过程。9、软件生存周期是什么?答:软件生存周期是指一个软件从提出开发要求开始直至该软件报废为止的整个时期。通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动。10、可行性研究的任务是什么?答:概括地讲,可行性研究包括两大部分的分析研究:分析建立系统的必要性和分析建立系统的可能性。具体说:(1进一步分析和澄清问题定义;(2导出系统的高层逻辑模型;(3探索若干种

13、系统实现方案;(4对以后的行动方针提出建议。对每种方案都至少要从下述几方面研究其可行性:(1经济可行性(2技术可行性(3社会可行性(4法律可行性(5操作可行性。11、简述可行性研究的具体步骤。答:(1复查系统规模和目标(2研究目前正在使用的系统(3导出新系统的高层逻辑模型(4重新定义问题(5导出和评价供选择的解法(6推荐行动方针(7草拟开发计划(8书写文档提交审查。12、软件工程把设计过程分为两步:概要设计和详细设计。试阐述这两个阶段各自要完成的主要任务答:在软件概要设计过程中需要完成的工作:(1 制定规范(2 软件系统结构的总体设计(3 处理方式设计(4 数据结构设计(5 可靠性设计(6 编

14、写概要设计阶段的文档(7 概要设计评审。在详细设计过程中,需要完成的工作是:(1 确定软件各个组成部分内的算法以及各部分的内部数据组织。(2 选定某种过程的表达形式来描述各种算法。(3 针对数据库的逻辑设计进行物理设计,设计数据库模式的一些物理细节,如数据项存储要求、存取方式、建立索引等。(4 进行详细设计的评审13、人-机界面的设计原则有哪些?答:(提示从一般可交互性;信息显示和数据输入三个方面。14、软件设计有哪些基本原理?答:(提示模块化;抽象;信息隐蔽;模块独立性四个方面考虑。15、 需求分析的基本任务是什么? 答: (提示) (1)问题识别(2)分析与综合,导出软件的逻辑模型; (3

15、)编写文档。 综合分析题( 七、 综合分析题(19 分) 1、10 分 极限开发也叫做极限编程 extreme programing, 缩写为 XP。 该方法是由 Kent Beck 于 1999 年提出的一种软件开发方法,适用于软件需求模糊且挥发性强、开发团队人 数在十人以下、开发地点集中的场合。XP 方法的思想遵循四个价值观: (1)交流: XP 方法强调交流的价值,通过交流,既可以向项目的相关人员传递信息,又可以从 他们那里获得信息。大量的实践表明,项目失败的重要原因之一是交流不畅,使得客 户的需求不能准确及时地传递给开发人员,造成开发人员不能充分理解需求;模型或 设计的变动未及时地告知

16、相关人员,造成系统的不一致和集成的困难等。因此,所有 项目相关人员之间充分而有效的交流是软件开发成功的必要条件。 (2) 简单 : 简 单是指在确保得到用户满意的软件的前提下,做最简洁的工作。包括简单的过程,简 单的模型,简单的文档,简洁的设计和实现等。 (3)反馈:及时有效的反馈,其价值 体现在能确定开发工作是否正确,及时发现开发工作的偏差并加以纠正。 (4)勇气: 敏捷软件开发对大多数软件机构来说是一个新方法,是对软件开发现状的挑战,因此 采用敏捷软件开发需要勇气。 2、作为软件开发人员工作的准则和规程,整个软件开发过程应提交 13 种文档。 试列举其中 10 种文档,并分别对其内容进行简

17、要说明。 9 分) ( 答: (提示) (1)可行性研究报告; (2)项目开发计划; (3)软件需求说明书; (4) 数据要求说明书(5)概要设计说明书(6)详细设计说明书(7)用户手册(8)操作 手册(9)测试计划(10)测试分析报告(11)开发进度月报(12)项目开发总结报 告(13)维护修改建议。 软件工程 卷答案与评分参考: 软件工程C 卷答案与评分参考: 名词解释( 八、 名词解释(25 分) 个以上得满分。 每题 5 分,要点达到 3 个及 3 个以上得满分。 1、偶然性内聚; 答:要点 1,当模块内各部之间没有联系,或者即使有联系, 要点 要点 2,这种联系也很松散。则称这种模块

18、为偶然内聚模块。 2、原型开发模型; 答:要点 1,原型模型从需求收集开始,开发者和用户在一起定义软件的总体目标, 要点 , 标识出已知的需求,并规划出进一步定义的区域。 要点 2,然后进行快速设计并进行编码实现,进行原型的建造。 , 要点 3,这一过程是多次迭代进行的。 , 3、面向对象生存期模型; 答:要点 1,在整个开发过程中,都采用 OO 的方法; 要点 要点 2,保留传统的分析方法,采用 OO 的设计与实现; 要点 3,保留传统的实现(用过程性语言)方法,采用 OO 的分析与设计; 要点 4,采用 OO 的分析和传统的设计与实现;采用 OO 的实现和传统的分析与 6 设计。 4、软件

19、体系结构; 答:要点 1,一个程序或计算机系统的软件体系结构包括一个或一组软件构件; 要点 要点 2,软件构件的外部可见特性及其相互关系。 5、完全因子分解系统 答:要点 1,如果一个软件系统,它的全部实际加工 (即数据计算或处理都是由底层 要点 的原子模块来完成; 要点 2,而其它所有非原子模块仅仅执行控制或协调功能。 问答题( 九、 问答题(56 分) 每题 7 分。 16、 软件工程过程有哪些? 答:软件工程过程包括如下七个过程: (1)获取过程; (2)供应过程; (3)开发过程; (4)操作过程; (5)维护过程; (6)管理过程; (7)支持过程。 评分: 点或以上得满分。 评分:

20、答 5 点或以上得满分。 17、 软件生存周期是什么? 答:要点 1,软件生存周期是指一个软件从提出开发要求开始直至该软件报废为止的 整个时期。 得 3 分) ( 要点 2,通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、 详细设计、编码、测试、维护等活动。 得 4 分) ( 18、 可行性研究的任务是什么? 答: 概括地讲, 可行性研究包括两大部分的分析研究:分析建立系统的必要性和分析建 立系统的可能性。具体说: (1)进一步分析和澄清问题定义; (2)导出系统的高层逻 辑模型; (3)探索若干种系统实现方案; (4)对以后的行动方针提出建议。对每种方 案都至少要从下述几

21、方面研究其可行性: (1)经济可行性(2)技术可行性(3)社 会可行性(4)法律可行性(5)操作可行性。 评分: 评分:答达到 4 点或以上得满分 19、 简述可行性研究的具体步骤。 答: (1)复查系统规模和目标(2)研究目前正在使用的系统(3)导出新系统的高层 逻辑模型(4)重新定义问题(5)导出和评价供选择的解法(6)推荐行动方针(7) 草拟开发计划(8)书写文档提交审查。 评分:有答到 5 点或以上得满分 评分: 20、 SD 实施的要点是: 答:要点 1,首先研究、分析和审查数据流图。 从软件的需求规格说明中弄清数据 流加工的过程,对于发现的问题及时解决。 得 2 分) ( 要点 2,然后根据数据流图确定数据处理的类型。典型的类型有两种:变换型和事 务型。针对两种不同类型分别进行分析处理。 得 2 分) ( 要点 3,由数据流图推导出系统的初始结构图。利用一些启发式原则改进系统

温馨提示

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

评论

0/150

提交评论