软件工程考试复习(参考)

上传人:第*** 文档编号:32770971 上传时间:2018-02-12 格式:DOC 页数:26 大小:563.47KB
返回 下载 相关 举报
软件工程考试复习(参考)_第1页
第1页 / 共26页
软件工程考试复习(参考)_第2页
第2页 / 共26页
软件工程考试复习(参考)_第3页
第3页 / 共26页
软件工程考试复习(参考)_第4页
第4页 / 共26页
软件工程考试复习(参考)_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《软件工程考试复习(参考)》由会员分享,可在线阅读,更多相关《软件工程考试复习(参考)(26页珍藏版)》请在金锄头文库上搜索。

1、一、考试题型及分值分布(1 )单选题(20 题,每题 2 分,共 40 分)(2 )判断题(10 题,每题 1 分,共 10 分)(3 )简答题(6 题,每题 5 分,共 30 分)(4 )应用题(1 题,20 分)二、复习范围(1 ) 软件危机及产生的原因软件危机指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。-如何开发、如何维护软件。产生的原因与软件本身的特点有关非常复杂成本高风险大维护困难(2)软件工程是一种层次化技术,其主要包括哪些内容?软件工程是一种层次化的技术方法:提供了建造软件在技

2、术上需要“如何做” 。涵盖一系列的任务:需求分析、设计、编程、测试和维护。 工具:对过程和方法提供了自动的或半自动的支持。工具被集成起来 ,形成计算机辅助软件工程(CASE)(3 ) 通用的软件过程框架包括哪些活动?沟通:包含了涉众之间大量的交流和协作,还包括需求获取以及其他相关活动。策划:指为后续的软件工程工作制定计划。它描述了需要执行的技术任务、可能的风险、资源需求、工作产品和工作进度计划。建模:包括创建模型和设计两方面。创建模型有助于客户和开发人员更好地理解软件需求,设计可以实现需求。构建:包括编码和测试。部署:软件(全部或者完成的部分) 交付到用户,用户对其进行评测并给出反馈意见。典型

3、的普适性活动软件项目跟踪和控制:由项目组根据计划来评估项目进度,并采取必要的措施保证项目按计划进行风险管理:对可能影响项目成果或产品质量的风险进行评估。软件质量保证:确定和执行用以保证软件质量的活动。正式的技术复审:评估软件工程产品,尽量在错误传播到下一个动作或活动之前发现并清除错误。测量:定义和收集过程、项目和产品的度量,以帮助团队在发布软件的时候满足客户要求。软件配置管理:管理整个软件过程中变更所带来的影响。可复用管理:定义产品复用的标准(包括软件构件) ,并且建立构件复用机制。工作产品的准备和产生:包括了创建产品所必需的活动,如建模、文档、日志、表格和列表等。(4 ) 各种软件过程模型的

4、特点及适用的场景?1)瀑布模型特点:结构化,有序;适用于传统软件工程领域的结构化开发。2) 螺旋过程模型特点:它结合了原型的迭代性质和瀑布模型的系统性和可控性,螺旋模型可应用在计算机软件的整个生命周期,螺旋模型是开发大型系统和软件的理想方法,螺旋模型把原型开发作为降低风险的机制;适用于庞大、复杂并具有高风险的系统。3) 原型过程模型特点:原型模型采用 逐步求精的方法完善原型,使得原型能够 “快速”开发;快速原型法是在需求不明确的情况下常用的一种方法。(5)UP 的三大特点及其五个阶段。1)a.用例驱动b.以体系架构为核心c.迭代并且增量2)UP 包括起始阶段,细化阶段,构建阶段,转化阶段,生产

5、阶段。起始阶段 :包括用户沟通和计划活动两个方面,强调定义和细化用例,并将其作为主要模型。细化阶段 :包括用户沟通和建模活动,重点是创建分析和设计模型,强调类的定义和体系结构的表示。构建阶段:将设计转化为实现,并进行集成和测试。移交阶段 :将产品发布给用户进行测试评价,并收集用户的意见,之后再次进行迭代修改产品使之完善。(6)分析模型的建模目的是什么?分析模型主要包括哪四大类元素? 分析模型的目的是为基于计算机的系统提供必要的信息、功能和行为域的说明。模型应该能够动态改造,以便于软件工程师更多地了解将要实现的系统,以便于共利益者更多地了解他们到底需要什么。1)基于场景的建模:使用基于场景的方法

