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

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Galogen

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 »
4216
Прочитал доклад Александра. Соглашусь с Виталием. По-моему чистое нарушение принципа Оккама: не создавай сущностей сверх меры.

Представленные для обсуждения пользовательские сценарии по существу варианты использования в стиле Дуга Розенберга, о которых мы уже начали дискутировать в теме Розенберг против Коберна. Замечу, что Розенберг указывает на то, что:
1. каждый шаг ВИ должен содержать объекты модели предметной области и названия форм, как вы полагаете их использовать
2. описание должно быть не более 8 шагов
3. такой стиль помогает лучше понять задачу программисту и лучше написать user guide.

Как мне кажется пользовательские сценарии в интерпретации Саши - и есть сосбтвенно user guide в действии

Понятие сценарий часто определяется как экземпляр варианта использования

Цитировать
Единственное отличие в том, что в альтернативные сценарии представляют собой отдельный функционал, который является неким расширением основного функционала и под одним ПС собраны все функции, оперирующие конкретным объектом управления, например справочником
Ну собственно тут говорится об описании  CRUD ВИ

4217
Спасибо, Shur.

Итак принимаем в качестве отправной точки сам приницп use case - это не функция, остальное определяется методологией, контекстом использования.

Правда, этих если так много, что сложно преподавать :) А студенту понять как же...

4218
Для всех / Re: Прошу помочь разобраться.
« : 25 Марта 2008, 19:04:46 »
К сожалению не знаю такого средства. Оставьте ссылку на сайт продукта.
Хотя существует множество других, по которым вам могут помочь. Чем обусловлен выбор именно этого средства?

зы На мой взгляд первое дело -это знать сам UML и порядок его использования, остальное справка и дискуссии.
зызы Если по продукту мало информации, может отказаться от него?

4219
Цитата подтверждает мои слова.
Что конкретно она подтверждает? То что Крол согласуется с тобой? Вообще неясные, нечеткие, туманные непроверяемые и сильно зависящие от конечного успеха или не успеха проекта аргументы в пользу или не пользу стилей написания ВИ.

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

4220
вот пример из книги Унифицированный процесс разработки ПО Якобсона, Буча и Рамбо. Питер 2002

Оплатить Счет
Предусловие: покупатель получил заказанные товары или услуги и по крайней мере один счет. Теперь он планирует пометить счет(а) к оплате.

Поток событий.
1. Основной путь.
1. Покупатель запускает вариант использования, начиная просматривать счета, полученные от системы. Система проверяет, что содержимое счетов соответствует подтверждениям заказов, полученным ранее (как часть варианта
использования Подтвердить Заказ), и указывает на это покупателю. Подтверждение заказа описывает, что будет поставлено, когда, куда и по какой цене.
2. Покупатель решает пометить счет к оплате, и система генерирует запрос на платеж, чтобы банк мог перечислить деньги на счет продавца. Заметьте, что покупатель не может пометить один и тот же счет к оплате дважды.
3. Позже, а именно в намеченную дату, если на счете покупателя имеется достаточное количество денег, происходит оплата. При оплате деньги перечисляются со счета покупателя на счет продавца, как описано в абстрактном
варианте использования Совершить Перечисление (который используется в Оплатить Счет). Покупатель и продавец уведомляются о результате операции. Банк получает плату за перечисление, которая снимается системой
со счета покупателя.
4. Экземпляр варианта использования прекращает свое существование.

2. Альтернативные пути.
1. На шаге 2 покупатель может потребовать, чтобы система отослала продавцу сообщение о том, что счет отклонен.
2. На шаге 3, если на счете недостаточно денег, вариант использования отменит оплату и сообщит об этом покупателю.

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

Особое внимание обратите на 3 шаг основного потока

4221
Замечательно.

На нашем форуме кто-то публикует свой ВИ и просит его проанализировать. Правильно не правильно, корректно - некорректно.

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

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

Где критерий? Ты говоришь как захочет команда, как она посчитает нужным? А каковы тогда аргументы для анализа внешним экспертом?

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

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

