ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:194.50KB ,
资源ID:17275803      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17275803.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程期末复习1Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程期末复习1Word下载.docx

1、(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚地审查结果;(6)开发小组的人员应该少而精。(7)承认不断改进软件工程实践的必要性。软件工程的基本内容:软件工程学的内容包括技术和管理两方面的内容。软件工程方法学:在软件生命周期全过程中使用的一整套技术方法的集合称为软件工程方法学。软件工程方法学的三个要素:方法、工具和过程。软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生命周期的3个时期:软件定义、 软件开发和软件维护(1) 软件定义时期:问题定义可行性研究需求

2、分析。(2) 软件开发时期:总体设计详细设计编码和单元测试综合测试(3) 软件维护时期:主要任务是是软件持久地满足用户的需要。软件开发模型:软件开发模型是跨越整个软件生存周期的系统开发、运作、维护所实施的全部工作和任务的结构框架。瀑布模型即生存周期模型 ,是软件工程的基础模型。其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作。采用结构化的分析与设计方法,将逻辑实现与物理实现分开。此外,还有快速原型模型、增量模型、螺旋模型、喷泉模型等。第二章 可行性研究1、 可行性研究的任务 熟悉理解2、 可行性研究的过程 一般了解3、 系统流程图 一般了解4、 数据流图 掌握应用5、 数据字

3、典(内容、定义数据的方法) 掌握应用6、 主要知识点可行性研究的任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面研究可行性。可行性研究的3个方面:(1) 技术可行性:使用现有的技术是否能实现这个系统。(2) 经济可行性:这个系统的经济效益能否超过它的开发成本。(3) 操作可行性:这个系统的操作方式在这个用户组织内是否可行。可行性研究的8个步骤:(1) 复查系统规模和目标研(2) 究目前正在使用的系统(3) 导出新系统的高层逻辑模型(4) 进一步定义问题(5) 导出和评价供选择的解法(6) 推荐行动方针(7)

4、草拟开发计划(8) 书写文档提交审查系统流程图:系统流程图是描绘物理系统的传统工具。数据流图(DFD)(会画):数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换,是系统逻辑功能的图形表示。数据流图有4种元素:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流,即特定数据的流动方向。数据字典:数据字典是关于数据的信息的集合,即对数据流图中包含的所有元素的定义的集合。数据字典的内容:由四类元素的定义组成(1) 数据流;(2) 数据流分量(即数据元素);(3) 数据存储;(4) 处理。第

5、三章 需求分析1、需求分析的任务 熟悉理解2、需求分析模型(数据模型、功能模型、行为模型) 掌握应用3、 状态转换图 掌握应用4、 其他图形工具 (层次方框图、Warnier图、IPO图) 一般了解5、面向数据流的分析方法 理解 需求分析的任务:它的基本任务是准确地回答“系统必须做什么?”这个问题。需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析建模:数据模型、功能模型、行为模型状态转换图(状态图):指明了作为外部事件结果的系统行为。为此,状态转换图描绘了系统的各种行为模式(状态)和在不同状态间转换的方式。状态

6、转换图是行为建模的基础。面向数据流的需求分析方法:结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。第五章 总体设计1、 总体设计的任务 熟悉理解2、 设计原理(模块化、抽象、逐步求精、信息隐藏) 熟悉理解3、 模块独立性(耦合、内聚) 熟悉理解4、 启发规则 熟悉理解5、 描述软件结构的图形工具(层次图、HIPO图、结构图) 一般了解6、 面向数据流的设计方法 掌握应用7、 主要知识点总体设计任务:决定系统“怎样做”。总体设计过程:(1) 设想供选择的方案。(2) 选取合理的方案。(3

7、) 推荐最佳方案(4) 功能分解(5) 设计软件结构(6) 设计数据库(7) 制定测试计划 (8) 书写文档(系统说明、用户手册、测试计划、详细的实现计划、数据库设计结果)(9) 审核和复审模块化:模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它。模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。抽象:就是抽出事物的本质特性而暂时不考虑它们的细节。信息隐蔽:模块中所包括的信息不允许其它不需要这些信息的模块调用。信息局部化:是指把一些关系密切的软件元素物理地放得彼此靠近。模块独立性:是软

8、件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。模块独立性的两个定性标准:耦合和内聚。模块独立性比较强的模块应是高内聚低耦合的模块。耦合:衡量不同模块彼此间互相依赖(连接)的紧密程度的度量。耦合强弱取决于模块间接口的复杂程度,调用模块的方式,以及通过接口的信息。(1) 非直接耦合:两个模块中的每一个都能独立工作而不需要另一个模块,那么它们彼此完全独立。(2) 数据耦合:两个模块间彼此通过参数交换信息,而且交换带信息仅仅是数据。(数据耦合是低耦合,系统中必须存在这种耦合)(3) 标记耦合(也称为特征耦

9、合):当把整个数据结构作为参数传递而被调用的模块只需要使用其中一部分数据元素,出现了特征耦合。(4) 控制耦合:传递的信息中有控制信息(控制耦合是中度耦合,它增加了系统的复杂程度,它往往是多余的)(5) 外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息。(6) 公共耦合:当两个或多个模块通过一个公共数据环境互相作用时,它们之间的耦合称为公共耦合。(7) 内容耦合:最高程度耦合是内容耦合。出现下列情况之一就出现了内容耦合a) 一个模块访问另一个模块的内部数据。b) 一个模块不通过正常入口而转到另一个模块内部。c) 两个模块有一部分程序代码重叠

