|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Здрасте всем! Уже пол-года пытаемся перейти на "правильное" проектирование с помощью RR 2003. И все возникают вопросы и непонятки в основном по первым процессам: анализ БП и выявление требований, функционала системы. Вроде бы БП удобнее проанализировать в BPWin. Но хочется все-в-одном, чтобы сгенерить потом документацию из одного места. Остается RR. А в RR начинаешь рисовать use-cases и понимаешь, что что-то ты не так делаешь... Вроде бы рисуешь вариант использования (ВИ), но так и тянет нарисовать последовательность вариантов по горизонтали (типа по-времени). Но я вроде понял что это неправильно. А как правильно? Рисовать актеров а вокруг них основные ВИ? А потом расширять их черерз extend, include на более подробные? А до какой степени подробности??? Или просто брать основной ВИ и рисовать ему блок-схему (Activity)? А еще эти диаграммы последовательности (ДП)... Они вроде удобны, но они для работы с объектами. А что брать как объекты, когда надо описать алгоритм действий оператора+системы для реализации какого-либо ВИ??? Сущности, визуалку - ведь можно и так и так. Потом у нас такой подход к созданию ПО, что классы нам генерить не надо - получается их приходиться два раза описывать - один раз там, один раз в ПО - хотя тут можно генерить описания классов как документ в нужном мне формате... А БД вообще удобнее сделать в ERWin. - И опять 25 - Сущности в ERWin, сущности в RR, а как синхронизировать, да потом чтобы сгенерить на Оракл??? А программисты все-равно до конца все по этим картинкам с описаниями не понимают - все равно приходиться объяснять. А потом не будешь же все до мелочей делать - кажды алгоритм расписывать - только сложные? А то будешь проектировать пол-года и программировать пол-года. А когда до этого делали "на коленке" (бумажке, абы как - все алгоритмы смотри в коде... и т.п.) все быстрее получалось. Правда ошибок было много и пототм не разберешь, кто как что сделал. Но сказать что сейчас у нас прям резко все улучшилось по срокам и по ошибкам нельзя. Потом вроде взяли сделали табличку в Excel "функции-роли" - тоже вроде не удобно - не охватываешь взглядом. А еще у нас требования меняют день ото дня - основные вроде не трогают - а дополнительные - это им за милое дело... Так что оказался я в творческом ступоре... Короче нужен мне курс обучения :) Собственно сам вопрос вот в чем: Как другие разработчики выполняют эти первые этапы проектирования (Анализ БП, выявление треб и функционала с правами на него, описание алгоритмов, разработка классов и БД)??? Поделитесь пожлст опытом с "зелеными"... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 19:33 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
panЗдрасте всем! Уже пол-года пытаемся перейти на "правильное" проектирование с помощью RR 2003. И все возникают вопросы и непонятки в основном по первым процессам: анализ БП и выявление требований, функционала системы. В наших широтах цикл - год. Так что рано Вы нервничаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 02:14 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
А вот действительно... Только что зашёл шеф и почитав по моей просьбе (а сейчас мы только закончили со структурой бд и приступили к UML-проектированию), выдал: "А по выплаченной з/п проект Золотой получится!?! >:()" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 08:38 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
П.с.:у нс также bpwin и erwin и RR. Вообще сейчас мысли на visio 2003 переходить: там можно всё... кроме генерирования документации и кода. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 08:41 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
panА в RR начинаешь рисовать use-cases и понимаешь... Такое впечатление, что у вас нет понимание ДВИ (Диаграмма Вариантов Использования) для чего они оспользуюися и как правильно их рисовать. Вы пытаетесь использовать какую либо методлоогию? Ведь ЮМЛ - это только язык моделирования и не больше. pan Потом у нас такой подход к созданию ПО, что классы нам генерить не надо - получается их приходиться два раза описывать - один раз там, один раз в ПО - хотя тут можно генерить описания классов как документ в нужном мне формате... А почему Вы не генерите классы? panА БД вообще удобнее сделать в ERWin. - И опять 25 - Сущности в ERWin, сущности в RR, а как синхронизировать, да потом чтобы сгенерить на Оракл??? Так Роза поддерживает проектирование БД для Оракла или там вас что-то не устраивает? panА еще у нас требования меняют день ото дня - основные вроде не трогают - а дополнительные - это им за милое дело... Для этого есть инструмены управления требованиями. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 09:49 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Мы пытаемся использовать RUP. А про ДВИ - я и спрашиваю - КАК? Классы мы не генерим, потому что у нас используется Delphi и своя структура приложения. У нас нет общеприянитых классов. У нас есть один универсальный класс, в который можно на ходу добавлять какие угодно поля. Но эти поля мы и описываем в олбщих инклюдах - они и есть наш "класс". Таким образом мы уходим от проблем некорректной сборки версий - хотя может это и неправильно. Поэтому генерить стандартный класс нам никчему. С БД в ERWinе все прозрачно, а в RR все непонятно - как делать эту БД??? А что есть требования и с какой точки зрения они рассматриваются? Ведь требования можно написать совсем по-разному - требования к выполнению бизнес-процесса, требования к интерфейсу, требования к функционалу, требования к архитектуре... и т.д. А функции системы - это есть требования или нет? Подскажите!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 10:49 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Может подскажите хорошую книгу по методике проектирования? А еще бы увидеть хоть бы одну полноценную модель в RR... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 10:52 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Вот этот пример - это правильно? Если да, то до какой степени его прорабатывать? Ведь "Ввод заказа" можно довести до очень маленьких квантов типа "Выбор клиента". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 12:21 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
А смысл БП таков: Есть прием заказов. При принятии заказов мы должны сразу обязательно создать счет на оплату введенных заказов. Если клиент новый, то надо его сначала добавить в БД. При выдаче заказов обязательно формируется счет-фактура и иногда акт выдачи. Ну и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 12:25 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
А вот это правильно??? В чем разница между include и extend? Как я понял связь Include - это обязательный ВИ, без которого тот ВИ кто на него указывает, не может состояться. Как я понял связь Extend - это необязательный ВИ, который может случиться а может и нет. Основной ВИ указывает на дополнительный. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 12:44 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Или ВИ "Редактирование клиента" надо описать диаграммой псоледовательности или диаграммой действий? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 12:47 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
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. представленная модель юзкейсов не корректна. Юзкейсы выделены неверно, и проименованы неверно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 13:42 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
byurP.S. представленная модель юзкейсов не корректна. Юзкейсы выделены неверно, и проименованы неверно. А как правильно то???? И как их именовать??? Научите!!!! Пожалуйста!!!! Вот например взять кусок: Организация принимает заказы. Приходит клиент заполняет бланк заказа или присылает бланк по мылу. Заказ оператором вводиться в БД. Клиенту на группу одновременно принятых заказов оператор создает счет. Менеджер выставляет счет клиенту. Как это правильно описать в Use-casах??? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 13:58 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
И как от use-cases перейти к функциональным требованиям и в каком виде??? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 14:00 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
А так правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 14:03 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 14:03 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 14:03 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
pan byurP.S. представленная модель юзкейсов не корректна. Юзкейсы выделены неверно, и проименованы неверно. А как правильно то???? И как их именовать??? Научите!!!! Пожалуйста!!!! Вот например взять кусок: Организация принимает заказы. Приходит клиент заполняет бланк заказа или присылает бланк по мылу. Заказ оператором вводиться в БД. Клиенту на группу одновременно принятых заказов оператор создает счет. Менеджер выставляет счет клиенту. Как это правильно описать в Use-casах??? Боюсь что только сообщением в форуме все тонкости работы с юзкейсами невозможно описать. Рекомендую почитать соответствующую литературу, например книгу А. Коберна (http://www.books.ru/shop/books/24368). Либо пройти обучение на специализированных курсах. Если коротко -- юзкейс должен отражать цель Эктора по отношению к системе или организации (в случае бизнес-юзкейсов). По вашему описанию. У Клиента по отношению к организации есть цель -- получить что-то (нечто что он заказывает, например, некий товар). Отсюда бизнес-юзкейс (или если идти по Коберну, то UC уровня "облако") будет так и именоваться "Преобрести товар". Вот и расписывайте что он для этого делает, и как на его действия отвечает организация -- Клиент заполняет бланк заказа и отправляет его, Организация выставляет счет, Клиент оплачивает его, Организация отправляет товар, ... :-). Теперь рассмотрим ближе к системе юзкейсы. Из этого бизнес-юзкеса следует, что организация обрабатывает заявки Клиентов. Это делает Оператор. Какая у него цель по отношению к системе .. да просто Создать счет (при помощи системы и на основании заявки). Имеем системный юзкейс "Создать счет". Что делает Оператор? Видимо берет Заявку клиента и вводит информацию о заявке. Но система должна, скажем, сформировать список товаров и предложить выбрать товар Оператору из списка -- это нужно явно указать в теле юзкейса. И т.д. для этого юзкейса. У менеджере цель -- Выставить счет ... та же логика. Только вот не вполне понятно почему создать счет и выставить счет -- разные вещи. Т.к. тонкостей я не знаю, то могу только предполагать -- возможно выставить счет и не будет по сути отдельным юзкейсом, а просто будет объединен с "Создать счет", при таком варианте -- стоит именовать юзкейс как "Выставить счет". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 14:54 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Хорошо. А как далее расписываются use-cases? С помощью диаграмм деятельности? я имею ввиду сценарии use-casе-а. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 16:25 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Можно в текстовом виде (искать по словам Use Case Specification), можно в виде ДД или ДС. З.Ы. Вечером выложу хороший тьюториал по шагам. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 16:47 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
panХорошо. А как далее расписываются use-cases? С помощью диаграмм деятельности? я имею ввиду сценарии use-casе-а. Кое-что можно увидеть тут http://www.ezforum.org/uml2/uml2-about74.html, еще тут http://www.ezforum.org/uml2/uml2-about51.html ... и далее по этому форуму посмотреть. Там было сходное обсуждение. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 17:27 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Как и обещал, выкладываю http://uml2.narod.ru/files/smpls/RUPTutorial.zip Да-да на том форуме uml2.ezforum.org полазейте, там много чего интересного. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 18:54 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Всем большое спасибо. Буду читать ссылки. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 19:10 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
pan а это правильно? Это не правильно по чисто формальным признакам. Прецедент, в частности "Редактирование клиента" не может одновременно быть расширением и включением. Включать можно только самостоятельный прецедент. Отношение включения очень напоминает вызов процедуры. Включения используются для того, чтобы одно и тоже поведение использовать в нескольких прецедентах, иначе в нём нет смысла. Как любой прецедент, включение должно иметь смысл для пользователя системы или подсистемы - актора. Если на очередном уровне декомпозиции мы не можем указать порядок взаимодействия актора с системой, декомпозицию прецедентов нужно прекратить. Расширение (расширяющий прецедент) строго говоря прецедентом не является. Расширяющий прецедент не может существовать без родителя. Расширение используется для того, чтобы изобразить второстепенные варианты основного прецедента. С тем же успехом можно создать несколько независимых прецедентов, но тогда будет не ясно, какой из них является основным, а какие случаются относительно редко или только в исключительных ситуациях. Для понимания сути прецедентов очень полезно писать сценарии - экземпляры прецедентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2006, 18:54 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
panА программисты все-равно до конца все по этим картинкам с описаниями не понимают - все равно приходиться объяснять. А потом не будешь же все до мелочей делать - кажды алгоритм расписывать - только сложные? А то будешь проектировать пол-года и программировать пол-года. А когда до этого делали "на коленке" (бумажке, абы как - все алгоритмы смотри в коде... и т.п.) все быстрее получалось. Правда ошибок было много и пототм не разберешь, кто как что сделал. Но сказать что сейчас у нас прям резко все улучшилось по срокам и по ошибкам нельзя. Детальные алгоритмы имеет смысл писать на алгоритмическом языке, как правило на целевом языке программирования. UML слеует использовать для МОДЕЛИРОВАНИЯ сложного алгоритма, т.е. для описания основных действий и переходов, так чтобы суть работы остовалась понятной, и в то же время не погрязнуть в подробностях. В модели, точнее на одной диаграмме, не обязательно расписывать все ветки алгоритма. Можно рассматривать сечения алгоритма, то есть поведение при фиксированных значениях некоторых параметров. Совокупность диаграмм даст нам описание всего алгоритма. На счёт ошибок, UML не панацея. Более того компилятор сразу ловит синтаксические ошибки, тогда как диаграммы зачастую приходится проверять вручную. Выход - модульная итерационная разработка. Спроектировал небольшую часть системы, разработал, протестировал, отал заказчику. Одновременно можно работать над несколькими частями системы, на разных статиях итерации. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2006, 19:09 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
Для небольших проектов в понятной для команды разработчиков предметной области хорошо подходит следующая последовательность созадния артефактов: 1. В ходе "предпроекта" созадем и, по возможности, утверждаем с заказчиком список Use Case'ов, описывая таким образом scope проекта. 2. Начинаем писать UC Model (BUC Model не пишем аж вовсе), Supplementary Specification и глоссарий. - При этом держим в голове существующие ограничения и функционал платформы (редко ж совсем с нуля софт создается). - При этом ряд очевидных с самого начала архитектурных решений закладывается прямо в UC Model (например, если мы понимаем, что документ ездит по маршрутам, то описываем перемещения документа в терминах маршрутов и узлов на них, а не в терминах, скажем, статусов). - Устанавливаем приоритеты по списку Case'ов - понимаем в какой последовательности их нужно описывать. - Формат Use Case'ов можно и нужно подгонять под особенности проекта 3. Когда понимаем, что текстовой документ стало читать сложно - рисуем UML-картинки. Таким образом, чтобы они ОБЛЕГЧАЛИ понимание текстовой UC Model. Будет хорошо, конечно, если они будут полностью соответствовать UML нотации, но это не критично. Как мне кажется, автор ветки уж очень сильно увлекся процессом моделирования ради моделирования. Рисование картиночек и внедрение всякого софта для их рисования не может заменить работы грамотного бизнес-аналитика, умеющего грамотно общаться с клиентом и создавать проектные артефакты, понятные как клиенту, так и девелоперам. Извините, что так сумбурно... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2006, 01:51 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
mcureenab Прецедент, в частности "Редактирование клиента" не может одновременно быть расширением и включением. А можно ссылку на источник, а то вроде об этом читал тоже, но не могу вспомнить где. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2006, 16:32 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
соглашусь со следующими высказываниями авторБоюсь что только сообщением в форуме все тонкости работы с юзкейсами невозможно описать. Рекомендую почитать соответствующую литературу, например книгу А. Коберна это относится и к сложностям и к ссылке на Коберна. и с этим авторДетальные алгоритмы имеет смысл писать на алгоритмическом языке, как правило на целевом языке программирования. UML слеует использовать для МОДЕЛИРОВАНИЯ сложного алгоритма, т.е. для описания основных действий и переходов, так чтобы суть работы остовалась понятной, и в то же время не погрязнуть в подробностях модель помогает понять суть, а не нюансы. Если вы всё-таки пытаетесь построить модельно-управляемую фабрику по производству ПО, попробуйте почитать книгу Лармана. Только читайте вместе с программистами. Найдёте много полезного и по моделированию в UML и по переходу от модели к коду. Изучение первоисточников и их интерпретация на практике имееют один минус - требуется время для наработки опыта. Хотите ускорить процесс? Напишите в личку, обсудим. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2006, 09:01 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
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. И где тут "архитектурное решение" я не уловил ... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2006, 12:21 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
bas mcureenab Прецедент, в частности "Редактирование клиента" не может одновременно быть расширением и включением. А можно ссылку на источник, а то вроде об этом читал тоже, но не могу вспомнить где. Точно не помню название. Вроде "Введение в Rational Unified Process". Конкретно такого ограничения я не видел, но могу сделать вывод о его наличии. Рассмотрим, например, прецедент "Приготовление чая". 1. Подогреть воду. 2. Насыпать чай в чайник. 3. Залить кипятком. Акторов и систему я не указал. Теперь расширим прецедент "Понтами" и получим сценарий "Приготовление чая с понтами". 1.а Заказать музыку 1. Подогреть воду. 2.а Прогреть чайник. 2. Насыпать чай в чайник. 3. Залить кипятком. 3.а Быстро слить воду 4.а Залить кипятком Расширение "Понты" заключается в добавлении к обычному сценарию дополнительных действий: 1.а Заказать музыку 2.а Прогреть чайник. 3.а Быстро слить воду. 4.а Залить кипятком. И акторов - DJ. Очевидно, что повторно использовать совокупность этих действий отдельно от основного сценария невозможно. Прецедент "Приготовление чая" может существовать без "Понтов", но "Понты" без чая нет. Если мы выделим "Заливание кипятком" в отдельный включаемый прецедент, то сможем многократно использовать его как для приготовления чая, так и растворимого кофе или лапши. Включить Понты в приготовление растворимого кофе или лапши нельзя. Если приготовление чая рассматривать как некую процедуру, то это будет процедура с параметром "с понтами" и с ветками, для вызова действий из расширяющего прецедента "Понты" при условии, что "с понтами" = TRUE. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2006, 14:26 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
mcureenab Если мы выделим "Заливание кипятком" в отдельный включаемый прецедент, то сможем многократно использовать его как для приготовления чая, так и растворимого кофе или лапши. А теперь еще добавим ВИ "Заливание молоком" и ВИ "Приготовление Каши". Представим, что каша готовится только на молоке, а кофе может быть как черным так и с молоком. и Получаем, что ВИ "Заливание молоком" есть включение в ВИ "Приготовление каши" и расширением в ВИ "Приготовление кофе". Что то упустил? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2006, 15:21 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
bas mcureenab Если мы выделим "Заливание кипятком" в отдельный включаемый прецедент, то сможем многократно использовать его как для приготовления чая, так и растворимого кофе или лапши. А теперь еще добавим ВИ "Заливание молоком" и ВИ "Приготовление Каши". Представим, что каша готовится только на молоке, а кофе может быть как черным так и с молоком. и Получаем, что ВИ "Заливание молоком" есть включение в ВИ "Приготовление каши" и расширением в ВИ "Приготовление кофе". Что то упустил? Вот пример странных включений. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2006, 03:09 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
mcureenab Вот пример странных включений. К сообщению приложен файл. Размер - 22Kb Да, такие UC, действительно, могут оказаться странными. Попробуйте интерпретировать расширение и включение UC следующим образом. Думаю, это упростит понимание: * включение - это подставновка инкапсулированного UC (сценария, процесса) вместо шага в другой UC. * расширение - это специализация UC. Заметьте не отдельного шага, а всего UC. Специализация сценария, примерно в таком же понимании, как специализация класса, только применительно к UC (сценарию, процессу). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2006, 10:25 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
mcureenabВот пример странных включений. К сообщению приложен файл. Размер - 22Kb И ещё, к тому же рисунку. В примере, вопрос 1 мне не кажется странным. Очевидно, что E включает B, который уточняет поведение A. Что касается вопроса 2, то в нём некорректно определён C. Он специализирует сразу 2 UC: А и D. В жизни трудно придумать такой пример поведения. Но, даже если задаться такой целью и придумать, я бы не стал использовать UC в таком виде. Я упростил бы UC. Это приведёт к тому, что включающий UC будет однозначно понимать, какой другой UC он включает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2006, 10:33 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
asafreeЧто касается вопроса 2, то в нём некорректно определён C. Он специализирует сразу 2 UC: А и D. В жизни трудно придумать такой пример поведения. Формально ошибки нет. То что такая конструкция редко встречается не даёт повода говорить, что C неправильный. asafreeНо, даже если задаться такой целью и придумать, я бы не стал использовать UC в таком виде. Я упростил бы UC. Это приведёт к тому, что включающий UC будет однозначно понимать, какой другой UC он включает. Согласен. Упростить можно. Однако, со временем кто то другой может воспользоваться прецедентом C, чтобы расширить им какой то свой D. В результате мы получим то, что изображено на диаграмме. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2006, 01:46 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
mcureenabСогласен. Упростить можно. Однако, со временем кто то другой может воспользоваться прецедентом C, чтобы расширить им какой то свой D. В результате мы получим то, что изображено на диаграмме. Видимо, я неточно выразил то, что хотел. На мой взгляд такая ситуация бессмыслена. В неформальном варианте. Получается, что я имею некоторый кейс, который специализирует сразу два других по сути (типу) кейса? Кейсы на диаграмме это аналоги классов, это типы кейсов (процессов, ВИ, прецендентов, сценариев, как угодно). Попробуйте придумать инстанции кейса C, который уточняет сразу два других кейса A и D. Мне кажется, это трудно придумать. Я интерпретирую "расширение" примерно так: C является таким же кейсом, что и A, но у него есть вот такое особенное поведение, т.е. C достигает тех же целей, что и A. Трудно сделать так, чтобы C достигал также и цели D. В чём я ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2006, 08:10 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
mcureenabВот пример странных включений. И что?? Это ответ на мой вопрос?? asafreeЯ интерпретирую "расширение" примерно так: C является таким же кейсом, что и A, но у него есть вот такое особенное поведение, т.е. C достигает тех же целей, что и A. Трудно сделать так, чтобы C достигал также и цели D. В чём я ошибаюсь? А Вы не путаете это с Generalize Relationship. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2006, 10:53 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
asafree mcureenabСогласен. Упростить можно. Однако, со временем кто то другой может воспользоваться прецедентом C, чтобы расширить им какой то свой D. В результате мы получим то, что изображено на диаграмме. Видимо, я неточно выразил то, что хотел. На мой взгляд такая ситуация бессмыслена. В неформальном варианте. Получается, что я имею некоторый кейс, который специализирует сразу два других по сути (типу) кейса? Кейсы на диаграмме это аналоги классов, это типы кейсов (процессов, ВИ, прецендентов, сценариев, как угодно). Попробуйте придумать инстанции кейса C, который уточняет сразу два других кейса A и D. Мне кажется, это трудно придумать. Я интерпретирую "расширение" примерно так: C является таким же кейсом, что и A, но у него есть вот такое особенное поведение, т.е. C достигает тех же целей, что и A. Трудно сделать так, чтобы C достигал также и цели D. В чём я ошибаюсь? Расширение это не уточнение, а инкрементное дополнение. Без расшиения базовый прецедент будет не менее точным. Наприер поход в кино или на Эверест разные прецеденты, однако, если оба мероприятия происходят по предварительному согласованию с принимающей стороной, оба прецедена можно расширить переговорами. Переговоры заключаются в том, что мы бронируем место и время, получаем код заказа, а когда прибываем на место сообщаем этот код и выкупаем бронь. Что касается обобщения и специализации, то это третий вариант зависимости ВИ. Например все переговоры проходят примерно одинаково и имеют единую цель, но переговоры можно проводить по телефону, e-mail, факсами, телеграфом и т.д.. В этом отношении абстрактный ВИ "Переговоры" можно уточнить или специализировать в зависимости от вида связи. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2006, 11:18 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
bas mcureenabВот пример странных включений. И что?? Это ответ на мой вопрос?? Скажем так, это иллюстрация ситуаций, где включение расширения приводит к неоднозначному пониманию модели. Ещё можно припомнить, что зависимости не танзитивны (а включение и расширение это именно виды зависимостей), т.е. включение B не означает включение A и тем более C. Это станет понятным, если случай 1 преобразовать в случай 2, т.е. с помощью B расширить какой то другой прецедент G. Тогда все наши соглашения относительно случая 1 потеряют смысл. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2006, 11:34 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
mcureenabВот пример странных включений. Если я не ошибаюсь, то "includingUC" <--- "includedUC" "extedingUC" ---> "extendedUC" И для того, чтобы Е включало А(В) надо направить связь расширения от А к В (а не наоборот) и соответсвенно другие связи расширения так же. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2006, 11:57 |
|
Разработка ИС, UML, Rose, Use-cases and требования
|
|||
---|---|---|---|
#18+
_внимательный mcureenabВот пример странных включений. Если я не ошибаюсь, то "includingUC" <--- "includedUC" "extedingUC" ---> "extendedUC" И для того, чтобы Е включало А(В) надо направить связь расширения от А к В (а не наоборот) и соответсвенно другие связи расширения так же. Надо, но это полностью изменит суть диаграммы. На диаграмме показано, что при данном расширении (считаем, что оно корректно), включение читается неоднозначно. Включение это зависимость включающего ВИ от включаемого. Т.е. E зависит от B, а не наоборот, как программа зависит от подпограммы, но не наоборот. Расширение это зависимость расширения от базового ВИ. Базовый ВИ не зависит от расширения, зато расшиение долно быть полностью согласовано с базой, чтобы добавить к ней новое поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2006, 12:13 |
|
|
start [/forum/topic.php?all=1&fid=33&tid=1549348]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 233ms |
total: | 397ms |
0 / 0 |