【问题标题】:how to draw sequence diagram from java code如何从java代码中绘制序列图
【发布时间】:2018-09-16 20:16:48
【问题描述】:

目前我正在从java代码中绘制时序图,我知道有几个快捷扩展软件存在,但我还是想用手绘制它并弄清楚发生了什么。

我正在使用这些来自 java 的代码:

import java.util.List;

public static void main(String[] args) {

        Student student = new Student(2);

        student.addClass(new Class("SE 450"));

        student.addClass(new Class("SE 550"));

        System.out.println(student.getFormattedSchedule());
}

class Student {

        //instance field;

        private final List<Class> classes;

        private final int maxNumberOfClasses;

        //constructor

        Student(int maxNumberOfClasses){

                classes = new ArrayList();

                this.maxNumberOfClasses = maxNumberOfClasses;

        }

        //Mutator Method     

        void addClass(Class newClass){

                if(classes.size() < maxNumberOfClasses)

                        classes.add(newClass);
        }


        List<Class> getClasses(){

                return classes;         

        }

        String getFormattedSchedule(){

                if(classes.size() == 0)

                        return "No classes added.";


                String schedule = "";

                for (Class studentClass : classes) {

                        schedule += studentClass.getName() + "\r\n";

                }

                return schedule;

我从这段代码中得出的结论是这样的:

在这种情况下,我不知道如何继续绘制图表,因为我不知道如何为这段代码绘制图表:

classes.add(newClass);

有人知道吗?任何建议表示赞赏!

【问题讨论】:

    标签: java uml sequence diagram


    【解决方案1】:

    好吧,您可以将classes 视为自己的生命线并将add 消息发送给它。但这看起来有点矫枉过正。要么

    • 您将其建模为一种自我信息(附有注释)或
    • 您只需在该位置使用便笺
    • 或者(我的建议)您不要详细说明。

    SD 不是可视化编程辅助工具。它将概述复杂的程序,以便人们了解正在发生的事情。减少到最大。

    【讨论】:

    • 也就是说,“classes.add(newClass)”不需要画图吗?如果我忽略这一点怎么办,绘制图表的下一步是什么?那是从“String getFormattedSchedule()”中绘制图表吗?非常感谢您的帮助!
    • 我不能给你上述的“解决方案”。我们的想法是,不是记录每一点,而是将整个事情抽象出来,以便了解时间表是如何运作的。
    • 考虑扩展opt,只返回一个分区中的“无类”,只返回一个描述已在另一个分区中添加的类的自调用。
    • 感谢您的帮助!我认为您已经解释得比我预期的要多:)
    猜你喜欢
    • 2018-11-27
    • 2013-06-23
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 2013-07-21
    • 1970-01-01
    相关资源
    最近更新 更多