第3章 建立需求模型
一、系统边界
1、系统:“用户”使用的软件 + 所有与其相关的硬件。
2、系统边界:一个系统所包含的所有系统成分与系统以外各种事物的分界线。
3、系统成分:在OOA和OOD中定义,在编程时加以实现的系统元素——对象。
二、参与者
1、用户:直接使用系统的人员。
2、外部系统:与系统交互的外部应用系统。
3、设备:与系统交互的设备。不包括监视器、键盘、鼠标和其它的标准的用户接口类型设备。
三、用况
1、概念:用况是参与者使用系统功能时交互过程的文字描述序列。
2、表示法:把用况表示成一个包含用况名字的椭圆。
3、表现形式:
名称(参与者,功能)
行为描述
控制语句
括号或标号
4、用况与参与者之间的关系:
或
5、用况之间的关系:
(1) 包含关系(include):基用况在它内部说明的某一(些)位置上显式地使用供应者用况的行为结果。
(2) 扩展关系(extend):基用况是可单独存在的,但是在一定的条件下,它的行为可以被另一个用况的行为扩展。
(3) 泛化与继承关系(generalizationand inheritance):用况之间的泛化关系就像类之间的继承与泛化关系一样。
6、捕获用况:
(1) 从参与者的角度捕获用况:用况用于描述参与者和系统之间的一系列的交互。
(2) 从系统功能的角度捕获用况:欲达到某种目的的一组动作序列要完成一项功能,这样的动作序列要在一个用况中描述。以用况中的动作为线索能发现其他用况。
(3) 利用场景(Scenarios)捕获用况:用况是对多个场景的抽象。
7、用况图:由一组参与者、一组用况以及这些元素之间的关系组成的图。
8、 检查与调整:
(1) 参与者:
a. 确定系统环境中的所有角色,并都归入了相应的参与者;
b. 每个参与者都至少和一个用况关联;
c. 若一个参与者是另一个参与者的一部分,或扮演了类似的角色,考虑在它们之间使用继承关系。
(2) 用况:
a. 每个用况都至少和一个参与者相关;
b. 若两个用况有相同或相似的序列,可能需要合并它们,或抽取出一个新用况,在它们之间使用包含、扩展或继承关系;
c. 若用况过于复杂,为了易于理解,考虑进行分解;若一个用况中有完全不同的事件流,最好把它分解成不同的用况。
9、 用况模型和面向对象分析模型