Jump to content

Сюжетное моделирование

Сюжетное моделирование [1] [2] [3] — это метод объектно-ориентированного моделирования . [4] [5] Другие формы объектно-ориентированного моделирования сосредоточены на диаграммах классов . Диаграммы классов описывают статическую структуру программы, т.е. строительные блоки программы и то, как они связаны друг с другом. Диаграммы классов также моделируют структуры данных, но с акцентом на довольно абстрактные понятия, такие как типы и особенности типов.

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

Подход к разработке программного обеспечения

[ редактировать ]

Моделирование на основе историй предлагает следующий подход к разработке программного обеспечения:

  1. Текстовые сценарии . Для функции, которую вы хотите реализовать, разработайте текстовое описание сценария для наиболее распространенного случая. Рассматривайте только один пример за раз. Старайтесь использовать конкретные термины и отдельные имена вместо общих терминов и, например, названий ролей:
    Сценарий Го-Голландского барбекю
    • Начало: в это воскресенье Питер, Путри и Пэн встречаются в парке, чтобы устроить барбекю по-голландски. Для ведения учета они используют приложение Group Account.
    • Шаг 1: Питер приносит мясо за 12 долларов. Питер добавляет этот элемент в приложение групповой учетной записи.
    • Шаг 2: Путри приносит салат за 9 долларов. Питер тоже добавляет этот предмет. Приложение показывает, что на данный момент средняя доля составляет 7 долларов и что Пэн все еще должен принести эти 7 долларов, в то время как Питер получает 5 долларов, а Путри — 2 доллара.
    • Шаг 3: ...
  2. Макеты графического . Чтобы проиллюстрировать пользовательского интерфейса графический интерфейс пользователя (GUI) для желаемой функции, вы можете добавить в свой сценарий несколько каркасных моделей или макетов графического пользовательского интерфейса:
    Сценарий Го-Голландского барбекю
    • Начало: в это воскресенье Питер, Путри и Пэн встречаются в парке, чтобы устроить барбекю по-голландски. Для ведения учета они используют приложение Group Account.
    • Шаг 1: Питер приносит мясо за 12 долларов. Питер добавляет этот элемент в приложение групповой учетной записи.
    • Шаг 2: Путри приносит салат за 9 долларов. Питер тоже добавляет этот предмет. Приложение показывает, что на данный момент средняя доля составляет 7 долларов и что Пэну еще нужно принести эти 7 долларов, в то время как Питер получает 5 долларов, а Путри — 2 доллара:
      Arc.Ask3.RuGoDutchMockup
    • Шаг 3: ...
  3. Раскадровка : Далее вы думаете о том, как определенная ситуация, то есть определенный шаг сценария, может быть представлена ​​на компьютере с помощью структуры объектов времени выполнения. Это делается путем добавления объектных диаграмм в сценарий . В моделировании на основе истории сценарий с объектными диаграммами также называется раскадровкой.
    Сценарий Го-Голландского барбекю
    • Начало: в это воскресенье Питер, Путри и Пэн встречаются в парке, чтобы устроить барбекю по-голландски. Для ведения учета они используют приложение Group Account.
    • Шаг 1: Питер приносит мясо за 12 долларов. Питер добавляет этот элемент в приложение групповой учетной записи.
    • Шаг 2: Путри приносит салат за 9 долларов. Питер тоже добавляет этот предмет. Приложение показывает, что на данный момент средняя доля составляет 7 долларов и что Пэну еще нужно принести эти 7 долларов, в то время как Питер получает 5 долларов, а Путри — 2 доллара:
      Arc.Ask3.RuGoDutchMockupОбъектная диаграмма, моделирующая голландское барбекю
    • Шаг 3: ...
  4. Вывод диаграммы классов . Теперь довольно просто получить диаграмму классов из диаграмм объектов, используемых в раскадровках.
    Диаграмма классов голландского барбекю
    Обратите внимание: диаграмма классов служит общей ссылкой для всех диаграмм объектов. Это гарантирует, что в целом используются одни и те же типы и атрибуты. Используя инструмент UML , вы можете создать первую реализацию на основе этой диаграммы классов.
  5. Разработка алгоритма . На данный момент вы смоделировали и реализовали структуры объектов, которые развернуты в вашем приложении. Теперь вам нужно добавить поведение, то есть алгоритмы и тела методов. Программирование поведения приложения — сложная задача. Чтобы облегчить это, вам следует сначала описать поведение в псевдокода нотации . Вы можете сделать это, например, с помощью объектной игры. Например, чтобы обновить атрибуты saldo всех людей, вы смотрите на нашу структуру объекта и с точки зрения объекта GroupAccount делаете следующее:
    Обновите сальдо всех лиц:
    • посетить каждый предмет
      • для каждого предмета прибавьте значение к общей стоимости и прибавьте 1 к количеству предметов.
    • вычислите среднюю долю каждого человека, разделив общую стоимость на количество человек
    • посетить каждого человека
      • для каждого человека сброс сальдо
      • для каждого человека посетите каждый товар, купленный этим человеком
        • для каждого предмета добавьте значение к сальдо текущего человека
      • за каждого человека вычесть долю из сальдо
  6. Реализация поведения : как только вы уточните псевдокод вашего алгоритма до уровня операций над объектными структурами, вы легко сможете получить исходный код, который выполняет те же операции в реализации вашей объектной модели.
  7. Тестирование . Наконец, сценарии можно использовать для создания автоматических тестов JUnit . Псевдокод теста для нашего примера может выглядеть так:
    Тестовое обновление сальдо всех лиц:
    • создать объект групповой учетной записи
    • добавьте объект-человек с именем Питер, объект-человек с именем Путри и объект-человек с именем Пэн в объект групповой учетной записи
    • добавьте объект товара с покупателем Питером, описанием «Мясо» и стоимостью 12 долларов США в объект группового аккаунта.
    • добавьте объект товара с покупателем Putri, описанием Salad и стоимостью 9 долларов США в объект групповой учетной записи.
    • метод вызова обновляет данные всех лиц в объекте групповой учетной записи
    • убедитесь, что сальдо объекта Питера составляет 5 долларов.
    • убедитесь, что сальдо объекта Putri составляет 2 доллара
    • убедитесь, что сальдо объекта Питера составляет -7 долларов.
    • убедитесь, что сумма всех сальдо равна 0 долларам
