软件工程理论知识 - 图文

2019-05-17 17:08

2010年软件设计师考试复习资料 (42页完美打印版)

软件工程理论知识

共42页 第1页

2010年软件设计师考试复习资料 (42页完美打印版)

软件工程基础知识精解

一.什么是软件? .................................................................................... 4 二.软件危机以及产生软件危机的原因? ................................................................ 4 三.有哪些流行的软件工程方法学及其要素? ............................................................ 4 四.什么是软件生存周期?有哪些活动? ................................................................ 4

4.1软件生存周期 ................................................................................. 4 4.2 开发活动 .................................................................................... 4 4.3 各活动阶段主要文档 .......................................................................... 4

4.3.1可行性分析和项目开发计划 ............................................................... 4 4.3.2需求分析中的文档 ....................................................................... 5 4.3.3 概要设计阶段文档 ...................................................................... 5 4.4.4 详细设计阶段 .......................................................................... 5 4.4.5 编码 .................................................................................. 5 4.4.5 测试 .................................................................................. 5 4.4.6 系统测试阶段 .......................................................................... 5

五.有哪些主要生存期模型? .......................................................................... 5

5.1 瀑布模型(传统的软件周期模型) ................................................................ 5 5.2 原型模型 .................................................................................... 6

5.2.1 快速原型模型 .......................................................................... 6 5.2.2 演化模型 .............................................................................. 6 5.2.3增量模型(渐增式) ....................................................................... 6 5.2.4 原型模型小结 .......................................................................... 6 5.3 螺旋模型 .................................................................................... 6 5.4 喷泉模型 .................................................................................... 7 5.5 迭代软件开发技术 ............................................................................ 7 5.6极限编程(XP) ............................................................................... 8 六.软件过程基础知识 ................................................................................ 8

6.1 软件过程 .................................................................................... 8 6.2 评估工具 .................................................................................... 8 七.软件工程项目管理基本知识 ........................................................................ 9

7.1时间管理 ..................................................................................... 9

7.1.1 Gantt图 ............................................................................... 9 7.1.2 PERT网图与关键路径 .................................................................... 9 7.2成本管理 .................................................................................... 10 7.3风险管理 .................................................................................... 11

7.3.1 风险的定义 ........................................................................... 11 7.3.2 风险的类型 ........................................................................... 11 7.3.3 风险管理活动 ......................................................................... 11 7.3.3 风险曝光度 ........................................................................... 11

八.模块化基本知识 ................................................................................. 12

8.1模块特性 .................................................................................... 12

8.1.1 可分解性 ............................................................................. 12 8.1.2 可组装性 ............................................................................. 12 8.1.3 可理解性 ............................................................................. 12 8.1.4 连续性 ............................................................................... 12

共42页 第2页

2010年软件设计师考试复习资料 (42页完美打印版)

8.1.5 保护性 ............................................................................... 12 8.2 模块与模块的耦合性(7种) .................................................................. 12

8.2.1 内容耦合 ............................................................................. 12 8.2.2 公共耦合 ............................................................................. 12 8.2.3 外部耦合 ............................................................................. 12 8.2.4 控制耦合 ............................................................................. 12 8.2.5 标记耦合 ............................................................................. 12 8.2.6 数据耦合 ............................................................................. 12 8.2.7 非直接耦合(无耦合) ................................................................. 12 8.3 模块的内聚性 ............................................................................... 12 8.4 模块的深度、宽度、扇出与扇入 ............................................................... 13 8.5 模块作用域和控制域 ......................................................................... 13 8.6 模块化基础知识小结 ......................................................................... 13 九.什么是软件开发方法?有哪些主要方法? ........................................................... 13

9.1 结构化方法学 ............................................................................... 13

9.1.1数据流图(DFD图) ...................................................................... 13 9.1.2 数据字典 ............................................................................. 15 9.1.3 结构化语言 ........................................................................... 15 9.1.4 实体-关系图(E-R图) ................................................................. 15 9.2 结构化设计 ................................................................................. 16

9.2.1 概要设计 ............................................................................. 16 9.2.2 详细设计 ............................................................................. 18 9.3 Jackson方法 ................................................................................ 18 9.4 面向对象分析方法(00A) .................................................................... 18 十.软件工具 ....................................................................................... 18 十一. 软件开发环境 ................................................................................. 19 十二. 软件质量管理基础知识 ......................................................................... 19

12.1 软件质量 .................................................................................. 19 12.2 软件质量保证 .............................................................................. 19 12.3 代码评审技术 .............................................................................. 20 十三.成本-效益分析可用哪些指标进行度量? .......................................................... 20 十四.第四代语言(4GL)的主要特征? ................................................................. 20 十五.软件测试 ...................................................................................... 20

15.1 软件测试经过的步骤 ........................................................................ 20 15.2 测试与软件开发各阶段的关系 ................................................................ 20 15.3 白盒测试 .................................................................................. 20 15.4 黑盒测试 .................................................................................. 21 15.4灰盒测试 ................................................................................... 22 15.5 回归测试 .................................................................................. 22 15.6 单元测试 .................................................................................. 22 15.7集成测试 ................................................................................... 22 15.8 确认测试 .................................................................................. 22 15.9 系统测试 .................................................................................. 22 十六.软件工程标准和软件文档 ....................................................................... 23

