Помогите с диаграммой вариантов использования(Прочитано 52261 раз)
Цитировать
Я не понимаю зачем различать заказ товара от оформить покупку. Понимаю, можно прийти в магазин набрать целую корзину товара оставить ее в центре зала и уйти. Зачем?
Логика была примерно в следующем. В магазине я могу: 1. Смотреть товар, 2. Складывать товар в корзину (не факт, что я его потом куплю). 3. Покупать тот товар, который сложил в корзину. Выделил 2 и 3 в отдельные ВИ, потому что функциональность Системы разная и при этом законченная по смыслу. Во 2-м ВИ Система формирует корзину, осуществляет бронь товара. В 3-м Система запрашивает данные о покупателе, адресе доставки, подтверждает заказ, отсылает уведомление покупателю и менеджеру. Мне кажется, такое разделение вполне имеет право на жизнь.
Цитировать
Ну а человек что с этой ДВИ будет делать? ;)
Я очень надеюсь, что посмотрев на мою ДВИ, он поймет, что она хреновая, и сделает свою супер-пупер правильную и идеальную ДВИ, получит "отлично" и пойдет со спокойной душой на свидание к своей подруге и будет весь вечер рассказывать ей о своих достижениях! Потом они поженятся, нарожают кучу детишек и все они станут аналитиками! :D



Статья не моя, моя обработка небольшая и подготовка с выкладыванием....
Понимаете, очень все усложнено... Не понятно на что ориентироваться, много деталей, дальнейшее обсуждение только запутывает. На примерах, что-то понял. Оказалось это просто примеры, и так, как сделано в них, делать нельзя. А как тогда делать? На чем учиться? Если мне нужно как можно быстрей построить ДВИ. За 5 дней я никуда не продвинулся практически. Я понимаю, что есть несколько решений. Но мне нужно одно, простое, так как я только учусь. Учится надо на простом? Мне для примера в лабораторной дана тоже простая ДВИ.
Вы говорите, достаточно одного "если", и зачем совмещать поиск и просмотр. Так ведь решили же, что есть один ВИ Найти товар, в него все входит, поиск и просмотр. Или опять не так?
Почему просмотр деталей альтернатива поиску? Вот не понимаю! Хотя не считаю себя тупым). Но мне нужно четкое, логичное объяснение. С полуслова я Вас не понимаю.
« Последнее редактирование: 16 Мая 2013, 16:17:50 от AlexRyzhenko »



Я очень надеюсь, что посмотрев на мою ДВИ, он поймет, что она хреновая, и сделает свою супер-пупер правильную и идеальную ДВИ, получит "отлично" и пойдет со спокойной душой на свидание к своей подруге и будет весь вечер рассказывать ей о своих достижениях! Потом они поженятся, нарожают кучу детишек и все они станут аналитиками! :D
+1 Долго смеялся



Понимаете, очень все усложнено...
Вы не пытались разобраться в квантовой физике? А если попробовать составить список возможных реакций, протекающих в плазме молекулярных газов?
Это не усложнено, это нормально.
Цитировать
Не понятно на что ориентироваться, много деталей, дальнейшее обсуждение только запутывает.
Я вам сразу сказал на описание, в описании и будет зерно и смысл. Он не в овальчиках. Овальчики лишь помогают вображению.

Цитировать
На примерах, что-то понял. Оказалось это просто примеры, и так, как сделано в них, делать нельзя.
В статье вполне приличные примеры, но их задача не в иделаьной правильности, потому как нет полной задачи, а в том, как формулировать наименования, шаги, условия и т.п.
 
Цитировать
А как тогда делать? На чем учиться? Если мне нужно как можно быстрей построить ДВИ.

