您现在的位置:首页 > >

课件—UML系统建模与分析设计1精品文档

发布时间:

UML系统建模 与分析设计系列

火龙果软件整理 uml.org
2019-11-07

UML系统建模与分析设计

1

第一章 系统建模与分析设计技术的演变
本章目的:
理解软件的基本概念和特点 了解软件的发展过程及软件开发过程 了解软件开发的方法 掌握面向对象技术的基本概念及开发过程 了解几种典型的面向对象方法

2019/10/7

UML系统建模与分析设计

2

什么是UML?
UML是一种定义良好、易于表达、功能强 大且普遍适用的建模语言。它溶入了软件工程 领域的新思想、新方法和新技术。它的作用域 不限于支持面向对象的分析与设计,还支持从 需求分析开始的软件开发的全过程。

2019/10/7

UML系统建模与分析设计

3

1.1 软件的概念、特点和分类
1.现代软件的概念和特点
软件:是人们对客观世界中问题空间和解空间的具体描 述,是客观事物的一种反映,是知识的提炼和“固化”
特点: (1)软件规模大。 (2)软件开发规范并趋于标准化。 (3)软件开发方法多,有大量的软件工具支持。 (4)注重软件开发的管理。 (5)软件维护相对过去容易得多。

2019/10/7

UML系统建模与分析设计

4

2.软件的分类
(1)按软件的功能划分 系统软件。 支撑软件。 应用软件。
(2)按软件的规模划分 微型软件。 小型软件。 中型软件。 大型甚至超大型软件。
(3)按软件工作方式划分 实时处理软件。 分时软件。 交互式软件。 批处理软件。

2019/10/7

UML系统建模与分析设计

5

(4)按软件服务对象的范围划分 项目软件。 产品软件。
(5)按使用的频度划分 一次性使用软件。 使用频度较高的软件。
(6)按软件失效的影响程度划分 一般性软件。 关键性软件。

2019/10/7

UML系统建模与分析设计

6

1.2 软件的发展与软件工程
软件工程的指导性原则:
变动的软件需求。 稳妥的设计方法。 高效的软件开发支持技术。 有效的过程管理。

软件工程具有里程碑意义的进展:
结构化软件开发方法的工具。 计算机辅助软件工程(CASE)。 面向对象语言和方法成为主流的软件开发技术。

2019/10/7

UML系统建模与分析设计

7

1.3 软件开发模型的演变和生存周期
1.3.1 软件开发过程与模型的演变
1. 瀑布模型(waterfall model)

2019/10/7

UML系统建模与分析设计

8

1.3 软件开发模型的演变和生存周期
(1)慎重使用瀑布模型的情况:
不能充分理解客户需求或客户需求有可能 迅速发生化; 系统太大太复杂,不能一次做完所有的事; 事先拟采用的技术迅速发生变化; 提供的资源有限; 无法利用各开发阶段的某一中间产品。

2019/10/7

UML系统建模与分析设计

9

(2)使用瀑布模型的情况: 系统所有的功能、性能要求客户可以一次性准确交付 时; 必须是首次开发的新系统并且淘汰全部老系统时。
2. 渐增模型(incremental model)

2019/10/7

UML系统建模与分析设计

10

慎重考虑使用渐增模型的情况: 不能充分理解客户需求或客户需求有可能迅速发 生变化; 事先拟采用的技术迅速发生变化; 客户突然提出一些新的功能需求; 长时期内仅有有限的资源保证(开发人员和资 金)。
使用渐增模型的情况: 需要在尽短的时间内得到系统基本功能的演示或 使用; 各版本都有中间阶段产品可提供使用; 系统可以被自然地分割成渐增的模式; 开发人员与资金可以逐步增加。

2019/10/7

UML系统建模与分析设计

11

3. 演化模型(evolutionary model) 演化模型也称为原型(prototype)法模型。

2019/10/7

UML系统建模与分析设计

12