6、可以从客户的视角描述系统。如最基本的用例图。同样,它们可以作为创建其他建模元素时的输入。 2)基于类的建模:每个使用场景都暗示着当一个参与者和系统交互时所操作的一组对象,这些对象被分成类具有相似属性和共同行为的事物集合。3)基于行为的建模: 需求分析模型必须提供描述行为的建模元素,就是 uml 中的状态图。状态图是一种表现系统行为的方法,该方法描述系统状态以及导致系统状态改变的事件。状态时任何可以观察到的行为模式。4)面向信息流的建模:信息在基于计算机的系统中流动时会被转换,系统接受多种形式的输入,使用函数输入,生成多种形式的输出。(7 ) 面向对象分析方法和结构化分析方法各自特点及他们使用了

7、哪些技术?(8 )软件设计的原则有哪些?(1)可靠性用软件系统规模越做越大越复杂,其可靠性越来越难保证。应用本身对系统运行的可靠性要求越来越高,软件系统的可靠性也直接关系到设计自身的声誉和生存发展竞争能力。软件可靠性意味着该软件在测试运行过程中避免可能发生故障的能力,且一旦发生故障后,具有解脱和排除故障的能力。软件可靠性和硬件可靠性本质区别在于:后者为物理机理的衰变和老化所致,而前者是由于设计和实现的错误所致。故软件的可靠性必须在设计阶段就确定,在生产和测试阶段再考虑就困难了。(2)健壮性健壮性又称鲁棒性,是指软件对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。软

8、件健壮性是一个比较模糊的概念,但是却是非常重要的软件外部量度标准。软件设计的健壮与否直接反应了分析设计和编码人员的水平。(3)可修改性要求以科学的方法设计软件,使之有良好的结构和完备的文档,系统性能易于调整。(4)容易理解软件的可理解性是其可靠性和可修改性的前提。它并不仅仅是文档清晰可读的问题,更要求软件本身具有简单明了的结构。这在很大程度上取决于设计者的洞察力和创造性,以及对设计对象掌握得透彻程度,当然它还依赖于设计工具和方法的适当运用。(5)程序简便(6)可测试性可测试性就是设计一个适当的数据集合,用来测试所建立的系统,并保证系统得到全面的检验。(7)效率性软件的效率性一般用程序的执行时间

9、和所占用的内存容量来度量。在达到原理要求功能指标的前提下,程序运行所需时间愈短和占用存储容量愈小,则效率愈高。(8)标准化原则在结构上实现开放,基于业界开放式标准,符合国家和信息产业部的规范。(9)先进性满足客户需求,系统性能可靠,易于维护。(10 )可扩展性软件设计完要留有升级接口和升级空间。对扩展开放,对修改关闭。(9 ) 软件体系结构风格体系结构风格 定义了一个系统家族,其包括一个词汇表和一组约束。一个词汇表包含一些构件和连接件类型,一组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格 反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完

10、整的系统。 对体系结构风格的研究和实践为大粒度的软件复用提供了可能。数据流风格典型的体系结构风格 管道/过滤器风格调用返回风格仓库风格数据流风格特点:当输入数据经过一系列的计算和操作构件的变换形成输出数 据时,可以应用这种体系结构。管道/过滤器、批处理序列属于数据流风格。(2)管道/ 过滤器风格拥有一组过滤器构件,这些构件通过管道连接管道将数据从一个构件传 送到下一个构件。每个过滤器独立于其上游和下游的构件而工作,过滤器的设计要针对某 种形式的数据输入,并且产生某种特定形式的数据输出。如果数据流退化成为单线的变换,则称为批处理序列。这种结构接收一 批数据,然后应用一系列连续的构件(过滤器)变换

