8:系统开发基础--8.1:软件工程概述、8.2:软件开发方法 、8.3:软件开发模型、8.4:系统分析

发布于:2024-04-19 ⋅ 阅读:(23) ⋅ 点赞:(0)

转上一节:

http://t.csdnimg.cn/G7lfmicon-default.png?t=N7T8http://t.csdnimg.cn/G7lfm

课程内容提要:

8:知识点考点详解

8.1:软件工程概述

1.软件的生存周期

2.软件过程改进—CMM

Capability Maturity Model能力成熟度模型

3.软件过程改进—CMMI—阶段式模型

4.软件过程改进—CMMI—连续式模型

8.2:软件开发方法 

结构化方法
  • 用户至上
  • 严格区分工作阶段,每阶段有任务和结果
  • 强调系统开发过程的整体性和全局性
  •  系统开发过程工程化,文档资料标准化
  • 自顶向下,逐步分解(求精)

原型法

面向对象方法
  • 更好的复用性
  • 关键在于建立一个全面、合理、统一的模型
  • 分析、设计、实现三个阶段,界限不明确

面向服务的方法

抽象级别:操作、服务、业务流程

8.3:软件开发模型

1:瀑布模型

特点:以文档作为驱动、适给于软件需求很明确的软件项目。

2:V模型 

特点:将验证确认活动应用于早期软件工程工作中,测试贯穿始终。


3:增量模型 

特点:第1个增量往往是核心产品。将需求分段为一系列增量产品,每增量可以分别开发。

4:演化模型

        演化模型是迭代的过程模型,使得软件开发人员能够逐步开发出更完整的软件版本。演化模型特别适用于对软件需求缺乏准确认识的情况。

(1)原型模型 

(2)螺旋模型

 

特点:瀑布模型和演化模型结合,加入了风险分析。特别适用于庞大、复杂并且具有高风险的系统。

5:喷泉模型 

特点:迭代无间隙。以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。

6:统一过程UP 

7.敏捷方法

(1)敏捷方法的基本原则和思想

总体目标是通过尽可能早地、持续地对有价值的软件的交付,使喜户满意。

适用于:小步快跑的思想,适合小项目小团队。 

(2)极限编程XP

 

(3)常见敏捷开发方法特点对比

 

8.4:系统分析 

考点1:需求分析相关概念

需求分析的任务:找出系统要实现什么功能。

需求的任务和需求的过程:

  1. 问题识别,定位当前问题;
  2. 分析与综合,确定大致解决方案、功能方案;
  3. 编制需求分析文档,把功能方案记下来;
  4. 需求分析与评审,确保功能方案的可行性。

        结构化分析的结果:一纷层的数据流图, 一本数据词典,一组小说明 (也称加工逻辑说明),补充材料。

考点2:需求的分类

考点3:需求分析的工具
  1. 应用的工具
  • 数据流图(DFD)
  • 数据字典(DD)
  • 判定表
  • 判定树

(1)数据流图基本概念 

 

        数据字典有以下4类条目:数据流、数据项、数据存储和基本加工。(源点、终点【外部实体】不在系统之内,故一般不在字典中说明。) 

  • 数据流条目:数据流条目给出了DFD中数据流的定义,通常列出该数据流的各组成数据项。
  • 数据存储条目:数据存储条目是对数据存储的定义。
  • 数据项条目:数据项条目是不可再分的数据单位。
  • 基本加工条目:加工条目是用来说明DFD中基本加工的处理逻辑的,由于下层的基本加工是由上层的加工分解而来,只要有了基本加工的说明,就可理解其他加工。