UML需求分析步骤实例解析
http://developer.51cto.com/art/201006/205302.htm
在UML使用过程中,经常会遇到UML需求分析问题,这里就向大家介绍一下UML的需求分析大致步骤,为了便于大家理解以实例向大家介绍,希望通过本文的介绍你对UML需求分析步骤有所了解。
AD:51CTO学院:IT精品课程在线看!
本节向大家介绍一下UML需求分析的一般步骤,本节用实例向大家介绍,相信通过本节的介绍你对UML需求分析有一定的认识。下面让我们一起来学习具体介绍吧。
基于UML需求分析
在初步的业务需求描述已经形成的前提下,基于UML需求分析大致可分为以下步骤:
(1)利用用例及用例图表示需求。从业务需求描述出发获取执行者和场景;对场景进行汇总、分类、抽象;形成用例;确定执行者与用例、用例与用例图之间的关系,生成用例图。
(2)利用包图及类图表示目标软件系统的总体框架结构。根据领域知识、业务需求描述和既往经验设计目标软件系统的顶层架构;从业务需求描述中提取“关键概念”,形成领域概念模型;从概念模型和用例出发,研究系统中主要的类之间的关系,生成类图。
上述两个步骤并没有时序关系,它们可以并行展开,如图5-3-1所示。
图5-3-1 UML需求分析过程
本节将依次介绍上述步骤中涉及的UML语言机制,并结合“家庭保安系统”实例说明每步骤中基于UML需求分析方法。
开发场景
场景是指从单个执行者的角度观察目标软件系统的功能和外部行为。这种功能通过系统与用户之间的交互来表征。因此也可以说,场景是用户与系统之间进行交互的一组具体的动作。相对于用例而言,场景是用例的实例,而用例是某类场景的共同抽象。
对场景的完整描述应包含场景名称、执行者实例,前置条件、事件流和后置条件。
例如,“家庭保安系统”的初步需求描述:“家庭保安系统”的软件允许用户在安装时进行系统配置,实施对传感器的监控并通过控制面板与用户进行信息交互。
配置操作包括:
(1)指定每一传感器的种类和编号;
(2)设置开、关机密码;
(3)指定报警电话电码;
(4)指定报警延迟和电话重拨延迟时间(以秒为单位);
当软件系统收到传感器发出的数据后,判别是否出现异常事件。如果是,则在指定的延迟时间内拨报警电话号码,拨号操作将按照重拨延迟反复进行,直至电话接通。然后软件系统负责报告时间、地点和异常事件的性质。
开机后,软件系统负责显示当前工作状态,接收并处理用户指令。
根据以上描述,该系统具有“系统配置”、“开机”、“关机”、“门窗监测”、“烟雾监测”和“复位”等场景。其中,门窗监测场景的具体描述如下:
场景名称:门窗监测。
参与执行者实例:警报器、报警电话、显示器和门窗监视器。
前置条件:系统已开机。
事件流:
(1)门窗监视器发现门或窗户发生异动,向软件系统报告异常事件。
(2)软件系统启动警报器并拨报警电话号码。
(3)报警电话接通后,软件系统播出语音,报告异常事件发生的时间、地点和事件的性质(门窗异动)。
(4)系统在控制面板的显示器上显示报警时间及当前状态(报警:门窗异动)。
后置条件:系统处于“报警”状态。
UML需求分析过程中根据场景作用的不同,可以将其划分为以下类型:
(1)实际场景。对实际的业务处理流程或其优化流程的描述。实际场景是用户需求的重要组成部分。
(2)设想场景。分析人员对目标软件系统投入应用后经改进或优化的业务流程的描述。这种场景可视为一种纸面原型,主要用于帮助分析人员挖掘潜在的用户需求。
(3)评价场景。以确认需求或提出改进建议为主要目的的业务流程描述。评价场景可以在用例生成后用例进行实例化而形成,以便用户对用例进行评价或改进。
(4)培训场景。面向开发人员及用户解释系统的功能和外部行为的业务流程描述。
对以下问题的回答有助于分析人员进行UML需求分析获取场景:
(1)目标软件系统有哪些执行者?
(2)执行者希望系统执行哪些任务?
(3)执行者希望获得哪些信息?这些信息由谁生成?由谁修改?
(4)执行者需要通知系统哪些事件?系统响应这些事件时会表现出哪些外部行为?
(5)系统将通告执行者哪些事件?
总之,确定执行者和场景的关键在于理解业务领域和初步需求描述文档。场景将促成开发人员和用户对业务处理流程和目标软件系统的功能范围的共同理解。在场景确定之后,通过对场景的汇总、分类归并和抽象即可形成用例。本节关于UML需求分析相关内容介绍到这里。
UML需求分析步骤实例解析相关推荐
- python argparse模块_Python argparse模块应用实例解析
这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python ...
- JavaWeb实现文件上传下载功能实例解析
转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...
- SoapUI简介和入门实例解析
SoapUI简介 SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功能/负载/符合性测试.该工具既可作为一个单独的测试软件使用,也可利用插件集成到Ecl ...
- iReport 4.1 报表、子报表、主从报表、合计、实例解析
开发使用步骤(iReport 4.1.1) 1. 开发使用步骤(iReport4.1)... 2 4.1. JasperReport 和iReport的介绍... 2 4.1.1 ...
- java tcp 编程实例_Java实现基于TCP的通讯程序实例解析
Java中的TCP通信程序 TCP可以实现两台计算机之间的数据交互通信的两端,要严格区分客户端与服务端 两端通信时的步骤: 1.服务端程序,需要事先启动,等待客户端连接 2.客户端主动连接服务器端,才 ...
- matlab优化设计例程,优化设计Matlab_实例解析
<优化设计Matlab_实例解析>由会员分享,可在线阅读,更多相关<优化设计Matlab_实例解析(9页珍藏版)>请在人人文库网上搜索. 1.1,单级直齿圆柱齿轮减速器的优化设 ...
- python递归算法案例教案_Python电子教案2-1-Python程序实例解析.ppt
Python电子教案2-1-Python程序实例解析.ppt 简单说,eval()的作用是将输入的字符串内容变成Python语句,并执行这个语句.实例代码1.1使用eval()函数将用户的部分输入(T ...
- PCL中点云特征描述与提取精通级实例解析
PCL中点云特征描述与提取精通级实例解析 1 3D对象识别的假设验证 2 隐式形状模型方法 2.1 隐式形状模型识别方法概述 2.2 实例解析 1 3D对象识别的假设验证 本教程将学习在高噪声和严 ...
- 实例解析网络钓鱼攻击的幕后
实例解析网络钓鱼攻击的幕后 网络钓鱼是通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出敏感信息(如用户名.口令.帐号ID.ATM PIN码或信用卡详细信息)的一种攻击方式. ...
- UG/NX二次开发Siemens官方NXOPEN实例解析—2.8 DrawingCycle(图纸打印)
列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-2.1 AssemblyViewer(树列表) UG/NX二次开发Siemens官方NXOPEN实例解析-2.2 Selectio ...
最新文章
- 关系到了冰点_疫情下半场,如何修复跌至冰点的亲子关系,让自己和家人活出幸福感?...
- Java虚拟机学习(4):JDK可视化监控工具
- 禁止多媒体文件的预览功能
- word中公式编辑器编号
- #转载:十大排序方法,动图展示
- python api 示例_Python简单接口测试实例
- java安装jdk错误1316 指定的账户已存在
- nssl1321,jzoj(初中)2106-买门票【dfs,暴力,字符串】
- 工欲善其事必先利其器——开发篇
- Matplotlib绘制多子图+合并图例+子图间距
- 贪心算法--会议安排
- 网站必备之简繁切换功能实现
- cesium调整倾斜摄影位置(高度,平移,旋转,缩放)(cesium篇.17)
- epr系统服务器配置,erp系统云服务器配置要求
- python读取sql_如何从python读取sql
- 强制删除hbuilder
- 软件发布各版本代号含义
- 学习固不可少 回顾也别有风味
- 三国志战略版:Daniel_S8军争地利_刘张开荒实录三-至开七
- 解决虚拟机动态IP能联网,静态IP就不能联网