UML系统分析与设计教程 冀振燕 第15章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作者:冀振燕 《UML系统分析与设计教程》 2
用例图
Record ECG
Playback ECG
Watch Time User
Delete ECG
Set Clock Time
Set Alarm Time
作者:冀振燕 《UML系统分析与设计教程》
3
静态结构模型
Battery (from Power) GUI (from UI) AlarmClock (from Alarm_Clock)
作者:冀振燕 《UML系统分析与设计教程》
Speaker (from UI)
4
静态结构模型
<<subsystem>> Alarm_Clock <<subsystem>> Memory
<<subsystem>> UI
<<subsystem>> Power
<<subsystem>> ECG
作者:冀振燕 《UML系统分析与设计教程》 5
deleteECGWave(X) stop( ) deleteECGWave( )
作者:冀振燕 《UML系统分析与设计教程》
9
Alarm_Clock子系统 子系统
AlarmClock alarmState : Boolean = false getTime() getDate() getAlarmState() setAlarmState() get() set() nextSecond() cycleHour() cycleMinute() Time
Record enter:Start DMA
DMA EndOfTransfer
作者:冀振燕 《UML系统分析与设计教程》
13
ECGOutput对象的状态机图
playECGSegment( ecg:ECGSegment ) DMA EndOfTransfer Idle Play
PlayCompressedECGSegment( ECGSegment )
第15章 嵌入式系统设计
作者:冀振燕 《UML系统分析与设计教程》
1
系统需求
主要功能:
可以存储20个心电波(ECGWave),每个心电波的长度由 内存的大小来决定。 具有屏幕菜单,使用方便 可以设置闹铃,提示用户时间到。 具有LCD显示器可以显示心电波形、心电波形的记录时间和 记录日期、当前时间和当前日期。当前的时间和日期总是出 现在显示器上。 显示器还显示电池使用情况指标。当电池电量不足时,系统 发出蜂鸣声提醒用户。 具有待用模式(Stand-by Mode),这样可以节省能量。当 不用时,系统关闭外设;当用户随便按一个按钮时,系统激 活,返回正常工作状态。
Modify Second press( Up ) / Time.cycleSecond(+1)
press( Down ) / Time.cycleSecond(-1)
press( Left )
press( Right )
Modify Minute press( Up ) / Time.cycleMinute(+1) press( Down ) / Time.cycleMinute(-1)
6
作者:冀振燕 《UML系统分析与设计教程》
7
Memory子系统 子系统
作者:冀振燕 《UML系统分析与设计教程》
8
: GUI
: Controller
: ECGMemory
X : ECGWave
: ECGOutput
playECGWave(X) getECGWave( )
getECGSegment( ) playCompressedECGSegment( )
press( Left )
press( Right )
Modify Hour press( Up ) / Time.cycleHour(+1) press( Down ) / Time.cycleHour(-1)
作者:冀振燕 《UML系统分析与设计教程》
16
通信图
Timer 4: isr() 5: check() Sceduler 1: attach() Keyboard
作者:冀振燕 《UML系统分析与设计教程》
18
对心电信号进行采样
作者:冀振燕 《UML系统分析与设计教程》
19
Display
System Clock
Sensor
Custom Bus
RESET CLOCK
Display controller
System Bus Microcontroller Analog Input Process Core
Date get() set() nextDay() cycleDay() cycleMonth() cycleYear()
作者:冀振燕 《UML系统分析与设计教程》 10
User Interface子系统 子系统
作者:冀振燕 《UML系统分析与设计教程》
11
动态行为模型
Controller对象的状态机图
Controller playECGWave() recordECGWave() deleteECGWave() playAlarm() stop()
ECGInput recordCompressedECGSegment() selectInputFilter()
ECGOutput playCompressedECGSegment() playECGSegment() selectOutputFilter()
Keyboard (from UI)
Display (from UI)
Controller 1
ECGOutput (from ECG)
1 ECGInput (from ECG) ECGMemory (from Memor源自文库) 1 AudioOutput (from UI)
20 Sensor (from UI) ECGWave (from ECG)
13: update() 1: playECGWave() 2: set() 3: postEvent() 10: set() : Controller 5: getECGSegment () 11: postEvent() : TaskView
回放心电波
: ECGWave 9: update() 7: playECGSegment () 6: getSample( ) 8: playSample( ) : ECGOutput : Display : ECGSegment
6: check() AlarmClock 2: attach()
7: nextSecond() Now:Time
8: check() Battery 3: attach()
9: postEvent() EventProxy
17
作者:冀振燕 《UML系统分析与设计教程》
4: getEvent() 12: getEvent() : GUI : EventProxy
Sensor (from UI) getSample() switchOn() switchOff() Timer (from Alarm_Clock)
Display (from UI) switchOn() playSample() switchOff()
作者:冀振燕 《UML系统分析与设计教程》
Playing
play back
stop stop Idle record Recording
alarm
stop
Alarming
作者:冀振燕 《UML系统分析与设计教程》
12
ECGInput对象的状态机图
Idle
Compress
recordCompressedECGSegment( ecg:ECGSegment )
Internal Bus Read Only Memory A/D Converter
物理模型
Digital I/O ports
RAM Memory
Digital I/O ports
D/A Converter
Digital I/O ports
Battery Level
Speaker
Keyboard
作者:冀振燕 《UML系统分析与设计教程》
20
作者:冀振燕 《UML系统分析与设计教程》
21
Expand exit:Start DMA
作者:冀振燕 《UML系统分析与设计教程》
14
Sensor对象的状态机图
作者:冀振燕 《UML系统分析与设计教程》
15
SettingTimeUserMode对象的状态机图
Idle
activate
deactivate
Active SettingTimeUserMode
ECG子系统 子系统
ECGWave ECGSegment ECGSample 0..n 1 getSample() 0..n addSample() 1 getECGSegment() appendECGSegment() getHeader() setHeader()
CompressedECGBlock
相关文档
最新文档