uml需求分析和系统建模

更新时间:2023-06-08 19:34:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

满足客户的需求分析!

Chap02 需求分析与系统建模 教学目标– 掌握需求分析(OOA) – 掌握系统建模(类图、顺序图、协作图) – 掌握Rational Rose的使用(CASE)

教学重点– Rational Rose的使用 – OOA

– 系统建模

教学难点– 系统建模

满足客户的需求分析!

1、获得需求 收集需求 整理需求 描述需求

思考的问题 1、我们能否直接从“需求”进入“设计”? 2、为什么要增加一个“需求分析”的环节?

2、系统设计

需求分析和建模 理解需求 分析需求 建立域模型 编写需求文档 评审需求文档 管理需求

满足客户的需求分析!

一、Rational Rose对UML建模的支持 Rational Rose 2003– 美国Rational公司(现IBM)开发的面向对象建模工具 – UML(统一建模语言)由Rational 3世界级面向对象技术专家

Grady Booch、Ivar Jacobson、Jim Rumbaugh,为可视化建模奠 定了坚实的理论基础

Rational Rose 功能– Rational Rose(Rational Object Oriented Software Engineering)是

分析和设计面向对象软件系统的强大的可视化工具。 – 功能 对业务进行建模(工作流) 建立对象模型 对数据库进行建模(比较粗糙) 建立组件模型 Rational Rose的对象模型主要支持Java VC VB,并可生成目标语言 的框架代码

满足客户的需求分析!

一、Rational Rose对UML建模的支持 Rational Rose 2003工具的使用– 安装 – 启动 – 窗口 – 各个视图 Use Case视图:强调从用户角度看到的或需要的系统功能 Logical视图:展现系统的静态或结构组成及特征 Component视图:体现了系统实现的结构和行为特征 Deployment视图:体现系统实现环境的结构和行为特征

满足客户的需求分析!

一、Rational Rose对UML建模的支持 利用Rational Rose 2003建立软件模型– 创建文件 – 保存 – 保存日志 – 发布到Web服务器中

满足客户的需求分析!

一、Rational Rose对UML建模的支持 用Rational Rose 2003——创建项目中的用例及用例图– 网上书店 新建用例– 建立包:用例包 – 添加用例

新建参与者– 建立包:参与者包 – 添加参与者

新建用例图– 建立用例图(面向读者:前台) – 关联参与者和用例 – 建立用例图(面向管理员:后台)

满足客户的需求分析!

二、需求(对用例)分析1、需求分析概述---系统概要设计的输入来自于需求工程 (1)什么是需求分析分析是一个翻译软件需求和深入理解问题的过程-----也就是把 软件系统的全部功能被表示成一个单一的信息变换过程。 分析 是建 立业务 模 型 , 完全不考虑采用什么样 的技术来实现,和实现 无关,和计算机无关, 和编程语言无关 而设计是将业务模型转变为和实现相关的计算机模型,必 须考虑语言等实现相关的东西 。 当然需求分析也是一 个分解的过程。

满足客户的需求分析!

(2)分析的目标 理解问题并开发一个简要描述

方案的可视化模型,不依赖 于具体的实施技术环境,即“要做什么”的问题 把我们对用例的理解,转变为与业务一致的形式,实现需 求的价值希望您能够区分UML中所涉及的“分析类”和 “实现类”之间的差别吗!当然也包括概要设计和详 细设计中的“类”的差别?

(3)需求分析工作的重点 工作的重点

比如财务中的 “对帐”、“审计” 等

主要是将功能性的需求翻译成软件的概念,或者说用 软件的概念来诠译问题所要求的功能;

工作的核心是捕获问题的行为,在屏蔽实施细节的基础上得到构 成方案的粗略对象模型。

满足客户的需求分析!

2、为什么要进行需求分析的过程 (1)需求分析工作的重要性 通过对用户的需求进行分析,可以产生出体现整个系 统灵魂的文档,并且能够实现将客户需求从“具体描述” 到“抽象表示”的一个过程 最终产生并能够制定出开发过程中可实施的规范和标 准。 (2)需求分析工作的必要性 在需求分析阶段不仅仅是要获得客户的需求,更重要 的是需要进行分析以了解需求的细节,并就细节跟客户 进行充分地咨询和沟通,最终获取比较详细的信息。 如果开发方没有去做需求分析而是简单地按照功能要 求去设计、规划,最终所开发出的系统是很难完全符合 客户的业务流程需要的。

满足客户的需求分析!

(3)需求分析的主要任务为了使开发出来的目标系统能满足实际需要,在着手编程 之前,必须要有一定的时间用来认真地考虑以下的问题: 系统所要求解决的问题是什么? 为解决该问题,系统应干些什么? 系统应该怎么去干? 注意:基本的要求应该是能够找出系统的主要“实体对象”以 及系统的“业务流程”。

(4)如何完成这些任务 确定软件设计的约束和软件同其它系统元素的接口细节 找出用例中的执行流程、事件的各个类(目前为分析类)。 通过实现用例,把用例的行为指定到具体的类。 找出类的责任、属性和他们相互的关系。 规范地确定系统中各用例的职责,并最终对用例分析的结 果进行评估

满足客户的需求分析!

