用例分析技术阅读笔记一

用例分析技术小结

前言

现在RUP如日中天,需求分析是第一步,可以看作是高级系统分析员的必备知识,那么,如果用面向对象的分析技术来描述需求呢?

在一个需求分析过程中,主要有项目描述,风险分析,用例图以及描述,项目建议这几部分。

其中最重要的,也是最需要学习的就是用例的描述。那么用例的描述关键点在哪里呢?

确定系统边界

确定清晰的系统边界,就是要确定系统中有什么?系统外有什么?通过执行者和用例来确定系统边界。

那么,我们第一步就是要找出执行者,执行者是一个角色,我们可以根据以下几个问题来思考决定一下:谁在使用系统?谁在维护?谁在启动?谁在关闭?谁从这个系统获得信息?谁为这个系统提供信息?是否有自动的事情在预计时间发生?等等方式,来确定执行者。

找出了执行者,那就要确定用例,用例是系统的一个行为,为执行者产生可以估量的价值结果。

用例的描述一般都是动名词结构。

需要构建一张表,清楚的以名词解释的形式,把用例和执行者进行简单的定义。

如果用例图过于大,那就分开,也可以采用包的形式。

其中用例图的中的箭头表示是单向还是双向,要根据交付的信息看。

如果是外部定时发生的事情,可以把时间也作为执行者。

需求在系统之内,无法被执行者看到,那么这个需求就不用在用例图中体现。

归档用例

归档用例就是把用例用文档的方式表示。基本用例主要包括:前置条件(前置条件就是用例开始时候,必须要处在一个什么状态) 后置条件(用例结束,系统处在什么状态)事件流。(事件流是一系列的陈述句)。

事件流中包含一些循环语句。可以采用for ,while循环。

用例是一个传达工具,只有向读者传达系统如何工作的时候才有效。

用例要从执行者的观点来写。

对于非事件流的需求,可以在用例的特殊需求中描述。

事件流分为两部分:基本路径和可选路径。

一切正常运转就是基本路径。

不同于基本路径而允许选择不同的事件序列的路径,就是可选路径,也可以说各种异常情况的处理也是可选路径。

可选路径,最好用不同的段落编号来标示。

什么是场景? 场景就是一种贯穿用例的特定路径。

用例的包含:如果你发现在写各种用例的时候,要经常copy同一部分的内容,那么就说明你有了一部分通用的行为,那么就可以用一种包含关系来抽象这种通用行为。包含用例一定要有被包含用例,这个用例才算完整。

用例的扩展:在不改变原始用例的情况下,增加用例的行为。重要关注的一个概念是扩展点,当到达这个扩展点,如果条件为真,就是这个扩展条件的前置条件为真的话,这个扩展的步骤将被执行。

用例的继承:用例的继承代表一个用例(子)是另外一个用例(父)的特殊实现,执行者的继承意味着一个执行者(子)可以完成另外一个执行者(父)的任务。

接口:接口不是执行者和用例的一部分。接口是执行者和用例相互作用的一种描述。

文档中的文字可以简洁的描述系统,那么有些文字分支很多的时候,采用图就是一个非常好的方式,图形化用例也是一个不错的手段。我们可以用三种图来细化和具体化用例。

活动图:描述用例的步骤。活动图描述满足用例需求而进行的活动以及活动之间的关系。(有些书把活动图定义为状态图的子集)

时序图:描述执行者和系统的相互作用。时序图中,每个实体下面有虚线,代表对象生命周期。确认的返回值,是采用虚线箭头来表示。

在学会写用例以后,那就有一个问题,用例写到什么程度好呢? 就是用例细化到什么程度为好。要回答这个问题,需要考虑三个问题: 谁需要阅读并审批这个文档?谁需要使用这个文档?我们要这个文档做什么?用例可能是给最终用户和开发者的,或者管理者的,决定多少细节放到用例中是一个很重要的事情。可以对同一个用例做不同细节程度的版本,交给不同的人看,要注意维护这种对应关联关系。

用例文档模板:

包括系统简介,风险因素,系统级用例(一个或者多个反映系统中所有用例和执行者的图,没必要包含用例之间的关系,例如包含,扩展和泛化),体系结构,子用例,非功能性的需求包括可用性,系统,安全,持久性,冗余性,性能,规模,标准化等。

可以通过活动图来描述和表现用例之间的关系和流程。

时间: 2024-08-06 12:28:16

用例分析技术阅读笔记一的相关文章

用例分析技术阅读笔记二

划分大型系统:    如果是做一个大系统,那么把大系统划分为小系统就是一个非常重要的事情!先选出系统中最重要的部分.主要的体系架构有如下几种: 一.MVC结构,一层用来显示,一层用来控制,一层用来数据存储.例如JSP,Struct就是这种架构. 二.管道和过滤器体系结构.主要思想就是一个部分输入数据,处理数据,然后输出,下一个部分接收,处理,依次类推,例如freeRadius,JRadius就是这种架构. 三.面向对象的体系结构模式.系统是根据数据来定义,并且和各种功能相联系.可以使用用例验证体

《需求工程--软件建模与分析》阅读笔记01

