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

×


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

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


Сообщения - lnew

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 »
91
Дорогой Павел!
Вы бывали, наверное, за границей, или встречали иностранцев на улице. И вы чаще всего понимали друг друга с помощью жестов и т.п.
Так и в данном случае. Если Вас понимают, да еще без дополнительных пояснений - все прекрасно!

Но есть языки. И если Вы владеете языком, которым владеет и Ваш собеседник, все становится существенно проще.

Сегодня наиболее распространенный язык общения в разработке ПО - это UML.
Для того, чтобы рассказывать (описывать) и понимать описания UC, достаточно уметь пользоваться двумя диаграммами: Use Case и Activity.
Ваша иллюстрация заведомо менее понятна и менее информативна.

Потратьте пару часов, найдите в интернете какую нибудь книжку. Это будет много эффективнее, чем обсуждать вашу "кустарную" нотацию.

Помните про Костю, который поступал в литературный институт? На приемном экзамене на вопрос: "Что вы читали Пушкина?" он ответил "Костя не читатель. Костя писатель!".

Только не обижайтесь на меня!

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

Но ...

... это не UML, увы.

Нужно ли изучать и моделировать на UML - это Ваш выбор. Многие обходятся без этого.

93
Смесь русского с английским - это нормально?
Наверное, не очень. В данном случае "cancel" даже не слово, а некий символ, как "ОК".

А вообще, в жизни такой диаграммы для UC быть не может. Некоторые действия отменять нет необходимости. UC описывает последовательность взаимодействий, значит д.б. минимум 2 раздела - Actor и система. Если считать, что запуск UC - одно из предусловий, то первое действие: "Система отображает главное окно UC". В этом окошке где-то справа внизу кнопочка "Cancel". Пока ее нет, ничего отменить нельзя!

Кроме того, в большинстве случаев нужно сохранять сведения о сеансе по различным причинам. Правда, такое указание м.б. в описании действия "Отмена всех действий". Например: "Система сохраняет текущее состояние информации формы ввода." (продажа, прием заказа, для анализа статистики обращений клиентов). "Система готова ..." и т.д.
 

94
Я в первом варианте ошибся, спешил.
Если хочешь, нарисую, как перейти безвозвратно к другому UC. Но завтра уже.

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

96
Нет, это совершенно новый продукт. Восходящая звезда Гонконга. http://visual-paradigm.com
Спасибо, Эдуард!

97
1. Действие "Отмена" доступно пользователю на протяжении всего ВИ. Как зафиксировать данный момент? У Коберна встречал такую практику: на первом шаге описывается расширение со словами "В любой момент до ... пользователь может отменить ...". Не очень понравился такой способ, есть ли ещё какие-нибудь варианты?

Я понял так, что имеется ввиду отмена всего, сделанного в рабочем потоке UC, Или только последнего действия? Реакция системы (и способ описания) существенно разные!

98
3. Было бы неплохо увидеть пример такого описания, может и мне понравится. Сейчас пользуюсь средством Visual Paradigm оно накладывает ограничение на описание ВИ. Насколько я разобрался там ВИ описываются и как текстовые шаги и как Activity, причём они между собой взаимосвязаны.

Извините, чуть в сторону.
Мой первый инструмент UML был Paradigm+ от Platinum (ныне, кажется, в составе CA). Это оно?

99
1. Т.к. Коберн принципиально "не видит" диаграммы UML применительно к UC, он использует единственно возможный метод. И очень удачный.
1-3. Если использовать UML: RUP рекомендует использовать для моделирования рабочего потока UC диаграмму деятельности (Activity Diagram). Если Ваша блок-схема - это диаграмма деятельности UML, то я могу посоветовать, как поступить в каждом из описанных случаев. Если нет - кто же знает, что Вы рисуете?

