当前位置:文档之家› 软件工程课程考试重点知识汇总

软件工程课程考试重点知识汇总

软件工程课程考试重点知识汇总
软件工程课程考试重点知识汇总

概论

1.软件的定义

软件是计算机系统中与硬件相互依存的一个部分,它是包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。

2.软件工程的定义和三要素

IEEE:软件工程是开发、运行、维护和修复软件的系统方法。

Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。

三个要素:方法、工具和过程。

方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等。

工具为软件工程方法提供了自动的或半自动的软件支撑环境。目前,已经推出了许多软件工具,这些软件工具集成起来,建立起称之为计算机辅助软件工程(CASE)的软件开发支撑系统。CASE将各种软件工具、开发机器和一个存放开发过程信息的工程数据库组合起来形成一个软件工程环境。

过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑。3.软件工程和软件危机的关系

现有软件危机后有软件工程

为了解决软件危机,既要有技术支持措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好的开发和维护计算机软件的一门新兴学科。

4.软件生命周期的概念,划分的三个时期和八个阶段

概念:软件生命周期是软件的产生直到报废的生命周期

三个时期:软件定义,软件开发,运行维护

8个阶段:问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃5.理解结构化软件开发方法和面向对象软件开发方法

结构化开发方法:

早期的程序开发,如C语言,都是用结构化开发方法。

结构化开发又叫做面向过程开发,具体原理是将一个软件分为多个过程(函数)进行开发,用结构体管理数据。这种开发方式使得代码的可读性变得很低,并且代码难以移植。

面向对象软件开发方法:这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。

6. 软件生命周期模型(又称做过程模型)各自阶段、特点和适用项目

瀑布模型

阶段:

特点:1),阶段间具有顺序性和依赖性

2),推迟实现的观点

3),质量保证的观点

瀑布模型适用于结构化方法,也就是面向过程的软件开发

方法。规模小、需求明确、无须维护

快速原型模型

特点:

快速建立起能够在计算机上运行的程序。

优点:软件产品的开发基本上是线性的

缺点:必须迅速地构建原型然后根据用户意见循序的修改原

适用范围:

用户需求不明确,需要通过构建原型来清楚的了解用户的真

实需求。无须维护

增量模型

特点:

增量模型的特点是引进了增量包的概念,无须等到

所有需求都出来,只要某个需求的增量包出来即可进

行开发。虽然某个增量包可能还需要进一步适应客户

的需求并且更改,但只要这个增量包足够小,其影响

对整个项目来说是可以承受的。

增量模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目

螺旋模型

螺旋模型最大的特点在于引入了其他模型不具备的

风险分析,使软件在无法排除重大风险时有机会停止,

以减小损失。同时,在每个迭代阶段构建原型是螺旋模

型用以减小风险的途径。

螺旋模型更适合大型的昂贵的系统级的软件应用。

喷泉模型

喷泉模型适应于面向对象的软件开发过程。

特点:

相互迭代:软件的某个部分常常被重复工作多次,相关对象在每次迭代中

随之加入渐进的软件成分

无间隙性:它在各项活动之间没有明显边界

RUP

四个阶段

先启阶段:建立业务模型,定义最终产品视图,并且确定项目的范围。

精化阶段:设计并确定系统的体系结构,制定项目计划,确定资源需求。

构建阶段:开发出所有构件和应用程序,把它们集成为客户需要的产品,并且详尽地测试所有功能。

移交阶段:把开发出的产品提交给用户使用。

RUP最重要的它有三大特点:

软件开发是一个迭代过程

软件开发是由Use Case驱动的

软件开发是以架构设计(Architectural Design)为中心的。

RUP适用于大型软件团队开发大型项目。

敏捷过程

特点:具备可视、可集成和可运行使用的特点

敏捷过程的适用于:软件需求经常变化或者需求变化比较大;项目团队与用户之间进行沟通比较容易;项目的开发风险比较高;规模比较小,一般项目组成员在50 人之内;项目团队的成员能力比较强,而且具有责任感;项目的可测试性比较好。

可行性研究与需求分析

1.可行性研究和需求分析要解决的问题

2.软件需求的含义、分类

软件需求:系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。

分类:

业务需求、用户需求和功能需求,非功能需求。

业务需求反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。

用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。

功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。所谓特性是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。

非功能需求,描述了系统展现给用户的行为和执行的操作等。它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。所谓约束是指对开发人员在软件产品设计和构造上的限制。质量属性是通过多种角度对产品的特点进行描述,从而反映产品功能。多角度描述产品对用户和开发人员都极为重要。

3.获取用户需求的常用方法

电话,即时通讯工具,电子邮件,面对面交谈,会议讨论,定性定量结合的调查问卷,观察,用户日记分析法,将自己变成目标用户等

4.需求分析的定义

需求分析是在可行性研究的基础上进行的更细致的分析工作,是软件定义时期的最后一个阶段对软件目标及范围的求精和细化。通过调查研究和分析,充分了解用户对软件系统的要求,把用户要求表达出来,解决“软件系统必须做什么”的问题。

5.主流需求分析方法(结构化分析建立的模型)

1)步骤:确定系统边界,画出顶层DFD;自顶向下,对每个加工进行内部分解,画出分层DFD;对数据流图进行复审求精。

2)分层优点:便于实现采用逐步细化的扩展方法,利于控制问题复杂度;一组图代替一张总图,业务人员可选择相关图形。

3)画分层DFD图的指导原则:注意父子图的平衡;区分局部文件和局部外部项;掌握分解速度;遵守加工编号规则;确定数据定义和加工策略。

6. 绘制数据流图(DFD)

按照软件内部数据传递、变换关系,自顶向下逐层分解

软件的功能,建立软件系统的逻辑模型。

数据流图基本元素

DFD实例:储户到银行取款

数据流图的画法:

自外向内,自顶向下,逐层细化,逐步求精

①画顶层数据流图:

包括系统的输入数据流和输出数据流、I/O数据流的源

点和终点、一个处理(代表整个系统)。

DFD表示系统的范围、系统和外界的数据交换关系。

②画分层数据流图:

按功能将一个处理逐步细化成若干处理;最低层数据流

图中的处理称为“原子处理”,表示独立的功能。

l画数据流图的注意事项:

①每个处理至少有一个输入数据流和一个输出数据流。

