本科计算机专业软件工程考前复习要点整理

上传人:pu****.1 文档编号:557364080 上传时间:2022-09-07 格式:DOC 页数:4 大小:35KB
返回 下载 相关 举报
本科计算机专业软件工程考前复习要点整理_第1页
第1页 / 共4页
本科计算机专业软件工程考前复习要点整理_第2页
第2页 / 共4页
本科计算机专业软件工程考前复习要点整理_第3页
第3页 / 共4页
本科计算机专业软件工程考前复习要点整理_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《本科计算机专业软件工程考前复习要点整理》由会员分享,可在线阅读,更多相关《本科计算机专业软件工程考前复习要点整理(4页珍藏版)》请在金锄头文库上搜索。

1、本科计算机专业软件工程考前复习要点整理1 .软件工程:软件工程的提出、定义和软件工程方法学2 .软件工程的定义:软件工程是指导计算机软件开发与维护的一门工程学科。软件工程就是采用工程的概念、原理、技术和方法来开发与维护软件,把经实践证明是正确的管理技术和目前能够得到的最有效的技术与方法结合起来,以经济地开发出高质量的软件,并有效地维护它。3.软件工程方法学基本要素:过程一一软件过程,开发软件所要完成的一系列任务的框架,即软件产品所要经历的可预测的步骤。方法一一完成软件项目的技术方法,回答“如何做”;工具一一为方法的运用提供自动或半自动的软件支撑环境;质量管理一一软件开发要有全面的质量管理理念。

2、4. 软件生命周期 指软件产品从形成概念开始,经开发、使用、维护,直至退役的全过程。5. 需求分析:分析建模,需建立的几类模型6.需求分析的目的:完整、准确、清晰、具体地确定待开发软件的功能、性能需求和运行环境约束,形成软件需求规格说明书。7.需求分析的步骤:1、需求获取;2、分析建模:用图表形式表示软件需求(功能、数据、行为等);分析建模方法有两种:结构化分析法和面向对象分析法。.结构化分析 就是将软件自顶向下的分解分析和自底向上的抽象,用数据流图(DFD)表示出软件的功能结构,用数据字典对软件元素作完整统一的定义 和说明,用实体联系图(E-R图)表示出软件中的数据结构,用状态图表示出软件的

3、动作行为。 功能模型(DFD图)元素定义与说明(数据字典DD): 数据模型(E-R图)行为模型(状态图SD)。3、需求描述:按照规范格式写出软件需求 规格说明书;4、需求评审:技术审查和管理复审,验证软件需求。数据流图是软件系统逻辑功能的图形表示,描绘了数据在软件中流动和被处理(变换)的情况。数据流图中没有任何具体的物理元素。注意:(判断)对逐步精化必须适可而止,系统分析不关心设计细节; 逐层精化须遵守父图和子图的平衡,即子图的输入/输出数据流应该同父图中”处理的输入/输出数据流相一致;数据流程图只反映数据的流向,不反映”处理的先后时间顺序; 由左到右地绘制数据流图,尽量将源点/终点画在左、右

4、两侧;要合理地命名编号:数据流(D)、源点/终点(S)均以冠字母后加上顺序码,3.3数据字典:包含的几类数据条目及其含义。判定树和判定表的建立,数据流图描述了软件的逻辑功能,但并未说明各个元素含义与包含的内容。而数据字典就是对各个元素作完整统一的定义和说明。数据字典(DD : Data Dictionary)是数据定义的集合。 数据字典包含四类数据条目:数据流、 数据项、数据存储、数据处理。每一数据条目主要包含这些信息:编号、名称、别名、描述、位置、定义软件设计的目的:根据软件需求,设计出可读的、可理解的、便于编程测试与维护的软件实 现方案(图案)软件设计的划分:从工程角度可分为:概要设计 (

5、或总体设计)、详细设计。从技术角度可分为:软件体系结构设计、接口设计、数据结构设计、过程设计。软件体系结构设计包括计算 体系框架设计、软件结构设计。概要设计包括:体系结构设计、接口设计、数据结构设计。详细设计主要指过程设计。4.2概要设计:概要设计的过程,概要设计的原理,模块化的思想,模块独立性的含义设计原理:为了设计质量, 软件结构设计时,应遵循的基本原理和概念模块化;抽象; 逐步求精;信息隐藏;模块独立;模块独立是指在设计软件结构时,应使每个模块完成一个相对独立的特定子功能,且和其他模块之间的关系很简单。模块独立性可由两个定性标准度量:内聚和耦合。内聚是度量一个模块内各个元素彼此结合的紧密