это иная цеь и другая задача, не путайте обучение и сдачу.
Цитировать
За 5 дней я никуда не продвинулся практически.
Я вообще несколько лет плохо понимал - читайте книги.
Цитировать
Я понимаю, что есть несколько решений. Но мне нужно одно, простое, так как я только учусь.
Вам ida дала решение, вам я тоже сказал что можно сделать, вас это не удовлетворяло, вы все хотели связать инклюдами и экстендами. Вам Briezz нарисовал используйте.
Цитировать
Учится надо на простом? Мне для примера в лабораторной дана тоже простая ДВИ.
Обратитесь к своему преподавателю, ему платят за это деньги, чтобы он сумел внятно понятно и доходчиво доносить до своих учеников преподаваемые им мысли. У меня студенты два месяца пишут 1 ВИ. И ничего
Цитировать
Вы говорите, достаточно одного "если", и зачем совмещать поиск и просмотр.

Я не говорю, это Арлоу и Нейдштад говорят, что можно в случае небольших отклонений от центральной линии не делать альтернативных ветвей отдельно. а использовать если, цикли и т.п.
Поиск и просмотр можно совмещать по разным причинам, для того что бы просмотреть надо найти, для того чтобы найти надо просмотреть:)
Цитировать
Так ведь решили же, что есть один ВИ Найти товар, в него все входит, поиск и просмотр. Или опять не так?
Кто решил? Вы решили - ну так и делайте в чем проблема-то?
Цитировать
Почему просмотр деталей альтернатива поиску? Вот не понимаю! Хотя не считаю себя тупым).
Никто вас тупым не считает, просто я не хочу навязывать свое решение, потому и доскутирую с вами, а вы ждете, чтобы за вас решили, нарисовали и вам сказали
Цитировать
Но мне нужно четкое, логичное объяснение. С полуслова я Вас не понимаю.
Так почитайте книги, вам же дают курсы, разберитесь. Ничего себе полуслово, я тут с вами веду дискуссию. вы мне еще и в аську написали чуть ли не с претензией.





Начнем сначала. Какой алгоритм действий среднего клиента интернет-магазина после захода на сайт?
2. Ознакомился с условиями в нашем случае доставки и оплаты (почему бы их не обобщить?).
3. Поиск товара. 2 способа поиска.
1) Просмотреть каталог товара и открыть нужный раздел.
2) Найти нужное с помощью поиска, задав условия.
Результата обоих способов очевидно 2 - список товаров или товары не найдены.
Клиент просматривает характеристики товаров (какая в этом альтернатива поиску? Это его часть!). Выбранные отправляет в корзину. При этом, удобно видеть стоимость корзины. Можно наложить ещё или это уже 2 месячные зарплаты?:) Клиент может ничего не отправить в корзину, если ничего не выбрано или не найдено. Поэтому результат поиска не предопределен. Т.е.  постусловия нет. Если ничего не найдено можно сделать альтер. поток просто с выводом сообщения.
4. Оформление заказа. Клиент может перейти к нему, если корзина не пуста, т.е. с предусловием, иначе нечего заказывать. На этом этапе клиент может удалить товар из корзины. Для оформления заказа Клиенту нужно выбрать способы оплаты и доставки и ввести контактные данные. Если все введено верно и оформление подтверждено, заказ принят, товары можно отправить из корзины в историю, но это детали. Здесь какие альтернативы самые важные? Введены не корректные данные - вывести сообщение об ошибке ждать пока исправят. Другая альтернатива - оформление отменено или не подтверждено. Здесь ничего делать не надо.
Итак, получается 4 ВИ. Причем, 3 и 4 работают с корзиной. Что если сделать ВИ Управление корзиной как расширения для 3 и 4? При этом ведь работа с корзиной не будет являться целью, а только средством.
Вот мое видение проблемы. Прошу ткнуть меня во все неучтенные детали и исправить или предложить альтернативу, чтобы уже определиться с составом ДВИ и пойти дальше, а не топтаться на одном месте.



