自考软件工程资料笔记.docx

上传人:b****5 文档编号:7210052 上传时间:2023-01-21 格式:DOCX 页数:7 大小:19.97KB
下载 相关 举报
自考软件工程资料笔记.docx_第1页
第1页 / 共7页
自考软件工程资料笔记.docx_第2页
第2页 / 共7页
自考软件工程资料笔记.docx_第3页
第3页 / 共7页
自考软件工程资料笔记.docx_第4页
第4页 / 共7页
自考软件工程资料笔记.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

自考软件工程资料笔记.docx

《自考软件工程资料笔记.docx》由会员分享,可在线阅读,更多相关《自考软件工程资料笔记.docx(7页珍藏版)》请在冰豆网上搜索。

自考软件工程资料笔记.docx

自考软件工程资料笔记

自考软件工程资料笔记

软件生命周期的划分

软件的生产、使用和消亡过程称为软件的生命周期,既是从软件问题的提出,直到软件停止使用的整个过程。

软件生命周期由软件定义、软件开发和软件运行三个阶段组成。

软件定义:

问题提出、可行性分析、需求分析。

软件开发:

总体设计、详细设计、编码、测试。

软件运行:

维护。

软件危机的定义、原因和表现

软件危机是指在计算机软件的开发和维护过程中所出现的一系列严重的问题。

原因:

1、软件是逻辑部件,不是物理部件。

2、软件的规模越来越大,结构越来越复杂。

3、软件开发、维护管理困难。

4、软件开发技术落后。

5、生产方式落后。

6、开发工具落后,生产率提高缓慢。

表现:

1、软件需求增长得不到满足。

2、软件生产成本高、价格昂贵。

3、软件生产进度无法控制。

4、软件需求定义不准确。

5、软件质量不易保证。

6、软件可维护性差

软件工程方法学的要素

四大要素:

方法、语言、工具、过程

常见的软件开发模型有哪些?

模型:

瀑布模型、增量模型、螺旋模型、喷泉模型、四代技术、变换模型、基于知识的模型、过程开发模型。

结构化分析方法的基本原则

原则:

1、抽象:

是指抽出事物的本质特性而暂时不考虑它们的细节。

(主要手段)

2、分解:

是指把一个大问题经过多次逐层划分成为若干个足够简单容易解决的小问题的过程。

(主要手段)

3、模块化:

是指将系统分解成具有特定功能的若干模块,以完成系统制定的各项功能。

(主要出现在结构化设计中,是结构化方法中分解原则的具体应用)

环路复杂度的计算P85

采用①环路复杂度V(G)=4;等于流图中的区域数。

采用②V(G)=E-N+2=11-9+2=4,其中E是流图中边的条数,N是流图中的节点数。

采用③V(G)=P+1=4其中P是流图中判定节点的数目。

7种耦合、7种内聚

低←————————————————耦合性←————————————————高

非直接耦合

数据耦合

标记耦合

控制耦合

外部耦合

公共耦合

内容耦合

高←————————————————内聚性←————————————————低

功能内聚

顺序内聚

通信内聚

过程内聚

时间内聚

逻辑内聚

偶然内聚

追求低耦合高内聚。

耦合:

非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合

(耦合性递增,模块独立性递减)

内聚:

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

(内聚性和模块独立性都递减)

追求低耦合高内聚。

结构化开发过程中各阶段的主要任务及使用的工具P41、P63

软件设计可划分为概要设计和详细设计。

概要设计的主要任务是确定一个模块化的程序结构,确定每个模块的功能,定义界面,明确模块间的相互关系及系统的全局数据结构。

使用的工具:

数据流图、数据字典、结构化英语、结构图、层次图和HIPO图

数据流图中,这种信息流可分为两种类型:

变换流和事物流。

详细设计的基本任务就是要在概要设计的基础上,对系统中的每个模块给出足够详细的过程性描述,以及局部数据结构的设计。

使用的工具:

程序流程图、盒图、问题分析图、判定表、判定树、过程设计语言

什么是信息隐藏?

p44

指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。

白盒测试、黑盒测试的定义和具体方法P81、P89

定义:

测试方法一般分为:

静态测试和动态测试。

动态测试中有白盒测试(结构测试)和黑盒测试(功能测试)。

