powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Разработка ИС, UML, Rose, Use-cases and требования
41 сообщений из 41, показаны все 2 страниц
Разработка ИС, UML, Rose, Use-cases and требования
    #33817814
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
Здрасте всем!
Уже пол-года пытаемся перейти на "правильное" проектирование с помощью RR 2003. И все возникают вопросы и непонятки в основном по первым процессам: анализ БП и выявление требований, функционала системы.

Вроде бы БП удобнее проанализировать в BPWin. Но хочется все-в-одном, чтобы сгенерить потом документацию из одного места. Остается RR.
А в RR начинаешь рисовать use-cases и понимаешь, что что-то ты не так делаешь... Вроде бы рисуешь вариант использования (ВИ), но так и тянет нарисовать последовательность вариантов по горизонтали (типа по-времени). Но я вроде понял что это неправильно. А как правильно? Рисовать актеров а вокруг них основные ВИ? А потом расширять их черерз extend, include на более подробные? А до какой степени подробности??? Или просто брать основной ВИ и рисовать ему блок-схему (Activity)?
А еще эти диаграммы последовательности (ДП)... Они вроде удобны, но они для работы с объектами. А что брать как объекты, когда надо описать алгоритм действий оператора+системы для реализации какого-либо ВИ??? Сущности, визуалку - ведь можно и так и так.

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

А БД вообще удобнее сделать в ERWin. - И опять 25 - Сущности в ERWin, сущности в RR, а как синхронизировать, да потом чтобы сгенерить на Оракл???

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

Потом вроде взяли сделали табличку в Excel "функции-роли" - тоже вроде не удобно - не охватываешь взглядом.

А еще у нас требования меняют день ото дня - основные вроде не трогают - а дополнительные - это им за милое дело...

Так что оказался я в творческом ступоре... Короче нужен мне курс обучения :)

Собственно сам вопрос вот в чем: Как другие разработчики выполняют эти первые этапы проектирования (Анализ БП, выявление треб и функционала с правами на него, описание алгоритмов, разработка классов и БД)??? Поделитесь пожлст опытом с "зелеными"...
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33818084
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
panЗдрасте всем!
Уже пол-года пытаемся перейти на "правильное" проектирование с помощью RR 2003. И все возникают вопросы и непонятки в основном по первым процессам: анализ БП и выявление требований, функционала системы.

В наших широтах цикл - год. Так что рано Вы нервничаете.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33818261
Katt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот действительно... Только что зашёл шеф и почитав по моей просьбе (а сейчас мы только закончили со структурой бд и приступили к UML-проектированию), выдал: "А по выплаченной з/п проект Золотой получится!?! >:()"
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33818264
Katt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
П.с.:у нс также bpwin и erwin и RR. Вообще сейчас мысли на visio 2003 переходить: там можно всё... кроме генерирования документации и кода. :)
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33818395
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
panА в RR начинаешь рисовать use-cases и понимаешь...

Такое впечатление, что у вас нет понимание ДВИ (Диаграмма Вариантов Использования) для чего они оспользуюися и как правильно их рисовать.
Вы пытаетесь использовать какую либо методлоогию? Ведь ЮМЛ - это только язык моделирования и не больше.

pan
Потом у нас такой подход к созданию ПО, что классы нам генерить не надо - получается их приходиться два раза описывать - один раз там, один раз в ПО - хотя тут можно генерить описания классов как документ в нужном мне формате...

А почему Вы не генерите классы?


panА БД вообще удобнее сделать в ERWin. - И опять 25 - Сущности в ERWin, сущности в RR, а как синхронизировать, да потом чтобы сгенерить на Оракл???
Так Роза поддерживает проектирование БД для Оракла или там вас что-то не устраивает?


panА еще у нас требования меняют день ото дня - основные вроде не трогают - а дополнительные - это им за милое дело...
Для этого есть инструмены управления требованиями.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33818559
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
Мы пытаемся использовать RUP. А про ДВИ - я и спрашиваю - КАК?

Классы мы не генерим, потому что у нас используется Delphi и своя структура приложения. У нас нет общеприянитых классов. У нас есть один универсальный класс, в который можно на ходу добавлять какие угодно поля. Но эти поля мы и описываем в олбщих инклюдах - они и есть наш "класс". Таким образом мы уходим от проблем некорректной сборки версий - хотя может это и неправильно. Поэтому генерить стандартный класс нам никчему.

С БД в ERWinе все прозрачно, а в RR все непонятно - как делать эту БД???

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