6、程度。耦合则是度量一个软件结构内不同模块之间相互关联的程度。在设计中,希望内聚度越高越好。内聚度从低到高可分为七级,分别为:偶然内聚 指 模块内各成分间即使有联系也很松散;逻辑内聚一一指模块内各任务成分逻辑上相关;时间内聚指模块内各任务成分必须在同一时间段内执行(如初始化模块);过程内聚指模块内成分彼此相关,且必须按特定次序执行; 通信内聚指模块内各成分都将对数据结构的同一区域进行操作,以达到通信交换数据目的;顺序内聚一一指模块内各成分均与同一功能相关,且必须顺序执行;功能内聚指模块内所有成分形成一个整体 完成单个功能。耦合度从低到高也可分为七级:非直接耦合一一指两模块中任一个都不依赖对方能独

7、立工作; 数据耦合一一指两模块间通过参数交换数据信息;特征耦合一一指耦合度介于数据耦合与控制耦合间的耦合;控制耦合一一指两模块间通过参数交换控制信息;外部耦合一一指若干模块均与同一外部环境关联(如特定设备、格式、通信协议等);公共耦合一一指若干模块间通过全局数据环境相关联(如全局变量等);内容耦合一一指一模块使用另一模块内部数据并直接转移到该模块。一般地说,设计软件应尽量使用数据耦合,减少控制耦合,限制外部耦合和公共耦合,杜绝内容耦合。概要设计过程:确定计算体系框架;设计软件结构;接口设计;数据结构设计; 制定测试计划;文档书写和审查;(有印象)面向数据流的设计方法:面向数据流的设计方法也称结

8、构化设计(SD: Structure Design)法,是指根据需求阶段的数据流图和数据字典来设计软件结构,即:DFD t软件结构图。4.6详细设计:流程图、盒图、 PAD图的画法,流程图到流图的转化方法,环形复杂度的计 算。详细设计的方法:结构化程序设计方法,具体表现为:采用自顶向下、逐步求精的设计思想;使用顺序、选择和循环三种基本结构构造程序;设计单入口单出口的模块;采用主程序员的组织形式。软件测试:根据软件需求和设计说明书,采用各种测试方法,设计测试用例,并用这些测试 用例去发现程序错误的过程。 即找错.测试用例:指用于测试的一组输入数据及其预期的输出结果。软件测试的目的:以最少的测试用

9、例测试出尽可能多的程序中潜在的错误。测试方法:分为静态测试、 动态测试(白盒和黑盒)白盒测试法:定义、目标、条件测试(逻辑覆盖)、循环测试,基本路径测试法 白盒测试:以程序内部的逻辑结构为依据设计测 试用例,检验程序内部结构是否有错,运行结果与预期的是否一致。常用方法: 基本路径测试;条件测试:主要采用条件组合覆盖;循环测试:即循环覆盖。条件测试:发现条件判定内部的错误,主要采用条件组合覆盖。逻辑覆盖是白盒测试中一种常用的技术, 主要有:语句覆盖判定(分支)覆盖条件覆盖判定/条件覆盖条件组合覆盖路径 覆盖条件组合覆盖隐含了前面4种逻辑覆盖,所以在实际逻辑覆盖测试中,一般以条件组 合覆盖为主设计