白盒测试:

语句覆盖;判定覆盖;条件覆盖;判定/条件覆盖;条件组合覆盖;路径覆盖。

黑盒测试技术有等价类划分、边界值分析和错误推测。

软件测试的过程以及每个阶段的主要任务,测试过程中产生的文档有哪些,各有何作用P93

单元测试:

任务包括模块接口测试、模块局部数据结构测试、模块中所有独立执行通路测试、模块的各条错误处理通路测试和模块边界条件测试。

集成测试:

发现与接口相关的各种问题。

确认测试:

验证软件的有效性。

系统测试:

为测试软件系统的输入信息设计出错处理路径;设计测试用例,模拟错误数据和软件边界面可能发生的错误;记录测试结果,为系统测试提供经验和帮助;参与系统测试的规划和设计,确保软件测试的合理性。

文档:

作用:

软件可靠性的度量P102

MTTF:

平均估算无故障时间

结构化开发方法的基本思想P10

按照用户至上的原则,自顶向下分析与设计和自底向上逐步实施的建立计算机信息系统的一个过程,是组织、管理和控制信息系统开发过程的一种基本框架。

把软件的生命周期的全过程依次划分为任务相对独立、相对简单的若干个阶段,然后顺序地完成每个阶段的任务。

原型化开发方法的基本思想P11

原型方法学是根据简单的用户需求,用软件工具快速生产软件原型(模型),用户与开发人员针对这个原型进行讨论,用户提出意见,开发人员进行修改,直到用户对这个原型满意为止。

然后,以修改好的原型为基础开发软件。

面向对象开发方法的基本思想P11

面向对象的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件方法与过程尽可能接近人类认识世界、解决问题的方法与过程,从而使描述问题空间与实现的解空间在结构上尽可能一致,它的过程是一个主动地多迭代次反复的演化过程。

面向对象方法的基本概念:

类、对象、消息、封装、继承、多态性P107

1对象

2类及实例:

不同属性具有不同可见性。

常用的可见性有Public、Private和Protected三种,在UML中分别表示为"+"、"-"和"#"。

属性的定义:

可见性属性名:

类型=缺省值{约束特性}

操作的定义:

可见性操作名(参数表):

返回类型{约束特性}

3消息4封装5继承性6多态性

属性、操作常用可见性有哪几种?

p117

Publicprotectedprivate

面向对象开发方法有哪些?

p106

Coad/Yourdon的方法、Booch的方法、Rumbaugh的OMT方法等。

面向对象的分析方法中需要建立哪些模型?

各有什么作用?

模型元素之间的基本联系有哪些?

p115-124

对象模型、动态模型、功能模型

对象模型的作用:

对模拟客观世界实体的对象及对象彼此间的关系的映射,描述了系统的静态结构。

动态模型的作用:

通过描述系统与用户交互时的各种情形,决定每个类需有的操作以及对象之间的通信关系。

由状态图构成

功能模型的作用:

决定各个对象在不考虑动作次序的情况下,如何进行各种不同的动作操作,数据时如何在各操作中流动。

由分层数据流图组成。

OOA对象模型的结构分为哪几层?

问题域中实体间的结构关系有哪些?

P113

类—&—对象层;结构层:

归纳关系、组合关系(回答了第二问);主题层;属性层;服务层

关系:

OOD模型有哪几个组成部分?

各起什么作用?

P126

人工交互部分(HIC):

包括有效的人机交互所必需的实际显示和输入,负责向用户提供良好的界面

问题域(PDC):

是对面向对象分析的结果进行改进

任务管理(TMC):

是对系统中若干任务并发执行时,设计合理的任务执行方案

数据管理(DMC):

是对数据的存放和相应的服务进行设计

选择面向对象语言时应考虑哪些因素?

p135-137

测试单个类的方法主要有哪些?

P139

随机测试、划分测试、基于故障的测试

面向对象数据库管理系统的实现途径有哪几条?

P132

1、在关系数据库的基础上进行扩展,增加了抽象数据类型和继承机制,增加了创建及管理类和对象的通用服务。

2、扩充了面向对象设计语言的语法和功能,增加了在数据库存储和管理对象的机制。

软件维护可分为哪几类?

