视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
软件工程要点(包括部分内容)
2025-09-25 14:18:18 责编:小OO
文档
1,软件工程基本概念

软件工程是软件工程师用工具和技术(方法),按照某一过程和范例来构造软件,从而增强软件产品的质量,更有效地解决问题.

2,软件危机的原因

a , 软件产品是复杂的人造系统,具有复杂性、不可预见性和易变性,难以处理。

b ,个人和小组非常有效的开发小型软件的编程技术和过程,在开发大型、复杂系统时难以发挥同样的作用。

c ,软件是知识产品,技术更新快,行业竞争激烈,难以在可以接受的成本和工期内提供高质量的产品。

3,软件工程包括的四个元素(特点)

方法(methods) 语言(languages) 工具(tools) 过程(procedures)

4,软件的生命周期(由哪几部分组成)

计划 需求分析 设计 程序编写 测试 运行维护等六个步骤

5,瀑布模型(有哪几种模型)

6,面向对象生存期模型

7,面向对象性—统一过程

8,可行性研究目的、任务(技术、经济、操作)

目的:确定问题是否值得去解

任务

进一步分析和澄清问题的定义

导出系统的逻辑模型

探索若干种解决方案,并分析各种方案的

技术可行性

经济可行性

操作可行性

对以后的行动方针提出建议

9,数据流图(*)

   数据字典的定义

对数据流图中包含的所有元素的定义的集合

10,需求分析的任务,综合要求

分析系统的数据要求

导出系统的逻辑模型:

数据流图,

数据字典,

处理算法。

修正系统开发计划

开发原型系统

功能 性能 可靠性和可用性 出错处理 接口需求 约束 逆向需求

11,分析过程的基本方法

结构化分析方法(SA)

面向对象的分析方法 (OOA)

12,什么是概念模型或信息模型

按用户的观点来对数据和信息建模

13,概念模型的基本概念 E-R图

概念模型的基本概念

实体(Entity):客观存在并可相互区分的事务

属性(Attribute)

码(Key)

域(Domain)

实体型(Entity Type)

实体集(Entity Set)

联系

14,状态转换图

15,IPO图

16,知道有哪几种形式化说明技术

形式化方法:用基于数学的技术描述系统需求规格说明和设计结果。

非形式化方法:用自然语言描述系统需求规格说明和设计结果。

半形式化方法:用数据流图或E-R图描述需求规格说明和设计结果。

17,总体设计的任务

划分出组成系统的物理元素;设计软件的结构。

18,总体设计的过程

设想供选择的方案:设计各种可能的分组。

选取合理的方案。

对每个方案准备以下资料:

   系统流程图

   物理元素清单

   成本/效益分析

   进度计划

推荐最佳方案,并制定详细的实现计划。

19,模块化(*)(概念)

模块化:将程序分成若干个模块。

模块化的目的:将复杂问题简单化。

模块化程度应适当。

20,抽象的定义

抽象是抽取事务的本质特性而暂不考虑细节

21,模块

模块的性:每个模块的功能相对,与其他模块的关系简单。

模块的优势

易于分工开发;

易于测试和维护。

通过模块化、抽象、信息隐蔽和局部化,即可达到模块。

22,耦合 内聚(*)

低内聚

偶然内聚:一个模块完成的一组任务之间有松散的关系。 

逻辑内聚:完成的任务在逻辑上属于相同或相似的一类。 

时间内聚:完成的任务必须在同一段时间内执行。 

中内聚

过程内聚:模块内的处理元素相关且须以特定次序执行。 

通信内聚:模块内的所有元素都使用同一个输入数据和(或)产生同一个输出数据。 

高内聚

顺序内聚:模块内的处理元素和同一个功能密切相关,且须顺序执行。 

功能内聚:一个模块内的处理元素属于一个整体,完成一个单一的功能。 

23,信息流的分类

24,数字仪表板(分析)(*)

25,详细设计任务和目标

(程序流程图)

任务

设计程序流程图,从而确定具体实现系统的方法。

目标

从逻辑上正确实现每个模块的功能;

设计的处理过程应尽可能简明易懂。

26,结构程序设计的定义,优点

定义

   采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。

结构程序设计的优点

   可以提高程序的开发效率和成功率。

   程序层次结构清晰,易于阅读、理解、测试和维护。

   容易保证程序的正确性。

27,N-S图

28,环形复杂度

29,实现的定义(英文写的不知道...)

30,测试的定义,目标

目标:

        测试是指为了发现程序中的错误而执行程序的过程,并最终修正错误(调试)。

        测试不可能发现软件中所有的错误。

31,测试的方法(黑、白)

黑盒测试(功能测试):检验程序的每个功能是否正常。

白盒测试(结构测试):检验程序的逻辑结构和处理过程是否正常。

32,步骤

模块测试

子系统测试

系统测试

验收测试

平行运行(试运行)

33,单元测试的主要内容

模块接口

局部数据结构

重要的执行通路

出错处理通路

影响上述各方面特性的边界条件。

集成测试

集成测试的目标:发现模块在集成过程中与接口有关的问题。

集成测试的方法。

非渐增式测试方法:先单元测试,后集成

优点:能充分利用人力,加快工程进度。

渐增式测试方法:每集成一个模块,就进行一次测试。

优点:可以及时发现模块之间的接口问题。

                缺点:需要较多的机器时间。

渐增式测试的两种方法

自顶向下结合:

深度优先:从主控制通路开始,沿通路进行组装和测试。

优点:可以较早实现软件的一个功能。

宽度优先:从顶层开始,根据软件结构一层一层进行组装测试。

                        优点:可以较早发现上层结构中的问题。