使用演化模型时应注意:
演化模型也是通过系统各个可执行的中间版本 以渐增的形式来开发系统的,但是客户需求可 以分步逐渐了解,不用在初始时就确定。
在模型中,可以预先定义一部分客户需求,然 后在每个后继的中间版本中再逐步增加需求, 一点点完善。
在开发每个中间版本时,开发过程中的活动和 任务可以顺序地或部分重叠*行地被加入到这 些中间版本中。

2019/10/7

UML系统建模与分析设计

13

4. 螺旋模型(spiral model) 螺旋模型的四类活动:
制定计划。 风险分析。 实施开发。 客户评估。

2019/10/7

UML系统建模与分析设计

14

5 . 智能模型(intelligent model)

2019/10/7

UML系统建模与分析设计

15

1.3.2 软件开发模型的选择
要综合考虑以下几个因素: (1)软件规模 (2)软件类型
? 系统软件的开发。 ? 实时软件的开发。 ? 商业应用软件的开发。 ? 嵌入式软件的开发。 ? 人工智能软件的开发。

2019/10/7

UML系统建模与分析设计

16

(3)软件质量要求 (4)交付工期 (5)客户需求明确度 (6)投资 (7)可复用性 (8)开发者掌握的资源

2019/10/7

UML系统建模与分析设计

17

1.3.3 软件生存周期

2019/10/7

UML系统建模与分析设计

18

1.软件定义
(1)软件系统的可行性研究 1)经济可行性研究。 2)技术可行性研究。 3)法律可行性研究。 4)方案的选择。
(2)需求分析 1)任务。 软件功能需求: 软件性能需求: 软件系统运行环境: 2)按需求建模。 3)软件需求规格说明(Software
R201e9/q10u/7 irements SpUeMcL系i统fi建c模a与t分io析n设计,简称SRS)。 19

2.软件开发
(1)概要设计 建立系统总体结构和各模块之间的关系; 定义各个功能摸块的接口; 设计全局数据库或数据结构; 规定设计约束; 制定组装测试计划。
(2)详细设计 对概要设*邢富 建立文档资料。

2019/10/7

UML系统建模与分析设计

20

(3)实现 选择合适的编程语言; 制定测试案例; 保存文档资料。
(4)组装测试 (5)确认测试
3.软件使用、维护和更新换代
(1)软件使用 (2)系统维护 (3)系统更新换代

2019/10/7

UML系统建模与分析设计

21

1.4 软件开发方法简介
1. 结构化程序设计方法
其控*峁菇鲇伤承颉⒀≡裼胫馗吹扔邢薜幕 本控*峁贡硎尽
2. 模块化程序设计方法
模块之间的接口应尽可能简明清晰: 单独模块的修改不影响其它模块的功能; 模块化应具有可修改性、易读性和可验证性。
3. 面向对象程序设计方法

2019/10/7

UML系统建模与分析设计

22

1.4.1 结构化软件开发方法
1.结构化分析的步骤 构造数据流模型。 构建控制流模型。 生成数据字典(DD)。 生成可选方案,建立需求规约。

2019/10/7

UML系统建模与分析设计

23

2.结构化设计步骤
首先研究、分析和审查数据流图。从软件的需 求规格说明中弄清数据流加工的过程。 然后根据数据流图决定问题的类型。 由数据流图推导出系统的初始结构图。 优化软件结构。 描述模块接口。 修改和补充数据词典。 制定测试计划。

2019/10/7

UML系统建模与分析设计

24

1.4.2 模块化软件开发方法
(1)模块可分解性。 (2)模块可组装性。 (3)模块可理解性。 (4)模块连续性。 (5)模块保护。

2019/10/7

UML系统建模与分析设计

25

1.4.3 面向数据结构软件开发方法
1.建立JSD的系统进程模型 2.JSD方法的步骤
(1)JSD需求分析步骤 标识系统中的实体与相应动作; 生成实体结构图; 初建系统模型。
(2)JSD系统设计步骤 扩充功能过程。 系统定时。 系统实现。

2019/10/7

UML系统建模与分析设计

26