Agility and Discipline Made Easy: Practices from OpenUP and RUP By Per Kroll, Bruce MacIsaac
When describing a use case, it is important to consider its two primary audiences: the stake-holders and the development
team. Stakeholders leverage use cases to understand what services the system will provide to the users of the system. Use cases should therefore use a language that stakeholders easily understand and avoid drilling down to a level of detail that makes it hard for them to see which key capabilities are provided. The other key audience is the development team: developers and testers doing storyboards, design, implementation, testing, and user documentation. Use cases need to provide sufficient specificity and level of detail to be meaningful to the development team. It is also important to assess whether further detail is best expressed as additional text in a use case or is better expressed in the form of storyboard, test cases, or directly in the code.


4222
Саша я не против этого. Да я понимаю, что варианты использования - это не теория решения дифуров или теория автоматов и т.п.

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

Один утверждает: использование элементов интерфейса в варианте использования - страшная ошибка, другой - просто благо и очень правильно.

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

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

Он тоже утверждает, что не нужно описывать излишне детализировано работу с интерфейсом. Однако, если он пишет в шаге ВИ: Пользователь кликает по ссылке, Система загружает страницу Деталей книги, разве тут есть простор для творчества?

Дуг приводи ссылку на книгу Авара Якобсона Aspect-Oriented Software Development with Use Cases и говорит мой подход синергичен этому. А Якобсон кажется изобреталь вариантов?

4223
Читаю в настоящее время книгу Дуга Розенберга и Мэта Стефенсона Use Case Driven Object Modeling with UML: Theory and Practice.

Книга написано просто, экономно и прагматично. В начале дается теория, которая подкрепляется практикой с моделями и диалогами, далее даются задания и производится разбор этих заданий.

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

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

Ради справедливости стоит заметить. Что первые 15 лет, Дуг зарабатывал на жизнь в качестве программиста, затем уже перешел в менеджеры проекта и даже основал собственную компанию. Мэт из Лондона - Java программист, лидер проекта, технический архитектор.

В чем же отличия?
1. Вариант использования должен описываться в стиле двух параграфов (абзацев) - один для основного потока, другой для альтернативных. стр.52 (англ издание)
2.Вариант использование описывается с использованием раскадровок, прототипов или экранных форм. Т.е. по сути ВИ должен содержать элементы интерфейса (возможно - это свзяано например с тем, что разработка систем с нуля, сейчас редко происходит, всегда изучается уже имеющиеся системы и их наработки)
3. вместо includes и extends следует использовать invokes и precedes. Активно избегать обобщения.
4 вариант использования описывается в сжатом формате. Если не удается описать в сжатом формате, ВИ следует разделить на несколько. (это как авторы потом объясняют проявляется при рисовании robustness diagram на которой нужно изобразить все потоки: основной и альтернативный, так же как sequence)
в частности автор комментируя шаблон Коберна в известной его книге пишет:

Here’s an example of a long and particularly ghastly (in our opinion) use case template
from renowned guru Alistair Cockburn’s book Writing Effective Use Cases:4

We regard this template as ghastly because, while it is theoretically elegant in that it
comprehensively covers everything you might possibly want to discuss in conjunction with
a use case, in practice, if you require your team to “fill out the long form” use case template,
they will rapidly discover that
1. They are wasting time.
2. Wasting time will turn them off to the entire modeling process.
3. They can mindlessly fill out the form without focusing on the important parts (basic
course and alternate courses) of the use case, and nobody will know the difference.
We’ve seen this happen in the real world on many occasions.
Consider the statements we just made as warnings about ways you might build up resistance
to doing use cases, which offers an excuse to ditch modeling altogether—and we all
know what happens then. (Hint: “The code’s written, so I guess we’re done!”)

Далее на странице 93 в конце идет объяснение того, почему не следует писать UC слишком абстрактно. Надо сказать довольно убедительно.

Many books about use cases, especially those that are focused strictly on use cases as a
requirements definition technique, preach writing use cases that are “abstract, essential,
technology-free, and implementation-independent.” Our approach is a bit different, as
you’ll see in the following review segment, since we both come from a programming background
(most programmers would call the aforementioned use cases “vague, ambiguous,
incomplete, and incorrect”).
далее идет диалог Аналитика и Читателя-эксперта, который проверяет варианты.

Читая книгу, я вижу практичность и убедительность доводов Розенберга, тем более они подкреплены примером. Правда пример Интернет-магазин.
Меня убеждают и слова Коберна и других гуру UC.