11、它。调用- 返回风格在此类体系结构中,存在以下 3 种子风格。主程序/子程序风格分层风格在这种体系结构中,整个系统被组织成一个分层结构,每一层为上层提供服务,并作为下一层的客户。面向对象风格I.系统的构件封装了数据和必须应用到该数据上的操作,构件间通过消息传递进行通信与合作。II 与主程序/子程序的体系结构相比,面向对象风格中的对象交互会复杂一些。III 面向对象风格与网络应用的需求在分布性、自治性、协作性、演化性等方面具有内在的一致性。仓库风格数据仓库(如文件或数据库)位于体系结构的中心,其他构件经常访问该数据仓库,并对仓库中的数据进行增加、修改或删除操作。数据库系统、超文本系统和黑板系统都

12、属于仓库风格。仓库风格:中心存储库变换成“黑板” ,黑板构件负责协调信息在客户间的传递,当用户感兴趣的数据发生变化时,它将通知客户软件。黑板系统的传统应用是信号处理领域,如语音和模式识别。另一应用是松耦合代理数据共享存取。(10 )软件测试的目的是什么?有哪些测试策略?测试目的:为了发现软件设计和实现过程中的疏忽所造成的错误。传统的测试策略:单元测试是针对程序中的模块或构件,主要揭露编码阶段产生的错误。集成测试针对集成的软件系统,主要揭露设计阶段产生的错误。确认测试是根据软件需求规约对集成的软件进行确认,主要揭露不符合需求规约的错误。系统测试是针对基于计算机系统中的软件,以揭露不符合系统工程中

13、对软件要求的错误。(11 )自顶向下和自底向上两种集成测试方法的优缺点。1)自顶向下集成的优点:不需要驱动模块;能尽早对程序的主要控制和决策机制进行检验,能较早发现整体性的错误;深度优先的自顶向下集成能较早对某些完整的程序功能进行验证。自顶向下集成的缺点:测试时低层模块用桩模块替代,不能反映真实情况;重要数据不能及时回送到上层模块。2)自底向上集成的优点:不需要桩模块,所以容易组织测试;将整个程序结构分解成若干个簇,对同一层次的簇可并行进行测试,可提高效率。自底向上集成的缺点:整体性的错误发现得较晚。(12) 测试、 测试 测试和 测试如果软件是为一个客户开发的,那么,最后由客户进行验收测试(

14、acceptance test) ,以使客户确认该软件是他所需要的。如果软件是给许多客户使用的(如市场上销售的各种软件) ,那么让每个客户做验收测试是不现实的。大多数软件厂商都使用一种称为 测试和 测试的过程,来发现那些似乎只有最终用户才能发现的错误。 测试是由用户在开发者的场所进行的,软件在开发者对用户的“指导下”进行测试。经 测试后的软件称为 版软件。 测试是由软件的最终用户在一个或多个用户场所进行的,与 测试不同,开发者通常不在测试现场。 测试是软件在开发者不能控制的环境中的“活的”应用用户记录所有在 测试中遇到的(真正的或想象的)问题,并定期把这些问题报告给开发者,接到 测试的问题报告

15、后,开发者对软件进行最后的修改,然后着手准备向所有的用户发布最终的软件产品。(13 )白盒测试和黑盒测试的基本概念白盒测试(又称为结构测试)把测试对象看作一个透明的盒子测试人员根据程序内部的逻辑结构及有关信息设计测试用例检查程序中所有逻辑路径是否都按预定的要求正确地工作。黑盒测试(又称行为测试)把测试对象看做一个黑盒子测试人员完全不考虑程序内部的逻辑结构和内部特性只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。(14 )给出需求,能绘制出用例图和设计类图1.各种过程模型的区别和联系瀑布模型: 1 特点: 结构化,有序2 过程:沟通 策划 建模 构建 部署 演化过程模型: 1.特

16、点:迭代的过程模型(1)原型过程模型(可作为一个独立的过程模型。更多时候作为一种技原型模型的主要思想:先借用已有系统作为原型模型,通过“样品” 不断改进, 使得最后的产品就是用户所需要的。原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正 反映用户的需求。同时,原型模型采用逐步求精的方法完善原型,使得原型能够“快速” 开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈作出快速的响应。相对瀑布模型而言,原型模型更符合人们开发软件的习惯,使目前较流行的一种实用软件生存期模型。(2)螺旋过程模型特点:它结合了原型的迭代性质和瀑布模型的系统性和可控性。优点:螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统。自身特点:1、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号