Вы не пытались разобраться в квантовой физике? А если попробовать составить список возможных реакций, протекающих в плазме молекулярных газов?
Не понял иронии.
Это не усложнено, это нормально. Я вам сразу сказал на описание, в описании и будет зерно и смысл. Он не в овальчиках. Овальчики лишь помогают вображению.
Я давно уже Вам "овальчики" не показывал
это иная цеь и другая задача, не путайте обучение и сдачу. Я вообще несколько лет плохо понимал - читайте книги.
У меня нет нескольких лет на чтение книг. Про азы ДВИ я уже прочел. Этого должно хватить для простой ДВИ.
Вам ida дала решение, вам я тоже сказал что можно сделать, вас это не удовлетворяло, вы все хотели связать инклюдами и экстендами. Вам Briezz нарисовал используйте.
Укажите на мое сообщение, где я говорил, что хочу связать. Не было такого. Я хочу сделать правильно. Первая диаграмма с инклюдами - это проба. Вы говорили что можно сделать, но слишком расплывчато. Briez нарисовал, но по Вашим же словам дело не в рисунке.
Обратитесь к своему преподавателю, ему платят за это деньги, чтобы он сумел внятно понятно и доходчиво доносить до своих учеников преподаваемые им мысли. У меня студенты два месяца пишут 1 ВИ. И ничего
Я не могу обратиться к своему преподавателю. Я его в глаза не видел. За что он деньги получает, тоже не пойму. Все, что у меня есть - это задание.



Начнем сначала. Какой алгоритм действий среднего клиента интернет-магазина после захода на сайт?
2. Ознакомился с условиями в нашем случае доставки и оплаты (почему бы их не обобщить?).
3. Поиск товара. 2 способа поиска.
1) Просмотреть каталог товара и открыть нужный раздел.
2) Найти нужное с помощью поиска, задав условия.
Результата обоих способов очевидно 2 - список товаров или товары не найдены.
Клиент просматривает характеристики товаров (какая в этом альтернатива поиску? Это его часть!). Выбранные отправляет в корзину. При этом, удобно видеть стоимость корзины. Можно наложить ещё или это уже 2 месячные зарплаты?:) Клиент может ничего не отправить в корзину, если ничего не выбрано или не найдено. Поэтому результат поиска не предопределен. Т.е.  постусловия нет. Если ничего не найдено можно сделать альтер. поток просто с выводом сообщения.
4. Оформление заказа. Клиент может перейти к нему, если корзина не пуста, т.е. с предусловием, иначе нечего заказывать. На этом этапе клиент может удалить товар из корзины. Для оформления заказа Клиенту нужно выбрать способы оплаты и доставки и ввести контактные данные. Если все введено верно и оформление подтверждено, заказ принят, товары можно отправить из корзины в историю, но это детали. Здесь какие альтернативы самые важные? Введены не корректные данные - вывести сообщение об ошибке ждать пока исправят. Другая альтернатива - оформление отменено или не подтверждено. Здесь ничего делать не надо.
Итак, получается 4 ВИ. Причем, 3 и 4 работают с корзиной. Что если сделать ВИ Управление корзиной как расширения для 3 и 4? При этом ведь работа с корзиной не будет являться целью, а только средством.
Вот мое видение проблемы. Прошу ткнуть меня во все неучтенные детали и исправить или предложить альтернативу, чтобы уже определиться с составом ДВИ и пойти дальше, а не топтаться на одном месте.
Ну это почти то, что я вам сразу написал http://www.uml2.ru/forum/index.php?topic=5955.msg35406#msg35406, просто тогда вы этого не поняли.

Не пойму чего вы ждете, отмашки. Вот вам отмашка - делайте все 4 ВИ и добавьте ВИ Управлять торговой корзиной, потому решите куда его засунут или нет.
Только не надо делать инклюды и экстенды и обобщения Тут пример с подпотоками основного сценария http://www.uml2.ru/forum/index.php?topic=289.msg35321#msg35321.

PS: ну на форуме люди помогают добровольно и как хотят



Поиск и просмотр можно совмещать по разным причинам, для того что бы просмотреть надо найти, для того чтобы найти надо просмотреть:)
Ну опять путаница.
Никто вас тупым не считает, просто я не хочу навязывать свое решение, потому и доскутирую с вами, а вы ждете, чтобы за вас решили, нарисовали и вам сказалиТак почитайте книги, вам же дают курсы, разберитесь. Ничего себе полуслово, я тут с вами веду дискуссию. вы мне еще и в аську написали чуть ли не с претензией.
Я жду, чтобы мне ПОДсказали. В книгах такого нет. Вы сами говорите там только примеры. Во всяком случае, чтение видно не помогло. В лабе один пример.