◇当把一个处理分解为一系列处理时,分解前和分解后的输入/输出数据流必须相同。

③图中每个元素都要恰当命名。

④对处理进行合理编号。

数据流图的绘制步骤

(1)顶层DFD:

确定整个系统的输入数据流及其源点、输出数据流及其

终点;把整个系统作为一个处理(加工)。

(2)一层DFD:

确定系统的主要处理功能,按此将整个系统(顶层DFD中

的处理)分解成若干个处理(加工),确定每个处理的

输入与输出数据流以及与这些处理有关的数据存储。

(3)根据自顶向下,逐层分解的原则,对上层图中全部或部

分处理进行分解。

(4)重复步骤(3),直到逐层分解结束。

工具:Microsoft Office Visio

总体设计

1.总体设计的概念,任务(DFD映射为MSD)

将软件需求转化为系统结构(程序结构、接口)和数据结构。

通过仔细分析软件需求规格说明,确定组成系统的模块及各模块之间的关系,设计出完成预定功能的

模块结构(软件结构),并建立接口。

2.模块和模块化的含义

模块是由边界元素限定的程序单元,是构成程序的基本构件,是指用一个名字可以调用的一段程序语句。例如子程序、函数、过程和宏等都可以作为模块。

模块化就是将程序划分成独立命名且可独立访问的若干模块,每个模块完成一个子功能;将模块集成起来构成一个整体,完成指定的系统功能。

3.什么是模块独立性;如何度量和设计模块独立性(几种内聚和耦合的强弱,高内聚低耦合)

模块独立性是指模块内部各部分之间、以及模块之间关系的一种度量标准。模块独立性的含义为:软件结构中的每个模块完成一个相对独立的特定子功能,并且和其它模块的接口是简单的。

度量:模块之间的耦合尽可能弱;每个模块的内聚尽可能强。

内聚:偶然内聚:逻辑内聚:时间内聚:过程内聚:通信内聚:顺序内聚;功能内聚

(2)完成一级分解,设计软件结构的顶层和第二层

l 顶层模块Cm :代表系统

l 第二层模块:

①输入信息处理模块Ca :协调对所有输入数据的接收

②变换中心控制模块Ct :管理对内部形式的数据的所有

操作

③输出信息处理控制模块Ce :协调输出信息的产生过程

3)完成二级分解:把数据流图中的每个处理映射成软件结构中一个适当的模块

①在数据流图上,沿变换中心的输入边界开始向外移动,将输入通路中的每个处理映射成Ca模块下的一个直接或间接低层模块。

②在数据流图上,沿变换中心的输出边界开始向外移动,将输出通路中的每个处理映射成Ce模块下的一个直接或间接低层模块。

③将变换中心内的每个处理映射成Ct模块下的一个直接或间接模块。

(4)精化软件结构:适当分解或合并模块

(5)简要描述每个模块(可以用IPO图描述):

①接口说明②内部逻辑描述③全局和局部数据结构的说明④设计约束和限制

事务:◆由事务型数据流图映射成的软件结构包括一个接收分支和一个发送分支。

◆映射出接收分支结构的方法和变换分析映射出输入结构的方法很相像,即从事务中心的边界开始,把沿着接收流通路的处理映射成模块。

◆发送分支的结构包含一个调度模块,它控制下层的所有活动模块;然后把数据流图中的每个活动流通路映射成与它的流特征相对应的结构。

详细设计

1.总体设计和详细设计的区别

详细地设计每个模块,即确定完成每个模块功能所需要的算法和数据结构。

1、总体设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。总体设计建立的是目标系统的逻辑模型.

2、详细设计是软件工程中软件开发的一个步骤,就是对总体设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的嵌入式系统产品。

3、总体设计阶段通常得到软件结构图,详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等。

4、详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

2. 掌握三种基本控制结构:顺序、选择和循环

选择结构:选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。使用选择结构语句时,要用条件表达式来描述条件。

循环结构:循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。循环结构的三个要素:循环变量、循环体和循环终止条件. 循环结构在程序框图中是利用判断框来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处

2.结构化详细设计的常见描述工具

(1)图形工具:程序流程图、N-S图、PAD图

(2)表格工具:判定表、判定树

(3)语言工具:过程设计语言(PDL)

4. 绘制程序流程图(将盒图、PDL转换为程序流程图)

程序流程图又称为程序框图,它是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具,程序流程图常用符号及基本控制结构来描述。

程序流程图的基本符号

编码及测试

1.白盒测试:逻辑覆盖

以程序内部逻辑结构为基础,通过对程序逻辑结构遍历实现程序测试的覆盖

从覆盖源程序语句的详尽程度,可以分为语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖和路径覆盖

1)语句覆盖:选择足够多的测试数据,使被测程序中每一可执行语句至少执行一次。

执行路径(a c e)可满足要求,

取条件: (A=2)and(B=0)

测试用例:输入数据(A,B,X)取值(2,0,4)

输出结果(A,B,X)的预期值为(2,0,3)2)判定覆盖:使每个判定的每种可能结果至少执行一次。

执行路径(a c e)和(a b d)

可满足要求,取条件:

(A=2)and(B=0)和(A≤1)and(X≤1)

测试用例1:(A,B,X)的输入值取(2,0,4);预期输出值

为(2,0,3)

测试用例2:(A,B,X)的输入值取(1,1,1);预期输出

3)条件覆盖:每个判定表达式中每个条件的可能取值至少执行一次。

每个判断条件的可能取值:

第一个判定表达式中条件1:A≤1 和 A>1

第一个判定表达式中条件2:B=0 和 B≠0

第二个判定表达式中条件1:A≠2 和 A=2

第二个判定表达式中条件2:X>1 和 X≤1

测试用例1 (取条件A≤1、B=0、A≠2、X>1,通过路径a b e ):(A,B,X)的输入值取(1,0,3),预期输出值为(1,0,4)

测试用例2 (取条件A>1、B≠0、A=2、X≤1,通过路径a b e ):(A,B,X)的输入值取(2,1,1),预期输出值为(2,1,2)

4)判定/条件覆盖:每个判定表达式中每个条件的可能取值至少执行一次;同时每个判定表达式的可能判定结果至少执行一次。

每个判断条件的可能取值:

第一个判定表达式中条件1:A≤1 和 A>1

第一个判定表达式中条件2:B=0 和 B≠0

第二个判定表达式中条件1:A≠2 和 A=2

第二个判定表达式中条件2:X>1 和 X≤1

测试用例1(取条件A>1、B=0、A=2、X>1,通过路径a

c e ):(A,B,X)的输入值取(2,0,4),预期输出值为(2,0,3)

测试用例2(取条件A≤1、B≠0、A≠2、X≤1,通过路径a b d):(A,B,X)的输入值取(1,1,1),预期输出值为(1,1,1)

5)条件组合覆盖:每个判定表达式中的所有可能的条件取值组合至少执行一次。

条件组合覆盖:每个判定表达式中的所有可能的条件取值

组合至少执行一次。

第一个判定表达式

组合1:A>1和 B=0;组合2:A>1和 B≠0;

组合3:A≤1和 B=0;组合4:A≤1和 B≠0;

第二个判定表达式

组合5:A=2和 X>1;组合6:A=2和 X≤1;

组合7:A≠2和 X>1;组合8:A≠2和 X≤1

测试用例1(取组合1和5,执行路径a c e ):(A,B,X)的输入值取(2,0,4),预期输出值为(2,0,3)

测试用例2(取组合2和6,执行路径a b e ):(A,B,X)的输入值取(2,1,1),预期输出值为(2,1,2)

测试用例3(取组合3和7 ,执行路径a b e ):(A,B,X)的输入值取(1,0,3),预期输出值为(1,0,4)

测试用例4(取组合4和8 ,执行路径a b d):(A,B,X)的输入值取(1,1,1),预期输出值为(1,1,1)

2.黑盒测试:边界值划分法

经验表明,程序在处理边界情况时最容易发生错误,从而设计使程序运行在边界情况附近的测试方案、暴露出程序错误的可能性会更大些。

边界值分析法主要用来选择等价类的边界值作为测试用例检查程序边界运行情况,是一种补充等价分类法的测试用例设计技术。

取输入等价类和输出等价类的边界值及边界附近的值做测试用例:应当选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据。

4. 三个测试阶段,每个阶

段应采用的测试方法

1.单元测试:集中对用源代码实现的每一个程序模块进行测试。

◆检查每个单元(模块)控制结构中的特定路径,以确保做到完全覆盖并发现最大数量的错误。 ◆检查各个程序模块是否正确地实现了规定的功能。 ◆主要发现编码和详细设计的错误。

单元测试方法:主要使用白盒测试技术、辅助使用黑盒测试技术

2.集成测试:把模块装配(即集成)在一起形成完整的软件包,在装配的同时进行测试。

◆模块相互间的协调和通信是集成测试过程中的主要问题。

◆集成测试中将发现软件设计中的错误,也可能发现需求说明中的错误。 集成测试常用黑盒测试方法,可能使用一定的白盒测试。

3.确认测试:验证软件的有效性(功能和性能等)是否与用户的要求一致,即软件是否满足需求规格说明书中的确认标准。

确认测试仅使用黑盒测试方法

5. 可靠性和可用性的区别

软件可靠性:程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。可靠性随着给定的时间间隔的加大而减少

软件的可用性:程序在给定的时间点,按照规格说明书的规定成功地运行的概率。 黑盒测试

白盒测试

不涉及程序结构 考察程序逻辑结构

用软件规格说明书生成测试用例 用程序结构信息生成测试用例

可适用于从单元测试到系统验收测试 主要适用于单元测试和集成测试

某些代码段得不到测试 对所有逻辑路径进行测试

面向对象分析(OOA)

1.三种面向对象模型、各自表示的内容和表达工具

对象模型

对象模型描述了现实世界中的“类与对象”以及它们之间的关系,表示了目标系统的静态数据结构。

建立对象模型的信息来源:需求陈述、应用领域知识及常识

动态模型

在一些系统中,需要了解在所有时间内对象的变化和对象之间关系的变迁,即时序关系。这就产生了一种与静态结构(对象模型)相对应的、与时间和变化有关的内容,即动态模型。

表达工具和步骤

1、每个功能对应的典型交互行为的脚本

2、根据每个脚本画事件追踪图

3、根据事件追踪图画每个类(对象)的状态图

功能模型

功能模型由一组数据流图或者一组用例图组成

功能模型表明一个计算如何从输入值得到输出值,它不考虑计算的次序。功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向,它不包含控制信息,控制信息在动态模型中表示,同时数据流图也不表示对象中值的组织,值的组织在对象模型中表示。

系统数据流图是一种表达功能模型的工具

2. 绘制类图、用例图(用例之间《include》和《extend》关系)

面向对象设计(OOD)

1.OOA和OOD的联系和区别。

面向对象设计(OOD)就是在面向对象分析模型基础上运用面向对象方法进行系统设计,目标是产生一个符合具体实现条件的设计模型。

OOA和OOD采用一致的概念与原则,但属于软件生命周期的不同阶段,有不同的目标。 OOA目标是建立一个直接映射问题域的OOA模型OOD目标是产生一个可以实现的OOD模型

2. 四个子系统都是什么?各自用什么图表达?

大多数系统的面向对象设计模型,在逻辑上都可以划分为:

问题域子系统:根据实现条件(编程语言、可复用构件、设备性能、存储方案等),对OOA中建立的对象模型做必要的补充与调整。用类图表达

人机交互子系统:根据选用的图形用户界面(GUI)系统和特定用户对人机界面的要求,定义关于人机界面的

数据管理子系统:根据选定的数据管理系统,设计负责对象存储和检索的系统组成部分。用数据库表表达

面向对象实现

1. 面向对象单元测试:最小的可测试单元 (1)最小的可测试单元:封装起来的类&对象

(2)不能孤立的测试单个操作,应该把操作作为类的一部分进行测试 2. 面向对象测试方法中:设计类测试方法

测试单个类的方法主要有随机测试、划分测试和基于故障的测试3种。 软件项目管理

1. 软件项目管理的任务

通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以便在预定成本和期限内开发出符合既定需求的软件的过程。 主要职能:

制定计划:规定待完成的任务、要求、资源、人力和进度等。

建立组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构。 配备人员:任用各种层次的技术人员和管理人员。 指导:鼓励、动员、协调软件人员完成所分配的任务。

