【问题标题】:Is this Sequence Diagram correctly drawn from this code?这个序列图是从这段代码中正确绘制的吗?
【发布时间】:2019-10-30 12:18:23
【问题描述】:

我必须仅使用这段代码(作为大学作业的一部分)绘制序列图。这是我对图表外观的想法,但我真的很希望有更多经验的人可以检查它并给我任何反馈。 我最大的困境是以下几行: - private Alarm alarm = GlobalSettings.GetCurrentAlarmSetting();//我是否在这里创建消息(就像我一样),或者? -lights = lightsController.GetAllLights();//我做对了吗?我不知道如何表示方程运算符。

不幸的是,我不得不将它裁剪成 2 张图片:

public class AlarmController
    {
        private Alarm alarm = GlobalSettings.GetCurrentAlarmSetting();
        private User user = GlobalSettings.GetHouseOwner();
        private LightsController lightsController = new LightsController();

        public void ActivateSecurityMeasures(Sensor sensor)
        {
            List<Light> lights; 
            if (alarm.IsActivated())
            {
                lights = lightsController.GetAllLights();
                alarm.ActivateSoundAlarm();
                user.SendNotification("Home alarm is activated");
            }
            else
                lights = lightsController.GetSensorLights(sensor); 

            foreach (Light item in lights)
            {   item.TurnOn(); }
        }
    }

【问题讨论】:

    标签: reverse-engineering diagram sequence-diagram visual-paradigm


    【解决方案1】:

    似乎不应使用创建消息创建警报和用户,因为您的源代码没有显示这两个对象是从 AlarmController 创建的。他们只是从 GlobalSettings 中的静态操作中检索。并且似乎消息 #8.3、#8.8、#8.9 和 #8.10 也是不必要的,因为 #8.2 和 #8.7 返回灯光暗示 AlarmController 具有对 Light 对象的引用并可在 #8.11 中调用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 2011-08-02
      • 2011-06-26
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多