面向数据结构的开发方法的特点:
将分析结果作为设计基础,无明显分界; 都必须标识关键实体和动作; 信息具有层次性; 提供一组将层次化的数据结构映射到程序结构 的步骤; 数据结构由顺序、选择和重复3种构造成分表 示。

2019/10/7

UML系统建模与分析设计

27

1.4.4 面向对象软件开发方法
面向对象方法的意义:
(1)一种新的思考方式。 (2)将数据和行为结合成为对象。 (3)核心是封装。 (4)面向对象方法建立的基础是:
? 软件工程概念; ? 计算机科学概念; ? 工程管理; ? 数据库信息模型; ? 传统软件开发方法。

2019/10/7

UML系统建模与分析设计

28

面向对象方法有几十种,综合起来, 其基本观点如下:
现实客观世界由对象组成。 相同的对象归并为类。 类可以继承。 对象之间通过消息进行联系。
面向对象 = 对象 + 类 + 继承 + 通信

2019/10/7

UML系统建模与分析设计

29

1.4.5 软件开发方法的评价与选择

综合考虑以下几方面因素: 人员素质。 时间进度。 掌握资源。 可行性。 领域知识。

从四个方面评价: 技术特征。 使用特征。 管理特征。 经济特征。

2019/10/7

UML系统建模与分析设计

30

1.5 面向对象软件开发方法简介
特点: (1)使人们更好地认识客观世界 (2)能很好地适应需求变化 (3)容易实现软件复用 (4)系统易于维护和修改

2019/10/7

UML系统建模与分析设计

31

1.5.1 面向对象的基本概念
封装性、继承性和多态性。 1. 对象
客观世界中的实体抽象为问题空间中的对象。 2. 对象的抽象——类
把具有相同特征和行为的对象归在一起就形成 了类(Class)。

2019/10/7

UML系统建模与分析设计

32

2019/10/7

UML系统建模与分析设计

33

3. 信息隐蔽和局部化——封装 4. 继承与派生

2019/10/7

UML系统建模与分析设计

34

5. 对象之间的联系纽带——消息

2019/10/7

UML系统建模与分析设计

35

6. 多态性
多态性(Polymorphism)是指同一个消息为不 同的对象接收时,可产生不同的动作或执行结果。

2019/10/7

UML系统建模与分析设计

36

1.5.2 面向对象系统开发过程

2019/10/7

UML系统建模与分析设计

37

(1)需求分析阶段。 (2)系统分析阶段。 (3)系统设*锥巍 (4)系统实现、测试、使用、维护阶段。

2019/10/7

UML系统建模与分析设计

38

1.5.3 几种典型的面向对象方法简介

1.Booch面向对象方法 (1)Booch 方法的基本开发模型 开发模型包括逻辑模型、物理模型、静态模型 和动态模型。 (2)Booch方法的一般过程 开发过程分为技术层和管理层开发。 1)系统技术层开发步骤 发现类与对象。 确定类和对象的语义。 标识类和对象间的关系。

2019/10/7

UML系统建模与分析设计

39

2)系统管理层开发步骤 强调团队技术管理。 明确用户关键需求。 建立系统分析模型。 完善设计系统结构。 系统实现。 软件交付。
2.Jacobson的面向对象方法 (1)建立面向对象分析模型的过程 1)建造用户需求模型。 2)建造系统分析模型。

2019/10/7

UML系统建模与分析设计

40

(2)建立面向对象设计模型的过程
1)创建模块作为主要的设计对象。 2)创建一个显示激励如何在模块间传送的交互图。 3)把模块组织成子系统。 4)复审设计工作。

3.Coad-Yourdon的面向对象方法论

(1)面向对象分析(OOA)步骤

类及对象层。

结构层。

主题层。

属性层。

服务层。

(2)面向对象设计(OOD)步骤

2019/10/7

UML系统建模与分析设计

41

4.James Rumbaugh的面向对象方法 (1)对象模型。 (2)动态模型。 (3)功能模型。

2019/10/7

UML系统建模与分析设计

42



友情链接: 团党工作范文 工作范文 表格模版 社科文档网 营销文档资料 工程文档大全