2. 现代程序员小组结构(包含哪些类人员) 由行政组长,技术组长和程序员组成

3. 度量软件规模有哪两种方法,各自的单位是什么? 1.代码行技术:

根据以往开发类似产品的经验和数据,估计实现软件功能所需要的源程序行数。由多名有经验的软件工程师分别估计程序的最小规模a 、最大规模b 、最可能的规模m,分别算出这3种规模的

平均值。则程序规模的估计值为:

L=

程序规模单位:代码行数(LOC) 或千行代码数(KL0C) 。 2.功能点技术:

6

4b

m a ++

4.工作量估算单位,估算方法(3个)

1.静态单变量模型: E=A+B×(ev)C,其中:E表示工作量;A、B、C是经验常数; ev表示软件规模估算值(代码行数或功能点数)

2.动态多变量模型:E=[LOC×B0.333/P]3×(1/t)4其中:t是项目持续时间;B是技术因子(经验常数); P是生产率参数(经验常数);LOC表示软件规模估算值(代码行数)

◆LOC值固定的情况下,通过延长项目时间、可以降低工作量

3.COCOMO2模型(COnstructive COst Model 构造性成本模型): 将软件开发工作量表示成代码行数的非线性函数

三个层次的估算模型:

(1)应用系统组成模型:主要用于估算构建原型的工作量、构建原型时大量使用已有的构件。

(2)早期设计模型:适用于体系结构设计阶段。

(3)后体系结构模型:适用于完成体系结构设计之后的软件开发阶段。

5. 风险按照影响范围分类、按照可预测性分类

按照风险的影响范围分类:

(1)项目风险

(2)技术风险

(3)商业风险

按照风险的可预测性分类:

(1)已知风险

(2)可预测的风险

(3)不可预测的风险

6. 软件配置管理的概念

定义:软件配置管理是在软件的整个生命周期内管理变化的一组活动。这组活动用来:

①标识变化;②控制变化;③确保适当地实现变化;④向需要知道这类信息的人报告变化。

配置管理是在软件项目启动时就开始、并且一直持续到软件退役后才终止的一组跟踪和控制活动。

6.软件维护的概念、分类(4类)

定义:软件维护就是指在软件产品交付给用户之后,为了改正软件测试阶段未发现的缺陷,改进软件产品的性能,补充软件产品的新功能等,所进行的修改软件的过程。

分类:纠错性维护、适应性维护、完善性维护、预防性维护

(1)用户文档:用户手册,操作手册,修改维护建议,用户需求报告

(2)开发文档:可行性研究报告,项目开发计划,软件需求…

(3)管理文档:项目开发计划、测试计划…

作用:提高软件的可维护性

9. Gantt图和工程网络图的作用,各自的优缺点

甘特图

(1)标明各个阶段任务的计划开始时间、计划完成时间;

(2)标明各个任务完成的标志(文档、评审);

(3)标示当前进度。

甘特图的优点:标明了各任务的计划进度和当前进度;能动态地反映软件开发进展情况。

甘特图的缺点:没有反映多个任务彼此间的依赖关系;进度计划的关键部分不明确;进度计划中有潜力的部分不明确、往往造成潜力的浪费。

工程网络图:

(1)网络图可以把整个计划任务按照生产的客观规律严密地组织起来。同时使生产计划的制订和贯彻执行建立在科学计算和综合平衡的基础上,能预见计划实施过程中的关键所在。抓住了关键工作和关键线路就可以从全局出发,统筹兼顾,科学地组织指挥施工。

(2)通过网络图,可以看出各工序之间的相互关系,管理人员可了解生产的进度安排和生产对自己工作的要求,工人可清楚地了解自己在全局中所处的地位和作用。

(3)通过网络时间的计算,可帮助领导人员作出有科学根据的决策,避免盲目性、瞎指挥;可以发挥各项工作在时间配合上的潜力,为合理调配资源和缩短工期提供科学依据;通过网络汁划的优化,可以从多种计划方案中择取最优方案,保证时间与资源,时间与成本的最佳结合。

(4)网络计划在实施过程中,某项工作提前或拖后完成时,可以通过计算测定其对整个进度汁划的影响并通过信息反馈,迅速作出判断和必要的调整,始终对计划实行有效的监督与控制。

工程网络图能够显式地定义事件、作业之间的依赖关系

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

软件工程期末考试重点

软件工程期末考试重点 《软件工程》期末复习重点 第一章软件工程 1. 什么是软件工程。 A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。2. 软件工程的三要素:方法、工具和过程。 第二章软件过程 1. 软件生命周期分为哪几个阶段?每个阶段的基本任务是什么? a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么 可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么 b.软件开发:具体设计和实现在前一个时期定义的软件。概要设计:怎样宏观地解决问题 详细设计:应如何具体地实现这个系统 编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。 c.运行维护:修正错误,使软件持久地满足用户需要。改正性维护:诊断和改正使用中的错误适应性维护:修改

以适应环境变化 完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备 2. 常用的过程模型有哪些?各自的特点及不足。如:瀑布模型的不足是不能适应需求的动 态变更。 A.瀑布模型 特点: 可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。 缺点:太理想化,于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格与用户需求之间有差异,就会发生这种情况。只适用于项目开始时需求已确定的情况。 B.快速原型模型 特点:快速 软件产品开发基本上是线性顺序进行。降低了规格说明文档变化的可能性。减少了后续阶段错误的可能性。 c.增量模型 1 优点: 人员分配灵活,刚开始不用投入大量人力资源。

驾照科目一理论考试最全的知识

