图3-1 主要场景用例图
4 系统分析与设计
4.1领域模型的创建
4.1.1寻找概念类
在用例的文本性描述中识别名词和名词短语,将其作为候选的概念类或属性。但是,由于不可能存在名词到类的映射机制,并且自然语言中的词语具有二义性,所以还需要对寻找出的名词进行分析筛选。
表4-1 名词表
微波炉 灯 食物
用户 炉门 鸣叫
开始/继续按钮 时间设定按钮 取消/暂停按钮
时间 功率管 中断
按钮 次数 烹饪
检查名词表,可以将非对象排除。鸣叫不是对象,而是设备发出的声音,实际对象是鸣叫器,它发出了鸣叫。按同样的方法,时间也不是对象,它们由定时器测量。名词“次数”是计数,而不是对象。中断也不是对象。由上面的分析可以导出概念类的列表
表4-2 概念类的列表
Beeper Pause/Stop Button Start/Continue Button
Time-set Button Timer Display
Light Door PowerTube
4.1.2寻找概念类的关联和属性
表4-3 概念类的关联列表
Start/Continue Button Informs Beeper
Pause/Stop Button Informs Beeper
Time-set Button Informs Beeper
Timer Informs Beeper Sets Timer
Start/Continue Button Sets Timer
Pause/Stop Button Sets Timer
Time-set Button Sets Timer
Timer Informs Display
Timer Operates Light
Timer Operates PowerTube
Door Operates Timer
Door Operates Light
Door Operates PowerTube
PowerTube Informs Display
表4-4 概念类的属性列表
概念类 属性名 说明
Timer timeRemaining 设定的剩余时间
isOn 定时器开启状态
isReady 用于判断外界条件(比如门的闭和与否,可以扩展到其他外界条件)是否允许定时器计时
isSuspended 定时器挂起状态
Light isOn 微波炉灯管的开启状态
PowerTube isOn 微波炉功率管的开启状态
Door isOpen 微波炉门的闭合状态
Display timeRemaining 设定的剩余时间
reading 显示器示数
isPowerTubeOn 微波炉功率管的开启状态
Start/Continue Button isActive 按钮激活状态
Pause/Stop Button isActive 按钮激活状态
Time-set Button isActive 按钮激活状态
4.1.3领域模型的UML图
图4-1 系统的领域模型
4.2系统顺序图
系统顺序图(SSD)是为阐述与所讨论系统相关的输入和输出事件而快速、简单地创建的制品。它们是操作契约和对象设计的输入。
通过对用例文本及其所示的系统事件进行分析,创建用例主成功场景和各扩展流程的系统顺序图(SSD)如下:
4.2.1主成功场景系统顺序图
图4-2 基本流程系统顺序图
4.2.2扩展场景:取消烹饪系统顺序图
图4-3 取消烹饪系统顺序图
4.2.3 扩展场景:中断烹饪系统顺序图
图4-4 中断烹饪系统顺序图
4.2.4扩展场景:追加时间系统顺序图
图4-5 追加时间系统顺序图
4.3状态模型
4.3.1微波炉模型的状态机图
通过对系统顺序图(SSD)和详述用例的分析,可得到微波炉模型的状态机图如下:
图4-6 微波炉对象的状态机图
4.3.2微波炉模型用例执行顺序的状态机图
图4-7 微波炉模型用例执行顺序的状态机图
4.4操作契约
通过对系统顺序图(SSD)和系统状态机图的的分析,确定如下操作契约:
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>