Форум Сообщества Аналитиков
Общий раздел => Примеры => Задачи студентов => Тема начата: ka0g от 21 Апреля 2009, 15:37:01
-
Здравствуйте!
Дали нам значит лабораторные работы по UML.
До этого я UML никогда не использовал, вообще только немного слышал о нем.
Стал разбираться...
По ходу разбирательства у меня появились сомнения по поводу корректности самого задания.
Т.е. насколько правильно и логично сделаны сами задания по лабораторным работам.
Я прошу знатоков на него взглянуть и написать свои мысли по этому поводу.
Прикладываю одну лабу. Возможно приложу и другие.
В общем, жду Ваших ответов!
-
А в чем с вашей точки зрения некорректность работы?
По-моему обычная лабораторная из серии "сделай все по шагам и не думай"
Есть сложность выполнения?
-
Ну, вот например:
Зачем нужен актер "Any User" (в конце есть такой вопрос)?
Самый распространенный ответ:
Это пользователь не прошедший аутентификацию, обобщенный пользователь (студент, профессор, регистратор).
Если это так, то почему он не связан с прецедентом "Login"?
С "Login" связаны только студент и регистратор.
Насколько я знаю, стандарт UML2 вообще не рекомендует делать связи между актерами.
конечно я и сам могу ошибаться, т.к. UML никогда не использовал, поэтому решил посоветоваться с компетентными людьми.
-
Насколько я знаю, стандарт UML2 вообще не рекомендует делать связи между актерами.
Между действующими лицами можно рисовать обобщения. Это нормально.
-
Спасибо.
А остальная часть вопроса?
-
Разъясните пожалуйста про Any user, Login и пользователей.
Мне кажется, что корректным былобы:
Any user--->[Login]
---> Student
---> Professor
---> Registrator
Т.е. студент, профессор и регистратор становятся собой только после аутентефикации.
-
не совсем так.
Any user - это абстрактный актор, от него специфицируются остальные.
Именно any user инициирует login
-
Большое спасибо.
А то, что он инициирует логин должно быть както отражено на диаграмме?
И зачем на диаграмме в задании от студента и регистратора стрелочки к прецеденту "логин" (а от профессора нету).
-
Эта лабораторная сделана по практикуму Вендрова. Проектирование ПО для ЭИС. Этот же пример господин Вендров приводит и на своих курсах по UML и использованию Rational Rose.
При этом не он придумал этот пример, он его использует. Это некоторый стандартный пример.
Кстати можете скачать здесь (http://www.classs.ru/library1/economics/vendrov_praktikum/)
На самом деле действительно Профессор должен иметь возможность войти в систему, иначе каким образом он может записать себе курс и указать, что некий студент его закончил. Тут есть потеря логики, я с Вами согласен.
Я не помню точно как это сделано у Вендрова, но вроде похожим образом. Правда у него сначала показана ДВИ того как делается запись на курсы и ДВИ после того как должно делаться.
-
Спасибо!
Скачал. Там не так, там вот так (см. аттач)
Как правильно?
-
Скачал. Там не так, там вот так (см. аттач)
Как правильно?
Естественно как у автора. Хотя я же не могу читать мысли вашего преподавателя, с чего это меу вдруг вздумалось делать так, как он сделал.
+ включите логику, что она Вам подсказывает?
-
Диаграмма Вендрова правильная.
Ваш преподаватель сделал не совсем корректно
Если от Any User (AU) специфицируются остальные акторы (связь обобщение) и мы AU связываем ассоциацией с ВИ Login, то к этому ВИ уже не надо тянуть связи от других акторов. Получается избыточность диаграммы и нарушение логики.
-
Большое спасибо за ответы!
Приступаю к выполнению следующей.
Прикрепляю и ее. Посмотрите пожалуйста.
Интересно что Вы скажите.
-
Интересно что Вы скажите.
Я скажу, что прочитав ваш документ я абсолютно не понял что нужно сделать.
В чем смысл задания "Постройте диаграмму ... изображенную(!) на рисунке N"? Если диаграмма уже есть, то что требуется сделать?
-
Я скажу, что прочитав ваш документ я абсолютно не понял что нужно сделать.
В чем смысл задания "Постройте диаграмму ... изображенную(!) на рисунке N"? Если диаграмма уже есть, то что требуется сделать?
уже ранее писал :)
"По-моему обычная лабораторная из серии "сделай все по шагам и не думай"
-
Ну, построить диаграмму это просто для тех, кто никогда не видел umbrello (именно в ней и делается).
Кстати, дабы не создавать еще 1 тему спрошу тут:
Какая на Ваш взгляд лучшая программа для uml моделирования под linux (можно кроссплатформенную или чтобы в linux работала под wine. Ну, можно и примеры виндовых) и бесплатная?
Что я бегло просмотрел, естественно мое мнение не компетентно, просто ощущения:
umbrello:
uml (кажется) 1.4
Бывет падает. Похоже в ней не реализовано долеко не все.
Рисовать не очень удобно.
ArgoUML:
uml 1.x (тоже не uml2)
Реализовано гораздо больше. Рисовать удобно. Не разу не упала.
Бывает медлительна, наверное потому, что на java.
Еще пробовал BOUML (вроде как профессиональная вещь для моделирования uml2) и Open ModelSphere (ранее коммерческий продукт)
Каково Ваше мнение на этот счет?
(Думаю предложить использовать другое средство моделирования)
Сейчас пытаюсь въехать что надо делать в лабе №10, в задании "Создать диаграмму классов и диаграмму последовательностей к лабе 9"
(лаба9 - это то, с чего я начал эту тему, т.е. ДВИ про профессора студента и регистратора).
Посмотрел что у Вендрова, у него все очень основательно и подробно. Для данного варианта надо упростить до вида диаграмм из лабы 10.
И, по моему, вендров не с того начинает, у него сначала текст ("зачем оно надо"), а потом "картинка".
А тут получается както наоборот по 1й картинке рисовать другую.
Если есть какие либо рекомендации по построению вышеуказанных диаграмм - буду рад услышать.
Всем спасибо!
-
Спасибо!
Скачал. Там не так, там вот так (см. аттач)
Как правильно?
Да простит меня господин Вендров, но в его UseCase - диаграмме (если это действительно диаграмма, используемая им в качестве учебного примера), множество недостатков. Поправлю - выложу с пояснениями.
-
Это диаграмма из RUP'а (https://atlas-connect-forum.web.cern.ch/atlas-connect-forum/SDP/Architecture_Example_1.htm), т. е. учебный пример от Rational.