Подскажите!!!
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33818575
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
Может подскажите хорошую книгу по методике проектирования? А еще бы увидеть хоть бы одну полноценную модель в RR...
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33818938
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
Вот этот пример - это правильно?
Если да, то до какой степени его прорабатывать? Ведь "Ввод заказа" можно довести до очень маленьких квантов типа "Выбор клиента".
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33818949
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
А смысл БП таков:
Есть прием заказов. При принятии заказов мы должны сразу обязательно создать счет на оплату введенных заказов.

Если клиент новый, то надо его сначала добавить в БД.

При выдаче заказов обязательно формируется счет-фактура и иногда акт выдачи.

Ну и т.п.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819010
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
А вот это правильно???

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

Как я понял связь Extend - это необязательный ВИ, который может случиться а может и нет. Основной ВИ указывает на дополнительный.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819023
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
Или ВИ "Редактирование клиента" надо описать диаграммой псоледовательности или диаграммой действий?
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819157
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
panА вот это правильно???

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

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

1. Бизнес-процессы -- суть динамачиская составляющая бизнес-моделирования, есть еще и статическая.
2. Коль скоро вы начали работать с RR то имеест смысл работать в соответствии с методологией RUP, как мнинмум в части последовательности проработки бизнес-модели, модели анализа, модели проектирования и имеплементации (выбирете что из этого реально вам нужно). Обычно подход такой: Сначала (когда не понятна предметная область до конца) разрабатывают модель бизнес-юзкейсов, где в качестве scope выступает ОРГАНИЗАЦИЯ (или другой бизнес-юнит), и все бизнес-экторы -- веншние по отношению к организации/юниту сущности. Через реализацию бизнес-юзкейсов подходим в выделению business workers и их операций -- которые по сути -- материал для выделения системных юзкейсов.
Следующий шаг -- построение модели системных юзкейсов (теперь scope -- ваша система!). Тут часть экторов перекочуюет из business workers, но теперь они Экторы! Модель анализа, включает в себя еще и создание т.н. domain model, по сути это диаграмма классов бизнес-сущностей -- на базе которой, кстати, можно уже и приступать к разработке ERD для проектирования БД.
3. Важный момент. Юзкейсы имеет смысл ПИСАТЬ, а не рисовать на UML с большим количеством инклюдов и экстендов. Тем самым вы сможете описать динамическю составляющую вашей как бизнес-модели, так и системной. Как вариант -- можно каждый юзкейс специфицировать при помощи тех же UML activity диаграмм или collaboration. Но текстом -- лучше. Диаграмму юзкейсов можно использовать как "содержание".

P.S. представленная модель юзкейсов не корректна. Юзкейсы выделены неверно, и проименованы неверно.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819203
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
byurP.S. представленная модель юзкейсов не корректна. Юзкейсы выделены неверно, и проименованы неверно.

А как правильно то???? И как их именовать???

Научите!!!! Пожалуйста!!!!

Вот например взять кусок:
Организация принимает заказы. Приходит клиент заполняет бланк заказа или присылает бланк по мылу. Заказ оператором вводиться в БД. Клиенту на группу одновременно принятых заказов оператор создает счет. Менеджер выставляет счет клиенту.

Как это правильно описать в Use-casах???
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819212
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
И как от use-cases перейти к функциональным требованиям и в каком виде???
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819220
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
А так правильно?
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819222
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819223
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819395
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pan byurP.S. представленная модель юзкейсов не корректна. Юзкейсы выделены неверно, и проименованы неверно.

А как правильно то???? И как их именовать???

Научите!!!! Пожалуйста!!!!

Вот например взять кусок:
Организация принимает заказы. Приходит клиент заполняет бланк заказа или присылает бланк по мылу. Заказ оператором вводиться в БД. Клиенту на группу одновременно принятых заказов оператор создает счет. Менеджер выставляет счет клиенту.

Как это правильно описать в Use-casах???

