《2022年软件工程复习重点难点.docx》由会员分享,可在线阅读,更多相关《2022年软件工程复习重点难点.docx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 软件工程(本科)复习重点难点重点要求是以 软件工程 课程的教案大纲为依据,目的在于使同学理清思路,分清主次;为本课程的期 末复习供应参考;一、各章重点、难点和复习要求说明 第一章软件工程概述1 重点把握的内容 :软件和软件工程的基本概念 软件: 软件定义由以下三部分组成:(1)在运行中能供应所期望的功能和性能 的指令集(即程序);(2)使程序能够正确运行的数据结构;描述程序研制过程、方法所用的文(3)挡;软件是一种产品,同时又是开发和运行产品的载 体;作为一种产品,它表达了由运算机硬件表达的计 算潜能;作为开发运行产品的载体,软件是运算机工 作
2、的基础、信息通信的基础,也是创建和掌握其他程 序的基础;软件的特点 : 软件是一种规律实体,而不是具 体的物理实体,因而它具有抽象性; 软件是通过 人们的智力活动,把学问与技术转化成信息的一种产1 / 32 名师归纳总结 - - - - - - -第 1 页,共 32 页精选学习资料 - - - - - - - - - 品,是在研制、开发中被制造出来的;在软件的运 行和使用期间,没有硬件那样的机械磨损、老化问 题;软件的开发和运行常常受到运算机系统的限 制,对运算机系统有着不同程度的依靠性;软件的 开发至今尚未完全摆脱手工的开发方式;软件的开 发费用越来越高,成本相当昂贵;软件工程: 是指导运
3、算机软件开发和爱护的工程 学科;采纳工程的概念、原理、技术和方法来开发与 爱护软件,把经过时间考查而证明正确的治理技术和 当前能够得到的最好的技术方法结合起来;软件工程准就可以概括为七条基本原理:(1)用分阶段的生存周期方案严格治理;(2)坚持进行阶段评审;(3)实行严格的产品掌握;(4)采纳现代程序设计技术;(5)结果应能清晰地审查结果;(6)开发小组的人员应当少而精(7)承认不断改进软件工程实践的必要性;具体 阐述见书中 1.2.2 节;软件危机:指的是软件开发和爱护过程中遇到的 一系列严峻问题;软件工程的基本内容:软件工程学的内容可包括2 / 32 名师归纳总结 - - - - - -
4、-第 2 页,共 32 页精选学习资料 - - - - - - - - - 理论、结构、方法、工具、环境、治理、规范等;其次章软件过程1重点把握的内容: 软件生存周期及软件开发的各种模型;软件生存周期:一个软件从定义到开发、使用和爱护,直到最终被弃用,要经受一个漫长的时期,通 常把软件经受的这个漫长的时期称为生存周期;软件 生存周期一般可分为以下阶段: 问题定义 需求分析与可行性争论 设计 编码 测试 运行与爱护软件开发模型:软件开发模型是跨过整个软件生存周期的系统开发、运作、爱护所实施的全部工作和 任务的结构框架;瀑布模型即生存周期模型,由 B.M.Boehm提出,是软件工程的基础模型;其核
5、心思 想是按工序将问题化简,将功能的实现与设计分开,便于分工协作;采纳结构化的分析与设计方法,将逻 辑实现与物理实现分开;此外,仍有螺旋模型、第四 代技术模型、原型模型、构件组装模型、混合模型等3 / 32 名师归纳总结 - - - - - - -第 3 页,共 32 页精选学习资料 - - - - - - - - - 软件开发模型;第三章需求分析1. 重点把握的内容: 需求分析的方法和面对数据流的分析方法;需求分析的方法:需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成,它定 义了表示系统规律视图和物理视图的方式,大多数的 需求分析方法是由数据驱动的,也就是说,这些方法 供
6、应了一种表示数据域的机制,分析员依据这种表 示,确定软件功能及其他特性,最终建立一个待开发 软件的抽象模型,即目标系统的规律模型;面对数据流的需求分析方法:结构化分析方法是面对数据流进行需求分析的方法;结构化分析方法使 用数据流图 DFD与数据字典 DD来描述,面对数据流 问题的需求分析适合于数据处理类型软件的需求描 述;其核心思想是分解化简问题,将物理与规律表示 分开,对系统进行数据与规律的抽象;具体来说,结 构化分析方法就是用抽象模型的概念,依据软件内部 数据传递、变换的关系,自顶向下逐层分解,直到找 到满意功能要求的全部可实现的软件为止;重点把握 结合实例画数据流图和定义数据字典;4 /
7、 32 名师归纳总结 - - - - - - -第 4 页,共 32 页精选学习资料 - - - - - - - - - 系统流程图: 系统流程图是描画物理系统的传统 工具;它的基本思想是用图形符号以黑盒子形式描画 系统里面的每个部件(程序,文件,数据库,表格,人工过程等等);系统流程图表达的是部件的信息流 程,而不表示对信息进行加工处理的掌握过程;详见 2.3 节;系统流程图的功能:1制作系统流程图的过程是系统分析员全面明白系统业务处理简况的过程,它是系统分析员作进一步分析的依据;2系统流程图是系统分析员、治理人员、业务操作人员相互沟通的工 具; 3系统分析员可直接利用系统流程图画出可以实现
8、运算机处理的部分;析业务流程的合理性;4可利用系统流程图来分2. 一般把握的内容 : 需求分析的任务和原就;. 需求分析的任务:它的基本任务是精确地回答“ 系统必需做什么?” 这个问题;需求分析所要做的 工作是深化描述软件的功能和性能,确定软件设计的 限制和软件同其它系统元素的接口细节,定义软件的 其它有效性需求;需求分析的任务不是确定系统如何 完成它的工作,而是确定系统必需完成哪些工作,也 就是对目标系统提出完整、精确、清晰、具体的要5 / 32 名师归纳总结 - - - - - - -第 5 页,共 32 页精选学习资料 - - - - - - - - - 求;其实现步骤如下图所示 : 当
9、 前 系 统物 理 模 型当 前 系 统逻辑模型目 标 系物 理 模当 前 系逻辑模统型统型模 型 化 抽 象 化懂得需求怎么做 做什么具体化 实例化表达需求6 / 32 名师归纳总结 - - - - - - -第 6 页,共 32 页精选学习资料 - - - - - - - - - 一般说来,需求分析阶段的任务包括下述几方面:确定对系统的综合需求 对系统的综合需求主要有:系统功能需求、系统 性能需求、运行需求、将来可能提出的需求;分析系统的数据需求 导出系统的规律模型 就是在懂得当前系统“ 怎样做” 的基础上,抽取 其“ 做什么” 的本质,明确目标系统要“ 做什么” ,可以导出系统的具体的规
10、律模型;具体做法是:第一 确定目标系统与当前系统的规律差别;然后将变化部分看作是新的处理步骤, 对功能图(一般为数据流图)及对象图进行调整;最终由外及里对变化的部分 进行分析,推断其结构,获得目标系统的规律模型;通常用数据流图、数据字典和主要的处理算法描述这 个规律模型;修正系统开发方案 在经过需求分析阶段的工作,分析员对目标系统 有了更深化更具体的熟识,因此可以对系统的成本和 进度做出更精确的估量,在此基础上应当对开发方案7 / 32 名师归纳总结 - - - - - - -第 7 页,共 32 页精选学习资料 - - - - - - - - - 进行修正;开发原型系统 使用原型系统的主要目
11、的是,使用户通过实践获 得关于将来的系统将怎样为他们工作的更直接更具体 的概念,从而可以更精确地提出和确定他们的要求;需求分析的步骤:1. 调查争论;2分析与综合;3书写文档; 4需求分析评审 需求分析的原就: 其基本原就可概括为 : (1)必 须能够表达和懂得问题的数据域和功能域;(2)按自顶向下、逐层分解问题;(视图和物理视图;3)要给出系统的规律2可行性争论的任务和步骤,成本效益分析可行性争论的任务 :是用最小的代价在尽可能短的时间内确定问题是否能够解决;一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面争论可行性;可行性争论的步骤:步骤;可行性争论的步骤分为九
12、个成本效益分析:成本效益分析的目的是要从经济角度分析开发一个特定的新系统是否可行,从而帮助使用部门负责人正确地做出是否投资于这项开发工程的打算;几种度量效益的方法:8 / 32 1. 货币的时间价名师归纳总结 - - - - - - -第 8 页,共 32 页精选学习资料 - - - - - - - - - 值;2投资回收期; 3纯收入;第四章结构化设计1. 重点把握的内容 :结构化设计的过程和方法 概要设计任务:系统分析员审查软件方案、软件需求分析供应 的文档,提出正确举荐方案,用系统流程图,组成系 统物理元素清单,成本效益分析,系统的进度方案,供专家审定,审定后进入设计;确定模块结构,划分
13、功能模块,将软件功能需求分 配给所划分的最小单元模块;确定模块间的联系,确 定数据结构、文件结构、数据库模式,确定测试方法 与策略; 编写概要设计说明书,用户手册,测试方案,选 用相关的软件工具来描述软件结构,结构图是常常使 用的软件描述工具;挑选分解功能与划分模块的设计 原就,例如模块划分独立性原就,信息隐匿原就等;概要设计过程 :概要设计要先进行系统设计,复 审系统方案与需求分析,确定系统具体的实施方案;然后进行结构设计,确定软件结构;软件设计的概念与原就:将软件划分成如干独立成分的依据;9 / 32 名师归纳总结 - - - - - - -第 9 页,共 32 页精选学习资料 - - -
14、 - - - - - - 如何表示不同的成分内的功能细节和数据结 构;如何统一衡量软件设计的技术质量;其中有几个概念: 1.模块化 :就是把程序划分成如 干个模块,每个模块具有一个子功能,把这些模块集 总起来组成一个整体,可以完成指定的功能,实现问 题的要求; 2. 抽象:就是抽出事物的本质特性而临时 不考虑它们的细节; 3. 信息隐匿 : 模块中所包括的信 息不答应其它不需要这些信息的模块调用;4. 信息局 部化:是指把一些关系亲密的软件元素物理地放得彼 此靠近; 5. 模块独立性 :是软件系统中每个模块只涉 及软件要求的具体子功能,而和软件系统中其他的模 块接口是简洁的;模块独立的概念是模
15、块化、抽象、信息隐匿和局部化概念的直接结果;6. 耦合:是对一个软件结构内各个模块之间互连程度的度量;耦合强 弱取决于模块间接口的复杂程度,调用模块的方式,以及通过接口的信息; 7. 内聚:标志一个模块内各个 元素彼此结合的紧密程度,它是信息隐匿和局部化概 念的自然扩展;概要设计的方法:面对数据流的设计方法把信息流映射成软件结构,信息流的类型打算了映射的方 法;面对数据流的设计要解决的任务,就是上述需求10 / 32 名师归纳总结 - - - - - - -第 10 页,共 32 页精选学习资料 - - - - - - - - - 分析的基础上,将DFD 图映射为软件系统的结构;换句话说,这类
16、设计方法答应把用 DFD 图表示的系 统规律模型便利地转换成对于软件结构的初始设计描 述;懂得基本概念:信息流(包括变换流和事务 流)、抽象与逐步求精;模块化与信息隐匿;软件总 体结构、数据结构与软件过程;面对数据结构的分析设计方法 : Jackson 系统开发方法( JSD): Jackson 系统 开发方法(JSD,Jackson System Development)是一种典型的面对数据结构的分析设计方法,它 是以信息驱动的,是将信息转换成软件的程序结 构; Warnier 方法 :Warnier 程序设计方法是由法国人 J.D.Warnier提出的另一种面对数据结构的设计方法,又称为规
17、律构造程序的方法,简称 LCP( Logical Construction of Programs)方法;Warnier 方法的原理和 Jackson 方法类似,也是从 数据结构动身设计程序,但是这种方法的规律更 严格;2. 一般把握的内容 : 概要设计的文档与评审 学会撰写概要设计的文档并能评审出概要设计文 档是否符合要求;概要设计说明书的主要内容及结11 / 32 名师归纳总结 - - - - - - -第 11 页,共 32 页精选学习资料 - - - - - - - - - 构详见 4.5 节;具体设计1. 重点把握的内容: 具体设计的任务和方法具体设计的任务:具体设计就是要在概要设计
18、的结果的基础上,考虑“ 怎样实现” 这个软件系统,直 到对系统中的每个模块给出足够具体的过程性描述;主要任务如下:为每个模块确定采纳的算法,挑选 某种适当的工具表达算法的过程,写出模块的具体过 程性描述;确定每一模块使用的数据结构;确定 模块接口的细节,包括对系统外部的接口和用户界 面,对系统内部其它模块的接口,以及模块输入数 据、输出数据及局部数据的全部细节;要为每一个 模块设计出一组测试用例,以便在编码阶段对模块代 码(即程序)进行预定的测试,模块的测试用例是软 件测试方案的重要组成部分,通常应包括输入数据,期望输出等内容;具体设计的方法 :程序流程图、 N-S 图、PAD图、HIPO图
19、程序流程图:程序流程图又称之为程序框图,它 是软件开发者最熟识的一种算法表达工具;它独立于 任何一种程序设计语言,比较直观和清晰地描述过程 的掌握流程,易于学习把握;在流程图中只能使用下12 / 32 名师归纳总结 - - - - - - -第 12 页,共 32 页精选学习资料 - - - - - - - - - 述的五种基本掌握结构;次序型;挑选型;while型循环; until型循环;多情形型选择;详见 5.2.1 节;N-S 图:Nassi 和 Shneiderman 提出了一种符合结 构化程序设计原就的图形描述工具,称为盒图,又称 为 N-S 图;在 N-S 图中,为了表示五种基本掌
20、握结 构,规定了五种图形构件;次序型; 挑选型; WHILE 重复型; UNTIL 重复型; 多分支选 择型;PAD图:它是用结构化程序设计思想表现程序逻 辑结构的图形工具; PAD也设置了五种基本掌握结构的图示,并答应递归使用;详见5.2.3 节;HIPO图:HIPO图是由一组 IPO 图加一张 HC图组 成;它是美国 IBM公司在软件设计中使用的主要表达工具;HC 图 是 层 次 图 ( Hierarchy 写,用于表示软件的分层结构;chart ) 的 英 文 缩 HC 图中的每一个模块,均可用一张 IPO 图来描述; IPO 图由输入、处理和输出三个框组成,需要时仍可以增加一个数据文件
21、框,这种图形的优点,是能够直观地显示输入处理输出三者之间的联系;2. 一般把握的内容 : 具体设计的原就及具体设计规13 / 32 名师归纳总结 - - - - - - -第 13 页,共 32 页精选学习资料 - - - - - - - - - 格与评审具体设计的原就:原就是过程描述是否易于理解、复审和爱护,进而过程描述能够自然地转换成代 码,并保证具体设计与代码完全一样;具体设计规格与评审:评审 第 5 章结构化实现1. 重点把握的内容具体设计说明书的框架及:程序设计语言的特点、编程风格、程序效率和编程安全;结构化的 软件测试 程序设计语言的特点 : 程序设计语言是人与运算机 沟通的媒介;
22、软件工程师应当明白程序设计语言各方 面的特点,以及这些特点对软件质量的影响,以便在 需要为一个特定的开发工程挑选语言时,能作出合理 的技术选择;其特点表现为九个方面:名字说明;类型说明;初始化;程序对象的局部性;程 序模块;循环掌握结构;分支掌握结构;反常 处理;独立编译;编程风格: 编码风格又称程序设计风格或编程风 格,实际上指编程的原就;表现为四个方面:源程序 文档化,数据说明的方法,语句结构和输入输出方 法;14 / 32 名师归纳总结 - - - - - - -第 14 页,共 32 页精选学习资料 - - - - - - - - - 源程序文档化:源程序文档化又可从四个方面来 阐述,
23、符号名的命名;程序的注释;标准的书 写格式;数据说明:数据说明的次序应当规范化;使数据 属性简洁查找,也有利于测试,排错和爱护;语句结构:语句构造力求简洁、直接,不能为了 片面追求效率而使语句复杂化;可从以下几方面注意: 1使用标准的掌握结构;2尽可能使用库函数;3程序编写第一应当考虑清晰性;4留意使用GOTO 语句;输入输出方法:输入输出的方式和格式应当尽量作到对用户友善(用户的使用;User Friendly),尽可能便利程序效率: 程序效率是指程序的执行速度及程序 占用的储备空间;影响程序效率的因素是多方面的,编程安全: 提高软件质量和牢靠性的技术大致可 分为两类,一类是躲开错误技术,即
24、在开发的过程中 不让差错潜入软件的技术;另一类是容错技术,即对 某些无法躲开的差错,使其影响减至最小的技术;避 开错误技术是进行质量治理,实现产品应有质量所必 不行少的技术,也就是软件工程中所争论的先进的软 件分析和开发技术和治理技术;但是,无论使用多么15 / 32 名师归纳总结 - - - - - - -第 15 页,共 32 页精选学习资料 - - - - - - - - - 高明的躲开错误技术,也无法做到完善无缺和绝无错误,这就需要采纳容错技术;实现容错的主要手段是冗余和防错程序设计;结构化的软件测试:软件测试在程序员对每一个模块的编码之后先做程序测试,再做单元测试,然后 再进行集成(
25、综合或组装)测试,系统测试,验收(确认)测试,平行测试,人工测试,其中单元测试 的一部分己在编码阶段就开头了;测试:就是用已知的输入在已知环境中动态地执 行系统(或系统的“ 部件” );假如测试结果和预期 结果不一样,就很可能是发觉了系统中的错误;软件测试:软件测试是对软件方案、软件设计、软件编码进行查错和纠错的活动(包括代码执行活动 与人工活动);程序测试:是对编码阶段的语法错、语义错、运 行错进行查找的代码执行活动;找出编码中错误的代 码执行活动称程序测试;订正编码中的错误的执行活 动称程序调试;程序测试的目的是查找编码错与订正 编码错,保证算法的正的确现;测试的原就:(1)测试前要认定被
26、测试软件有错,不要认为软 件没有错;16 / 32 名师归纳总结 - - - - - - -第 16 页,共 32 页精选学习资料 - - - - - - - - - (2)要预先确定被测试软件的测试结果;(3)要尽量防止测试自己编写的程序;(4)测试要兼顾合理输入与不合理输入数据;(5)测试要以软件需求规格说明书为标准;(6)要明确找到的新错与已找到的旧错成正比;(7)测试是相对的,不能穷尽全部的测试,要据 人力物力支配测试,并挑选好测试用例与测试方法;(8)测试用例留作测试报告与以后的反复测试 用,重新验证纠错的程序是否有错;测试方法 : 依据测试过程是否在实际应用环境中来 分,有静态分析
27、与动态测试;测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒 法);静态分析技术:不执行被测软件,可对需求分析 说明书、软件设计说明书、源程序做结构检查、流程 分析、符号执行来找出软件错误;动态测试技术:当把程序作为一个函数,输入的 全体称为函数的定义域,输出的全体称为函数的值 域,函数就描述了输入的定义域与输出值域的关系;这样动态测试的算法可归纳为:选取定义域中的有效值,或定义域外无效值;对已选取值打算预期的结果;17 / 32 名师归纳总结 - - - - - - -第 17 页,共 32 页精选学习资料 - - - - - - - - - 用选取值执行程序;观看程序行为,
28、记录执行结果;将的结果与的结果相比较,不吻合就程序 有错;动态测试既可以采纳白盒法对模块进行规律结构 的测试,又可以用黑盒法做功能结枸的测试、接口的 测试,都是以执行程序并分析执行结果来查错的;白盒法 : 是通过分析程序内部的规律与执行路线来 设计测试用例,进行测试的方法,白盒法也称规律驱 动方法;白盒法的具体设计程序测试用例的方法有:语句掩盖、分支(判定)掩盖、条件掩盖、路径掩盖(或条件组合掩盖),主要目的是提高测试的掩盖 率;黑盒法 : 是功能驱动方法,仅依据I/O 数据条件来设计测试用例,而不管程序的内部结构与路径如何;黑盒法的具体设计程序测试用例的方法有:等价类划 分法,边界值分析法,
29、错误估量法,主要目的是设法 以最少测试数据子集来尽可能多的测试软件程序的错 误;设计测试方案 : 测试方案包括预定要测试的功能,应当输入的测试数据和预期的结果,其中最困难的问 题是设计测试用的输入数据(即测试用例);通常的18 / 32 名师归纳总结 - - - - - - -第 18 页,共 32 页精选学习资料 - - - - - - - - - 做法是,用黑盒法设计基本的测试方案,再用白盒法补充一些方案;详见8.7.2 节中的例子;软件测试的步骤: 软件测试的步骤详见 8.7.3 节中 的图 8-8 测试步骤;单元测试:单元测试也称模块测试、规律测试、结构测试,测试的方法一般采纳白盒法,
30、以路径掩盖 为正确测试准就;集成测试:单元测试之后便进入组装测试;尽管 模拟了驱动模块和存根模块进行单元测试,由于测试 不能穷尽,单元测试又会引入新错误,单元测试后肯 定会有隐匿错误,组装不行能一次胜利,必需经测试 后才能胜利;集成测试分为增式组装测试和非增式组 装测试,所谓非增式组装,依据结构图一次性将各单 元模块组装起来;所谓增式组装是指依据结构图自顶 向下或自底向上逐步安装;确认测试:确认测试也称合格测试或称验收测 试;组装后己成为完整的软件包,排除了接口的错 误;确认测试主要由使用用户参与测试,检验软件规 格说明的技术标准的符合程度,是保证软件质量的最 后关键环节;系统测试:一般的系统
31、除了确认测试外仍要做如 下几个方面的系统测试19 / 32 名师归纳总结 - - - - - - -第 19 页,共 32 页精选学习资料 - - - - - - - - - 复原测试 通过系统的修复才能,检测重新初始化,数据恢 复,重新启动,检验点设置机构是否正确,以及人工 干预的平均复原时间是否在答应范畴内;安全测试 设计测试用例,突破软件安全爱护的机构安全保 密措施,检验系统是否安全保密的漏洞;强度测试 设计测试用例,检验系统的才能最高能达到什么 实际的限度,让系统处于资源的反常数量、反常频 率、反常批量的条件下运行测试系统的承担才能;一般取比平常限度高 性能测试5 一 10 倍的限度做
32、测试用例;设计测试用例测试并记录软件运行性能,与性能 要求比较,看是否达到性能要求规格;这项测试常常 与强度测试相结合进行;1 一般把握内容: 软件爱护过程 软件爱护: 软件运行 / 爱护阶段对软件产品所进行 的修改就是爱护;爱护的问题: 软件爱护存在的绝大多数问题,都 是由于软件定义和软件开发的方法有问题;在软件生 命周期的头两个时期没有严格而又科学的治理和规20 / 32 名师归纳总结 - - - - - - -第 20 页,共 32 页精选学习资料 - - - - - - - - - 划,几乎必定会导致在最终阶段显现问题;软件爱护步骤及组织:为了正确、有效地修改,需要经受以下三个步骤:1
33、.分析和懂得程序;2.修改程序; 3.重新验证程序; 4.爱护组织;第六章面对对象的分析和设计方法1.重点把握的内容 :面对对象的基本概念和特点面对对象的基本概念:面对对象不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待 软件系统与现实世界的关系,以什么观点来争论问题 并进行求解,以及如何进行系统构造的软件方法学;而面对对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开 发方法;面对对象方法的基本思想是,从现实世界中 客观存在的事物(即对象)动身来构造软件系统,并 在系统构造中尽可能运用人类的自然思维方式;面对对象的几个重要概念: 对象、消息、方
34、法性、继承性、封装性等;详见 6.1.3 节;面对对象方法的基本特点 :从问题域中客观存在的事物动身来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位;21 / 32 名师归纳总结 - - - - - - -第 21 页,共 32 页精选学习资料 - - - - - - - - - 事物的静态特点(即可以用一些数据来表达的 特点)用对象的属性表示,事物的动态特点(即事物 的行为)用对象的服务(或操作)表示;对象的属性与服务结合为一体,成为一个独立 的实体,对外屏蔽其内部细节(称作封装);对事物进行分类;把具有相同属性和相同服务 的对象归为一类,类是这些对象的抽象描述,
35、每个对 象是它的类的一个实例;通过在不同程度上运用抽象的原就(较多或较 少地忽视事物之间的差异),可以得到较一般的类和 较特殊的类;特殊类继承一般类的属性与服务,面对 对象方法支持对这种继承关系的描述与实现,从而简 化系统的构造过程及其文档;复杂的对象可以用简洁的对象作为其构成部 分,称作聚合;对象之间通过消息进行通信,以实现对象之间 的动态联系;通过关联表达对象之间的静态关系;3. 一般把握的内容 : 面对对象分析与设计方法面对 对象程序设计步骤22 / 32 名师归纳总结 - - - - - - -第 22 页,共 32 页精选学习资料 - - - - - - - - - 面对对象分析方法
36、:目前显现有 法;OOA与 OOD方面对对象设计方法:OOA 与 OOD 的职责划分是:OOA 针对问题域运用OO 方法,建立一个反映问题域的 OOA 模型,不考虑与系统的具体实现有关的因素(例如采纳什么编程语言、图形用户界面、数据库等等),从而使OOA 模型独立于具体的实现;OOD 就是针对系统的一个具体的实现运用 OO 方法;其中包括两方面的工作,一是把OOA 模型直接搬到 OOD(不经过转换,仅作某些必要的修改和调 整),作为 OOD 的一个部分;二是针对具体实现中 的人机界面、数据储备、任务治理等因素补充一些与实现有关的部分;这些部分与 法和模型结构;第 11章工程方案与治理OOA 采
37、纳相同的表示1. 重点把握的内容: 软件工程特点及软件治理功 能软件工程特点 :软件产品与其他任何产品不同,它是无形的,完全没有物理属性;其特点表现为: 智力密集,可见性差;单件生产:在特定机型上,利用特定硬件配置,由特定的系统软件或支撑软件的 支持,形成了特定的开发环境;劳动密集,自动化23 / 32 名师归纳总结 - - - - - - -第 23 页,共 32 页精选学习资料 - - - - - - - - - 程度低:使用方法繁琐,爱护困难;软件工作渗透了人的因素;软件治理的功能:软件治理的主要功能包括:制定方案:规定待完成的任务、要求、资源、人力和进度等;建立组织工程:为实施方案,保
38、证任务的 完成,需要建立分工明确的责任机构;配备人员:任用各种层次的技术人员和治理人员;指导:勉励和动员软件人员完成所安排的情形;2. 一般把握的内容:软件配置治理的过程 软件配置治理的过程:软件配置治理 SCM除了负 担掌握变化之外,它仍要担负标识单个的 SCI 和软件 各种版本、审查软件配置以保证开发得以正常进行,以及报告全部加在配置上的变化等任务;关于 SCM需要考虑这样一些问题:(1)采纳什么方式标识和治理很多已存在的程序 的各种版本?使得变化能够有效地实现;(2)在软件交付用户之前和之后,如何掌握变 化?(3)谁有权批准和对变化支配优先级?(4)如何保证变化得以正确地实施?(5)利用
39、什么方法估量变化可能引起的其它问 题?24 / 32 名师归纳总结 - - - - - - -第 24 页,共 32 页精选学习资料 - - - - - - - - - 这些问题归结到SCM的五个任务,即标识、版本掌握、修改掌握、配置审计和配置报告 标识配置对象为了掌握和治理的便利,全部SCI 都应按面对对象的方式命名并组织起来;此时,对象分为基本对象 和组合对象,基本对象指在分析、设计、编码或测试阶段由开发人员创建的某个“单位正文描述 ” ,复合对象指由如干基本对象和复合对象组合而成的对象,它 由“数据模型 ” 和“模块 N”等基本对象组合而成;每个配置对象都拥出名字、描述、资源列表和实 际
40、存在体四个部分;对象名一般为字符串;对象描述 包括如干数据项,它们指明对象的类型(例如,文 档、程序仍是数据)、所属工程工程的标志及变动和 版本的有关信息;资源列表给出该对象要求、引用、处理和供应的全部实体,如数据类型、特殊函数等,有时变量也被看作资源;只有基本对象才有实际存在 体,它是指向该对象“ 单元正文描述” 的一个指针,复合对象此项取 null 值;除了标识配置对象外,仍必需指明对象之间的关 系,一个对象可标识为另一复合对象的一部分,即此 两对象之间存在一个 关系;如干 “E-R 图 关系可定义出对象之间的分层结构;例如:25 / 32 名师归纳总结 - - - - - - -第 25
41、 页,共 32 页精选学习资料 - - - - - - - - - 1.4 ” “数据模型 ”;版本掌握 配置治理的版本掌握主要解决以下问题:(1)依据不同用户的需要配置不同的系统;(2)储存系统老版本,为以后调查问题使用;(3)建立一个系统新版本,使它包括某些决策;(4)支持两为位以上工程师同时在一个工程工 作;(5)高效储备工程的多个版本;修改掌握 所谓修改掌握,即把人的努力与自动工具结合起 来,建立一套机制,有意识地掌握软件修改;配置审计 确认修改是否已正的确施有两种措施,一种是正 式的技术复审,另一种是软件配置审计;正式的技术复审着重考虑所修改对象在技术上的 正确性 , 复审人员应对该
42、对象是否与其他 SCI 和谐以 及在修改中可能产生的疏忽和副作用进行全面的评 估;软件配置审计作为一种补救措施,主要考虑以下 在正式技术复审中未被考虑的因素:(1)掌握变动命令指出的修改是否都已完成?仍 另加了哪些修改?26 / 32 名师归纳总结 - - - - - - -第 26 页,共 32 页精选学习资料 - - - - - - - - - (2)是否做过正式技术复审?(3)是否严格遵守软件工程标准?(4)修改过的SCI 是否做了特殊标记?修改的日期和执行修改的人员是否已经注册?该 SCI 的属性是 否能够反映本次修改的结果?(5)是否完成与本次修改有关的注释、记录和报 告等事宜?(6)全部相关的 SCI 是否已一并修改?二、考试卷型 笔试卷型和解题基本要求 考试卷型可以有挑选、填空、判定、简答题、建 模题等;挑选、填空题、判定、简答题主要考核同学对基 本概念的懂得和把握程度;建模题主要考核同学对所学学问的应用才能;例如:挑选:1. 一个胜利的测试可以 ;A、说明程序没有错误 B、发觉全部 错误27 / 32 名师归纳总结 - - - - - - -第 27 页,共 32 页精选学习资料 - - - - - - - - - C、提高软件牢靠性 D、发觉尚未发觉