美文网首页
基于UML的需求分析和系统设计

基于UML的需求分析和系统设计

作者: guru200 | 来源:发表于2015-11-29 22:57 被阅读2423次

基于UML的需求分析和系统设计

原文地址:基于UML的需求分析和系统设计

一、项目开始阶段

通过与用户的访谈,确认待开发系统“要做什么”,从企业角度研究:

  • 是否能做
  • 是否能盈利

抓住重点:

  • 项目的范围:找出目前已存在的系统,~是否提供了相关的集成接口。
  • 必要的业务流程:初期应该捕捉“必要的”业务流程,避免对细节的研究。
  • 项目的技术限制:包括使用的技术以及其他系统间的交流接口规范。
  • 项目成功关键因素:了解利益相关方对整体项目成功与否最关切的问题是什么,并且评估问题和项目成败的风险是否相关。

上述四个重点,一开始就决定了项目是否会成功,如果项目开始就落入细节性的讨论,反而容易造成项目的失败。

二、需求分析阶段

与客户(领域专家)沟通,进行需求的收集和分析,标准文书表达,形成需求规格说明书,交由设计人员进行后续的系统设计工作。
UML的用户例图是用于需要收集和表达的有力工具,但非易事,可能是零散的、没有系统性的。
因此在分析用户例前,可先对企业级的业务流程进行规划和设计,抓住企业的本质工作流,为后续进行详细的需求收集和用例分析做好准备。

1、业务流程设计

可以通过“企业级的用例”来完善工作流程规划与设计,不过,大部分领域专家对“用例”的接受度较差,因此可用另一个工具进行企业的建模,即Eriksson和Penker所提出的一个活动图的构造型,称为“Eriksson-Penker业务扩展模型”

1)业务流程规划--Eriksson-Penker业务扩展模型

Eriksson-Penker业务扩展模型是一种“目标导向”的流程分析方式,主要是将与业务流程相关的重要人、事、物以及这个业务流程所要实现的目标做一个链接,描述了企业重要的人、事、物与流程的关系。
在项目开始队阶段,需求分析人员可以通过“Eriksson-Penker业务扩展模型”找出要开发系统的重要性,利用“目标导向 ”方式,对业务流程进行适当的切割。

Eriksson-Penker业务扩展模型示例

2)业务流程分析--活动图

表达业务流程的活动图示例

2、需求收集--用例图

业务流程相关的用例图示例

三、系统设计阶段

前一阶段的主要产物是用例图,后续的设计与开发都将以用例驱动,系统设计阶段的主要工作,便是实现用户例。

1、实现用例

实现用例的目的在于保证系统的设计可以满足用户的功能性需求,在实现用例过程种,应该利用Jacobson所分类的三种分析类:

  • 控制对象:
  • 实体对象:
  • 边界对象:

1)勾勒用例的控制对象

2)针对控制对象绘制序列图

3)找出用户例的实体对象

4)系统设计阶段的开发流程

2、建立领域模型

上面的实体对象与领域模型的关系???

1)“领域模型”的概念

2)使用类图表达领域模型

3)实际安全演示

(1)住出院系统业务流程

在项目立项之后,需求分析师与医院的领域专家通过面对面的访谈,整理出了医院实际上的住院出院流程,并绘制成活动图。


住出院系统业务流程

(2)住出院系统用例模型

需要分析师基于企业的业务流程图,与领域专家通过进一步沟通,进行需求的收集,最终绘制出用例图。当然下图中没有包含用例叙述。


住出院系统用例模型

(3)住出院系统领域模型

在得到用例图之后,便进入实现用例的阶段,可以通过上一节所介绍的有三种分类找到问题领域工勤上的重要概念,从而得到领域模型,然后通过类图来表达。
比如针对上一节用例图中的“登记出院记录”用例,通过分析可以得到一个控制对象(登记出院记录BPO)和多个实体对象(病床、病人、医生、护士、病症等),并绘制成如下的类图。

住出院系统领域模型
(4)包图

通常领域模型中会包含很多的类,必须对这些类进行分类,放置在不同的命名空间中,利用命名空间之间的关系图,来限制住不同分类对象之间的访问,这就是“包图”的使用场景。
“包图”是一个高阶的视图,由于所有的类都必须属于某一个包,因此当包之间的关系被限定时,该包内部所有的类,都会受到包图中设置的影响。

比如最基本的分类就是按照上面所说的三种分析类,对上面的领域模型,按照这种方式进行分类,便可绘制出如下包图:


包图

3、表达对象交互

1)序列图


登记出院记录序列图

2)通信图


登记出院记录通信图
3)交互概述图

4、表达微观设计

1)对象图


住出院系统对象图

2)状态机图


病床状态机图
3)时间图
过期取消预定时间图

总结和展望

其它UML图形:

  1. 总则图
  2. 组合结构图
  3. 组建图
  4. 部署图

其它资源


建模工具说明

用例图

用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。

参与者
参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。

用例
用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。用例是参与者想要系统做的事情。

系统边界
系统边界是用来表示正在建模系统的边界,系统边界在画图中用方框来表示。因为系统边界的作用有时候不是很明显,所以我个人理解,在画图时可省略。

箭头
箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动

UML建模工具

相关文章

  • 基于UML的需求分析和系统设计

    基于UML的需求分析和系统设计 原文地址:基于UML的需求分析和系统设计 一、项目开始阶段 通过与用户的访谈,确认...

  • 如何使用UML做需求分析与系统架构

    如何使用UML做需求分析与系统架构

  • 用户需求分析

    用户需求分析 用户需求分析是指在系统设计之前和设计、开发过程中对用户需求所作的调查与分析,是系统设计、系统完善和系...

  • Web学习笔记 - 第006天

    项目开发流程 可行性分析 --- 做还是不做需求分析 --- 做什么概要设计详细设计 UML --- ROSE /...

  • 从Kylin入门到大数据老司机

    一、UML基础 为什么要使用UML 对象是面向对象世界的核心。面向对象软件分析和设计,最基本的需求是高效的识别对象...

  • 30分钟学会UML类图

    UML图有很多种,但是并非必须掌握所有的UML图,才能完整系统分析和设计工作。一般说来,在UML图中,只要掌握类图...

  • UML类图

    基本介绍 UML(Unified Modeling Language)统一建模语言,是一种用于软件系统分析和设计的...

  • UML——基础版

    说明:以下文字来自《疯狂Java讲义》和《UML建模、设计与分析》 用例图 用例图主要在需求分析阶段使用,用于描述...

  • UML | 详解UML类图

    UML基本介绍 UML(统一建模语言)是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录...

  • 为什么要敏捷?

    传统的软件开发都是基于瀑布模型,按照(1)问题评估(2)明确和分析软件需求(3)设计系统架构(4)开发代码(5)部...

网友评论

      本文标题:基于UML的需求分析和系统设计

      本文链接:https://www.haomeiwen.com/subject/iehjhttx.html