软件工程期末复习总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程期末复习总结

第一章软件工程学概述

1.软件危机:是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。包括如何开发软件,如何维护数量不断膨胀的已有软件。

2.软件生命周期的定义及划分

3.软件从定义、开发、使用和维护,直到最终废弃的过程称为生命周期

4.按照软件生命周期全过程应完成的任务性质,在概念上可以把软件生命周期划分成问题定义、可行性研究、需求分析(定义时期)、总体设计、详细设计(系统设计)、编码和单元测试、综合测试以及运行维护(系统实现)共8个阶段

5.最基本的测试是集成测试和验收测试

6.软件配置主要包括:程序+数据+文档

7.软件工程的定义软件工程是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;并研究其中提到的途径。

8.软件工程的基本原理

1. 用分阶段的生命周期计划严格管理

2. 坚持进行阶段评审

3. 实行严格的产品控制

4. 采用现代程序设计技术

5. 结果应能清楚地审查

6. 开发小组的人员应该小而精

7. 承认不断改进软件工程实践的必要性

9.软件工程方法学包含3要素:方法、工具和过程。

分成传统方法学和面向对象方法学,其中传统方法学采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务。

10.软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定各项任务的工作步骤(who,when,what,how)

11.软件过程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型

12.瀑布模型优点

1. 阶段间具有顺序性和依赖性

2. 推迟实现的观点

3. 质量保证的观点

13.软件工程由方法、(工具)和过程三部分组成,称软件工程的三要素。

14.从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。

15.基于计算机系统的软件要素中的软件由程序、数据和(文档)组成。

16.软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。()

17.软件生存周期(名词解释)软件从定义、开发、使用和维护,直到最终废弃的过程称为生命周期

18.软件危机(名词解释)是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题

原型法模型一般适应哪些场合?

它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。

瀑布模型一般适应哪些场合?

瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。

第二章可行性研究

1.可行性研究的目的,就是用最小的代价尽可能短的时间内确定问题是否能够解决

2.至少包含下述3个方面:

1. 技术可行性

2. 经济可行性

3. 操作可行性

3.数据流图的用途

1. 交流信息的工具

2. 作为分析与设计的工具

4.数据字典的内容由4类元素组成

1. 数据流

2. 数据流分量(即数据元素)

3. 数据存储

4. 处理

5..系统流程图是物理系统模型

数据流图和数据字典是系统逻辑模型

5. 成本/效益分析的方法:1.货币的时间价值,2投资回收期3纯收

入4投资回收率

6. 数据字典:是关于数据的信息的集合,也就是对数据流图中包

含的所有元素的定义的集合.

第三章需求分析

1.需求分析是软件定义时期的最后一个阶段,它的基本任务是准备地回答“系统必须做什么”这个问题

2.需求分析的任务

1. 确定对系统的综合要求

2. 分析系统的数据要求

3. 导出系统的逻辑模型

4. 修正系统开发计划

3.需求分析的结果是软件需求规格说明书

4.需求分析的方法

1. 访谈

2. 面向数据流自顶向下求精

3. 简易的应用规格说明技术

4. 快速建立软件原型,

5…实践表明,快速建立软件原型是最准确、最有效和最强大的需求分析技术

6需求分析建模的工具

1. E-R图

2. 层次方框图,描绘数据的层次结构

3. Warnier图

4. IPO图

7.验证软件需求应该从下面4个方面验证

1. 一致性

2. 完整性

3. 现实性

4. 有效性

第五章总体设计

1.总体设计的基本目的就是回答“概括地说,系统该如何实现?”

2.总体设计也称概要设计或初步设计

3.总体设计的重要任务

1. 划分系统元素和边界

2. 设计软件的结构,即系统的模块组成和模块间的关系。

4.总体设计通常由两个阶段组成:

系统设计阶段,确定系统的具体实现方案

结构设计阶段,确定软件结构

5.模块是构成程序的基本构件。

6.模块化就是把程序分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户需求

7.模块化的根据就是分解复杂的问题容易解决

8.软件设计原理

1. 模块化

2. 抽象

3. 逐步求精

4. 信息隐藏和局部化

5. 模块独立

9.模块设计的原则是高内聚,低耦合

耦合是衡量不同模块彼此间互相依赖的紧密程度

内聚是衡量一个模块内部各个元素彼此结合的紧密程度

10.耦合的类型及设计原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合

内聚:使用功能内聚和顺序内聚

11.设计的启发式规则

1. 提高独立性

2. 模块适中

3. 深度、宽度、扇入和扇出适当

4. 模块作用域应该在控制域之内

5. 降低模块接口的复杂度

6. 设计单入口单出口的模块

7. 模块功能可以预测

12.据流的设计方法的两种不同类型的设计:变换分析和事务分析

优化方法的格言:先使它能工作,然后再使它快起来

第六章详细设计

设计阶段的根本目录是确定应该怎样具体地实质所要求的系统。

详细设计不是编码,而是设计出程序的“蓝图”

结构程序设计最早由Dijkstra提出

只要3种基本的控制结构就能实现任何单入口单出口的程序,这3种基本的控制结构是“顺序”、“选择”和“循环”

1. 程序设计的经典定义:如果一个程序的代码块仅仅透过顺序、选

择和循环这3中基本控制结构进行连接,并且每个代码块只有一

相关文档
最新文档