2、需求分析的基本过程 (1)问题识别 从系统的角度来理解软件并评审软件范围是否恰当 确定对目标系统的综合要求,即软件的需求 提出这些需求实现条件,以及需求应达到的标准

(2)分析与综合 从信息流和信息结构出发,逐步细化所有的软件功能,找出系 统各元素之间的关联、接口特性和设计上的约束,分析它们是 否满足功能要求,是否合理。 剔除其不合理的部分,增加其需要部分。 最终综合成系统的解决方案,给出目标系统的详细逻辑模型。

(3)编制需求分析阶段的

文档资料

软件需求说明书 数据要求说明书(数据流图、数据字典和简明的算法描述) 初步的用户手册 修改、完善与确定软件开发实施计划

满足客户的需求分析!

(4)需求分析评审 系统定义的目标是否与用户的要求一致; 系统需求分析阶段提供的文档资料是否齐全; 文档中的所有描述是否完整、清晰、准确反映用户要求; 与所有其它系统成分的重要接口是否都已经描述; 被开发项目的数据流与数据结构是否足够,确定; 所有图表是否清楚,在不补充说明时能否理解; 主要功能是否已包括在规定的软件范围之内,是否都已充 分说明

满足客户的需求分析!

三、面向对象的分析 面向对象的分析技术– OOA:Object Oriented Analysis – 面向对象分析的首要任务 识别问题域内各种对象,并分析他们相互间的关系和通信,最 终建立简洁、精简、可理解的问题域软件模型——面向对象分 析的结果 静态分析:体现在静态结构上——确定出系统中各个类、类之 间的关系、类的组成 动态分析:着重于动态行为的建立和理解——获得对象之间的 交互情况、对象的活动情况和状态。

满足客户的需求分析!

三、面向对象的分析 面向对象的分析技术– 实施面向对象分析的一般步骤: 分析用户需求,建立用例并通过用例图来描述用户的需求 通过建立域模型以识别类与对象,从而识别系统中的各个对象 确定对象的内部特征,从而定义出各个属性与服务,以进一步 细化类的结构 识别对象之间的关系并使用设计模式对类的结构进行优化和改 造 获得对象之间的行为关系,绘制出各种动态图形(顺序图、协 作图、状态图)

满足客户的需求分析!

三、面向对象的分析 面向对象的分析技术– 面向对象分析的主要优点 能够加强对问题域和系统功能的充分理解 促进与分析有关的各类人员之间的交流 对需求的变化具有较强的适应性 支持软件复用等技术 贯穿软件生命周期全过程的一致性

满足客户的需求分析!

三、面向对象的分析 面向对象分析方法– 主要的面向对象分析方法 Peter Coard和Edward Yourdon的OOA和OOD方法 Booth OMT(Object Modeling Technology)——对象建模技术– 功能模型(图2.30 P57) – 对象模型(图2.21 P58) – 动态模型(图2.22 P58)

– 面向对象分析的主要原则 抽象 封装 继承 聚合和组合 依赖和关联 消息通信

满足客户的需求分析!

四、UML建模中涉及的分析类 Rational Rose 2003提供的3种分析类– 边界类:是一种用于对系统外部环境与其内部运作之间的交

互进行建模的类;代表系统的“用户界面”;功能:输入、 输出、过滤 – 实体类:是用于对必须存储的信息和相关行为建模的类。 – 控制类

:用于对一个或几个用例所特有的控制行为进行建模; 功能:控制事件流、负责为实体类分配任务。 分析类和具体编程实现的语言无关,设计类具有特定的语言 特点 分析类的UML表示实体对象控制对象 边界对象用户账号表单(from NetBank)

账号(from NetBank)

开户(from NetBank)

满足客户的需求分析!

四、UML建模中涉及的分析类 Rational Rose 2003提供的3种分析类 3种分析类对象间交互的4个原则: 用例的参与者只能与边界类进行交互 边界对象只能与控制对象和用例的参与者进行交互 实体对象只能与控制对象进行交互 控制对象可以和边界对象交互,也可以和实体对象交互。

满足客户的需求分析!

四、UML建模中涉及的分析类 分析类的设计示例(网上银行)– 边界类:用户账号表单、转账信息表单、存/取款表单 – 控制类:开户、销户、转账、存/取款、修改密码

– 实体类:用户、管理员、账户、人民币账户、美元账户– 建立用户开户业务的分析类图(P64)

满足客户的需求分析!

五、面向对象的统一建模1、系统建模 (1)概述您知道建“大厦”和建 “狗窝”在流程方面的差 别吗?

严格的说用例模型并不是面向对象的,它描述的是系统的

功能,只是建立系统的最初的输入。 为了更细腻的分析需求,从面向对象的角度,可以建立领 域模型。

(2)什么是建模通过将用户的业务需求映射为项目的系统架构、程序代 码,同时保证程序代码能够满足和实现用户的需求,并且代 码还能回溯需求的过程。

满足客户的需求分析!

2、为什么要建模 (1)建立大厦和建立狗窝的区别是建设狗窝不需要设计因此,同样要生产合格的软件也就要有一套关于体系结 构、实现过程和所使用的工具各种规范的说明。

(2)建立模型有助于系统分析、设计---而且一个系统越 大,越复杂,建模的重要性就越大

本文来源:https://www.bwwdw.com/article/6of1.html

Top