17.1 软件维护类型 .............................................................................. 23 17.2 软件的可维护性 ............................................................................ 23

共42页 第3页

2010年软件设计师考试复习资料 (42页完美打印版)

十八.软件的可靠性 .................................................................................. 24

一.什么是软件?

1.满足用户功能需求和性能的指令或计算机程序集合; 2.处理信息的数据结构;

3.描述程序功能以及程序如何操作和使用所要求的文档; 以上三部分的组合构成了软件

二.软件危机以及产生软件危机的原因?

1.软件开发生产率提高的速度,远远跟不上计算机迅速普及的趋势。软件产品“供不应求”。 2.软件成本在计算机系统总成本中所占的比例逐年上升。“开发成本高”

3.软件开发人员和用户之间的信息交流往往很不充分,用户对“已完成的”的软件系统不满足的现象经常发生。 4.软件产品的质量不容易保证。 5.软件产品常常是不可维护的。

6.软件产品的重用性差,同样的软件多次重复开发。 7.软件通常没有适当的文档资料。

产生软件危机的原因可归结为两个重要的方面: 软件生产本身存在的复杂性; 软件开发所使用的方法和技术。

三.有哪些流行的软件工程方法学及其要素?

1.使用最广泛的软件工程方法学是面向结构化方法学和面向对象的方法学(上世纪70-90年代,流行面向结构化方法学,上世纪90年代到现在,流行面向对象方法学)。

2.要素:方法、工具和过程。

四.什么是软件生存周期?有哪些活动? 4.1软件生存周期

一个软件从提出开发要求开始到软件废弃不用的整个过程。 4.2 开发活动

可行性分析和项目开发计划、需求分析和定义、软件设计(先后细分为:概要设计和详细设计)、编码、测试和运行维护

可行性分析和项目开发计划:用户、项目负责人和系统分析师搞清楚系统要解决的问题是什么?以及从技术、经济、时间等方面论证项目开发可行性。

需求分析和定义:用户、项目负责人和系统分析师确定系统必须做什么?但不关心具体怎么做?要确定系统的功能、性能、数据、界面等要求,从而确定系统的逻辑模型,同时制定后期测试计划。

软件设计-概要设计:系统分析师和软件设计师在需求定义的基础上,把各功能需求转换成需要的体系结构,即划分模块、模块的层次、模块之间的调用关系以及各模块的功能,同时设计应用系统的总体数据结构和数据库结构。

软件设计-详细设计:软件设计师和程序员对概要设计阶段得出的各功能模块进行详细描述成精确的、结构化的过程描述,即各个功能模块具体怎么实现,用相应的工具把模块的控制结构表示出来,但还未进行编码。

编码:由程序员详细设计阶段得出的各模块控制结构(图形)转变成计算机能识别的指令代码。

测试:由另一部门(单位)的软件设计师或系统分析师花费最少的人力物力找出程序最多、最大的错误(bug)。 维护:由用户和维护人员进行的软件生存周期中时间最长的阶段。 4.3 各活动阶段主要文档

4.3.1可行性分析和项目开发计划 ? 可性行研究报告 ? 项目开发计划

共42页 第4页

2010年软件设计师考试复习资料 (42页完美打印版)

4.3.2需求分析中的文档 ? 需求规格说明书 ? 初步用户使用手册 ? 确认测试的测试计划 ? 修改完善的软件开发计划 ? 系统测试计划文档 4.3.3 概要设计阶段文档 ? 概要设计说明书 ? 数据库说明书 ? 用户手册

? 修订的测试计划(测试的策略、方法、步骤) 4.4.4 详细设计阶段 ? 详细设计说明书 4.4.5 编码 ? 程序清单 4.4.5 测试

? 完善的测试计划书 ? 软件测试报告 4.4.6 系统测试阶段 ? 系统测试报告 2005年下半年

? 应该在 (7) 阶段制定系统测试计划。

(7)A. 需求分析 B. 概要设计 C. 详细设计 D. 系统测试

●(29)详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。

(29)A.概要设计说明书 B.详细设计说明书 C.用户手册 D.用户需求说明书 五.有哪些主要生存期模型?

瀑布模型、原型开发模型(快速原型模型、演化模型、增量模型)、螺旋模型、喷泉模型、基于知识的模型和变化模型。

5.1 瀑布模型(传统的软件周期模型)

瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入到下一阶段,整个模型就像一个飞流直下的瀑布,如下图所示。

优点:以文档作为驱动,强迫开发人员采用规范的方法,严格规定了各阶段必须提交的文档;要求每一阶段结束后,都要进行严格的评审。与它最相适应的开发方法是结构化方法。

缺点:不适应用户需求的改动。 2004年下半年:

● 软件开发中的瀑布模型典型的刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是 (9) 。 (9)A.构件化方法 B.结构化方法 C.面向对象方法 D.快速原型法

共42页 第5页


软件工程理论知识 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国互联网发展状况第二十七次调查报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: