7.1 基于用例的需求分析
用例分析是站在最终用户的角度看待系统及其特性,模型简单直接,一经提出便受到软件开发人员的青睐。
用例总是和面向对象方法放在一起讨论,并且在面向对象标准建模语言UML中用例也具有中心地位。但严格意义上讲,用例并不是一个面向对象方法论的产物,不包含面向对象思想,只是因为用例概念最初是和面向对象方法一同提出并得到广泛接受而已。
需求分析基本步骤:
从系统涉众获取候选需求
结合系统业务背景理解候选需求
捕获信息系统功能性需求(用例模型)
捕获与功能需求相关的非功能性需求或其他技术性要求
包括:
1、分析并确定可以理解的用例
-识别参与者
-识别用例
-模型表示
2、详细、完整地描述用例
-书写用例规格说明
3、重构用例模型
-识别用例间的关系
-对用例进行分组
用例的概念
用例创始人雅各布森Ivar Jacobson认为:
用例(use case)是对于一组动作序列的描述,系统执行这些动作会对特定的参与者(actor)产生可观测的、有价值的结果。
简单理解一个信息系统用例就是:
系统提供给XX用户的一项功能
一项计算机操作功能,能支持完成一项业务活动
用户与计算机之间的一次完整而简短的交互(人机交互,一个窗口/页面)
一个用例持续的时间很短,目的明确,有始有终
另一代表人物阿里斯代尔·科克伯恩(Alistair Cockburn)认为:
用例(use case)是各种系统受益人之间的一种行为契约。行为包括对象的活动、动作和对象之间的交互等。每一个用例实际上都代表了一个用户目标,根据三个目标层次(概要层、用户目标层、子功能层)将用例进行分层,从而有效把握用例的粒度。
全部的用例构成了系统的用例模型。用例模型完整的描述了系统对外可见的行为。
用例和用例模型的意义:
1、用例是对系统需求(主要是功能需求)的规范化描述,用例模型是面向对象分析的关键输入
2、用例图及用例的事件流描述集中体现了系统责任
3、通过用例建立交互图。交互图就是用例的具体体现,其实现是以对象和对象间协作为基础的。
图书馆系统的用例
识别参与者(Actor)
参与者是系统之外与系统进行交互的任何事物。
1、使用系统的个人。
谁负责提供、使用或删除信息?
谁将使用某项功能?
2、系统所连接的外部硬件。
例如,控制建筑物中温度的通风系统不断地从传感器获取温度信息,传感器就是一个参与者。
3、与该系统进行通信的其他信息系统。
例如为自动柜员机系统建模时&