软件工程复习知识要点_第1页
软件工程复习知识要点_第2页
软件工程复习知识要点_第3页
软件工程复习知识要点_第4页
软件工程复习知识要点_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1软件与软件工程概念1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。2. 在结构化程序设计时代,程序最小的单位是函数及子程序,程序与数据是分离的。 程序的最小单位是类。3. 软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、 维护特性、废弃特性、应用特性。4. 软件的分类:系统软件;应用软件;支撑软件;可复用软件。5. 什么是软件工程?(课后题)软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过

2、时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合 起来,以经济地开发出高质量的软件并有效地维护它。6 可以用功能性、可靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。功能性是指软件所实现的功能达到它的设计规范和满足用户需求的程度。可移植性是指软件从某一环境转移到另一环境时所作努力得程度。7. 软件生存期由软件定义、软件开发和运行维护三个时期组成。开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。开发过程中的典型文档包括:项目计划、软件测试计划、软件设计说明书、用户手册。8. 需求分析的基本任务?(1) 建立分析模型,了解系统的各种需求细节。(2) 基于分析结

3、果,编写岀软件需求规格说明或系统功能规格说明,确认测试计划和初步的系统用户手册,并提交管理机构进行分析评审。2软件工程方法与工具1. 面向对象方法的岀发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类认识问题和解决问题的方法与过程,从而使描述问题的问题空间与其解空间在结构上尽可能一致。2.形式化方法的主要特点是:(课后题)(1) 软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;(2) 设计、 实现和单元测试等开发过程由一个变换开发过程代替。 通过一系列变换将形式的 规格说明细化成为程序。3. 面向对象 = 对象 + 类 + 继承 + 消息通信。4.

4、 新类从现有的类中派生的过程,叫做类继承。5. 多态是指一个程序中同名的不同方法共存的情况。6. UML的特点:统一标准、面向对象、可视化、独立于过程、容易掌握使用、与编程语言的关系。3 软件需求获取与结构化分析方法1. 结构化分析方法的核心是数据字典,包括在目标系统中使用和生产的所有数据对象。2. 顶层数据流图或称环境图的作用是什么?(*)顶层数据流图(或称环境图)仅包括一个数据处理过程, 也就是要开发的目标系统。 其作用如下:(1) 确定系统在其环境中的位置,与系统有联系的外部实体 (包括硬件、 软件、 组织机构及 人)有哪些。(2) 通过确定系统的输入和输出与外部实体的关系确定系统的边界

5、, 也就是要确定哪些功能 或处理属于系统范围之内,哪些属于系统范围之外,需要由其他系统处理或人工处理。3. 在对数据流图进行分解时需要注意哪些问题?(* )在对数据流图进行分解时,需要注意以下两个问题:(1) 当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列 处理时,分解前和分解后的输入 / 输出数据流必须相同。(2) 注意分层细化时对编号的处理方法。4. 在需求评审的实施过程中可能会遇到得风险包括:(1) 需求评审的参与者选取不当。(2) 评审规模过大。(3) 评审组规模过大。(4) 评审时间过长。3.2 顶层数据流图或称环境图的作用是什么?顶层数据流图(或称环境

6、图)仅包括一个数据处理过程, 也就是要开发的目标系统。 其作用 如下:(1) 确定系统在其环境中的位置,与系统有联系的外部实体 (包括硬件、 软件、 组织机构及 人)有哪些。(2) 通过确定系统的输入和输出与外部实体的关系确定系统的边界, 也就是要确定哪些功能 或处理属于系统范围之内,哪些属于系统范围之外,需要由其他系统处理或人工处理。3.3 在对数据流图进行分解时需要注意哪些问题?在对数据流图进行分解时,需要注意以下两个问题:(1) 当对数据流图分层细化时必须保持信息连续性, 也就是说, 当把一个处理分解为一系列 处理时,分解前和分解后的输入 / 输出数据流必须相同。(2) 注意分层细化时对

7、编号的处理方法。4 结构化设计方法1. 软件设计的五项原则:分而治之、模块独立性、提高抽象层次、复用性设计、灵活性设。2. 耦合是模块之间得相对独立性(互相连接的紧密程度) 的度量, 内聚是模块功能强度 (一个模 块内部各个元素彼此结合的紧密程度)的度量。耦合程度最高的是内容耦合。3. 结构化设计方法得实施要点是:(1) 首先研究、分析和审查数据流图。(2) 然后根据数据流图决定问题的类型。(3) 由数据流图推导出系统的初始结构图。(4) 利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。(5) 根据分析模型中的实体 - 关系图和数据字典进行数据设计。(6) 在上面设计的