Боюсь что только сообщением в форуме все тонкости работы с юзкейсами невозможно описать. Рекомендую почитать соответствующую литературу, например книгу А. Коберна (http://www.books.ru/shop/books/24368). Либо пройти обучение на специализированных курсах.
Если коротко -- юзкейс должен отражать цель Эктора по отношению к системе или организации (в случае бизнес-юзкейсов).

По вашему описанию. У Клиента по отношению к организации есть цель -- получить что-то (нечто что он заказывает, например, некий товар). Отсюда бизнес-юзкейс (или если идти по Коберну, то UC уровня "облако") будет так и именоваться "Преобрести товар". Вот и расписывайте что он для этого делает, и как на его действия отвечает организация -- Клиент заполняет бланк заказа и отправляет его, Организация выставляет счет, Клиент оплачивает его, Организация отправляет товар, ... :-).
Теперь рассмотрим ближе к системе юзкейсы. Из этого бизнес-юзкеса следует, что организация обрабатывает заявки Клиентов. Это делает Оператор. Какая у него цель по отношению к системе .. да просто Создать счет (при помощи системы и на основании заявки). Имеем системный юзкейс "Создать счет". Что делает Оператор? Видимо берет Заявку клиента и вводит информацию о заявке. Но система должна, скажем, сформировать список товаров и предложить выбрать товар Оператору из списка -- это нужно явно указать в теле юзкейса. И т.д. для этого юзкейса.
У менеджере цель -- Выставить счет ... та же логика. Только вот не вполне понятно почему создать счет и выставить счет -- разные вещи. Т.к. тонкостей я не знаю, то могу только предполагать -- возможно выставить счет и не будет по сути отдельным юзкейсом, а просто будет объединен с "Создать счет", при таком варианте -- стоит именовать юзкейс как "Выставить счет".
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819759
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
Хорошо. А как далее расписываются use-cases? С помощью диаграмм деятельности? я имею ввиду сценарии use-casе-а.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819841
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно в текстовом виде (искать по словам Use Case Specification), можно в виде ДД или ДС.

З.Ы. Вечером выложу хороший тьюториал по шагам.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33819960
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
panХорошо. А как далее расписываются use-cases? С помощью диаграмм деятельности? я имею ввиду сценарии use-casе-а.

Кое-что можно увидеть тут http://www.ezforum.org/uml2/uml2-about74.html, еще тут http://www.ezforum.org/uml2/uml2-about51.html ... и далее по этому форуму посмотреть. Там было сходное обсуждение.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33820205
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как и обещал, выкладываю http://uml2.narod.ru/files/smpls/RUPTutorial.zip

Да-да на том форуме uml2.ezforum.org полазейте, там много чего интересного.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33820242
pan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pan
Гость
Всем большое спасибо.
Буду читать ссылки. :)
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33825213
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pan а это правильно?

Это не правильно по чисто формальным признакам.

Прецедент, в частности "Редактирование клиента" не может одновременно быть расширением и включением.

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

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

Для понимания сути прецедентов очень полезно писать сценарии - экземпляры прецедентов.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33825236
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
panА программисты все-равно до конца все по этим картинкам с описаниями не понимают - все равно приходиться объяснять. А потом не будешь же все до мелочей делать - кажды алгоритм расписывать - только сложные? А то будешь проектировать пол-года и программировать пол-года. А когда до этого делали "на коленке" (бумажке, абы как - все алгоритмы смотри в коде... и т.п.) все быстрее получалось. Правда ошибок было много и пототм не разберешь, кто как что сделал. Но сказать что сейчас у нас прям резко все улучшилось по срокам и по ошибкам нельзя.


Детальные алгоритмы имеет смысл писать на алгоритмическом языке, как правило на целевом языке программирования. UML слеует использовать для МОДЕЛИРОВАНИЯ сложного алгоритма, т.е. для описания основных действий и переходов, так чтобы суть работы остовалась понятной, и в то же время не погрязнуть в подробностях. В модели, точнее на одной диаграмме, не обязательно расписывать все ветки алгоритма. Можно рассматривать сечения алгоритма, то есть поведение при фиксированных значениях некоторых параметров. Совокупность диаграмм даст нам описание всего алгоритма.

На счёт ошибок, UML не панацея. Более того компилятор сразу ловит синтаксические ошибки, тогда как диаграммы зачастую приходится проверять вручную. Выход - модульная итерационная разработка. Спроектировал небольшую часть системы, разработал, протестировал, отал заказчику. Одновременно можно работать над несколькими частями системы, на разных статиях итерации.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33828921
paul310
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для небольших проектов в понятной для команды разработчиков предметной области хорошо подходит следующая последовательность созадния артефактов:

1. В ходе "предпроекта" созадем и, по возможности, утверждаем с заказчиком список Use Case'ов, описывая таким образом scope проекта.

