软件工程复习重点难点 .docx
《软件工程复习重点难点 .docx》由会员分享,可在线阅读,更多相关《软件工程复习重点难点 .docx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结软件工程(本科)复习重点难点重点要求是以 软件工程 课程的教案大纲为依据, 目的在于使同学理清思路,分清主次。为本课程的期末复习供应参考。一、 各章重点、难点和复习要求说明第一章软件工程概述1. 重点把握的内容 :软件和软件工程的基本概念软件: 软件定义由以下三部分组成:(1) 在运行中能供应所期望的功能和性能 的指令集(即程序)。(2) 使程序能够正确运行的数据结构。( 3)描述程序研制过程、方法所用的文挡。软件是一种产品,同时又是开发和运行产品的载体。作为一种产品,它表达了由运算机硬件表达的运算潜能。作为开发运行产品的载体,软件是运算机工作的基础、信息通信的基础,也是创建和
2、掌握其他程序的基础。软件的特点 :软件是一种规律实体,而不是具 体的物理实体,因而它具有抽象性。软件是通过人们的智力活动,把学问与技术转化成信息的一种产可编辑资料 - - - 欢迎下载精品名师归纳总结品,是在研制、开发中被制造出来的。在软件的运行和使用期间,没有硬件那样的机械磨损、老化问 题。软件的开发和运行常常受到运算机系统的限 制,对运算机系统有着不同程度的依靠性。软件的开发至今尚未完全摆脱手工的开发方式。软件的开发费用越来越高,成本相当昂贵。软件工程: 是指导运算机软件开发和爱护的工程学科。采纳工程的概念、原理、技术和方法来开发与爱护软件,把经过时间考查而证明正确的治理技术和当前能够得到
3、的最好的技术方法结合起来。软件工程准就可以概括为七条基本原理:(1) 用分阶段的生存周期方案严格治理。(2) 坚持进行阶段评审。(3) 实行严格的产品掌握。(4) 采纳现代程序设计技术。(5) 结果应能清晰的审查结果。(6) 开发小组的人员应当少而精(7) 承认不断改进软件工程实践的必要性。具体阐述见书中 1.2.2节。软件危机:指的是软件开发和爱护过程中遇到的一系列严峻问题。软件工程的基本内容:软件工程学的内容可包括可编辑资料 - - - 欢迎下载精品名师归纳总结理论、结构、方法、工具、环境、治理、规范等。其次章软件过程1 重点把握的内容: 软件生存周期及软件开发的各种模型。软件生存周期:
4、一个软件从定义到开发、使用和爱护,直到最终被弃用,要经受一个漫长的时期,通常把软件经受的这个漫长的时期称为生存周期。软件生存周期一般可分为以下阶段:问题定义需求分析与可行性争论设计编码测试运行与爱护软件开发模型: 软件开发模型是跨过整个软件生存周期的系统开发、运作、爱护所实施的全部工作和任务的结构框架。瀑布模型即生存周期模型,由B.M.Boehm 提出,是软件工程的基础模型。其核心思想是按工序将问题化简,将功能的实现与设计分开, 便于分工协作。采纳结构化的分析与设计方法,将规律实现与物理实现分开。此外,仍有螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型等可编辑资料 - - - 欢迎
5、下载精品名师归纳总结软件开发模型。第三章需求分析1. 重点把握的内容: 需求分析的方法和面对数据流的分析方法。需求分析的方法: 需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成,它定义了表示系统规律视图和物理视图的方式,大多数的需求分析方法是由数据驱动的,也就是说,这些方法供应了一种表示数据域的机制,分析员依据这种表 示,确定软件功能及其他特性,最终建立一个待开发软件的抽象模型,即目标系统的规律模型。面对数据流的需求分析方法:结构化分析方法是面对数据流进行需求分析的方法。结构化分析方法使 用数据流图 DFD与数据字典 DD来描述,面对数据流问题的需求分析适合于数据处理类型软件
6、的需求描述。其核心思想是分解化简问题,将物理与规律表示分开,对系统进行数据与规律的抽象。具体来说,结构化分析方法就是用抽象模型的概念,依据软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满意功能要求的全部可实现的软件为止。重点把握结合实例画数据流图和定义数据字典。可编辑资料 - - - 欢迎下载精品名师归纳总结系统流程图: 系统流程图是描画物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描画系统里面的每个部件(程序,文件,数据库,表格, 人工过程等等)。系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的掌握过程。详见2.3 节。系统流程图的功能: 1制作系统流程图的
7、过程是系统分析员全面明白系统业务处理简况的过程,它是系 统分析员作进一步分析的依据。2系统流程图是系统分析员、治理人员、业务操作人员相互沟通的工具。 3系统分析员可直接利用系统流程图画出可以实现运算机处理的部分。 4可利用系统流程图来分析业务流程的合理性。2. 一般把握的内容 : 需求分析的任务和原就。 .需求分析的任务: 它的基本任务是精确的回答“系统必需做什么?”这个问题。需求分析所要做的工作是深化描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。需求分析的任务不是确定系统如何完成它的工作,而是确定系统必需完成哪些工作,也就是对目标系统提出完
8、整、精确、清晰、具体的要可编辑资料 - - - 欢迎下载精品名师归纳总结求。其实现步骤如下图所示 :当物当 逻前理前 辑系模系 模统型统 型目物当标理前系模系统型统规律模型模 型 化抽 象 化懂得需求怎么做做什么具体化实例化表达需求可编辑资料 - - - 欢迎下载精品名师归纳总结一般说来,需求分析阶段的任务包括下述几方面:确定对系统的综合需求对系统的综合需求主要有:系统功能需求、系统性能需求、运行需求、将来可能提出的需求。分析系统的数据需求导出系统的规律模型就是在懂得当前系统“怎样做”的基础上,抽取其“做什么”的本质,明确目标系统要“做什么”, 可以导出系统的具体的规律模型。具体做法是:第一确
9、定目标系统与当前系统的规律差别。然后将变化部分看作是新的处理步骤, 对功能图(一般为数据流图)及对象图进行调整。最终由外及里对变化的部分进行分析,推断其结构,获得目标系统的规律模型。通常用数据流图、数据字典和主要的处理算法描述这个规律模型。修正系统开发方案在经过需求分析阶段的工作,分析员对目标系统有了更深化更具体的熟识,因此可以对系统的成本和进度做出更精确的估量,在此基础上应当对开发方案可编辑资料 - - - 欢迎下载精品名师归纳总结进行修正。开发原型系统使用原型系统的主要目的是,使用户通过实践获得关于将来的系统将怎样为他们工作的更直接更具体的概念,从而可以更精确的提出和确定他们的要求。需求分
10、析的步骤:1. 调查争论。 2分析与综合。 3书写文档。 4需求分析评审需求分析的原就: 其基本原就可概括为 :(1)必需能够表达和懂得问题的数据域和功能域。(2)按自顶向下、逐层分解问题。(3)要给出系统的规律视图和物理视图。2 可行性争论的任务和步骤,成本效益分析可行性争论的任务 :是用最小的代价在尽可能短的时间内确定问题是否能够解决。一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面争论可行性。可行性争论的步骤: 可行性争论的步骤分为九个步骤。成本效益分析: 成本效益分析的目的是要从经济角度分析开发一个特定的新系统是否可行,从而帮 助使用部门负责人正确的做出是否
11、投资于这项开发工 程的打算。几种度量效益的方法:1. 货币的时间价可编辑资料 - - - 欢迎下载精品名师归纳总结值。 2投资回收期。 3纯收入。第四章结构化设计1. 重点把握的内容 :结构化设计的过程和方法概要设计任务:系统分析员审查软件方案、软件需求分析供应的文档,提出正确举荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度方案, 供专家审定,审定后进入设计。确定模块结构,划分功能模块,将软件功能需求安排给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。 编写概要设计说明书,用户手册,测试方案,选用相关的软件工具来描述软件结
12、构,结构图是常常使用的软件描述工具。挑选分解功能与划分模块的设计原就,例如模块划分独立性原就,信息隐匿原就等。概要设计过程 :概要设计要先进行系统设计,复审系统方案与需求分析,确定系统具体的实施方案。然后进行结构设计,确定软件结构。软件设计的概念与原就:将软件划分成如干独立成分的依据。可编辑资料 - - - 欢迎下载精品名师归纳总结如何表示不同的成分内的功能细节和数据结构。如何统一衡量软件设计的技术质量。其中有几个概念: 1.模块化 :就是把程序划分成如干个模块,每个模块具有一个子功能,把这些模块集 总起来组成一个整体,可以完成指定的功能,实现问 题的要求。 2. 抽象:就是抽出事物的本质特性
13、而临时不考虑它们的细节。 3. 信息隐匿 : 模块中所包括的信息不答应其它不需要这些信息的模块调用。4. 信息局部化:是指把一些关系亲密的软件元素物理的放得彼此靠近。 5. 模块独立性 :是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简洁的。模块独立的概念是模块化、抽象、信息隐匿和局部化概念的直接结果。 6. 耦合:是对一个软件结构内各个模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,调用模块的方式, 以及通过接口的信息。 7. 内聚:标志一个模块内各个元素彼此结合的紧密程度,它是信息隐匿和局部化概念的自然扩展。概要设计的方法:面对数据流的设计方法把
14、信息流映射成软件结构,信息流的类型打算了映射的方 法。面对数据流的设计要解决的任务,就是上述需求可编辑资料 - - - 欢迎下载精品名师归纳总结分析的基础上,将 DFD 图映射为软件系统的结构。换句话说,这类设计方法答应把用DFD 图表示的系统规律模型便利的转换成对于软件结构的初始设计描 述。懂得基本概念:信息流(包括变换流和事务流)、抽象与逐步求精。模块化与信息隐匿。软件总体结构、数据结构与软件过程。面对数据结构的分析设计方法 :Jackson 系统开发方法( JSD): Jackson 系统开发方法( JSD,Jackson System Development ) 是一种典型的面对数据结
15、构的分析设计方法,它是以信息驱动的,是将信息转换成软件的程序结构。 Warnier方法 :Warnier程序设计方法是由法国人 J.D.Warnier提出的另一种面对数据结构的 设计方法,又称为规律构造程序的方法,简称LCP( Logical Construction of Programs )方法。Warnier 方法的原理和 Jackson 方法类似,也是从数据结构动身设计程序,但是这种方法的规律更 严格。2. 一般把握的内容 : 概要设计的文档与评审学会撰写概要设计的文档并能评审出概要设计文档是否符合要求。概要设计说明书的主要内容及结可编辑资料 - - - 欢迎下载精品名师归纳总结构详见
16、 4.5 节。具体设计1. 重点把握的内容: 具体设计的任务和方法具体设计的任务 :具体设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够具体的过程性描述。主要任务如下:为每个模块确定采纳的算法,挑选某种适当的工具表达算法的过程,写出模块的具体过程性描述。确定每一模块使用的数据结构。确定模块接口的细节,包括对系统外部的接口和用户界 面,对系统内部其它模块的接口,以及模块输入数 据、输出数据及局部数据的全部细节。要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试方案的重要组成部分,通常应包括输
17、入数据, 期望输出等内容。具体设计的方法 :程序流程图、 N-S 图、PAD图、HIPO图程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟识的一种算法表达工具。它独立于任何一种程序设计语言,比较直观和清晰的描述过程的掌握流程,易于学习把握。在流程图中只能使用下可编辑资料 - - - 欢迎下载精品名师归纳总结述的五种基本掌握结构。次序型。挑选型。 while型循环。 until型循环。 多情形型挑选。详见 5.2.1节。N-S 图: Nassi 和 Shneiderman 提出了一种符合结构化程序设计原就的图形描述工具,称为盒图,又称 为 N-S 图。在 N-S 图中,为了表示五种基本
18、掌握结构,规定了五种图形构件。次序型。挑选型。 WHILE 重复型。 UNTIL 重复型。多分支选择型。PAD 图:它是用结构化程序设计思想表现程序规律结构的图形工具。 PAD也设置了五种基本掌握结构的图示,并答应递归使用。详见5.2.3节。HIPO 图: HIPO图是由一组 IPO 图加一张 HC图组成。它是美国 IBM 公司在软件设计中使用的主要表达工具。HC 图是 层次图( Hierarchychart ) 的英文缩写,用于表示软件的分层结构。HC 图中的每一个模块,均可用一张 IPO 图来描述。 IPO 图由输入、处理和输出三个框组成,需要时仍可以增加一个数据文件 框,这种图形的优点,
19、是能够直观的显示输入处理输出三者之间的联系。2. 一般把握的内容 : 具体设计的原就及具体设计规可编辑资料 - - - 欢迎下载精品名师归纳总结格与评审具体设计的原就 :原就是过程描述是否易于懂得、复审和爱护,进而过程描述能够自然的转换成代码,并保证具体设计与代码完全一样。具体设计规格与评审: 具体设计说明书的框架及评审第 5 章结构化实现1. 重点把握的内容 :程序设计语言的特点、编程风格、程序效率和编程安全。结构化的 软件测试程序设计语言的特点 : 程序设计语言是人与运算机沟通的媒介。软件工程师应当明白程序设计语言各方面的特点,以及这些特点对软件质量的影响,以便在需要为一个特定的开发工程挑
20、选语言时,能作出合理的技术选择。其特点表现为九个方面:名字说明。类型说明。初始化。程序对象的局部性。程序模块。循环掌握结构。分支掌握结构。反常处理。独立编译。编程风格: 编码风格又称程序设计风格或编程风格,实际上指编程的原就。表现为四个方面:源程序文档化,数据说明的方法,语句结构和输入输出方法。可编辑资料 - - - 欢迎下载精品名师归纳总结源程序文档化:源程序文档化又可从四个方面来阐述,符号名的命名。程序的注释。标准的书写格式。数据说明:数据说明的次序应当规范化。使数据属性简洁查找,也有利于测试,排错和爱护。语句结构:语句构造力求简洁、直接,不能为了片面追求效率而使语句复杂化。可从以下几方面
21、注 意: 1使用标准的掌握结构。2尽可能使用库函数。 3程序编写第一应当考虑清晰性。 4留意使用GOTO 语句。输入输出方法:输入输出的方式和格式应当 尽量作到对用户友善( User Friendly),尽可能便利用户的使用。程序效率: 程序效率是指程序的执行速度及程序占用的储备空间。影响程序效率的因素是多方面的, 编程安全: 提高软件质量和牢靠性的技术大致可分为两类,一类是躲开错误技术,即在开发的过程中不让差错潜入软件的技术。另一类是容错技术,即对某些无法躲开的差错,使其影响减至最小的技术。躲开错误技术是进行质量治理,实现产品应有质量所必不行少的技术,也就是软件工程中所争论的先进的软件分析和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程复习重点难点 软件工程 复习 重点难点
限制150内