Такие автоматические тесты гарантируют, что в рассматриваемой ситуации реализация поведения действительно выполняет то, что указано в раскадровке. Хотя эти тесты довольно просты и могут не выявить все виды ошибок, они очень полезны для документирования желаемого поведения и использования новых функций, и эти тесты гарантируют, что соответствующая функциональность не будет потеряна из-за будущих изменений.

Краткое содержание

[ редактировать ]

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

Моделирование, основанное на историях, получило развитие с момента своего создания в 1997 году. В 2013 году оно используется для преподавания, например, в Кассельском университете, Падерборнском университете, Тартуском университете, Антверпенском университете, Назарбаевском университете Астаны, Институте Хассо Платнера в Потсдаме, Университете Виктории, ...

См. также

[ редактировать ]
  1. ^ Норбисрат, Ульрих; Цюндорф, Альберт; Джубе, Рубен (2013). Моделирование, основанное на сюжете . п. 333. ИСБН  9781483949253 .
  2. ^ Цюндорф, Альберт; Шюрр, А.; Винтер, Эй Джей (1999). «Моделирование, основанное на сюжете». Университет Падерборна . Технический отчет (тр-ри-99-211).
  3. ^ Дитхельм, Ира; Гейгер, Л.; Цюндорф, А. (январь 2004 г.). «Систематическое моделирование на основе историй: практический пример». Третий международный семинар по сценариям и государственным машинам : 65–70.
  4. ^ ван Горп, Питер (2008). «Оценка методологии моделирования на основе историй: от башен к моделям». Технический отчет Университета Антверпена .
  5. ^ Эйкхофф, Кристоф; Гейгер, Н.; Хан, М.; Цюндорф, А. (2012). «Разработка корпоративных веб-приложений с использованием подхода моделирования на основе историй» . Современные тенденции в веб-инженерии . ЛНКС. 7059 (7059): 196–210. дои : 10.1007/978-3-642-27997-3_21 . ISBN  978-3-642-27996-6 .
  6. ^ Райзер, Дж.; Глинц, М. (2000). «Повышение качества требований с помощью сценариев». Материалы Второго Всемирного конгресса по качеству программного обеспечения. Иокогама : 55–60.
  7. ^ Цюндорф, Альберт; Леохольд, Дж.; Мюллер, Д.; Геммерих, Р.; Рекорд, К.; Шнайдер, К.; Земмельрот, С. (2006). «Использование объектных сценариев для анализа требований – отчет об опыте». Modellierung 2006 : 269–278.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 17e16bf9307efaccb15eb591b0b97e7d__1691943900
URL1:https://arc.ask3.ru/arc/aa/17/7d/17e16bf9307efaccb15eb591b0b97e7d.html
Заголовок, (Title) документа по адресу, URL1:
Story-driven modeling - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)