10、(只可能出现在汇编中)d) 一个模块有多个入口(意味着一个模块有多种功能)内聚:衡量一个模块内部各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。(1) 巧合内聚:如果一个模块完成一组人物,这些人物彼此间即使有关系,关系也是松散的,这就是巧合内聚。(2) 逻辑内聚:如果一个模块完成的人物在逻辑上属于相同或类似的一类,则称为逻辑内聚。(3) 时间内聚:如果一个模块包含的人物必须在同一段时间内执行,则称为时间内聚。(4) 过程内聚:如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。(5) 通信内聚:如果模块中的所有元素都使用同一个输入数据和(或)产生同一个输出

11、数据,则称为通信内聚。(6) 顺序内聚:如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行,则称为顺序内聚。(7) 功能内聚:如果模块内所有处理元素属于一个整体,完成一个单一的功能,则称为功能内聚。启发规则:(1) 改进软件结构提高模块的独立性。(2) 模块规模应该适中。(3) 深度、宽度、扇出、扇入都应适当。(4) 模块作用域应该在控制域之内(5) 力争降低模块接口的复杂程度(6) 设计单入口单出口的模块(7) 模块功能可以预测描述软件结构的图形工具:层次图 、HIPO图 、结构图面向数据结构的分析设计方法:面向数据流的设计方法把信息流映射成软件结构,信息流的类型(包括变

12、换流和事务流)决定了映射的方法(变换分析和事务分析)。面向数据流的设计要解决的任务,就是上述需求分析的基础上,将DFD图映射为软件系统的结构。第六章 详细设计1、 详细设计的任务 熟悉理解2、 结构程序设计 一般了解3、 人机界面设计 一般了解4、 过程设计的工具 掌握应用5、 面向数据结构的设计方法 掌握应用6、 程序复杂程度的定量度量 熟悉理解详细设计阶段的根本目标:确定应该怎样具体的实现所要求的系统。过程设计的工具(会画):程序流程图、盒图、PAD图、判定表、判定树、伪码。程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。N-S图(盒图):是一种符合结构化程

13、序设计原则的图形描述工具。在N-S图也能表示五种基本控制结构。PAD图:问题分析图。它是用结构化程序设计思想表现程序逻辑结构的图形工具。PAD也设置了五种基本控制结构的图示,并允许递归使用。判定表:能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。判定树:优点在于,它的形式简单到不需任何说明,一眼就可以看出其含义,因此易于掌握和使用。面向数据结构的设计方法:主要有两种方法:Jakson方法和 Warnier方法。 Jackson系统开发方法(JSD)是一种典型的面向数据结构的分析设计方法,它是以信息驱动的,是将信息转换成软件的程序结构。程序复杂程度的定量度量:常用方法:McCabe和Ha

14、lstead。流图:实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。3种根据流图来计算环形复杂度方法:(1) 流图中的区域数等于环形复杂度。(2) 流图G的环形复杂度(G)=E-N+2,其中,E是流图中边的条数,N是结点数。(3) 流图G的环形复杂度(G)=P+1,其中,P是流图中判定结点的数目。在源代码中,IF语句、WHILE循环或FOR循环都相当于1个判断,而CASE语句或其他多分支语句相当的判断数等于可能的分支数减1。第七章 实现1、 编码 一般了解2、 软件测试基础(测试目的、测试方法、测试准则) 熟悉理解3、 白盒测试技术

