Форум Сообщества Аналитиков

×


проверьте UML диаграмму(Прочитано 9872 раз)
проверьте UML диаграмму : 19 Декабря 2010, 00:51:14
нарисовал uml программы
хотел бы спросить правильно ли я провел стрелки от класса точки(point) к классам треугольник(triangle) и описанный прямоугольник(circumscribedRectangle)
какую связь добавить между описанным прямоугольником и треугольником? класс прямоугольника создается по заданному треугольнику.
и как связать все эти классы с классом Program?



Re: проверьте UML диаграмму Ответ #1 : 19 Декабря 2010, 10:31:18
1. если вы имели в виду навигацию, то выглядит правильно. точка конкретная не знает к чему она принадлежит, об этом заботится сама фигура
2. вписанный прямоугольник не может быть построен абы как, следовательно он зависит от вида треугольника, т.об можно сказать, что между прямоугольником и треугольником связь зависимость. Треугольник инстанцирует прямоугольник
3. программа - контейнер для всех экземпляров, она также создает эти экземпляры в момент прогона программы. Т.е. программа инстанцирует все объекты



Re: проверьте UML диаграмму Ответ #2 : 19 Декабря 2010, 13:42:31
еще такой вопрос. у меня на форму вводятся координаты 3х точек. при нажатии на кнопку формы создаются 3 объекта класса точки и треугольник (из этих точек). как я понял это тоже связь "зависимость", но не пойму надо ли вести стрелку к форме только от точки или от точки и треугольника.




Re: проверьте UML диаграмму Ответ #3 : 19 Декабря 2010, 19:04:59
Чтобы понять, как и что следует сделать, советую построить диаграмму объектов, на которой показать экземпляры классов. Наверное тогда многое станет проще и понятнее. Насчет зависимостей, то стрелка показывает, какой класс зависит от реализации другого класса (стрелка на нем) + зависимость может иметь, поясняющий стереотип.

Подумайте - форма зависит от реализации программы или реализация программы зависит от реализации формы?
Зависит ли точка от реализации формы МонтеКарло, или все-таки работа формы зависит от реализации класса Точка?

Да в треугольнике у вас дубль операций, они правда отличаются сигнатурами. Но насколько мне известно нельзя иметь две одноименные операции в классе.

Также нужно прояснить зависимость между треугольником и вписанным прямоугольником, может тут лучше подойдет ассоциация или даже композиция, в том смысле что вписанный прямоугольник может существовать при наличии треугольника. С другой стороны прямоугольник может существовать независимо от треугольника и иметь некое свойство - Быть вписанным в определенный треугольник. Так что с какой стороны посмотреть :) Если все-таки т-ник инстацирует экземпляр прямоугольника, то наверное зависимость должна иметь обратное направления, правда я могу и ошибаться



Re: проверьте UML диаграмму Ответ #4 : 19 Декабря 2010, 20:34:58
делал все по этому(инф. с википедии):

Цитировать
Зависимость
.....
Графически представляется пунктирной стрелкой, идущей от зависимого элемента к тому, от которого он зависит.

1)на форму мы вводим координаты, жмем на кнопку - создаются 3 точки и 1 треугольник, на основе этих трех точек. след-но созданные точки и треугольник зависят от формы, потому стрелки от точки и треугольника к форме.

2)класс program определяет точку входа приложения. он инициализирует форму MonteCarloForm. значит форма зависит от программы. потому стрелка от формы к program. да, похоже нужно перенести начало стрелки именно к классу MonteCarloForm

3)непонятно дело с треугольником и прямоугольником. прямоугольник можно создать только на основе уже существующего треугольника и никак иначе. вроде похоже на композицию, но ведь при удалении треугольника объект описанного прямоугольника сможет существовать отдельно. вобщем оставил простую ассоциацию.

прошу подтвердить или опровергнуть выше написанное




Re: проверьте UML диаграмму Ответ #5 : 20 Декабря 2010, 09:17:29
Попробуйте построить приложение и сделать рефакторинг. Однозначно ответить не могу




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19