я бы рассуждал по-другому... на верхнем уровне абстракции у нас один ВИ: покупка товара. 100% верно, фиг поспоришь, но и фиг сдашь. Начинаем проводить декомпозицию... чтобы товар купить надо: 1. найти товар, 2. оформить заказ. оформить заказ невозможно без поиска товара, значит отношение однозначно include. Проводим декомпозицию ВИ "найти товар"... я бы выделил тут два ВИ: 1. поиск товара (формирование запроса на выборку из каталога по определенным критериям) и 2. чтение данных (ознакомление с характеристиками товара). с точки зрения Системы такое разделение вполне логично, так как за эти два ВИ отвечают совершенно разные функциональные блоки: за 1й - обработчик запросов и БД, за 2й - пользовательский интерфейс. Отношение опять же include, потому как прежде чем читать данные о товаре, его надо обязательно найти. И так далее и тому подобное... останавливаемся, когда уровень детализации нас устроит. а вот варианты поиска (с использованием фильтров или прсто просмотр каталога) - это особенности реализации, к ДВИ не имеют особого отношения, и на данном этапе лучше их не рассматривать. как-то так.
P.S. молодой человек, вы слишком много оправдываетесь и ищете отмазки. вашу бы энергию в другое русло. за 5 дней можно стать гуру ДВИ!



оформить заказ невозможно без поиска товара, значит отношение однозначно include.
А найти без оформления можно. Можно и не найти. Тогда оформлять нечего.
Проводим декомпозицию ВИ "найти товар"... я бы выделил тут два ВИ: 1. поиск товара (формирование запроса на выборку из каталога по определенным критериям) и 2. чтение данных (ознакомление с характеристиками товара). с точки зрения Системы такое разделение вполне логично, так как за эти два ВИ отвечают совершенно разные функциональные блоки: за 1й - обработчик запросов и БД, за 2й - пользовательский интерфейс.
2й уже не ВИ, по-моему, а что-то из области реализации. Это не цель Клиента.



Цитировать
А найти без оформления можно. Можно и не найти. Тогда оформлять нечего.
В точку! смотря с какого бока рисовать. Если ассоциация покупателя идет с ВИ "оформить заказ", то ВИ "поиск товара" должен связываться с ним отношением include. Если же ассоциация покупателя с ВИ "поиск товара", то ВИ "оформить заказ" будет связан отношением extend. Мне почему-то кажется (поправьте, если ошибаюсь), что обе эти схемы верны и имеют право на жизнь, отличается только модель использования Системы. В первом случае подразумевается, что покупатель заходит в магаз чтобы оформить покупку, просто так поглазеть он может только в виде исключения (идет прерывание процесса оформления покупки). Во втором же случае покупатель заходит, чтобы посмотреть товар и, может быть, купить его, что более естественно для магазина. Но в вашем случае это абсолютно не критично, условия задачи не те, поэтому можете плясать как хотите. 



В точку! смотря с какого бока рисовать.
Ув. Briezzz. Да вы правы, есть набор правил, определяющий способы составления диаграмм, в частности ВИ. Однако тут нужно смотреть несколько аспектов: синтаксис, семантику и паргматику.

Любая диаграмма (или модель) для чего-то делается. Если чисто для себя, то можно включать любую логику, расширять и использовать любые правила.
Можно даже эти правила прицеплять к модели и передавать читателю.
Либо отталкиваться от общепринятых концепций.

Если рассматривать ситуацию отношения двух возможных ВИ "найти нужный товар" и "оформить заказ на покупку товара" с учетом их инклюдов и экстендов, то следует понимать, что один ВИ является базовым, а другой дополнительным.