15、(逻辑覆盖、控制结构测试) 掌握应用4、 黑盒测试技术(等价类划分、边界值分析 ) 掌握应用5、 调试(调试过程、调试方法) 一般了解软件测试的目的:在软件投入生产性运行之前,尽可能多地发现软件中的错误。软件测试的准则:(1) 所有的测试都应追溯到用户需求(2) 应该在测试工作开始前较长时间内就开始编写测试计划(3) Pareto原则应用于软件测试(4) 测试应从小规模开始(5) 穷举测试是不可能的(6) 为了达到最佳效果,应该由独立的第三方来构造测试测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。测试方法有:白盒法和黑盒法。测试方案:包括具体的测试目的,应该输入的测试数

16、据和预期的结果。通常把测试数据和预期的输出结果称为测试用例。白盒测试(会设计测试用例):把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试。白盒测试的方法有:逻辑覆盖(语句覆盖、分支(判定)覆盖、条件覆盖、条件组合覆盖、路径覆盖、点覆盖、边覆盖)和控制结构测试(基本路径测试)。黑盒测试(会设计测试用例): 把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能

17、适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试。黑盒法的方法有:等价类划分法,边界值分析法,错误推测法等。软件测试的步骤:(1) 模块测试(2) 子系统测试(3) 系统测试(4) 验收测试(5) 平行运行基本路径测试步骤:(1) 根据过程设计结果画出相应的流图。(2) 计算流图的环形复杂度。(3) 确定线性独立路径的基本集合。(4) 设计可强制执行基本集合中每条路径的测试用例。等价类划分法步骤:(1) 划分出有效等价类和无效等价类 ,为每个等价类编号。(2) 设计一个新的测试用例,使它尽可能多地覆盖尚未被覆盖的有效等价类。重复这一过程,直

18、到所有的有效等价类都被覆盖。(3) 设计一个新的测试用例,使它仅覆盖一个尚未被覆盖的无效等价类。重复这一过程,直到所有的无效等价类都被覆盖。软件可靠性:是程序在给定时间间隔内,按照规格说明书的规定成功地运行的概率。第八章 维护1、 维护的定义 一般了解2、 维护的特点 熟悉理解3、 主要知识点维护的定义:软件维护就是在软件已交付使用之后,为了改进错误或满足新的需要而修改软件的过程。软件维护的四项活动:(1) 改正性维护:诊断和改正程序中的错误。(2) 适应性维护:为了和变化了的环境适当地配合而进行的修改软件的活动,是既必要又经常的活动。(3) 完善性维护:增加新功能或者修改已有功能。这项为何活

19、动通常占软件维护工作的大部分。(4) 预防性维护:当为了改进为了的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,出现了第四项维护工作,目前相对较少。软件的可维护性:(1) 可理解性(2) 可测试性(3) 可修改性(4) 可移植性(5) 可重用性第九章 面向对象方法学引论+第十章 面向对象分析1、 面向对象方法学概述(要点、优点) 一般了解2、 面向对象的基本概念 熟悉理解3、 对象模型(类图) 掌握应用4、 功能模型(用例图) 掌握应用 5、 动态模型(状态图) 掌握应用面向对象的基本概念: 面向对象不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世

20、界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。而面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。面向对象方法的基本思想:从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。面向对象的几个重要概念:对象、消息、方法性、继承性、封装性等。第十三章 软件项目管理1、 项目管理的内容 一般了解2、 进度计划 掌握应用软件项目管理:为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。甘特图:是历史悠久、应用广泛的制定进度

21、计划的工具,能描述任务的分解情况以及每个任务的开始时间和结束时间。工程网络图:是制定进度计划时另一种常用的图形工具,它同样能描绘任务分解情况以及每项作业的开始时间和结束时间,它还显式地描绘各个作业彼此间的依赖关系,还能描述关键的任务。三、考试形式闭卷考试,满分100分时间:90分钟四、考试题型填空题(15分)选择题(20分)判断题(10分)简答题(20分)分析设计题(35分)五、练习题(1)选择题1、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以_维护所占的维护量最小。CA、纠错性维护 B、代码维护C、预防性维护 D、文档维护2.使用软件时提出增加新功能就必须进行_维护。