10、测试用例。在实际应用中,一个不太复杂的程序,可能的路径也会很多,所以只选用基本路径法完成路径覆盖测试。基本路径测试:测试的步骤:根据详细设计,画出流图;根据流图,确定模块复杂性度量;用复杂性度量,确定基本路径集合;对 每一条路径设计一个测试用例,以保证每个语句至少执行一次; 进行每个测试用例的测试。黑盒测试法:定义、目标、等价类划分法、边界值分析法、错误推测法、对比测试法 黑盒测试:将被测程序看成一个黑盒子,不考虑其内部情况,只在接口处进行测试,检测程序是否满足功能要求。黑盒测试常用方法:等阶类划分(将程序的输入域按输入条件划分成 若干部分(即等价类),从每个部分选取有效和无效的代表性数据设计

11、测试用例,进行测试。)、边界值分析(是等阶类划分法的补充。经验表明边界情况可以查出更多错误。)、对比测试(对比测试法指用相同要求规格说明书独立开发不同版本软件,并用相同测试数据对不同版本软件进行测试比较,以确保系统的正确性。)、错误推测等方法(根据经验和直觉,猜测 程序中可能存在的故障,针对这些故障,设计测试用例,进行测试。)。测试步骤:单元测试(根据详细设计,对各个模块的程序进行测试找错,并验证模块功能。)、集成测试(在单元测试的基础上,将所有模块按照概要设计要求组装成一个完整的软件而 进行的测试,以便发现模块组装中可能出现的问题。)确认测试(该阶段包含确认测试、软 件配置审查两项工作;检验

12、软件的功能、性能是否与需求说明书中确定的指标相符合。确认测试多采用黑盒测试。)系统测试(软件开发完毕后与其他成分集成在一起,再进行的测试。)软件维护的定义:指在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的 过程。软件维护的分类:根据起因,软件维护可分为: 改正性维护:为诊断和改正软件系 统潜藏的错误而进行的活动。适应性维护:为适应环境变化而修改软件的活动。完善性维护:根据用户所提的一些建设性意见而进行维护活动。(扩充功能/增强性能/提高效率等)预防性维护:为改善软件系统的可靠性、可维护性而进行的维护活动。面向对象的一 些概念:对象:是现实世界中个体或事物的抽象表示,是其属性和相

13、关操作(方法)的封装。类:是一组具有相同属性和操作的对象的描述。对象是类的实例。 继承:是指子类可以沿用父类的某些特征。消息:是指要求某个对象执行其某个操作的规格说明。对象通过消息传递来请求其他对象服务。 面向对象方法 开发软件的四个特点:把软件看作是由一系列对象组成的。把所有对象分成各种类,并指出每个类的属性和操作。按照继承、关联等关系, 把若干类组成一个层次结构的系统。对象之间通过传递消息进行联系。面向对象方法开发软件可以划分成面向对象的分析 (00A)、设计(00D)和实现(OOP&00T)这几个过程。由于 在概念和表示方法上的一致性,分析、设计和编码等开发活动之间并不存在明显的边界。(

14、重点)7.2 00A :目的、任务、步骤,用例图和类图的图形要素以及画法,掌握用例和用例之间的 关联、类和类之间的主要关联类型;需求分析(00A)的目的:根据问题定义(用户需求)确定软件需求,建立软件需求模型。需求分析(00A)的任务:建立00A需求模型:功能模型、对象模型。 功能模型:描述软 件系统的功能,用 UML的用例图表示。 对象模型:描述软件系统的基本逻辑结构 (或称静 态结构),用UML的类图表示。需求分析(00A)的步骤:一、识别用例,建立用例图;二、识别对象,建立类图。面向对象设计(00D)是以需求分析所得的 00A模型为基础,进行引入、扩展、改进类和对 象的过程。面向对象需求

15、分析(00A)与面向对象设计(00D)是紧密联系在一起,很难截然分开。一般认 为00A主要是从问题陈述中提取对象、类及类之间的联系, 而00D在00A的结果基础上引入、扩展、改进类,形成一个供实现软件产品用的完整的类结构设计蓝图。(重要)为了精确刻画出软件产品的完整的类结构,可以通过采用UML的顺序图(描述对象之间传送消息的时间顺序,用来表示用例中的行为顺序。)协作图(描述对象之间交互关系,着重表明各协作对象。用来表示用例中各对象的交互行为。)状态图(描述类对象在其生命周期内随时间变化的动态行为。也可以用来描述用例的行为。)活动图(描述类对象的活动顺序。 也可以用来描述用例的活动顺序。)来分析软件的动态行为,从而确定对象、类应有的属性 和操作。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

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