8、基础上,依据分析模型中的加工规格说明、状态转换图及控制规格说明进 行过程设计。(7) 制定测试计划。4. 模块结构最普通的形式是树状结构和网状结构。5. 模块结构的层次数称为结构图的深度。6. 扇出表示一个模块直接调用(或控制)的下属模块的数目。7. 基于数据流方法的设计过程包括:(1) 复查并精化数据流图。(2) 确定数据流图中数据流的类型。(3) 导出初始的软件结构图。(4) 逐级分解。(5) 精化软件结构。(6) 导出接口描述和全局数据结构。8. 变换分析方法由:重画数据流图;区分有效(逻辑)输入、有效(逻辑)输出、和中心变换 部分;进行一级分解,设计上层模块;进行二级模块,设计输入、输

9、出和中心变换部分的中、下 层模块四个部分组成。9. 模块的控制范围包括它本身及其所有的从属模块。10. 接口设计的依据是数据流图中的自动化系统边界。5 编码1. 程序的效率是指程序的执行速度及程序所占用内存的存储空间。2. 一般情况下,程序的效率和清晰性相比哪一个更重要?在计算机发展的早期,由于CPU 效率低,内存小,程序在运行时容易出现运行时间太长或内存溢出问题。因此,人们在编写程序时,很注重程序的时间效率和空间效率, 而不太注重程序 的清晰性。随着计算机硬件性能的飞速发展以及软件规模和复杂性的急剧增加,这种情况已经发生了 根本的转变,程序的清晰性越来越受到重视,程序的清晰性不好会给测试、维

10、护修改带来困难, 这对于规模庞大和复杂的软件尤其明显。对于效率没有特殊严格要求的系统来说,要将程序的清晰性放在第一位,在不影响清晰性 的情况下,去改进效率。6 软件测试方法1. 软件测试是为了发现错误而执行程序的过程。2. 在软件测试的对象中,确认包括需求规格的确认和程序的确认。3. 逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术,属于白盒测试。4. 独立路径是指包括一组以前没有处理的语句或条件的一条路径。5. 通常软件测试是按 4 个步骤进行,即单元测试、组装测试、确认测试和系统测试。6. 调试也称排错或纠错,是紧跟在测试之后要做的工作6.5假设汽车的车牌号可由车主人在规定范围内自

11、选,若其规定为:(1)车牌上应有 7个字符;(2)为首的字符限定为汉字“京”;(3)第2个字符可任选一字母(AZ);(4)第37个字符可选任意数字。请为相关的处理程序采用等价类划分方法设计等价类表及相应的测试用例。等价类表输入数据有效等价类无效等价类字符个数7 个(1)06 个(2),7 个(3)首字符“京”(4)非“京”(5)第2个字符字母(6)非字母(7)第37个字符数字(8)非数字(9)测试用例如下:1)京H87774(1),(4),(6),(8)2)京H8777(2)3)京H877745(3)4)冀H87774(5)5)京987774(7)6)京BA7774(9)UML中表示为类图7统

12、一建模语言UML既述1. 在面向对象的需求分析时,模型的静态结构也称为静态模型,在2. UML中有哪些关系?解释类图中聚合和关联的相同点和不同点。在UML中,常见的关系有泛化、聚合、关联、依赖和实现。在类图中,关联是一种结构关系,它描述了两个或多个类的实例之间的连接关系。聚合描述了整体和部分之间的结构关系。 按照关联关系的定义, 聚合属于一种特殊的关联关系, 只不过 这种关联关系具有明确的整体- 部分含义而已。从耦合度的角度看,聚合关系要强于关联关系。3. 讨论顺序图与协作图的关系,何时用顺序图建模优于协作图建模,以及相反的情况。顺序图和协作图都能描述对象间的交互关系, 但两者的侧重点不同,

13、顺序图着重表现交互的 时间顺序, 协作图则着重表现交互对象的静态链接关系。 但即使他们各有侧重, 但从语义上来说 是等价的,可从一种图自动转换为另一种图。一般情况下, 当需要强调消息传递的时间顺序时, 采用顺序图; 当表示涉及很多对象的模型 时,协作图比顺序图更形象。顺序图在分析中更常用,而协作图则在设计中更常用。8 面向对象分析1. 接口设计的依据是数据流图中的自动化系统边界。2. 比较面向对象的分析方法和面向数据流的分析方法,阐述它们各自的特点。面向对象的分析方法使用用例模型来表示用户的功能需求, 用例模型相当于功能模型, 在对 用例模型进行细化的过程中, 也伴随着对功能的分解。 但面向对