潮汐车道的意思是说在高峰期或者特殊情况下可以按交通指挥双向行驶的车道所以有去和来两个箭头也就是这个意思 在匝道上把速度提高到每小时50公里,然后进入加速车道,加速到每小时60公里,然后平滑的进入行车道。而不是在匝道上直接提速到每小时60公里就进入行车道 油箱内燃油已到最低液面是黄色发动机供油系统出现异常是红 点火锁开关档位设置方式。其含义是:LOCK、切断电源,锁定方向盘;ACC、接通附件电源(比如收音机等附件)ON、接通除起动机外的全车全部电源;START、接通起动机电源,起动发动机。(起动后松手钥匙,会自动弹回ON档位)供你参考, START是方向盘锁,在这个位置方向盘就锁上了。ON是空档,一般停车就是这个也可以停到START位置,有的车停车是强制停到START位置。ACC是一档,也就是打开一些用电器接通电源。LOCK是点火档,着车用的 LOCK 锁死汽车,一般的车钥匙放到这个档位就等于锁死了方向盘,方向盘不能有太大的活动。 ACC 2:ACC 给全车通电,收音机、车灯等可以正常使用,不可以使用空调。 ON 3:ON除了发动机,其余的基础设备都是开着的,可以为方向盘解锁,可以使用空调,但空调的制冷效果不是很好。正常行车时钥匙处于ON状态,这时全车所有电路都处于工作状态。START 4:START发动汽车,启动发动机,耗油,开起车子,空调的制冷效果会变好。START档是发动机启动档位,启动后会自动恢复正常状态也就是ON档。 未购置交强险的车辆上路行驶,不按规定投保机动车第三者责任险的,扣留车辆,购置交强险,处依照规定投保交强险保费二倍罚款;上道路行驶的机动车未放置保险标志的,扣留车辆,罚款200元,记1分 未放检验合格标志的才是扣留机动车 小型汽车(C1)准驾车型:小型、微型载客汽车以及轻型、微型载货汽车;轻型、微型专项作业车,小型、微型自动挡载客汽车以及轻型、微型自动挡载货汽车,低速载货汽车,三轮汽车。 交警的面部对着哪个方向就是在指挥哪个方向的车,减速慢行是右手左转弯待转是左手!你们要看清交警手势,他本来是手臂平直,接着他手臂轻轻压低,摆动。这是变道。手臂降低到腰部摆动,那是转弯。仅供参考 指示标志都没有文字,有文字的都是指路标志

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件工程(清华钱乐秋版)期末复习重点

1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面 等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设 计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软 件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。 然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下

驾照科目一知识点总结

【累计积分】:记分周期12个月,一年满12分的,扣留驾驶证,参加科目一学习并接受考试。 ※记12分:①驾驶车型不符、饮酒后驾驶、事故后逃逸。②未悬挂车牌,故意遮挡车牌,使用伪造的车牌、驾驶证和行驶证。③高速上倒车、逆行。④超速50%以上。⑤4h未休息,休息少于20min。⑥未取得校车驾驶资格驾驶校车的。 ※记6分:①违反交通信号灯。②违法占用应急车道。③驾驶证暂扣期间驾驶。④不按规定避让校车。⑤以欺骗手段补领驾驶证。 【普通公路的最高时速】:无道路中心线的城市道路30,公路40。同方向只有一条机动车道的城市道路50,公路70。 ※最高30公里/小时:①铁路道口、急弯路、窄路和窄桥。②掉头、转弯、下陡坡。③雾雨雪沙尘冰雹泥泞。④进出非机动车道、牵引故障机动车。 【高速公路的最低时速】:最低60,最高120。标牌红高蓝低黄建议,地面黄高白低。 ①同方向三车道:左110,中间90,右60。②同方向二车道:左100,右60 ③低能见度下:开启雾灯、近光灯、示廓灯、前后位灯、危险报警闪光灯 <200米:最高60公里每小时,与前车保持100米以上。 <100米:最高40公里每小时,与前车保持50米以上。 <50米:最高20公里每小时,从最近出口尽快驶离高速。 【安全距离】:①发生故障后普通公路放警告标志车后50-100米,高速公路车后150米以外。 ②交叉路口、铁道路口、急弯路、窄路窄桥、陡坡、隧道50米以内不得停车。 ③公共汽车站、急救站、加油站、消防站30米以内不得停车。 ④车速>100公里,跟车距离100米以上。车速<100公里,跟车距离>50米。 【交通处罚】:应自行撤离而未撤离造成交通阻塞的罚款200元。 ※扣留机动车:未悬挂车牌、未放置检验合格标志、保险标志、未携带行驶证和驾驶证。使用其他车辆的号牌、行驶证、保险标志和检验合格标志的,予以收缴,扣留机动车,罚款2000-5000。 使用伪造变造的号牌、行驶证和驾驶证的,予以收缴,罚款2000-5000,处15日以下拘留。补领驾驶证后,继续使用原驾驶证的,予以收缴,罚款20-200。 ※扣留驾驶证:一个记分周期内记分达到12分。初次酒驾。 ※吊销驾驶证:假一吊二撤三醉五逃终身。醉驾五年,醉驾出事故终生。 ①将机动车交给驾驶证被暂扣或被吊销的人驾驶,罚款200-2000,并吊销驾驶证。②驾驶拼装或达到报废标准的机动车上道行驶,予以收缴,强制报废,罚款200-2000元,并吊销驾驶证。③超过规定时速50%的罚款200-2000元,并吊销驾驶证。 ※注销驾驶证:实习期内记满12分。 ※撤销驾驶证:以欺骗贿赂手段取得驾照,3年内不得重新申请。 ※交通肇事罪:酒后驾驶,吸食毒品后驾驶,无证驾驶,明知安全装置不全/无牌证/已报废的机动车而驾驶,严重超载,逃离事故现场。 ※重大事故致人死亡:3年以下有期徒刑或者拘役。致人死亡且逃逸:3年以上7年以下有期徒刑。因逃逸致人死亡:7年以上有期徒刑。逃逸尚未构成犯罪:罚款200-2000,拘留15日以下。 ※追逐竞技、醉酒驾驶:拘役+罚金。 【酒驾醉驾】:①酒驾:记12分,罚款1000-2000元,暂扣驾照6个月。②再次酒驾:罚款1000-2000,拘留10天以下,吊销驾照。③醉驾:拘役+罚金,吊销驾照,5年内不得重考。 ④酒驾醉驾发生重大交通事故构成犯罪的,追究刑事责任,吊销驾驶证,终生不得重考。证明。

软件工程基础知识点总结

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

山东大学-软件工程复习重点整理

