




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程复习大纲第一章1. 软件危机概念指软件在开发和维护过程中所遇到的一系列严重问题。两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。2. 软件危机有哪些现象典型表现:对软件开发成本和进度的估计常常很不准确;用户对“已完成的”软件产品不满意的情况;软件产品的质量往往达不到需求;难维护;没有适当的文档资料;软件成本在计算机系统总成本中所占的比列逐年上升;软件开发生产效率跟不上社会需求。3. 软件工程概念指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把正确的管理技术和技术方法结合起来,以经济地开发出高质量的软件并有效的维护它,这就是软件工程。4. 软件工程7条基本原理用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚的审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性。5. 软件工程方法学包含3个基本要素是什么方法、工具、过程;方法:完成软件开发的各项任务的技术方法,回答怎么样做的问题;工具:为运用方法而提供的自动的或半自动的软件工程支撑环境;过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作。6. 软件生命周期划分哪些阶段3个时期:软件定义、软件开发和运行维护软件定义:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。7. 各阶段的任务是什么1. 问题定义 必须确定要解决的问题是什么。2. 可行性研究 对于上一个阶段所确定的问题有行得通的解决方法? 可行性研究的结果是客户做出是否继续进行这项工程的决定的重要依据。3. 需求分析 为了解决这个问题,目标系统必须做什么 确定目标系统必须具备的功能4. 总体设计 怎样实现目标系统(抽象) 提出方案(低成本,中成本,高成本)5. 详细设计 把解法具体化。应该怎样具体实现这个系统。设计出程序的详细规格说明(包含必要的细节)6. 编码和单元测试 写出正确的容易理解、容易维护的程序模块7. 综合测试 通过过程类型的测试使软件达到预定的要求8. 软件维护 通过各种必要的维护活动使系统持久地满足用户的需要。改正性维护,适应性维护,完善性维护,预防性维护。8. 软件过程概念软件过程描述为了开发出客户需要的软件,什么人、在什么时候、做什么事以及怎样做这些事以实现某一个特定的具体目标。过程定义了运用方法的顺序、应该支付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。9. 软件过程模型都有哪些(瀑布模型)瀑布模型 快速原型模型(快速建立一个能反映客户需求的原型模型,让用户在计算机上试用,然后提出修给意见,开发人员再此基础上不断修改,用户不断测试,知道确定能做所需要的工作,开发人员便根据此书写规格说明文档。根据这份文档开发出的软件便可以满足用户的真实需求) 增量模型(分批逐步向用户提交产品,整个软件产品被分解成许多个增量构件,开发人员一个构件接着一个构件的向用户提交产品) 螺旋模型(可看做在每个阶段之前都增加了风险分析过程的快速原型模型。适用于内部开发的大规模软件项目) 喷泉模型10. 画图说明瀑布模型11. 瀑布模型有什么特点1. 阶段间具有顺序性和依赖性:必须等前一段的工作完成之后,才能开始后一阶段的工作;前一阶段的输出文档就是后一阶段的输入文档。前一段的输出文档正确,后一阶段的工作才能获得真正的结果。2. 推迟实现的观点:在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。3. 质量保证的观点:坚持两个重要做法:每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务(运行时期对软件进行维护的重要依据);每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。优点:可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细检查。12. 在软件生产中为什么强调管理(项目管理中介绍)所谓的管理就是通过计划、组织和控制等一系列活动,合理配置和使用各种资源,以达到既定目标的过程。软件项目管理过程从一组项目计划活动开始,而制定计划的基础是工作量估计和完成期限估计。很多项目的失败都是因为管理不善。第二章1. 可行性研究的目的 用最小的代价在尽可能短的时间内确定问题是否能够解决。(基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,忽略许多细节)2. 从哪些方面进行可行性研究技术可行性;经济可行性;操作可行性。3. 系统流程图的作用4. 数据流图的作用;数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。5. 数据字典的作用,数据字典要定义哪些组成,画出仓库定货系统的组成数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有原色的定义的结合。作用:在软件分析和设计的过程中给人提供关于数据的描述信息。有助于分析员和用户之间的通信。定义组成:顺序 选择 重复 可选第三章1. 需求分析任务是软件定义时期的最后一个阶段,它的基本任务是准确的回答“系统必须做什么“这个问题。(仅确定系统必须完成哪些工作,对目标系统提出完整、准确、清晰、具体的要求)2. 系统综合需求功能需求:制定系统必须提供的服务性能需求:系统必须满足的定时约束或容量约束可靠性和可用性需求:可靠性需求定量地指定系统的可靠性;可用性量化了用户可以使用系统的程度出错处理需求:说明系统对环境错误应该如何响应(错误不是由系统本身造成)接口需求:描述应用系统与它的环境通信的格式约束:设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件逆向需求:说明软件系统不应该做什么将来可能提出的要求:应该明确的列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求3. 什么叫模型,在需求分析中要建立哪些模型 模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描写。数据模型、功能模型、行为模型4. 一些图的作用(E-R图,状态转换图,层次方框图,warnier图,IPO图)实体-联系图(ER图):为了把用户的数据要求清楚、准确的描述出来(描述数据模型)状态转换图:通过描绘系统的状态及引起系统状态转换的事件(动态模型)层次方框图:(数据的层次结构)Warnier图:数据的层次结构IPO图:描述输入、处理和输出之间的关系5. 从哪些地方验证软件需求一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能现实性:制定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。有效性:必须证明需求是有效的,确实能解决用户面对的问题。第五章1. 总体设计主要任务是什么总体设计(概要设计,初步设计)的基本目的就是回答“概括地说,系统应该如何实现”这个问题。设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据力图是设想各种可能方案的基础。2. 什么是模块化,有什么优点模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。优点:可以使软件结构清晰,不仅容易设计也容易阅读和理解;模块化使软件容易测试和调试,因而有助于提高软件的可靠性;因为变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性;也有助于软件开发工程的组织管理。3. 什么是耦合,有哪些类型耦合是对一个软件结构内不同模块之间互连程度的度量。模块间无任何连接,耦合程度最低。两个模块彼此间通过数交换信息,交换的信息仅仅是数据,这种耦合称为数据耦合(低耦合)。如果传递的信息中有控制信息,这种耦合称为控制耦合(中等程度耦合,增加系统的复杂程度)。当把整个数据结构作为参数传递而被调用的模块只需要使用其中一部分数据元素时,就出现了特征耦合。当两个或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合。内容耦合(避免使用)4. 什么是内聚,有哪些类型内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。高内聚往往意味着模块间的松耦合。5. 软件设计有哪些启发式原则改进软件结构提高模块的独立性(低耦合高内聚)模块规模应用适中深度、宽度、扇出(直接控制)和扇入(被直接调用数量)都应适当模块的作用域应该在控制域之内力争降低模块接口的复杂程度设计单入口单出口的模块模块功能应该可以预测6. 描述软件?图:结构图,层次图和HIPO层次图:描绘软件的层次结构(方框间连线表示调用关系,适用于自顶向下设计软件的过程中使用)HIPO:层次图加输入、处理、输出图(与层次图不同的是,在每个框里增加了编号)第六章1. 详细设计的主要任务根本目标是确定应该怎样具体地实现所要求的系统,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序(详细设计的结果基本上决定了最终的程序代码的质量)。2. 结构程序设计基本原理结构程序设计是尽可能少用GO TO语句的程序设计方案。最好尽在检测出错误时才使用GO TO语句,而且应该总是使用向前GO TO语句。3. 详细设计的工具:程序流程图,盒图,判定表,判定树,问题分析图第七章1. 在代码中加注释的作用是什么使程序代码的逻辑简明清晰,易读易懂,便于后期的维护和修改的方便。2. 测试的目标是什么,有哪些测试方法,有哪些类型或步骤目标:测试是为了发现程序中的错误而执行程序的过程; 好的测试方案是极可能发现迄今为止尚未发现错误的测试方案; 成功的的测试是发现了至今为止尚未发现的错误的测试。方法:黑盒测试 已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用。 白盒测试 知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。步骤:模块测试 子系统测试 系统测试 验收测试 平行运行3. 单元测试的重点是什么模块接口:对通过模块接口的数据流进行测试,数据能否正确的进出局部数据结构:数据说明、初始化、默认值重要的执行通路:选择最有代表性、最有可能发现错误的执行通路出错处理通路:着重测试可能发生的错误P127边界条件:最重要的任务4. 什么是存根模块,什么是驱动模块存根模块:一个虚拟的子程序驱动模块:用于测试的控制模块5. 什么是黑盒,有什么方法黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接受输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。也称为功能测试。 方法:等价划分、边界值分析、错误推测6. 什么是白盒,有什么方法7.白盒测试把程序看成装在一个透明的白盒子里,测试者完全制单程序的就够和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。又称为结构测试。 方法:逻辑覆盖、控制结构测试8. 测试与调试的区别 测试是为了发现错误
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人力资源专员求职面试指南与模拟题解析
- 2025年电力行业运行值班员中级考试面试题及答案
- 2025年低温巴氏乳项目提案报告模板
- 2025年星巴克项目规划申请报告
- 看护业务知识培训课件
- 2025年色淀红类项目规划申请报告模板
- 2025年海洋资料浮标项目立项申请报告模板
- 2025年特种作业类危险化学品安全作业重氮化工艺作业-合成氨工艺作业参考题库含答案解析
- 2025年热塑性弹性体项目提案报告
- 小学四年级数学上学期工作计划(9篇)
- 心肺复苏术课件2024新版
- 水中总氯的测定方法确认实验报告(HJ586)
- GB/T 1228-2006钢结构用高强度大六角头螺栓
- 第二章-基因工程的载体和工具酶课件
- 政府采购评审专家考试题库(含答案)
- 实验室新员工入职培训课件
- 动力柜技术协议
- 2023年青岛市城阳区工会系统招聘考试笔试题库及答案解析
- 高中生物第一课-(共24张)课件
- 电气原理图基础知识课件
- 水利工程管理单位定岗标准(试点)
评论
0/150
提交评论