可视化建模与UML《状态图实验报告》

其实我并不是一个实验报告博主。

大家收拾收拾准备期末复习了嗷,差不多了,不想太赶可以开始准备了。

一、实验目的:

1、熟悉状态图的基本功能和使用方法。

2、掌握使用建模工具软件绘制状态图的方法

二、实验环境:

window7 | 10 | 11 + EA15

三、实验内容:

1.根据以下的描述,绘制"复印机"的状态图。

未接到工作命令时,复印机处理闲置状态,接到复印命令后,转入复印状态,完成复印后又回到闲置状态,等待命令。若复印时发现没纸,则进入缺纸状态,发出警告等待装纸,装纸完成后又进入闲置状态;若复印时发现卡纸,则进入卡纸(故障)状态,发出警告等待排除故障,故障排除后又进入闲置状态。

2.绘制选课系统中课程(Course)对象的状态图。

经过需求分析,Course课程对象有以下状态:创建(Created),添加到数据库中(In Database),课程(在数据库中)被删除(Deleted),课程被修改(Modified),课程被开设(纳入学期计划)(In Schedule),不允许选修(选修人数满)(Locked)。

四、实验步骤:

题一:

<1>状态有如下4个:空闲/复印/缺纸/故障

<2>状态之间的动作对应如下:

  • 空闲----接到复印命令---->复印
  • 复印------复印完成------>空闲
  • 复印------发出警告------>缺纸
  • 缺纸------装纸完成------>空闲
  • 复印------发现卡纸------>故障
  • 故障------排除故障------>空闲

<3>设置initial和final

<4>检查是否有遗漏

题二:

<1>状态有如下4个:创建(created)/保存在数据库中(In Database)/删除(Delete)/修改(Modified)/纳入学期计划(In Schedule)/锁住(Locked)

<2>状态之间的动作对应如下:

  • Created----接到复印命令---->In Database
  • In Database------在数据库中删除------>Delete
  • In Database------课程被修改------>Modified
  • In Database------开设该课程------>In Schedule
  • In Database------不允许选修------>Locked

<3>设置initial和final

<4>检查是否有遗漏

五、实验结果:

题一:

题二:

六、实验心得:

1.在绘制状态图之前,深入理解系统的需求和对象的行为是至关重要的。这有助于识别所有相关的状态和事件。

2.状态图基本构件事物:状态<statue>/转移(动作)/开始<Start>/结束<Final>

3.状态图用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。

4.守卫条件是转换发生前必须满足的条件。

5.尽量保持状态图的简洁,避免不必要的复杂性。

相关推荐
码匠许师傅1 天前
【设计模式精讲】26.策略模式(Strategy)
c++·设计模式·策略模式·uml
码匠许师傅1 天前
【设计模式精讲】25.状态模式(State)
c++·ui·设计模式·状态模式·uml
rolt1 天前
用UML表示的行业标准02汽车-AUTOSAR
软件工程·ddd·uml·领域驱动设计·ontology·本体
东莞市永盛电气2 天前
CNC数控机床北美供电适配新实践:208V转380V变压器落地应用案例
uml
码匠许师傅2 天前
【设计模式精讲】24.观察者模式(Observer)
c++·观察者模式·设计模式·uml
码匠许师傅3 天前
【设计模式精讲】22.中介者模式(Mediator)
c++·设计模式·软件工程·uml·中介者模式
码匠许师傅3 天前
【设计模式精讲】23.备忘录模式(Memento)
c++·设计模式·软件工程·uml·备忘录模式
rolt4 天前
用UML表示的行业标准01-电力/智能电网-2
架构师·uml·ontology·本体
码匠许师傅4 天前
【设计模式精讲】21.迭代器模式(Iterator)
c++·设计模式·rpc·迭代器模式·软件工程·uml
码匠许师傅6 天前
【设计模式精讲】15.享元模式(Flyweight)
c++·设计模式·享元模式·uml