第一章 1.1软件工程(SE)的定义、向、作用: SE:在将有关软件开发与应用的概念科学体系化的基础上,研究如有计划、有效率、经济的开发和利用能在就算机上正确运行的软件的理论和技术的工程法学,一些开发和维护软件的法、过程、原则。是一个系统工程,既有对技术问题的分析与综合,也有对开发过程和参与者的管理。 SE的向:面向对象模式,结构化模式,基于过程的模式等 SE的作用:付出较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发工作,及时交付使用。 1.2开发模式:软件开发的全部过程,活动和任务的结构框架,它能直观的表达的表达软件开发全过程,明确要完成的主要活动,任务和开发策略。 1.3说明错误、故障和失效的含义及联系(并举例): 错误:是在软件生产过程中人为产生的错误(需求说明中的错误,代码中的错误) 故障:是在功能实现过程中产生的问题;是错误导致的结果,是在软件中一个错误的表现(一个错误可能产生多个缺陷,静态存在的) 失效:是相对于系统指定行为的偏离,系统违背了它应有的行为(动态存在的) 联系:当一个开发者编写程序时,会在代码中出现错误。当这个程序被编译或集成到一个系统中时,系统就存在故障。当你运行这个系统时,可能会导致失效,即人们产生错误,故障是错误的结果(部观角:从开发者的角度看待问题),当故障执行时出现失效(外部视角:从用户角度看到的问题)。并不是所有的错误会导致故障,并非每个缺陷都对应相应的失败。1.4软件质量应从哪几个面衡量,论述之: (1产品的质量)(2过程的质量)(3商业环境背景下的质量) (1)产品的质量:用户从失败的数目和类型等外部特征进行评价,如果软件具有足够的功能并且易于学习和使用,用户就断定软件是高质量的;开发者从缺陷的数目和类型等部特征来作为产品质量的依据。 (2)过程的质量:有很多过程都会影响到最终的产品质量,只要有活动出了差错,产品的质量就会受到影响;开发和维护过程的质量与产品的质量是同等重要的。 (3)商业环境背景下的软件质量:将技术价值和商业价值统一起来。 1.5软件系统的系统组成(系统的要素有哪些):对象(实体)+ 活动+ 关系+ 系统边界活动:活动是发生在系统中的某些事情,通常描述为由某个触发器引发的事件,活动通过改变属性把一个事物变成另一个事物。 对象:活动中涉及的元素称为对象。 关系:是指活动与对象之间的关系。 系统边界:即系统包含的功能与系统不包含的功能之间的界限。 1.6现代软件工程大致包含几个阶段及各个阶段的文档: (1)需求分析:主要包括问题定义、可行性分析、需求分析《需求规格说明书》

驾照考试科目一知识点归纳

2014 驾照考试科目一知识总结易错题易错标志交通标志大全 一、知识总结 驾照有效期:6年,10年,长期。 禁止停车:站,30m,口,50米。 仪表:1,方向盘左侧操纵杆为灯光信号,下拉为左转,上提为右转。2,右侧操纵杆为刮水器,上下搬动前玻璃,往前为后玻璃。3 ,前后玻璃:形状像扇形的为前玻璃,方形为后玻璃,刮水除霜均如此。 标志标线:1标志:黄色,警告(注意);红色,禁止;蓝色:指示(圆圈,方向;长方形:车道)。2标线:实线禁止跨越。白色,同向,黄色,对向。 驾照:吊销,2年(醉酒吊销5年,醉酒营运吊销10年);撤销3年;逃逸终身。期满前90日,申请换证。延期最多3年。 车道车速:1,无道路中心线,城市30,公路40;2,同向1车道,城市50,公路70。3,同向两车道,城市60,公路80。4,高速:二车道左侧100,三车道从左到右110,90,60。加速车道,尽快60。5,高速无限速标记,不得超120。 能见度车速:200米,60;100米,40;50米,20,尽快驶离。 高速进出:1,进,左转灯,加速车道。2,出,右转灯,减速车道。 变更车道:1,开转向灯,公路50m,高速150m;2,高速出口1KM处,不得超车,向右变道。 3,交叉路口:虚线区按导向箭头。 自动挡车:1,停车,P档(P挡外不可拔钥匙);2,启动,踏下制动踏板,P挡至其余挡。 3,陡坡,L挡。 环岛:1,驶入,无需开转向灯(驶入为默认转弯)2,驶出,右转向灯。 信号灯:6分。红灯,若安全可右转。 会车:1让,停,减速;2,有障碍:无障碍方先行;3优先:直行>左转>右转;4,夜间,远光变近光,视线右移。 行车困难----停车。 故障,后方警告标志:1 ,白天,道路,报警闪光灯,50-100米;2,高速,150米。 事故逃逸:1,致死伤不逃,3年以下;2,肇事逃逸,3-7年;3,逃逸致人死亡,7年以上。 事故责任题:1,机动车次要责任,40%,2,高速无责任,5%,3无责任,10%,4,对方故意,无责任。 无证驾驶:1,无证驾驶(或被扣,吊销),200-2000,15日拘留;2,交由无证或吊销的人,200-2000,吊销驾照。 超速处罚:(安徽)1,20-50%,100,高速200;2,50-100%,500,高速1000;3,100%,2000;4,超速50%;扣留(不是吊销)驾驶证。 饮酒醉酒:1,饮酒;1000-2000,扣6月驾照;2,饮酒营运,5000;3,醉酒:拘留,罚金。 罚款:校车,三年经验,50元。未安全技术检验,警告或200元罚款。(警告均为20-200元)车型不符,300元。 扣分:1,12分:饮酒,使用其他车辆行驶证,车速超50%;2,6分:违法占用应急车道,信号灯,不避让校车。 灯光使用:1,转向灯:用在停车,起步,超车,变道;2,雾灯:雾天使用;3,危险报警闪光灯:雾天或者夜间停车;4,前照灯:分为远光灯和近光灯,远光用在无照明条件的情况下,近光用在照明条件差的情况下。 转向失控:1,允许直线,不可紧急制动;2偏离直线,连续踩踏放松制动踏板。 侧滑:1,最易侧滑:下雨开始时;2,泥泞侧滑,向侧滑的一侧转动方向盘。 碰撞:先制动后转向;尽力避免侧面相撞;避免身体被方向盘抵住;撞击力量小或不在驾驶员一侧,不跳车。

科目一考试重点知识整理

