Шаблоны анализа программного обеспечения или шаблоны анализа в программной инженерии являются концептуальными моделями , которые фиксируют абстракцию ситуации, которая часто встречается при моделировании . Шаблон анализа может быть представлен как «группа связанных, общих объектов ( метаклассов ) со стереотипными атрибутами (определениями данных), поведением (сигнатурами методов) и ожидаемыми взаимодействиями, определенными в доменно-нейтральной манере». [1]
Обзор
Мартин Фаулер определяет шаблон как «идею, которая оказалась полезной в одном практическом контексте и, вероятно, будет полезной в других». [2] Далее он объясняет шаблон анализа, который представляет собой шаблон, «отражающий концептуальные структуры бизнес-процессов, а не фактические реализации программного обеспечения». Пример:
Мартин Фаулер описывает этот шаблон как тот, который «фиксирует воспоминание о чем-то интересном, что влияет на домен» [3] .
Описание модели анализа
При выполнении анализа мы пытаемся понять проблему. Фаулер не описывает в своей книге [2] формальный способ записи или описания шаблонов анализа. С тех пор были выдвинуты предложения иметь последовательный и единообразный формат для их описания. Большинство из них основаны на работах Эриха Гаммы , Фрэнка Бушмана и Кристофера Александра по шаблонам (в архитектуре или информатике). Один из них, предложенный Хаслером [4], имеет следующую структуру:
Имя шаблона : имя шаблона должно действительно отражать смысл того, что оно абстрагирует. Оно должно быть простым, чтобы можно было ссылаться на него во время анализа.
Намерение : намерение направлено на описание цели, которую пытается достичь шаблон. Оно также должно описывать проблему, которую он пытается решить.
Мотивация : «Сценарий, иллюстрирующий проблему и то, как модель анализа способствует решению в конкретном сценарии» [5]
Силы и контекст : «Обсуждение сил и напряжений, которые должны быть разрешены с помощью модели анализа» [6]
Решение : «Описание решения и баланса сил, достигнутых с помощью модели анализа в сценарии в разделе мотивации. Включает все соответствующие структурные и поведенческие аспекты модели анализа». [4]
Последствия : здесь следует подчеркнуть, как цель достигается с помощью модели анализа с ее ограничениями.
Дизайн : Предложения по реализации дизайна этого шаблона.
Известные применения : Реальные примеры использования этого шаблона.
^ Purao, Sandeep; Storey, Veda C.; Han, Taedong (сентябрь 2003 г.). "Улучшение повторного использования шаблонов анализа" (PDF) . Information Systems Research . 14 (3): 169–290. ISSN 1526-5536. Архивировано из оригинала (PDF) 2006-09-08 . Получено 2007-01-31 .
^ ab Fowler, Martin (1996-11-27). Шаблоны анализа: повторно используемые объектные модели . Addison-Wesley . ISBN0-201-89542-0. Шаблон — это идея, которая оказалась полезной в одном практическом контексте и, вероятно, будет полезна в других.
^ Фаулер, Мартин . "Учетные модели" (PDF) . Модель анализа . Получено 2007-01-31 .
^ ab Hahsler, Michael; Geyer-Schulz, Andreas (ноябрь 2001 г.). "Программная инженерия с шаблонами анализа". CiteSeerX 10.1.1.70.8415 . Получено 26 августа 2023 г. .
^ Александр, Кристофер (1979). The Timeless Way of Building, том 1 из серии Center for Environmental Structure . Нью-Йорк: Oxford University Press. ISBN0-19-502402-8.
Дальнейшее чтение
Haitham, Hamza & Fayad, Mohamed E. (2002). Язык шаблонов для построения стабильных шаблонов анализа (PDF) . 9-я конференция по языкам шаблонов программ . Кафедра компьютерных наук и инженерии, Университет Небраски-Линкольн . Получено 31 января 2007 г.Эта статья о языке шаблонов для анализа шаблонов была представлена на PLoP 2002.
Бушманн, Франк; Режин Менье; Ганс Ронерт; Питер Соммерлад; Михаил Сталь (1996). Архитектура программного обеспечения, ориентированная на шаблоны, Том 1: Система шаблонов . Джон Уайли и сыновья. ISBN 0-471-95869-7.