100
Приглашаю прочитать четвертую статью выпуска (http://lnew.ucoz.ru/publ/opyt_modelirovanija_na_uml/povyshenie_proizvoditelnosti_analitika/povyshenie_proizvoditelnosti_analitika_04/6-1-0-28):
Некоторые соображения об изменении отношений моделирования и документирования после появления концепции MDA.
Как писать документ "Видение":
- Собственная технология автора моделирования причинно-следственных отношений проблем заинтересованных лиц
- Модель документа "Видение"
- Документ, сгенерированный из модели

101
RUP рекомендует составлять TestCae для каждого UseCase.
Use Case представляет функциональное требование, а TestCase - способ тестирования этого требования.

RUP рекомендует использовать Activity Diagram для моделирования последовательности взаимодействий пользователя с системой.
Я использую средство генерации отчетов для создания спецификации UseCase.

TestCase должен добавить к каждому взаимодействию информацию ввода и ожидаемого результата. Я печатаю модернизированный отчет UC под названием TestCase в табличной форме с тремя дополнительными столбцами: ввод, ожидаемый результат, вывод.
Ввод и ожидаемый результат можно моделировать в виде объектов (экземпляпов классов). Тогда останется только один пустой столбец. А документ будет представлять TestCase + протокол тестирования.

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

102
Если Денис откажется, готов обсудить.

103
Резюме / Ищу работу
« : 03 Августа 2011, 13:53:03 »
Ищу работу аналитика (системного, бизнес-, предприятия).
Предпочтительно - Санкт-Петербург.

104
Дорогой Эдуард.

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

Например, относительно абстрактных UC.
В справочнике трех друзей "UML. 2-е издание, Питер, серия "Классика computer science" этому вопросу суммарно посвящено больше 30 страниц. С картинками.
Если абстрагироваться от деталей, об абстрактности классификатора можно судить с двух точек зрения: с точки зрения исполнения (например, UC не может быть конкретным, т.к. его не планируется использовать самостоятельно (нет GUI)) и по отношению к другим классификаторам (если между двумя UC установлено отношение includе, то один из UC (имспользуемый) является абстрактным в данном отношении).

Ну, а способ моделирования уже зависит от ситуации, личных предпочтений и т.д.
Я предпочитаю (следуя рекомендациям RUP) существенные общие части UC описывать и реализовывать как абстрактные и в модели хранить их отдельно. И на диаграммах UC показывать их отношения с основными UC как include, хотя, м.б., в рабочем потоке основного UC они выполняются по условию.
Существенную часть поведения конкретного UC, выполняемую по условию, я реализую как абстрактный EUC, и храню его вместе с основным. Если, в какой-то момент жизненного цикла разработки выясняется, что этот фрагмент можно выделить как общий многоразового использования, я перетаскиваю его к другим общим UC.
Никакого криминала я не вижу. Но такое разделение я считаю удобным. Ведь применение UC в проекте не ограничивается описанием функциональных требований.
"Не нравится - не ешь!" - как сказал Чингачгук, Когда Чапаев заявил, что ему не нравится Штирлиц.

Это относится и к другим моим советам.

Коберн и абстрактные UC.
Да я об этом и не говорю ничего! У Коберна и в UML UC вообще имеют разный смысл, но похожий, и мы можем применять идеи Коберна в моделировании на UML.
Выделение первичного Actor - одна из таких плодотворных идей. Но Actor по отношению к одному UC может быть первичным, а по отношению к другому - вторичным. Т.о. свойство "первичности" (primary) определяется для ассоциации.
Если на диаграмме UC представлен контекст конкретного UC (с добавляемыми включениями и расширениями, то есть только один первичный Actor, который выполняет свою цель (при этом порождается экземпляр UC, общий для всего контекста); UC включения и расширения могут взаимодействовать со вторичными Actor).
Я вижу в этом много преимуществ. Не нравится?

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

Относительно MDA.
"По странному совпадению" в 2004 году были опубликованы релизы MDA, UML2 и появилась первая версия RSA, инструмента, поддерживающего UML и имеющего средства реализации преобразований MDA. В приложении - одна из первых спецификаций MDA и моя старая статья на эту тему.

Дорогие и дешевые инструменты.
Если ты обратил внимание, я неоднократно писал: то, что делаю на RSA, вполне возможно, допустимо и на ваших инструментах. А может быть, нет.
Если мои советы покажутся интересными и полезными:
- проверьте, можно ли на ваших инструментах использовать идеи
- если нет, закачайте RSA, SoDA, RequisitePro (пробные версии)
- если вы увидите, что я не наврал, планируйте свои дальнейшие действия по критерию "стоимость-эффективность"

Не считайте меня "коммивояжером" от Rational. Это не так.

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

1. Почему считается, что способ рисования сценариев ВИ (т.е. реализации ВИ) в виде ДД лучше, чем текст?
2. Почему считается, что реализации ВИ через ДД удобнее и прагматичнее, чем реализации сценариев чере диаграммы сценариев = ДП?
3. Почему ограничивается, что любой include и extend ВИ - есть абстрактный ВИ?
4. Почему ограничивается, запрещается наличии ассоциации между actor и include / extend ВИ ?

3. Я ничего не ограничивал. В метамодели UML UC - это классификатор. Абстрактный классификатор не имеет собственных экземпляров. UCI и UCE не имеют собственных экземпляров: они выполняют экземпляры основного UC.
4. Наверное, Коберн ввел понятие первичного Actor (цель которого реализует UC). Взаимодействие первичного Actor создает экземпляр UC. С UC могут взаимодействовать другие Actor, но они "помогают" (пример - клиент банкомата и процессинг). Т.о., ограничение относится только к первичному Actor. Вторичные могут "помогать", взаимодействуя с экземпляром основного UC в границах основного UC, UCI или UCE.
2. ДД, на мой взгляд, удобнее и прагматичнее, т.к. просто нагляднее, особенно, если процесс достаточно "запутанный" (много логики). RUP вообще возможность использования ДП для этих целей не рассматривает!
1. Простите, за других не говорю! Для меня - несколько причин.
    - Я никогда не сумел бы в голове построить схему сложного процесса с параллельными и альтернативными потоками и описать ее. Все равно стал бы  что-то рисовать и писать по рисунку
    - Я использую инструменты, которые позволяют рисовать и генерировать текст из модели в нужной мне форме
    - Я могу использовать MDA, в частности, преобразовать BUC в пакет функциональной области в модели UC, автоматизируемые действия ДД - в UC, а соответствующий раздел - в Actor (и т.п.) 


5. Каким образом диаграммы активностей помогают построить MDA?

В чем, на мой взгляд, состоит отличие MDA от MDD?
- В MDD есть моделирование и преобразование модели в код
- В MDA есть 4 вида моделей: бизнес (включая UC), анализ, проект, код и преобразования "туда-обратно" для каждой пары смежных моделей.
Наверное, теоретически возможно преобразовать описание UC на естественном языке в модель анализа. Трудно придется! А для моделей это не проблема, есть множество примеров. Если средство моделирования поддерживает MDA, в нем д.б. инструментарий для создания преобразований (так написано на сайте OMG).


6. Имеются ли какие-либо оценки эффективности, полезности на создание и поддержание модели или ее фрагмента отнесенного к трудозатратам на использование специалиста? Сколько вообще нужно специалистов?
7. А также есть ли какие-то оценки именно повышения производительности работы аналитика? И что понимается под производительностью аналитика?

Если говорить о MDA, то формально вопрос о необходимости поддержки моделей в актуальном состоянии не стоит. Сгенерировался неправильный код - ищи ошибку в модели или в модели/коде преобразования. Но фактически это скорее неблизкое будущее.

По жизни. Система должна отвечать требованиям. Т.о., модель требований первична. Если требования изменились, нет другого способа довести изменения до исполнителей, кроме, как изменить модель (если документы требований генерятся из модели). Или изменить документы. Но если изменить (написать) документы проще, чем изменить модель, на фига она вообще, эта модель?

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

Любой специалист накапливает опыт. Свой и чужой (даже самые крутые, если умные). Те примеры, которые я представляю, не предназначены для непосредственного использования.
Думаю, Ваши инструменты позволяют использовать представленные идеи и примеры, такие, как моделирование с использованием строительных блоков, настройка шаблонов для генерации презентационных документов и т.п. Если не позволяют, хочу задать вопрос: "Неужели Вы так богаты, что можете себе позволить покупать (использовать) дешевые инструменты?"

Относительно солидности и проработанности. А разве аналитик имеет право представлять "не проработанные материалы". Тем более, когда вину свалить не на кого!

Спасибо, Эдуард, за содержательные вопросы.

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 »