2. Начинаем писать UC Model (BUC Model не пишем аж вовсе), Supplementary Specification и глоссарий.
- При этом держим в голове существующие ограничения и функционал платформы (редко ж совсем с нуля софт создается).
- При этом ряд очевидных с самого начала архитектурных решений закладывается прямо в UC Model (например, если мы понимаем, что документ ездит по маршрутам, то описываем перемещения документа в терминах маршрутов и узлов на них, а не в терминах, скажем, статусов).
- Устанавливаем приоритеты по списку Case'ов - понимаем в какой последовательности их нужно описывать.
- Формат Use Case'ов можно и нужно подгонять под особенности проекта

3. Когда понимаем, что текстовой документ стало читать сложно - рисуем UML-картинки. Таким образом, чтобы они ОБЛЕГЧАЛИ понимание текстовой UC Model. Будет хорошо, конечно, если они будут полностью соответствовать UML нотации, но это не критично.


Как мне кажется, автор ветки уж очень сильно увлекся процессом моделирования ради моделирования. Рисование картиночек и внедрение всякого софта для их рисования не может заменить работы грамотного бизнес-аналитика, умеющего грамотно общаться с клиентом и создавать проектные артефакты, понятные как клиенту, так и девелоперам.

Извините, что так сумбурно...
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33830733
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab
Прецедент, в частности "Редактирование клиента" не может одновременно быть расширением и включением.


А можно ссылку на источник, а то вроде об этом читал тоже, но не могу вспомнить где.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33831642
asafree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
соглашусь со следующими высказываниями
авторБоюсь что только сообщением в форуме все тонкости работы с юзкейсами невозможно описать. Рекомендую почитать соответствующую литературу, например книгу А. Коберна
это относится и к сложностям и к ссылке на Коберна.

и с этим
авторДетальные алгоритмы имеет смысл писать на алгоритмическом языке, как правило на целевом языке программирования. UML слеует использовать для МОДЕЛИРОВАНИЯ сложного алгоритма, т.е. для описания основных действий и переходов, так чтобы суть работы остовалась понятной, и в то же время не погрязнуть в подробностях

модель помогает понять суть, а не нюансы.

Если вы всё-таки пытаетесь построить модельно-управляемую фабрику по производству ПО, попробуйте почитать книгу Лармана. Только читайте вместе с программистами. Найдёте много полезного и по моделированию в UML и по переходу от модели к коду.

Изучение первоисточников и их интерпретация на практике имееют один минус - требуется время для наработки опыта. Хотите ускорить процесс? Напишите в личку, обсудим.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33832401
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paul310Для небольших проектов в понятной для команды разработчиков предметной области хорошо подходит следующая последовательность созадния артефактов:

1. В ходе "предпроекта" созадем и, по возможности, утверждаем с заказчиком список Use Case'ов, описывая таким образом scope проекта.


Конечно вопрос в том, что считать небольшим проектом. А вообще для обозначения scope гораздо проще создать контекстную диаграмму, чем прорабатывать спецификации юзкейсов. Документ Vision как раз включает в себя описание scope, и кроме всего прочего основные фичи.


2. Начинаем писать UC Model (BUC Model не пишем аж вовсе), Supplementary Specification и глоссарий.
- При этом держим в голове существующие ограничения и функционал платформы (редко ж совсем с нуля софт создается).


Не понятно зачем их деражать в голове, когда специально для этого есть слоты в Vision и собственно в самой Supplementary Specification?


- При этом ряд очевидных с самого начала архитектурных решений закладывается прямо в UC Model (например, если мы понимаем, что документ ездит по маршрутам, то описываем перемещения документа в терминах маршрутов и узлов на них, а не в терминах, скажем, статусов).


Очень наглядно маршруты и изменения статусов показываются на UML 1.5 Activity диаграмме с object flow. И где тут "архитектурное решение" я не уловил ...
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33832867
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas mcureenab
Прецедент, в частности "Редактирование клиента" не может одновременно быть расширением и включением.


А можно ссылку на источник, а то вроде об этом читал тоже, но не могу вспомнить где.

Точно не помню название. Вроде "Введение в Rational Unified Process".
Конкретно такого ограничения я не видел, но могу сделать вывод о его наличии.

Рассмотрим, например, прецедент "Приготовление чая".

1. Подогреть воду.
2. Насыпать чай в чайник.
3. Залить кипятком.

Акторов и систему я не указал.

Теперь расширим прецедент "Понтами" и получим сценарий "Приготовление чая с понтами".