一、酒驾相关 1.公安机关交通管理部门约束至酒醒 2.处200~2000元罚款,吊销驾驶证 3.五年内不得重新取得机动车驾驶证 4.血液酒精含量>= 80毫克/100毫升 二、驾驶证、行驶证 1.补领驾驶证-驾驶证核发地车辆管理所 2.驾驶证(随身)损毁、丢失,无法辨认,信息有变-→驾驶证核发地 3.驾驶证换证(可辨认、无信息变化):居住地、所在地车管所 4.行驶证(随车)损毁、丢失,无法辨认,信息有变→登记地车管所 5.行驶证换证(可辨认、无信息变化):居住地,所在地车管所 6.申请驾驶车型 a)18-70;低速载货汽车、三轮汽车、普通三轮摩托车、普通二轮摩托车或轮式机 械车 b)20-50 申请城市公交车、大型货车、无轨电车 c)21-50 申请中型客车 d)24-50 申请牵引车 e)26-50 申请大型客车 7.驾驶证有效期:6年、10年和长期 三、关于速度 1.城市道路无中心线30 有中心线50 2.公路无中心线40 有中心线70 3.掉头、转弯、急转弯、窄路、窄桥、铁路、下坡、冰雪、泥泞;最高30km/h 4.高速路:3条车道左侧:110~120;中间:90~120;右边60~90; 5.高速路:2条车道左侧:100~120;右边60~90 四、处200~2000元罚款,吊销驾驶证 1.超速50% 2.醉酒驾驶 3.将车交驾驶证被吊销人员 4.驾驶拼装车上路;收缴车辆并强制作废 五、行驶 1.通过路口交替使用远近光灯 2.靠山体的车比较危险,会车时先走 3.高速路会车时,150米外,改为近光灯 4.公交站30米内,路口、窄路等50米内不得停车 5.实习期间,应让3年一闪驾龄陪驾 6.路口,靠路口中心点左侧转弯 7.右方道路来车先行,然后谁的右方没车谁先行 8.转弯车辆让直行车辆先行 9.右方道路来车先行 10.右转弯车让左转弯车辆先行 11.当路口没有交通信号灯时,减速慢行 12.路口已经过了转弯的地点,只能继续向前行驶 13.驾驶机动车在道路上追逐竞驶,情节恶劣,处拘役,并处罚金

软件工程知识点总结

软件工程知识点总结 软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。接下来是为大家收集的软件工程知识点总结,以供大家学习! 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素

3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件) 1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。

软件工程期末考试复习题及答案

(4分) 变换型结构的数据流呈() A. 线性形状 B. 辐射状 C. 椭圆形 D. 阶梯形 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..2. (4分) 可行性研究阶段使用的图形工具是() A. DFD图 B. N-S图 C. PAD图 D. Warnier图 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..3. (4分) 软件的开发模式有() A. 面向过程模式、面向对象模式、混合模式 B. 变换模式、渐增模式、瀑布模式 C. 自顶向下模式、自底向上模式、关系模式 D. 分步模式、渐增模式、非渐增模式 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 B .解析..4. (4分) 模块的初始化工作和模块处理意外故障均属于() A. 时间内聚 B. 顺序内聚 C. 功能内聚 D. 逻辑内聚 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案 A .解析..5. (4分) HIPO的含义是()

A. 层次、输入、处理、输出 B. 高速、信息、程序、目标 C. 顶层的IPO图 D. 关于输入、处理、输出的层次 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..6. (4分) 数据字典和数据流图共同构成系统的() A. 物理模型 B. 结构模型 C. 设计说明书 D. 逻辑模型 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案D .解析..7. (4分) 好的软件结构它的外观形状一般呈() A. 线性 B. 扇形 C. 椭圆形 D. 层次型 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 C .解析..8. (4分) CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 A. CMM B. PSP C. ISO-9000 D. RUP 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..9. (4分) 若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()

科目一考试内容

科目一考试内容 第一章、道路交通安全法律、法规及相关规章30% 《地方性法规》10% 第二章、交通信号30% 第三章、安全行车驾驶基础知识20% 第四章、机动车驾驶操作基础知识10% 新交规的考试题更灵活,科目一部分更贴近实际交通状况,增加了很多情景模拟题;半数以上的题目都是以图片形式表现。内容方面,科目一还将对各种仪表功能和指示灯的了解做为考查重点,考题利用图片、图标的形式,使考生感到仿佛进入了实际道路情景中,重点考查理解力。 新交规有关理论考试的最大变化是取消了题库而且规定实际考试时的题目要定期更新,所以对于学员来说,不能像以前那样只要突击学习“900道题库”就能应付考试了,背下所有的考题是不现实的,因此认真学习并理解“新规”的内容十分重要,学习时理解题目的含义,本着安全第一的原则判断答案。

安全文明驾驶常识(科目四)考试内容 1、违法行为综合判断与案例分析10% 2、安全行车常识24% 3、常见交通标志、标线和交警手势辨识8% 4、驾驶职业道德和文明驾驶常识12% 5、恶劣气候和复杂道路条件下的驾驶常识20% 6、紧急情况下的避险常识12% 7、交通事故救护及常见危险品的处置常识4% 8、地方试题10% 此项考题在科目三实际道路考试后进行,考核安全文明驾驶要求,复杂条件下的安全驾驶知识等。以案例、图片、动画等形式为主,题型为判断题、单选题和多选题。 与科目一有着很多相同之处,但是更加注重考核驾驶人的实际操作技能。 “安全文明驾驶常识考试”的重点在“安全”与“文明”这两项基本原则上,因此题目中出现的不顾安全的操作方法驾驶行为以及非文明行为等内容一定是违法违规的。

软件工程知识点