14、象的分析方法并不是以功能分解 为核心,在获取并分析用户的功能需求之后, 重点以类和对象为核心, 建立对象模型, 交互模型 也是围绕对象模型进行的。面向数据流的分析方法是从建立顶层数据流图 (环境图) 开始, 之后 逐层对加工进行分解。面向数据流的分析方法是以功能分解为核心的。8.3 用例建模的主要步骤是什么?用例建模的主要步骤如下:(1) 确定业务参与者一一可以是与系统有交互的外部硬件、软件、组织、人等。(2) 确定业务需求用例一一参与者需要系统提供的完整功能。(3) 创建用例图一一标识参与者与用例之间、用例与用例之间的关系。8.5 用例与用例之间的关系主要有哪两种?其区别是什么?用例之间的关

15、系主要有包含 (也称使用 )和扩展 。包含 表示一个用例所执行的功能中总是包括被包含用例的功能; 扩展 是指一个用例的 执行可能需要由其他用例的功能来扩展, 扩展联系可用于对期望或可选的行为建模,但其主 要用途是使基本用例的功能不依赖于扩展用例。9 软件体系结构和设计模式1. 软件设计模式是从软件设计过程中总结出来的,针对特定问题的解决方案。2. 风格是带有一种倾向性的模式。3. 有两种领域相关的体系结构模型:类属模型和参考模型。4. 一个交互式应用系统有模型、视图和控制器3个部件组成。10面向对象设计1. 面向对象设计准则有:模块化、抽象、信息隐藏、弱耦合、强耦合。2. 在面向对象软件中,常

16、见的软件模块有类、接口、包、构件。3. 从软件复用角度,构件是指在软件开发过程中可以重复使用得软件元素。10.1软件模块之间的依赖性可以从哪些角度和抽象层次进行分析?在面向对象软件中,常见的软件模块有类、接口、包、构件。因此,分析软件模块之间的依赖性 就可以从类、接口、包和构件的角度和层次进行分析。11软件维护到结束1. 软件运行的外部环境可能发生变化,为了使软件适应这种变化而修改软件的过程叫做适应性维护。2. 软件维护活动花费的工作占整个生存期工作量的70%以上。3. 软件维护的策略:改正性维护、适应性维护和完善性维护。4. 所谓副作用是指因修改软件而造成的错误或其他不希望发生的情况,有修改

17、代码的副作用、改数据的副作用和文档的副作用三种。5. 实施风险管理计划从根本上将就是将风险化解。P3146. 文档的分类:开发文档、管理文档、用户文档。P349第二次复习要点1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整 集合,程序只是软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。2. 在结构化程序设计时代,程序最小的单位是函数及子程序,程序与数据是分离的。程序的最 小单位是类。P23. 可移植性是指软件从某一环境转移到另一环境时所作努力的程度。P64. 软件的分类:系统软件;应用软件;支撑软件;可复用软件。P418.软件过程改进循环

18、步骤:评估-计划-改进-监控。P2915. 什么是软件危机?它有哪些典型表现?软件危机岀现的原因是什么?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题典型表现:(1) 对软件开发成本和进度的估计常常很不准确。(2) 用户对“已完成的”软件系统不满意的现象经常发生。(3) 软件产品的质量往往靠不住。(4) 软件常常是不可维护的。(5) 软件通常没有适当的文档资料。(6) 软件成本在计算机系统总成本中所占的比例逐年上升。(7) 软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势产生软件危机的原因:除了软件本身的特点,其原因主要有以

19、下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。(3) 软件开发过程不规范。(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。6. 风格是带有一种倾向性的模式。P2037. 耦合是模块之间得相对独立性(互相连接的紧密程度)的度量,内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。耦合程度最高的是内容耦合。P678. 深度:模块结构的层次数称为结构图的深度。P739. 接口设计的依据是数据流图中

20、的自动化系统边界。P89|10|用例之间的关系有:包含、使用及扩展。P186|ll|在面向对象的需求分析时,模块的静态结构也称为静态模型。P17112. 聚合也称聚集,是一种特殊的关联。它描述了整体与部分之间的结构关系。P16713. 顺序图描述对象之间的动态交互关系,着重表现对象间消息传递的时间顺序。P173|14|.从软件复用角度,构件是指在软件开发过程中可以重复使用得软件元素。P239|15|.调试也称排错或纠错,是紧跟在测试之后要做的工作。P159|16|逻辑覆盖是以程序内部的逻辑结构为基础得设计测试用例得技术,属于白盒测试。P13317.软件维护活动花费的工作占整个生存期工作量的70%以上。P25719. 文档的分类:开发文档、管理文档、用户文档。P35020. 在需求评审的实施过程中可能会遇到得风险包括:P63(1) 需求评审的参与者选取不当。(2) 评审规模过大。(3) 评审组规模过大。(4) 评审时间过长。pl|软件设计的五项原则:分而治之、模块独立性、提高抽象层次、复用性设计、灵活性设计P6722.根据维护工作的性质,维护活动可以分为:改正性维护、适应性维护、完善性维护、预防性维护四种类型。P25623- 瀑布

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论