1.а Заказать музыку
1. Подогреть воду.
2.а Прогреть чайник.
2. Насыпать чай в чайник.
3. Залить кипятком.
3.а Быстро слить воду
4.а Залить кипятком

Расширение "Понты" заключается в добавлении к обычному сценарию дополнительных действий:

1.а Заказать музыку
2.а Прогреть чайник.
3.а Быстро слить воду.
4.а Залить кипятком.

И акторов - DJ.

Очевидно, что повторно использовать совокупность этих действий отдельно от основного сценария невозможно. Прецедент "Приготовление чая" может существовать без "Понтов", но "Понты" без чая нет. Если мы выделим "Заливание кипятком" в отдельный включаемый прецедент, то сможем многократно использовать его как для приготовления чая, так и растворимого кофе или лапши. Включить Понты в приготовление растворимого кофе или лапши нельзя.
Если приготовление чая рассматривать как некую процедуру, то это будет процедура с параметром "с понтами" и с ветками, для вызова действий из расширяющего прецедента "Понты" при условии, что "с понтами" = TRUE.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33833130
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab
Если мы выделим "Заливание кипятком" в отдельный включаемый прецедент, то сможем многократно использовать его как для приготовления чая, так и растворимого кофе или лапши.

А теперь еще добавим ВИ "Заливание молоком" и ВИ "Приготовление Каши". Представим, что каша готовится только на молоке, а кофе может быть как черным так и с молоком. и Получаем, что ВИ "Заливание молоком" есть включение в ВИ "Приготовление каши" и расширением в ВИ "Приготовление кофе". Что то упустил?
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33855451
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas mcureenab
Если мы выделим "Заливание кипятком" в отдельный включаемый прецедент, то сможем многократно использовать его как для приготовления чая, так и растворимого кофе или лапши.

А теперь еще добавим ВИ "Заливание молоком" и ВИ "Приготовление Каши". Представим, что каша готовится только на молоке, а кофе может быть как черным так и с молоком. и Получаем, что ВИ "Заливание молоком" есть включение в ВИ "Приготовление каши" и расширением в ВИ "Приготовление кофе". Что то упустил?

Вот пример странных включений.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33855512
asafree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mcureenab Вот пример странных включений.

К сообщению приложен файл. Размер - 22Kb

Да, такие UC, действительно, могут оказаться странными. Попробуйте интерпретировать расширение и включение UC следующим образом. Думаю, это упростит понимание:
* включение - это подставновка инкапсулированного UC (сценария, процесса) вместо шага в другой UC.
* расширение - это специализация UC. Заметьте не отдельного шага, а всего UC. Специализация сценария, примерно в таком же понимании, как специализация класса, только применительно к UC (сценарию, процессу).
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33855515
asafree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mcureenabВот пример странных включений.

К сообщению приложен файл. Размер - 22Kb

И ещё, к тому же рисунку.
В примере, вопрос 1 мне не кажется странным. Очевидно, что E включает B, который уточняет поведение A.
Что касается вопроса 2, то в нём некорректно определён C. Он специализирует сразу 2 UC: А и D. В жизни трудно придумать такой пример поведения. Но, даже если задаться такой целью и придумать, я бы не стал использовать UC в таком виде. Я упростил бы UC.
Это приведёт к тому, что включающий UC будет однозначно понимать, какой другой UC он включает.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33856027
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asafreeЧто касается вопроса 2, то в нём некорректно определён C. Он специализирует сразу 2 UC: А и D. В жизни трудно придумать такой пример поведения.

Формально ошибки нет. То что такая конструкция редко встречается не даёт повода говорить, что C неправильный.

asafreeНо, даже если задаться такой целью и придумать, я бы не стал использовать UC в таком виде. Я упростил бы UC.
Это приведёт к тому, что включающий UC будет однозначно понимать, какой другой UC он включает.

Согласен. Упростить можно. Однако, со временем кто то другой может воспользоваться прецедентом C, чтобы расширить им какой то свой D. В результате мы получим то, что изображено на диаграмме.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33856850
asafree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mcureenabСогласен. Упростить можно. Однако, со временем кто то другой может воспользоваться прецедентом C, чтобы расширить им какой то свой D. В результате мы получим то, что изображено на диаграмме.
Видимо, я неточно выразил то, что хотел. На мой взгляд такая ситуация бессмыслена. В неформальном варианте. Получается, что я имею некоторый кейс, который специализирует сразу два других по сути (типу) кейса? Кейсы на диаграмме это аналоги классов, это типы кейсов (процессов, ВИ, прецендентов, сценариев, как угодно). Попробуйте придумать инстанции кейса C, который уточняет сразу два других кейса A и D. Мне кажется, это трудно придумать. Я интерпретирую "расширение" примерно так: C является таким же кейсом, что и A, но у него есть вот такое особенное поведение, т.е. C достигает тех же целей, что и A. Трудно сделать так, чтобы C достигал также и цели D. В чём я ошибаюсь?
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33857177
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabВот пример странных включений.

