软件工程复习知识要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习知识要点
软件与软件工程概念1
是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完1.软件整集合,程序只是软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。在结构化程序设计时代,程序最小的单位是函数及子程序,程序与数据是分离的。程序的最2.小单位是类。
软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、3.维护特性、废弃特性、应用特性。软件的分类:系统软件;应用软件;支撑软件;可复用软件。4.
(课后题)5.什么是软件工程?
软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法
结合起来,以经济地开发出高质量的软件并有效地维护它。
.可以用功能性、可靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。6
功能性是指软件所实现的功能达到它的设计规范和满足用户需求的程度。
可移植性是指软件从某一环境转移到另一环境时所作努力得程度。
软件生存期由软件定义、软件开发和运行维护三个时期组成。7.
开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。
开发过程中的典型文档包括:项目计划、软件测试计划、软件设计说明书、用户手册。
需求分析的基本任务?8.
建立分析模型,了解系统的各种需求细节。(1)基于分析结果,编写出软件需求规格说明或系统功能规格说明,确认测试计划和初步的系(2)统用户手册,并提交管理机构进行分析评审。
软件工程方法与工具2
面向对象方法的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法1.和过程尽可能接近人类认识问题和解决问题的方法与过程,从而使描述问题的问题空间与其解空间在结构上尽可能一致。
)课后题2.形式化方法的主要特点是:(
1.
软件工程复习知识要点
软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;(1)
设计、实现和单元测试等开发过程由一个变换开发过程代替。通过一系列变换将形式(2)的规格说明细化成为程序。
消息通信。继承+对象+类+=3.面向对象
新类从现有的类中派生的过程,叫做类继承。4.多态是指一个程序中同名的不同方法共存的情况。5.的特点:统一标准、面向对象、可视化、独立于过程、容易掌握使用、与编程语言的 6.UML关系。
软件需求获取与结构化分析方法3
结构化分析方法的核心是数据字典,包括在目标系统中使用和生产的所有数据对象。1.
)顶层数据流图或称环境图的作用是什么?(*2.
顶层数据流图(或称环境图)仅包括一个数据处理过程,也就是要开发的目标系统。其作用如下:
确定系统在其环境中的位置,与系统有联系的外部实体(包括硬件、软件、组织机构(1)及人)有哪些。通过确定系统的输入和输出与外部实体的关系确定系统的边界,也就是要确定哪些功(2)能或处理属于系统范围之内,哪些属于系统范围之外,需要由其他系统处理或人工处理。)在对数据流图进行分解时需要注意哪些问题?(*3.
在对数据流图进行分解时,需要注意以下两个问题:
当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列(1)输出数据流必须相同。处理时,分解前和分解后的输入/注意分层细化时对编号的处理方法。(2)
在需求评审的实施过程中可能会遇到得风险包括:.4需求评审的参与者选取不当。(1)评审规模过大。
(2)评审组规模过大。(3)评审时间过长。(4)
顶层数据流图或称环境图的作用是什么?3.2
2.
软件工程复习知识要点
顶层数据流图(或称环境图)仅包括一个数据处理过程,也就是要开发的目标系统。其作用如下:
确定系统在其环境中的位置,与系统有联系的外部实体(包括硬件、软件、组织机构(1)及人)有哪些。通过确定系统的输入和输出与外部实体的关系确定系统的边界,也就是要确定哪些功(2)能或处理属于系统范围之内,哪些属于系统范围之外,需要由其他系统处理或人工处理。在对数据流图进行分解时需要注意哪些问题?3.3
在对数据流图进行分解时,需要注意以下两个问题:当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系(1)
输出数据流必须相同。列处理时,分解前和分解后的输入/
注意分层细化时对编号的处理方法。(2)
结构化设计方法4
软件设计的五项原则:分而治之、模块独立性、提高抽象层次、复用性设计、灵活性设。1.耦合是模块之间得相对独立性(互相连接的紧密程度)的度量,内聚是模块功能强度(一个2.模块内部各个元素彼此结合的紧密程度)的度量。耦合程度最高的是内容耦合。结构化设计方法得实施要点是:3.首先研究、分析和审查数据流图。(1)然后根据数据流图决定问题的类型。(2)由数据流图推导出系统的初
始结构图。(3)
利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。(4)
关系图和数据字典进行数据设计。-(5)根据分析模型中的实体
在上面设计的基础上,依据分析模型中的加工规格说明、状态转换图及控制规格说明进(6)行过程设计。制定测试计划。(7)模块结构最普通的形式是树状结构和网状结构。4.模块结构的层次数称为结构图的深度。5.扇出表示一个模块直接调用(或控制)的下属模块的数目。6.基于数据流方法的设计过程包括:7.
3.
软件工程复习知识要点
复查并精化数据流图。(1)确定数据流图中数据流的类型。(2)导出初始的软件结构图。(3)逐级分解。(4)精化软件结构。(5)导出接口描述和全局数据结构。(6)变换分析方法由:重画数据流图;区分有效(逻辑)输入、有效(逻辑)输出、和中心变换8.部分;进行一级分解,设计上层模块;进行二级模块,设计输入、输出和中心变换部分的中、
下层模块四个部分组成。
模块的控制范围包括它本身及其所有的从属模块。9.
接口设计的依据是数据流图中的自动化系统边界。10.
编码5
程序的效率是指程序的执行速度及程序所占用内存的存储空间。1.
一般情况下,程序的效率和清晰性相比哪一个更重要?2.效率低,内存小,程序在运行时容易出现运行时间太长或在计算机发展的早期,由于CPU内存溢出问题。因此,人们在编写程序时,很注重程序的时间效率和空间效率,而不太注重程序的清晰性。
随着计算机硬件性能的飞速发展以及软件规模和复杂性的急剧增加,这种情况已经发生了根本的转变,程序的清晰性越来越受到重视,程序的清晰性不好会给测试、维护修改带来困难,这对于规模庞大和复杂的软件尤其明显。
对于效率没有特殊严格要求的系统来说,要将程序的清晰性放在第一位,在不影响清晰性的情况下,去改进效率。
软件测试方法6
软件测试是为了发现错误而执行程序的过程。1.在软件测试的对象中,确认包括需求规格的确认和程序的确认。2.
逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术,属于白盒测试。3.
独立路径是指包括一组以前没有处理的语句或条件的一条路径。4.
个步骤进行,即单元测试、组装测试、确认测试和系统测试。4通常软件测试是按5.
4.
软件工程复习知识要点