该书为<需求工程--软件建模与分析>第二版,骆斌主编,丁二玉编著,高等教育出版社. 该书分为了五部分,今天的阅读笔记来谈谈第一部分绪论. 这一部分主要讲了:1.需求工程导论  2.需求基础  3.需求工程过程 第一小部分需求工程导论讲了软件生产中的需求问题,即:需求问题是当前软件开发面临的主要问题(无论是实践者的亲身体会还是各种调查数据),需求因素对项目的成败具有至关重要的影响.该书中也指明了综合上看来,需求因素对成功项目的影响指数为53.9%,对问题项目的影响指数为55.6%,对失败项目的影

《需求工程——软件建模与分析》阅读笔记03

一.需求工程过程概念介绍 (一)概述 1.规格说明 需求工程过程是系统开发中需求开发活动的集成,它以用户所面临的业务问题为出发点进行分析和各种转换,最终产生一个能在用户环境下解决用户业务问题的系统方案,并将其文档化为明确的规格说明. 2.生命周期 需求工程也有属于它自己的生命周期模型,即存在针对需求开发的需求工程过程,这个过程又作为系统工程和软件工程的一个子过程部署在系统开发的初期阶段. 3.活动分类 需求获取.需求分析.需求规格说明.需求验证为需求开发活动,需求管理为项目管理活动. (二)需求

《大型网站技术架构核心原理与案例分析》阅读笔记-01

通过阅读该书籍我们能够更加清楚的树立大型网站的的技术发展历程,剖析大型网站技术架构模式,深入的讲述大型互联网架构核心原理,并通过一些典型的技术案例来讲述大型网站开发全景视图,该书籍深入的阐述了各种大型网站面临的各种架构问题及解决方案. 在第一章第一篇大型网站架构演化中了解到与传统企业应用系统相比,大型互联网应用系统具有高并发大流量.高可用性.海量数据.用户分布广泛,网络情况复杂.安全环境恶劣.需求快速变更,发布频繁.渐进式发展等特点:大型网站架构演化发展历程经历了初始阶段的网络架构它的应用程序.

作业04之《大型网站技术架构:核心原理与案例分析》阅读笔记

在这一节课上,我们学习了系统质量属性其中的可用性和易用性.那么质量属性是什么呢,质量属性是高于对系统功能(即对系统能力.服务和行为)的基本的要求的.系统质量属性讲重点放在了可用性.可修改性.性能.安全性.可测试性和易用性.从设计师方面,系统质量属性一般存在三个问题:(1)为属性提供的定义并不是可操作的.(2)重点通常是一个特定的方面属于哪个质量属性.(3)每个属性团队都开发了其自己的词汇. 今天我们就根据<大型网站技术架构:核心原理与案例分析>将重点放在可用性和易用性的学习讨论上以及将其方法和

《大型网站技术架构:核心原理与案例分析》阅读笔记四

本次第四章<瞬时响应:网站的高性能架构>的内容概述和阅读体会写一下. 网站的性能是客观的指标,可以具体体现到响应时间.吞吐量等技术指标,同时也是主观的感受,用户感受和工程师感受不同. 性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准.不同视角下的网站性能是不同的,用户.开发人员和运维人员的视角是不同的.开发和测试人员的视角,网站性能测试的主要指标有响应时间.并发数.吞吐量和性能计数器等. 性能优化分为Web前端性能优化.应用服务器性能优化.存储服务器性能优化.浏览器访问优化可以

《大型网站技术架构:核心原理及案例分析》阅读笔记04

第四章:架构师 1.架构师领导艺术 架构师是软件开发组织中比较特殊的角色,架构设计.软件开发.管理团队都需要架构师的参与.作者给出了一个好的架构师的标准:关注人而非产品.挖掘人才.共享成果蓝图.共同参与软件架构.学会妥协.成就他人.作为团队的技术领导者,在项目中不要企图控制什么,要用一个弹性的计划和蓝图推进.通过自己的努力,打造一个好的团队,这样才能创造出真正的价值,开启完美的明天. 2.网站架构师职场攻略 软件的开发就是为了解决现实问题,网站架构师需要解决开发过程中多方面的事情才能实现软件的设

《软件需求与分析》阅读笔记

阅读文章<我们应该怎样做需求分析>我了解到,软件需求分析需要掌握以下内容. 需求调研:对自己需要开发的软件进行调查,了解好用户的需求,针对需求做好准备.需求调研对于一个软件开发来说,是一个系统开发的开始阶段,它的输出"软件需求分析报告"是设计阶段的输入,需求调研的质量对于一个应用软件来说,是一个极其重要的阶段,它的质量在一定程度上来说决定了一个软件的交付结果.怎样从客户中听取用户需求.分析用户需求就成为调研人员最重要的任务. 需求分析:针对自己调研出来的数据进行相应的分析,

《需求工程——软件建模与分析》阅读笔记二

话不多说,直接开始我的这次的总结. 软件系统当中常见的涉众类别有用户.客户.开发者.管理者.领域专家.政府力量和市场力量. ①用户是最终使用和操作产品的人,他们使用软件的目的是为了更好地完成自己的任务,满足组织的目标要求.在大多数的软件开发中,用户都是主要的信息来源.而且只要软件系统的用户的实现的用户能够被清晰地确认,他们就应该得到足够的重视. ②客户是为软件系统的开发付费的人.在制定软件的开发中,他们本身也是用户,通常是用户中的领导或者代表.软件系统的成本和收益是处于客户角色的人们最为关心的内