И что?? Это ответ на мой вопрос??

asafreeЯ интерпретирую "расширение" примерно так: C является таким же кейсом, что и A, но у него есть вот такое особенное поведение, т.е. C достигает тех же целей, что и A. Трудно сделать так, чтобы C достигал также и цели D. В чём я ошибаюсь?

А Вы не путаете это с Generalize Relationship.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33857255
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asafree mcureenabСогласен. Упростить можно. Однако, со временем кто то другой может воспользоваться прецедентом C, чтобы расширить им какой то свой D. В результате мы получим то, что изображено на диаграмме.
Видимо, я неточно выразил то, что хотел. На мой взгляд такая ситуация бессмыслена. В неформальном варианте. Получается, что я имею некоторый кейс, который специализирует сразу два других по сути (типу) кейса? Кейсы на диаграмме это аналоги классов, это типы кейсов (процессов, ВИ, прецендентов, сценариев, как угодно). Попробуйте придумать инстанции кейса C, который уточняет сразу два других кейса A и D. Мне кажется, это трудно придумать. Я интерпретирую "расширение" примерно так: C является таким же кейсом, что и A, но у него есть вот такое особенное поведение, т.е. C достигает тех же целей, что и A. Трудно сделать так, чтобы C достигал также и цели D. В чём я ошибаюсь?

Расширение это не уточнение, а инкрементное дополнение. Без расшиения базовый прецедент будет не менее точным. Наприер поход в кино или на Эверест разные прецеденты, однако, если оба мероприятия происходят по предварительному согласованию с принимающей стороной, оба прецедена можно расширить переговорами.
Переговоры заключаются в том, что мы бронируем место и время, получаем код заказа, а когда прибываем на место сообщаем этот код и выкупаем бронь.

Что касается обобщения и специализации, то это третий вариант зависимости ВИ. Например все переговоры проходят примерно одинаково и имеют единую цель, но переговоры можно проводить по телефону, e-mail, факсами, телеграфом и т.д.. В этом отношении абстрактный ВИ "Переговоры" можно уточнить или специализировать в зависимости от вида связи.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33857313
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas mcureenabВот пример странных включений.
И что?? Это ответ на мой вопрос??


Скажем так, это иллюстрация ситуаций, где включение расширения приводит к неоднозначному пониманию модели.

Ещё можно припомнить, что зависимости не танзитивны (а включение и расширение это именно виды зависимостей), т.е. включение B не означает включение A и тем более C. Это станет понятным, если случай 1 преобразовать в случай 2, т.е. с помощью B расширить какой то другой прецедент G. Тогда все наши соглашения относительно случая 1 потеряют смысл.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33857407
mcureenabВот пример странных включений.

Если я не ошибаюсь, то
"includingUC" <--- "includedUC"
"extedingUC" ---> "extendedUC"

И для того, чтобы Е включало А(В) надо направить связь расширения от А к В (а не наоборот) и соответсвенно другие связи расширения так же.
...
Рейтинг: 0 / 0
Разработка ИС, UML, Rose, Use-cases and требования
    #33857474
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_внимательный mcureenabВот пример странных включений.

Если я не ошибаюсь, то
"includingUC" <--- "includedUC"
"extedingUC" ---> "extendedUC"

И для того, чтобы Е включало А(В) надо направить связь расширения от А к В (а не наоборот) и соответсвенно другие связи расширения так же.

Надо, но это полностью изменит суть диаграммы. На диаграмме показано, что при данном расширении (считаем, что оно корректно), включение читается неоднозначно.

Включение это зависимость включающего ВИ от включаемого. Т.е. E зависит от B, а не наоборот, как программа зависит от подпограммы, но не наоборот.

Расширение это зависимость расширения от базового ВИ. Базовый ВИ не зависит от расширения, зато расшиение долно быть полностью согласовано с базой, чтобы добавить к ней новое поведение.
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Разработка ИС, UML, Rose, Use-cases and требования
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]