机房收费系统--状态图

       状态图:一般说来状态图(State Diagram)是对类的描述的补充,用于显示类的对象可能具备的所有状态,以及那些引起状态改变的事件.

       在实际建模时,不需要对所有的类都绘制状态图,仅对那些具有多个明确状态的类,并且类的这些不同状态会影响和改变类的行为才绘制类的状态图.另外,也可以为系统绘制整体状态图.    

        这是对状态图的一个简单的介绍,下面的一般只有名称,是我画状态的时候只写名称.

  

        分析一下这个电梯系统的状态图.额,由于中间插了一段内容,导致电梯系统的状态图在很下面!

        首先,如果让我先分析一下电梯的状态,那么我一定会想到电梯门打开,电梯门关上,电梯里有人,电梯里没人,还有有人按电梯,电梯坏了,电梯超重,电梯上升,电梯下降.然后,就很郁闷,这些个哪个是状态??????

        我画状态图的时候,就对状态这个理解不了.我搞不清楚我提出来的到底是状态还是活动,还是其他什么.还有这篇博客是在我画完UML图之后写的,所以,我画的状态图里的状态十有八九都有点问题.所以,我还是先把我的状态图贴上吧!

        由于状态图是针对对象来画的,我又只提取了4个类.所以,每个类都实例一个对象,然后就一共画了4张状态图.

        这是第一张,关于Student对象的状态图.从初始状态,然后点击上机,由于一些条件,然后下机,然后结束状态.那个终点其实可以有多个,不过我的都只有一个.

        画的时候,先想的是学生的状态.学生会有什么状态?上机前,上机中,下机后.然后上机前和下机后,在某种程度上,其实是一样的.

        然后这一张是User的对象的状态图.中间的工作,不同的等级的User工作内容不一样,就用工作代替了.

      然后这是Forms的对象的状态图,这个窗体是查看学生余额.

      最后,这是Table的对象的状态图.

        现在看一下,我的状态真的一个个都不像个状态.而且过程都差不多,打开,中间,关闭.

       言归正传.这个电梯系统.首先考虑,状态图研究的是对象.那么电梯系统就是类的对象.那么类是什么?额,这个应该是为系统绘制的整体状态图.

      然后,电梯的状态有:在一楼,向一楼移动,向上升,向下降,空闲.考虑下,为什么他们就想到是这些作为状态,而不是我想的那些??不知道.~~~~~~,我真的想不出来这些状态

          然后分析,从起始状态开始.首先电梯是在一楼的,然后(有人按开了电梯门,进了电梯,按了某一楼层按钮),电梯上升(去指定的楼层),到达指定楼层后(人出去了),电梯空闲了.然后(在上面的楼层或者下面的楼层有人按了电梯),电梯就往指定的楼层去.或向上升,或向下降.如果电梯空闲的太久,超时了,那么就向一楼移动,到达一楼,回到最初的状态.

          这个电梯系统状态图,完完全全只是在研究电梯,而对于使用的人,完全没有提到.比如我上面的关于Forms的查看余额窗体,第一个就是打开窗体.我想作为窗体是没有办法打开窗体的,打开窗体的是用户.所以,如果要对窗体的打开作为一个状态,那么"启动"或者"打开"都比"打开窗体"要好.

         嗯,晕了,这个我也不知道该怎么弄了.算了算了,先放下,不能为此花费太多时间~~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 31
    评论
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值