22、 C A.改正性 B.适应性 C.完善性 D.预防性3.维护软件时为了保证修改不会影响原来可以正常使用的功能,应安排_测试。D A.单元 B.集成 C.验收 D.回归4. 关于数据流图不正确的描述是_。 A. 数据流图是结构化系统分析的主要工具。 B. 在数据流图中,*号标识相邻的数据流只取其一。 C数据流图中父图与子图两者的输入和输出数据流必需一致。 D. 画DFD图的任意层次图必须都要画数据存储项(即数据表单)5 获取需求的困难和项目复杂带来的潜在风险属于_.A A.技术风险 B.商业风险 C.项目风险 D.经济风险 6.软件测试不包括_方面的差错和纠错。 A. 软件计划 B. 软件设计

23、C.软件编码 D .软件价格7、软件维护过程产生的副作用,是指_。 B A、开发过程中发现的错 B、因修改软件而造成的错误C、隐含的错误 D、运行时误操作8下列关于瀑布模型的描述正确的是_。A A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具有良好的灵活性。 C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题修改的代价很低。9. 划分模块如果必须存在耦合,选择适当的耦合类型的错误原则是_。 A 尽量使用数据耦合 B. 少用控制耦合 C 限制公共耦合的范围 D. 允许使用内容耦合10. 类是具有相同属性和相同操作的对象

24、抽象,对象是类的_。 A.例证 B.用例 C.实例 D.例外 11. 对于分层的DFD,父图与子图的平衡是指_。 A A.父图与子图的输人输出数据流必须相同 B.子图必须继承父图的输人与输出流 C.父图与子图相应的输人输出数据流名字保持一致 D.子图可以有自己的输入输出数据流.12. 为了定量分析项目进度,需要在制定项目进度计划时,估算每个_ A A.应该完成的工作任务的预算工作量的成本 B.工作任务的预算成本 C.工作任务的实际工作量的成本 D.实际工作任务的预算成本.13. 需求分析中开发人员要从用户那里了解_ A A.用户要求软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模

25、14. 软件开发时,一个错误发现得越晚,为改正它付出的代价就_ B A.越小B.越大 C.接近平均 D.不可捉摸 15. 软件过程模型是根据不同项目定义的、贯穿于软件生命周期的 _。B A.一组关键区域 B.一种开发方法 C.一个过程描述 D.一个开发阶段 16. 在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于_。 A.维护时期 B.计划时期 C.运行时期 D.开发时期 .17. 数据字典不包括对_描述。 A.数据加工 B.数据流 C.数据存储 D.数据源和数据接受 .18. CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的行为特征是_. B A.工作

26、无序,项目进行过程中经常放弃当初的计划 B.定量的过程管理和软件质量管理 C.建立了项目级的管理制度 D.软件过程中活动的生产率和质量是可度量的 .19. 比较理想的可重用软构件是_。D A.子程序库 B.源代码包含文件 C.对象 D.类 20. 软件生命周期中所花费用最多的阶段是_。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 21. 软件需求分析阶段的工作,可以分为以下四个方面:对问题的识别、分析与综合、编写需求分析文档以及_. C A.总结 B.阶段性报告 C.需求分析评审 D.以上答案都不对 22. 一个成功的测试是。 A.发现错误 B.发现至今尚未发现的错误 C.没有发现

27、错误 D.证明发现不了错误 .23.类是具有相同属性和相同操作的对象抽象,对象是类的_。24.螺旋模型是一种重要的软件过程模型,它的主要思想是:结合了线性顺序模型和演化模型的思想,经过“制定计划”、“_ ”、“实施工程”和“客户评估”四项活动的迭代不断获得新版本。 A.风险分析 B.质量管理 C. 基线制定 D. 实施监管25. 软件维护的步骤不包括_ 。 A.维护组织 B.修改程序 C.重新验证程序 D.分析和理解程序 26.在结构化程序设计中要实现任何模块的单入口单出口。一般不允许使用控制结构是_. B A.顺序 B.无条件转移 C.条件分支转移 D.循环27.面向对象的动态模型中,每张状态图表示_的动态行为。B A.有关联的若干个类 B.某一个类 C.一系列事件 D.一系列状态28. 软件需求分析是保证软件质量的重要步骤,它的实施应该是在_。C A.编码阶段处 B.软件开发全过程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1