自底向上结合:

主要优点

能较早发现底层模块之间的接口错误;

可以充分利用人力。

34,测试方案应包括的内容、基本原则和目标

测试方案中应包括的内容

预定要测试的功能

应该输入的测试数据

        预期的测试结果

基本原则:选用尽可能少的测试数据,做到尽可能完备的测试。

目标:确定一组最可能发现某个错误或某类错误的测试数据。

35,几种覆盖(条件覆盖)

逻辑覆盖—程序的通路测试

语句覆盖(或点覆盖)

判定覆盖(或边覆盖)

条件覆盖

判定/条件覆盖

路径覆盖

条件组合覆盖

36,等价划分定义,方法,步骤

等价划分法定义

将所有可能的输入数据(有效的或无效的)化分成若干个等价类。

划分等价类的方法

如上下限范围内为一组,下限以外为一组,上限以外为一组,上边界为一组,下边界为一组。等等。 

根据等价类设计测试方案的步骤

设计针对有效等价类的测试方案;设计针对无效等价类的测试方案。

37,调试的任务和步骤 策略

任务:诊断和改正程序中的错误。

步骤

 确定错误的准确位置。

 设法改正错误。

调试技术:追踪程序的运行状态,观测变量的变化。

调试策略

   试探法 、回溯法、 对分查找法

   归纳法:从错误征兆出发,找出程序的故障点。

  收集有关的数据

  组织数据

  导出假设

  证明假设

   演绎法:列出所有可能的假设,然后逐步排除假设。

  设想可能的原因

  用已有的数据排除不正确的假设

  精化余下的假设

  证明余下的假设

软件可靠性定义和可用性定义

软件可靠性定义:程序在给定的时间间隔内成功运行的概率。

软件可用性定义:程序在某一给定时间成功运行的概率。

38,维护的定义、分类(*) 、问题

软件维护是为了改正错误或满足新的需要而修改软件的过程。

软件维护的分类

改正性维护 适应性维护 完善性维护 预防性维护

维护的问题

阅读程序困难。文档不足。模块的性差。许多技术人员不愿意做维护工作。

39,可维护性的定义、决定因素

软件可维护性的定义:维护人员理解、改正、改动和改进这个软件的难易程度

决定软件可维护性的因素:可理解性、可测试性、可修改性

40,面向对象方法的定义

任何事物都是由对象组成;

具有相同属性和方法的对象组成了对象类;

类与类之间可以通过继承关系形成层次结构;

        对象之间只能通过传递消息相互联系。 

41,传统方法学存在的问题

面向对象方法学特点

存在的问题

生产率提高的幅度远不能满足需要

软件重用程度很低

软件仍然很难维护

软件往往不能真正满足用户的需要

OO方法的主要特点

强调围绕对象而不是围绕功能来构造系统。

分析方法与思维方法一致,系统易于理解。

系统稳定性好。

软件可重用性高。

系统可维护性好,易于测试、调试和修改

42,对象的定义,特点

对象的定义

对象是对问题域中某个实体的抽象,即是对实体的属性和操作的封装。

对象的特点

以数据为中心

对象是主动的,是进行处理的主体

实现了数据封装

本质上具有并行性

        模块性好

面向对象建模的三种形式,关系

面向对象建模的三种形式

对象模型:描述系统的数据结构

动态模型:描述系统的控制结构

功能模型:描述系统的功能

三种模型之间的关系

功能模型定义了系统要做什么。

动态模型规定了系统在什么条件下做。

    对象模型定义了谁来做。

43,类图,状态图(*) 用例图 动态模型

44,面向对象分析的基本过程

需求分析

建立模型

建立对象模型的主要活动

找出类—&—对象;

识别结构(确定关联);

识别(划分)主题(功能边界);

定义属性;

定义服务。

45,面向对象设计任务,准则

OOD的任务:将需求分析结果转变成符合成本和质量要求的抽象的系统实现方案

准则:强内聚(服务内聚、类内聚、“一般—特殊”内聚)、可重用、模块化、抽象 (规格说明象

、参数化抽象)、信息隐藏、弱交互耦合

软件重用

软件重用的类别

知识重用

方法和标准的重用

        软件成分的重用:即通常所说的软件重用

实现软件重用需要创建可重用的软构件

软件成分的重用级别

代码重用

源代码剪贴

源代码包含(Include)

继承

设计结果重用

        分析结果重用

软件重用技术

软件组合技术

软件生成技术

        面向对象的软件重用技术—用类构件

    系统分解(CS,点对点)

子系统之间的交互方式

客户—供应商关系(client-superlier)

    平等伙伴关系(peer-to-peer)

46,UML定义(有哪几种图,9种)

第一类是用例图(Use case diagram),从用户角度描述系统功能,并指出各功能的操作者。

第二类是静态图(Static diagram)

类图:描述系统中类的静态结构。 

对象图: 对象图是类图的实例 。

第三类是行为图(Behavior diagram) :描述系统的动态模型和组成对象间的交互关系。 

状态图:描述类的对象所有可能的状态以及事件发生时状态的转移条件。 

                活动图:描述满足用例要求所要进行的活动以及活动间的约束关系。

第四类是交互图(Interactive diagram):描述对象间的交互关系。

顺序图:显示对象之间消息发送的顺序关系。

合作图:描述对象间的协作关系。

如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。

第五类是实现图( Implementation diagram ) 

构件图:描述代码部件的物理结构及各部件之间的依赖关系。 

                配置图:定义系统中软硬件的物理体系结构 下载本文

显示全文
专题