При этом базовый - это тот, который инициируется внешней силой (актором), а дополнительный инициируется обстоятельствами возникающей ситуации. При этом инклюд - безусловно, что ознает: базовый никогда не завершится, выполнится , пока не исполнится включаемый ВИ. Экстенд - условный, т.е. только при возникновении каких-то условий расширение может запуститься.

При это прагматика использования такова, что дополнительный ВИ - абстрактный, т.е. его реализация конкретизуется в рамках базового варианта, а сам ВИ никогда не может быть инициирован самостоятельно.

Но в нашей ситуации это же не так. Поиск товара вполне может быть самостоятельным и результат ясен: товар найден или не найден. При этом сценариев исполнения такого ВИ может быть очень много, а его описание тривиально:
Актор критерии поиска (или вводит строку поиска)
Система отображает список товаров, соотвествующих заданным параметрам запроса.
Альтернатива-исключение: Не найдено соответствие критерию поиска
Система выдает сообщение, что не найдено соответствий заданным параметрам поиска

Полученный список может содержать какие-то средства позволяющие или перейти к заказу (например в списке товаров в каждой строке кнопка Заказать), или возможно сделать выбор товар (Добавить в корзину и если в корзину что-то попало, где-то отображается корзина и становтся активной кнопка заказать)
реализаций этого процесса может быть много. Но ясно, что это богатство предеается спецификацией или даиграммой деятельности, а не использованием инклюдов, экстендов и энифинэлс

Я сделал картинки, которые показывают
1 что это не равнозначные схемы и модели использования
2 они не отражают потребности актера



Цитировать
Но в нашей ситуации это же не так. Поиск товара вполне может быть самостоятельным и результат ясен: товар найден или не найден.
Эдуард, или мы об одном и том же, или я вас не понял. Я только сделал предположение, что в данном конкретном случае (учебный пример для лабораторной) имеет право на жизнь оба варианта, лишь бы человек понимал отличия и смог обосновать. На данном примере хотел показать, каким образом надо определять тип связей между ВИ.
Цитировать
Но ясно, что это богатство предеается спецификацией или даиграммой деятельности, а не использованием инклюдов, экстендов и энифинэлс
Мне кажется или вы очень против того, чтобы на ДВИ подробно отображать ВИ и отношения между ними? Уже не раз сталкиваюсь на этом форуме с тем, что люди склоняются к минимизации и количества ВИ и количества связей между ними?



Мне кажется или вы очень против того, чтобы на ДВИ подробно отображать ВИ и отношения между ними? Уже не раз сталкиваюсь на этом форуме с тем, что люди склоняются к минимизации и количества ВИ и количества связей между ними?
Да мы, воспитанные на Коберне :), против изображения на ДВИ лишнего.  Вы кстати ничего не сказали про мои зарисовки, а они весьма различны. Даже если сделать отношение от человечка к обоим ВИ, то это еще больше усложнит картину.

Просто, если сделать спецификации ВИ, то сразу возникает очень много вопросов, которые к понятию требования не относятся, а идут в сторону реализации.

Резюме: я не против инклюдов и т.п., важно понять когда их следует использовать и изображать, мое мнение явно не на уровне первичных ДВИ.



Ваши зарисовки идеально укладываются в моей голове на мои мысли  ;) И вроде как мои рассуждения полностью это подтверждают.
Был у меня как-то проект по разработке специфичной системы электронного документооборота, где я выступал в роли аналитика... Команда была маленькая (3 человека) и программисты от меня хотели те самые спецификации ВИ. Вы знаете, я пока не разработал кучу версий ДВИ (очень подробных, с кучей всяких инклюдов и экстендов), к разработке спецификаций я приступить не смог  :) ДВИ как раз и нужна на начальном этапе, чтобы понять и объяснить другим основной функционал Системы. Разработка спецификаций ВИ - это уже следующий этап, на котором определяются алгоритмы функционирования системы. Пропустить первый этап и приступить ко второму - это не есть хорошо. Опять же, слишком общая ДВИ жизнь не облегчит, а может привести к потере части функционала Системы. Но это все, как говорится, ИМХО!  ;D




 

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