2023年软件工程本科复习重点难点.docx
《2023年软件工程本科复习重点难点.docx》由会员分享,可在线阅读,更多相关《2023年软件工程本科复习重点难点.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程(本科)复习重点难点重点规定是以软件工程课程的教学大纲为依据,目 的在于使学生理清思绪,分清主次。为本课程的期末 复习提供参考。一、各章重点、难点和复习规定说明第一章软件工程概述.重点掌握的内容:软件和软件工程的基本概念 软件:软件定义由以下三部分组成:(1) 在运营中能提供所希望的功能和性能的指令集(即程序);(2) 使程序可以对的运营的数据结构;(3) 描述程序研制过程、方法所用的文挡。软件是一种产品,同时又是开发和运营产品的载 体。作为一种产品,它表达了由计算机硬件体现的计算 潜能。作为开发运营产品的载体,软件是计算机工作的 基础、信息通信的基础,也是创建和控制其他程序的基 础。
2、软件的特点:软件是一种逻辑实体,而不是具体 的物理实体,因而它具有抽象性。软件是通过人们 的智力活动,把知识与技术转化成信息的一种产品, 是在研制、开发中被发明出来的。在软件的运营和如何统一衡量软件设计的技术质量。其中有几个概念:1 .模块化:就是把程序划提成若干 个模块,每个模块具有一个子功能,把这些模块集总起 来组成一个整体,可以完毕指定的功能,实现问题的规 定。2. 抽象:就是抽出事物的本质特性而暂时不考 虑它们的细节。3.信息隐蔽: 模块中所涉及的信息 不允许其它不需要这些信息的模块调用。4.信息局 部化:是指把一些关系密切的软件元素物理地放得彼 此靠近。5.模块独立性:是软件系统中每
3、个模块只涉 及软件规定的具体子功能,而和软件系统中其他的模 块接口是简朴的。模块独立的概念是模块化、抽象、 信息隐蔽和局部化概念的直接结果。6.耦合:是对一 个软件结构内各个模块之间互连限度的度量。耦合强 弱取决于模块间接口的复杂限度,调用模块的方式, 以及通过接口的信息。7.内聚:标志一个模块内各个元 素彼此结合的紧密限度,它是信息隐蔽和局部化概念 的自然扩展。概要设计的方法:面向数据流的设计方法把信息流 映射成软件结构,信息流的类型决定了映射的方法。面 向数据流的设计要解决的任务,就是上述需求分析的 基础上,将DFD图映射为软件系统的结构。换句话说, 这类设计方法允许把用DFD图表达的系统
4、逻辑模型 方便地转换成对于软件结构的初始设计描述。理解基 本概念:信息流(涉及变换流和事务流)、抽象与逐步求 精;模块化与信息隐藏;软件总体结构、数据结构与软 件过程。面向数据结构的分析设计方法:J a c kson系统开发方法(JSD) : Jack s o n系统 开发方法(JS D , Jack son Sys tem Dev e 1 o p men t )是一种典型的面向数据结构的分析设计方 法,它是以信息驱动的,是将信息转换成软件的程 序结构。Warn i er方法:Warn i er程序设计方法是由 法国人J. D. W a r n i er提出的另一种面向数据 结构的设计方法,又
5、称为逻辑构造程序的方法,简 称 LCP (Log ical Con struction o f P rogram s )方法。War n i e r方法的原理和J a cks on方法类似,也是从数据结构出发设计程序,但 是这种方法的逻辑更严格。2. 一般掌握的内容:概要设计的文档与评审学会撰写概要设计的文档并能评审出概要设计文 档是否符合规定。概要设计说明书的重要内容及结构 详见4. 5节。具体设计1 .重点掌握的内容:具体设计的任务和方法具体设计的任务:具体设计就是要在概要设计的结 果的基础上,考虑“如何实现”这个软件系统,直到对 系统中的每个模块给出足够具体的过程性描述。重要 任务如下:
6、为每个模块拟定采用的算法,选择某种适 当的工具表达算法的过程,写出模块的具体过程性描 述;拟定每一模块使用的数据结构;拟定模块接 口的细节,涉及对系统外部的接口和用户界面,对系统 内部其它模块的接口,以及模块输入数据、输出数据及 局部数据的所有细节。要为每一个模块设计出一组 测试用例,以便在编码阶段对模块代码(即程序)进行 预定的测试,模块的测试用例是软件测试计划的重要 组成部分,通常应涉及输入数据,盼望输出等内容。具体设计的方法:程序流程图、N-S图、PAD图、H IPO图程序流程图:程序流程图又称之为程序框图,它是 软件开发者最熟悉的一种算法表达工具。它独立于任 何一种程序设计语言,比较直
7、观和清楚地描述过程的 控制流程,易于学习掌握。在流程图中只能使用下述 的五种基本控制结构。顺序型;选择型;while 型循环;until型循环;多情况型选择。详见 5. 2. 1 节。N-S 图:Nassi 和 Shneiderma n 提出了一种符合 结构化程序设计原则的图形描述工具,称为盒图,又称 为N-S图。在N-S图中,为了表达五种基本控制结构, 规定了五种图形构件。顺序型; 选择型;WHI LE反复型;UNTIL反复型; 多分支选择型。PAD图:它是用结构化程序设计思想表现程序逻辑 结构的图形工具。PAD也设立了五种基本控制结构的 图示,并允许递归使用。详见5. 2.3节。H I P
8、0图:HIPO图是由一组IPO图加一张HC图组 成。它是美国I BM公司在软件设计中使用的重要表达 工具。HC图是层次图(Hierarchy cha r t)的英文缩写,用 于表达软件的分层结构。HC图中的每一个模块,均可 用一张IP。图来描述。IPO图由输入、解决和输出 三个框组成,需要时还可以增长一个数据文献框,这种 图形的优点,是可以直观地显示输入一解决一输出三 者之间的联系。2 .一般掌握的内容:具体设计的原则及具体设计规格与评审具体设计的原则:原则是过程描述是否易于理解、 复审和维护,进而过程描述可以自然地转换成代码,并 保证具体设计与代码完全一致。具体设计规格与评审:具体设计说明书
9、的框架及评 审第5章 结构化实现1.重点掌握的内容:程序设计语言的特点、编程风格、程序效率和编程安全;结构化的软件 测试程序设计语言的特点:程序设计语言是人与计算机 交流的媒介。软件工程师应当了解程序设计语言各方 面的特点,以及这些特点对软件质量的影响,以便在需 要为一个特定的开发项目选择语言时,能作出合理的 技术抉择。其特点表现为九个方面:名字说明;类型 说明;初始化;程序对象的局部性;程序模块; 循环控制结构;分支控制结构;异常解决; 独立编译。编程风格:编码风格又称程序设计风格或编程风格, 事实上指编程的原则。表现为四个方面:源程序文档 化,数据说明的方法,语句结构和输入/输出方法。源程
10、序文档化:源程序文档化又可从四个方面来阐 述,符号名的命名;程序的注释;标准的书写格 式;数据说明:数据说明的顺序应当规范化。使数据属性 容易查找,也有助于测试,排错和维护。语句结构:语句构造力求简朴、直接,不能为了片面 追求效率而使语句复杂化。可从以下几方面注意:1.使 用标准的控制结构;2.尽也许使用库函数;3.程序 编写一方面应当考虑清楚性;4.注意使用GOTO语 句;输入/输出方法:输入/输出的方式和格式应当尽量 作到对用户友善(User Fri e nd 1 y),尽也许方便用 户的使用。程序效率:程序效率是指程序的执行速度及程序占 用的存储空间。影响程序效率的因素是多方面的,编程安
11、全:提高软件质量和可靠性的技术大体可分 为两类,一类是避开错误技术,即在开发的过程中不让 差错潜入软件的技术;另一类是容错技术,即对某些 无法避开的差错,使其影响减至最小的技术;避开错 误技术是进行质量管理,实现产品应有质量所必不可 少的技术,也就是软件工程中所讨论的先进的软件分 析和开发技术和管理技术。但是,无论使用多么高明 的避开错误技术,也无法做到完美无缺和绝无错误, 这就需要采用容错技术。实现容错的重要手段是冗余 和防错程序设计。结构化的软件测试:软件测试在程序员对每一个模 块的编码之后先做程序测试,再做单元测试,然后再进 行集成(综合或组装)测试,系统测试,验收(确认)测 试,平行测
12、试,人工测试,其中单元测试的一部分己在 编码阶段就开始了。测试:就是用已知的输入在已知环境中动态地执行 系统(或系统的“部件”)。假如测试结果和预期结果 不一致,则很也许是发现了系统中的错误。软件测试:软件测试是对软件计划、软件设计、软 件编码进行查错和纠错的活动(涉及代码执行活动与 人工活动)。程序测试:是对编码阶段的语法错、语义错、运营错 进行查找的代码执行活动。找出编码中错误的代码执 行活动称程序测试。纠正编码中的错误的执行活动称 程序调试。程序测试的目的是查找编码错与纠正编码 错,保证算法的正的确现。测试的原则:(1)测试前要认定被测试软件有错,不要认为软件 没有错。(2)要预先拟定被
13、测试软件的测试结果。(3)要尽量避免测试自己编写的程序。(4)测试要兼顾合理输入与不合理输入数据。(5)测试要以软件需求规格说明书为标准。(6)要明确找到的新错与已找到的旧错成正比。(7)测试是相对的,不能穷尽所有的测试,要据人 力物力安排测试,并选择好测试用例与测试方法。(8)测试用例留作测试报告与以后的反复测试用, 重新验证纠错的程序是否有错。测试方法:按照测试过程是否在实际应用环境中来 分,有静态分析与动态测试。测试方法有分析方法(涉 及静态分析法与白盒法)与非分析方法(称黑盒法)。静态分析技术:不执行被测软件,可对需求分析说 明书、软件设计说明书、源程序做结构检查、流程分 析、符号执行
14、来找出软件错误。动态测试技术:当把程序作为一个函数,输入的全体 称为函数的定义域,输出的全体称为函数的值域,函数 则描述了输入的定义域与输出值域的关系。这样动态 测试的算法可归纳为:选取定义域中的有效值,或定义域外无效值。对已选取值决定预期的结果。用选取值执行程序。观测程序行为,记录执行结果。将的结果与的结果相比较,不吻合则程序有 错。动态测试既可以采用白盒法对模块进行逻辑结构 的测试,又可以用黑盒法做功能结枸的测试、接口的 测试,都是以执行程序并分析执行结果来查错的。白盒法:是通过度析程序内部的逻辑与执行路线来 设计测试用例,进行测试的方法,白盒法也称逻辑驱 动方法。白盒法的具体设计程序测试
15、用例的方法有: 语句覆盖、分支(鉴定)覆盖、条件覆盖、途径覆盖(或 条件组合覆盖),重要目的是提高测试的覆盖率。黑盒法:是功能驱动方法,仅根据I/O数据条件来 设计测试用例,而不管程序的内部结构与途径如何。 黑盒法的具体设计程序测试用例的方法有:等价类划 分法,边界值分析法,错误推测法,重要目的是设法以 最少测试数据子集来尽也许多的测试软件程序的错 误。设计测试方案:测试方案涉及预定要测试的功能, 应当输入的测试数据和预期的结果,其中最困难的问 题是设计测试用的输入数据(即测试用例)。通常的做 法是,用黑盒法设计基本的测试方案,再用白盒法补充 一些方案。详见8. 7. 2节中的例子。软件测试的
16、环节:软件测试的环节详见节中 的图8-8测试环节。单元测试:单元测试也称模块测试、逻辑测试、结 构测试,测试的方法一般采用白盒法,以途径覆盖为最 佳测试准则。集成测试:单元测试之后便进入组装测试。尽管模 拟了驱动模块和存根模块进行单元测试,由于测试不 能穷尽,单元测试又会引入新错误,单元测试后肯定会 有隐藏错误,组装不也许一次成功,必须经测试后才干 成功。集成测试分为增式组装测试和非增式组装测试, 所谓非增式组装,按照结构图一次性将各单元模块组 装起来。所谓增式组装是指按照结构图自顶向下或自 底向上逐渐安装。确认测试:确认测试也称合格测试或称验收测试。 组装后己成为完整的软件包,消除了接口的错
17、误。确认 测试重要由使用用户参与测试,检查软件规格说明的 技术标准的符合限度,是保证软件质量的最后关键环 节。系统测试:一般的系统除了确认测试外还要做如下 几个方面的系统测试恢复测试通过系统的修复能力,检测重新初始化,数据恢复, 重新启动,检查点设立机构是否对的,以及人工干预的 平均恢复时间是否在允许范围内。安全测试设计测试用例,突破软件安全保护的机构安全保密 措施,检查系统是否安全保密的漏洞。使用期间,没有硬件那样的机械磨损、老化问题。 软件的开发和运营经常受到计算机系统的限制,对计 算机系统有着不同限度的依赖性。软件的开发至今 尚未完全摆脱手工的开发方式。软件的开发费用越 来越高,成本相称
18、昂贵。软件工程:是指导计算机软件开发和维护的工程学 科。采用工程的概念、原理、技术和方法来开发与维 护软件,把通过时间考验而证明对的的管理技术和当 前可以得到的最佳的技术方法结合起来。软件工程准则可以概括为七条基本原理:(1)用分阶段的生存周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚地审查结果;(6 )开发小组的人员应当少而精(7)认可不断改善软件工程实践的必要性。具体阐 述见书中1.2. 2节。软件危机:指的是软件开发和维护过程中碰到的一 系列严重问题。软件工程的基本内容:软件工程学的内容可涉及理 论、结构、方法、工具、环
19、境、管理、规范等。强度测试设计测试用例,检查系统的能力最高能达成什么实 际的限度,让系统处在资源的异常数量、异常频率、 异常批量的条件下运营测试系统的承受能力。一般取 比平常限度高5-10倍的限度做测试用例。性能测试设计测试用例测试并记录软件运营性能,与性能规 定比较,看是否达成性能规定规格。这项测试经常与 强度测试相结合进行。1. 一般掌握内容:软件维护过程软件维护:软件运营/维护阶段对软件产品所进行 的修改就是维护。维护的问题:软件维护存在的绝大多数问题,都是由 于软件定义和软件开发的方法有问题。在软件生命周 期的头两个时期没有严格而又科学的管理和规划,几 乎必然会导致在最后阶段出现问题。
20、软件维护环节及组织:为了对的、有效地修改,需要 经历以下三个环节:1 .分析和理解程序;2.修改程 序;3.重新验证程序;4.维护组织。第六章面向对象的分析和设计方法.重点掌握的内容:面向对象的基本概念和特性面向对象的基本概念:面向对象不仅是一些具体 的软件开发技术与策略,并且是一整套关于如何看待 软件系统与现实世界的关系,以什么观点来研究问题 并进行求解,以及如何进行系统构造的软件方法学。 而面向对象方法是一种运用对象、类、继承、封装、 聚合、消息传送、多态性等概念来构造系统的软件开 发方法。面向对象方法的基本思想是,从现实世界中 客观存在的事物(即对象)出发来构造软件系统,并在 系统构造中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 软件工程 本科 复习 重点难点
限制150内