P154

正确性维护、适应性维护、完善性维护、预防性维护

什么是软件的可维护性?

软件的可维护性和哪些因素有关?

P157-158

软件的可维护性是指软件能够被理解、改正、适应和完善,以适应新的环境的难易程度。

决定性因素:

文档的健全性;可理解性;可测试性;可修改性;可移植性

选择面向对象语言时应考虑哪些因素?

P135

选择语言时应考虑:

1、类与对象占有内存的管理机制;2、实现组合结构的机制;3、实现归纳结构的机制;4、实现属性和服务的机制;5、类型检查;6、类库和开发环境;7、效率;8、持久保存对象;9、参数化类;10、在若干年以后,哪种面向对象语言将占主导地位;11、开发人员对语言的熟悉程度;12、对用户学习语言所能提供的培训服务等。

软件项目管理的要素有哪些?

P142

时间、成本、质量、软件工作范围

什么是CMM?

分为哪几层?

各有何特点?

P148

CMM是软件能力成熟度模型。

1、初始级:

初始级实际上是一个较为原始的阶段,初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。

它的执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。

2、可重级:

可重级的管理包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面,可重级的焦点集中在软件管理过程上。

一个可管理的过程则是一个可重级的过程,一个可重级的过程则能逐渐进化和成熟。

3、定义级:

定义级给出了定义执行的步骤标准,并将这些标准集成到企业软件开发标准过程中去。

所有开发的项目需根据这个标准过程,剪裁出该项目的过程,并执行这些过程。

过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。

4、管理级:

管理级的管理是量化的管理。

所有的过程需建立在相应的度量方式,产品质量需有明确的度量指标。

这些度量应是详尽的,且可用于理解和控制软件过程和产品,量化控制将软件开发正在变成工业生产活动。

5、优化级:

优化级的目标是达到一个持续改善的境界。

所谓持续改善是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。

影响软件开发成本的因素有哪些?

P151

重置全价=∑(实耗料量×现时价格)+∑(实耗工时×现行工时费用)+∑(原劳务消耗量×现时收费标准)

什么是软件项目管理?

管理的主要对象是什么?

p141

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动

管理的主要对向是人员、抽象的文档、和程序代码

什么是软件计划?

常用的工具有哪些?

各有何功能?

各工具的优缺点如何?

p145

定义:

将那些繁重的工作分解为更小单位的相关项目,这些相关项目都是在同一时间内以平行的状态被执行。

工具:

甘特图、网络图

甘特图:

功能:

给出项目的时序状态。

优点:

简单明了,清楚地从地图上看出任务时间上的对比关系

缺点:

各个任务之间的逻辑关系无法表示清楚

网络图:

功能:

通过网络图找出关键路径,并研究如何减少关键路径的耗时。

优点:

缺点:

什么是UML?

有何优点?

P168

UML是为了简化和铅华现有的大量面向对象开发方法这一目的而开发的。

优点:

面向对象的;统一的、标准化的;易读的、可理解的

UML中提供的模型元素之间的基本联系有哪些?

各有何特点?

P171

依赖:

指模型建筑块之间的一种语义联系,其中一个独立的事物发生改变将影响另一个事物的改变。

关联:

指模型建筑块之间的结构联系,两者存在结构性的连接。

泛化:

指模型建筑块之间的一般与特殊的联系。

实现:

指模型建筑块之间一种语义联系,其中一种语法规定了一组协议,另一种语法负责实现它们。

UML中消息可分为哪几种?

p171

简单消息表示简单的控制信息;同步消息表示嵌套的控制消息;异步消息表示异步控制消息

UML中用例之间的联系有哪几种?

p174

泛化联系、使用联系、包含联系、扩展联系

UML中的静态建模机制有哪些?

p173

用例图、类图、对象图、包、构件图、配置图

UML中的动态建模机制有哪些?

p179

状态图、合作图、顺序图、活动图

UML中9种图的功能及绘制。

P173

(用例图、类图、对象图、状态图、合作图、顺序图、活动图)

DFD图

UML图的绘制(重点:

用例图、状态图)P173

软件计划网络图、甘特图P143

6种逻辑覆盖测试用例的设计P81

面向对象的测试用例的设计P132

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1