第一章软件工程概述 一、软件的定义和特性(P2—P3) 定义:软件=程序+数据+文档 程序:按照事先设计的功能和性能要求执行的指令或语句序列 数据:程序能正常操纵信息的数据结构 文档:描述程序操作和使用的文档 特性: (1)软件是一种逻辑实体,具有抽象性,不是一般的物理实体; (2)软件的成产与硬件存在某些相同点,但有根本上的不同,软件开发是人的智力的高度发挥,而不是传统意义上的制造,它更依赖于开发人员的素质,智力,人员和组合,合作和管理; (3)软件维护与硬件维修有着本质的差别,软件维护没有硬件维护那样有可替换的标准零件; (4)软件在运行和使用期间没有硬件那样的机械磨损,老化问题,但存在退化问题; (5)基于构件的开发方法由于其自身的特点越来越受到人们的重视,这些技术可以减少开发时间、提高质量,并提高复用水平。 * 掌握P4图1-2(b)软件失效率曲线 二、计算机软件的发展经历了几个阶段?各有何特征?(P1—P2) 共经历了四个阶段 特征:第一阶段——程序规模小且主要采用个体工作方式,开发的系统大多采用批处理技术 第二阶段——引入人机交互的概念,实时系统出现,产生了第一代数据库管理系统,程序编制采用了合作的工作方式,出现了早期的软件危机 第三阶段——分布式系统出现,嵌入式系统得到广泛应用,低成本硬件 第四阶段——强大的桌面系统和计算机网络迅速发展时期,面向对象技术得到广泛应用,人工智能技术和专家系统开始应用于软件。 三、什么是软件危机?其产生的原因是什么? 定义:软件危机是指由于落后的软件生产方式无法满足迅速增长的计算机软件应用需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(P4) 原因:(P5) (1)用户对软件需求的描述不准确、不全面,甚至有错误,以及在开发过程中,不断提出或者修改需求; (2)用户和开发人员对软件需求的理解存在差异,导致所开发的软件产品和用户需求不一致; (3)大型软件项目需要组织一定的人力共同完成,各类人员的信息交流不及时、不准确,有时还可能产生误解,软件开发人员对大型软件缺少开发经验,管理人员缺少相应的管理经验; (4)软件开发人员不能有、独立自主的处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误; (5)开发技术落后,缺乏有效的方法学和工具方面的支持,过分依赖程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化 (6)软件产品的特殊性和人类智力的局限性,导致人们无法处理“复杂问题”,因为软件是逻辑产品,软件开发进展情况较难衡量、软件开发质量难以评价、管理和控制软件开发过程相当困难。 四、什么是软件工程?它的目标和内容是什么? 定义:将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中,并对方法的研究。(P6) 目标:在给定的成本和进度前提下,开发出具有可修改性、可理解性、可维护性、有效性、可靠性、可适用性、可重用性、可移植性、可跟踪性和互操作性并且满足用户需求的软件产品。(P7) 内容:主要内容包括软件开发技术和软件工程管理两方面。(P6) 要素:方法,工具,过程 五、什么是软件生存周期?它有哪几个活动? 定义:(software life cycle)把软件产品从形成概念开始,经过定义、开发、使用和维护直到最后退役的全过程。 活动:软件定义、软件开发、软件使用维护和退役(P9)

软件工程期末复习要点归纳总结精编WORD版

软件工程期末复习要点归纳总结精编W O R D 版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

第一章软件工程学概论 1、软件危机产生的原因 软件本身的特点:难于维护、逻辑复杂 软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护 课本表述: 1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件 2、软件不同于一般程序,它的一个显着特点是规模庞大,而且程序的复杂性将规模 的增加而呈现指数上升。 3、软件本身特有的特点确实给开发和维护带了一些客观困难 4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维 护) 5、对用户要求没有完整准确的认识就匆忙开始着手编写程序 6、在软件不同阶段进行修改需要付出的代价是很不相同的 2、软件危机的表现(什么是软件危机) (1)、成本高: (2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多 (3)、进度难以控制:

●项目延期比比皆是 ●由于进度问题而取消的软件项目较常见 ●只有一小部分的项目能够按期完成 (4)、维护十分困难: ▼软件维护的多样性 ▼软件维护的复杂性 ▼软件维护的副作用 3、克服软件危机 (1)、管理的角度: 软件开发过程的研究、文档的标准化以及人员的交流方式等 (2)、软件开发方法的研究 结构化软件开发方法, 面向对象的开发 4、软件工程的定义 概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程复习知识点

1.软件危机的概念,内容,原因及消除的途径;软件危机的概念: 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。概括地说,软件危机包含两方面问题: 如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机产生的原因: 软件本身的复杂性、难衡量的特点; 2. 软件开发与维护的方法不正确。消除软件危机的途径: (1)对计算机软件应当有一个正确的认识; (2)应当有组织、有计划、通过严格的管理手段进行软件的开发; (3)及时总结软件开发的成功技术和方法并加以推广; (4)开发和使用更好的软件工具; 总之,为了解决软件危机,既要有技术措施,又要有必要的组织管理措施。 2.软件工程的定义,基本原理;定义:软件工程是指导计算机软件开发和维护的一门工程学科。基本原理:软件工程的7 条基本原理: (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果应能清楚地审查 6)开发小组的人员应该少而精 7) 承认不断改进软件工程实践的必要性 3.软件工程方法学的基本概念、内容;基本概念:把在软件生命周期全过程中使用的一

整套开发和管理技术方法的集合成为软件工程方法学,也称为范型。软件工程方法学包含3 个要素:方法、工具和过程。 内容:目前使用得最广泛地软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学也称为生命周期方法学或结构化范型。 4.软件生命周期的具体内容,每一个阶段的任务是什么?结合具体的工程例子来理解做 软件项目主要分那几个个阶段。 ①问题定义:确定要求解决的问题是什么 ②可行性研究:决定该问题是否存在一个可行的解决办法 ③需求分析:深入了解用户的要求,在要幵发的目标系统必须做什么问题和用户取得完全一致的看法。 ④概要设计:概括回答怎样实现目标系统。概要设计又叫逻辑设计、总体设计、高层设计。 ⑤详细设计:把解法具体化,设计出程序的详细规格说明。详细设计也叫模块设计、底层设计。 ⑥编码和单元测试:编写程序的工作量只占软件幵发全部工作量的10沧20%。 ⑦综合测试:软件测试的工作量通常占软件幵发全部工作量的40沧50%。 ⑧软件维护:软件维护的费用通常占软件总费用的55 %-70% ①②③为软件定义时期,④⑤⑥⑦为软件幵发阶段。④⑤为系统设计,⑥⑦为系统实现。 5.理解几个典型软件过程的内容及其优点与缺点:瀑布模型、增量模型、快速原型模型、 螺旋模型、喷泉模型等;瀑布模型内容:瀑布模型是带“反馈环”的。优点:(1)可强迫开发人员采用的规范的方法(结构化技术)。 (2)严格地规定了每个阶段必须提交的文档。

相关主题
文本预览
相关文档 最新文档