В результате меня заклинило :) Кто же прав: Коберн или Розенберг? Или по другому в каком контексте правы оба?

Обращаюсь к нашим аналитикам за помощью. Давайте разберем это по полочкам!
 

4224
Очень рекомендую почитать для начала Вигерса. Именно так. Или не лучшую его интерпретацию на сайте Intuit.ru: Анализ требований к информационной системем (называется курс)

По бизнес-анализу тоже много интересных книг. Смотрите наш файловый архив хотя бы

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

Вот в качестве примера


Удивление вызвала кратность связей Клиент-Заказ и Диспетчер-Заказ. Причем ВСЕ студенты сделали это!
Хотя в рамках курса ТИПИС год назад я им долбил IDEF1x и ERWin
в рамках Управления данными на курсовой не принимал курсовую без нормальной IDEF1x модели

В рамках курса ТИПИС я читал им и расширенную модель сущность связь со всеми нотациями и правилами
Однако...

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


А я всегда считал, что в методе Чена нужно располагать кратности у того конца сущности кратность, которой мы и определяем. А вот господин Вендров полагает, что строго наоборот. Вернее так считает некая среда моделирования Silverrun (http://www.lib.csu.ru/dl/bases/prg/dbms/1995/03/source/srun.html#part_1)

Будучи как-то на его лекциях (даже корочки имею) я необратил внимание, а сейчас пересматривая материалы, обнаружил точно такое же прочтение метода.


4226
greesha, автоматизированная не для пользователя, а для рассылающего :).
Она должна при настройке включать последние добавленные темы на форуме, новости или поступления на сайте.
Тажке наверное возможность пользователю подписываться на тематические рассылки по сайту-форуму.

В общем чтобы бедному админу не приходилось тратить много часов на изучение поступлений и формирование рассылки

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

Просьба оценить, выделить и прокомментировать ошибки, если они есть(здесь рисунок)

Интернет-магазин позволяет делать покупки с доставкой на дом. Клиенты магазина при помощи программы-браузера имеют доступ к каталогу продаваемых товаров, поддержку которого осуществляет Интернет-магазин. В каталоге товары распределены по разделам. О каждом товаре доступна полная информация (название, вес, цена, изображение, дата изготовления и срок годности) Для удобства клиентов предусмотрена система поиска товаров в каталоге. Заполнение каталога информацией происходит автоматически в начале рабочего дня, информация берется из системы автоматизации торговли.
При отборе (покупке) клиентами товаров поддерживается виртуальная «торговая корзина». Любое наименование товара может быть добавлено в «корзину» или изъято в любой момент по желанию покупателя с последующим пересчетом общей стоимости покупки. Текущее содержимое «корзины» постоянно показывается клиенту.
По окончании выбора товаров производится оформление заказа и регистрация покупателя. Клиент указывает в регистрационной форме свою фамилию, имя и отчество, адрес доставки заказа и телефон, по которому с ним можно связаться для подтверждения сделанного заказа. Заказы передаются для обработки в систему автоматизации торговли. Проверка наличия товаров на складе и их резервирование Интернет-магазином не производятся.

Глоссарий

Интернет-магазин – это система, которая позволяет производить покупки (любых наименований товара) через интернет, предоставляя информацию о продаваемой продукции на web сайте.

Web сайт – объединение нескольких электронных страниц одной тематики.

Клиент (интернет-магазина) – физическое лицо, использующее интернет-магазин, для приобретения нужной продукции.

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

Программа-браузер – программные средства, предназначенные для отображения web документов, служащие удобным средством путешествия в интернете.

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

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

Торговая корзина – отдельная всегда доступная область информационного пространства web сайта интернет-магазина, в которую покупатель (интернет-магазина) размещает\удаляет товар (интернет-магазина), по размещенной информации в «торговой корзине» производится подсчет общей стоимости покупки.

Заказ – форма содержащая информацию о выбранном товаре, которая передается в систему автоматизации торговли.

Регистрационная форма – форма, в которую заносится информация о клиенте (фамилия, имя, отчество, телефон) и адрес доставки товара.

Классы и отношения между ними:

Интернет-магазин владеет Web сайт 1:1..*
Интернет-магазин оснащен Система автоматизации торговли 1:1
Система автоматизации торговли регистрирует\регитр. в Товар (интернет-магазина) 1:0..*
Система автоматизации торговли заполняет Каталог продаваемых товаров 1:1..*
Каталог продаваемых товаров размещен на \ содержит Web сайт 1:1
Web сайт оснащен  Система поиска товара (в катологе) 1..*:1
Клиент (интернет-магазина) использует Программа-браузер 1..*:1..*
Программа-браузер отображает Web сайт *:*
Товар (интернет-магазина) отображается в Каталог продаваемых товаров *:1..*
Клиент (интернет-магазина) пользуется Каталог продаваемых товаров 1..*:1
Клиент (интернет-магазина) пользуется Система поиска товара (в катологе) 1..*:0..1
Клиент (интернет-магазина) выбирает Товар (интернет-магазина) 1..*:0..*
Товар (интернет-магазина) размещается(удаляется) в(из) Торговая корзина 0..*:0..*
Клиент (интернет-магазина) управляет Торговая корзина 1:1
Заказ формируется из  Торговая корзина 1:1
Заказ содержит Регистрационная форма 1:1
Клиент (интернет-магазина) заполняет Регистрационная форма 1:0..1
Заказ передается в \ обрабатывает Система автоматизации торговли 0..*:1


4228
Коллеги, друзья.

Я провожу занятия по основами объектно-ориентированного анализа. В данный момент по исходному описанию студенты составляют модель предметной области domain model.

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

По задаче следовало составить модель классов предметной области и глоссарий, добавить комментарии к модели если необходимо.

Вот что получилось (здесь рисунок).  Хотелось бы услышать, в чем ошибки (если они есть).


Служба такси предоставляет услуги по пассажирским перевозкам. Служба не имеет собственного таксопарка, а работает по договору с водителями, имеющими личный автомобиль. Каждый водитель имеет свой позывной и график работы. Служба имеет несколько точек-стоянок по городу, на которых водитель может дожидаться поступления близлежащего заказа.
С системой работает два диспетчера. Первый диспетчер занимается приемом заказов, второй распределением заказов между водителями. При приеме заказов клиент сообщает свое текущее местонахождение и телефон, а также адрес назначения. Фиксируется время приема заказа, а также время его выполнения. Для определения оптимального маршрута по городу используется геоинформационная система. Клиент может сделать предварительный заказ, т.е. заказать такси в определенное место к определенному времени.
Клиент идентифицируется номером телефона. Система хранит информацию о заказах клиента и вычисляет его рейтинг, что позволяет клиенту со временем получать накопительную скидку. При желании клиент может сообщить о себе дополнительную информацию (ФИО, другие телефоны и т.п.), что позволит его более точно идентифицировать. Если с заказом были какие-либо проблемы (ложный вызов, неоплата и т.п.), этот факт фиксируется, и телефон заносится в черный список.
Бухгалтерия анализирует отчеты о заказах, выполненных каждым водителем, и на основании их проводит денежные расчеты с водителями. Аналогично, заработная плата диспетчеров зависит от количества принятых заказов. Система также должна обеспечивать отчеты о заказах, выполненных за период времени, выполненных конкретным водителем и заказах конкретного клиента.


Глоссарий:

Служба такси – организация, осуществляющая пассажирские перевозки.
Водитель – сотрудник службы такси, владеющий автомобилем и выполняющий заказ.
Клиент – лицо, совершающее заказ.
Заказ - явная форма изъявления желания получить услугу.
Диспетчер принимающий – сотрудник службы такси, принимающий заказы от клиентов.
Диспетчер распределяющий – сотрудник службы такси, распределяющий заказы между водителями.
Город – населенный пункт городского типа.
Автомобиль – транспортное средство.
Точка-стоянка – место в городе, на котором водитель ожидает заказ.
Отчет – документ, содержащий информацию о выполненных заказах.
Геоинформационная система – информационная система позволяющая выбрать оптимальный маршрут проезда до места назначения по городу.
Система – информационная система, позволяющая хранить информацию о заказах, клиента, водителях и обеспечивающая отчеты.
График – документ, содержащий информацию о рабочем времени водителя.
Бухгалтерия – отдел, производящий финансовые расчеты.

4229
если дома починят инет - то я возможно поучаствую. Если нет - к сожалению - ребенка мне надо ужином кормить, так что на работе так долго сидеть не смогу.

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

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 »