Найти тему
Програмпроф

Шаблоны дизайна в разработках программного обеспечения

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

Основная модель подхода изучение шаблонов - это Различие инструментов и материалов. Этот шаблон гласит: "При рассмотрении области применения для разработки программной системы отделите инструменты от материалов и проанализируйте, как инструменты используются для работы с материалами". На Рисунке 1 показаны некоторые типичные инструменты и материалы в этой области.

Рисунок 1
Рисунок 1

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

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

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

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

Таким образом, эта закономерность помогает решить одну из основных проблем проектирования программного обеспечения, а именно выявить те объекты, которые имеют отношение к системе.

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

Шаблон "Различие инструментов и материалов"

Шаблон "Различие инструментов и материалов" встречается не только во многих областях применения, но и хорошо знаком разработчикам программного обеспечения. Разработчики обычно используют большое количество инструментов, например, браузеры, поисковые системы или перекрестные ссылки, для работы со своими материалами, например, исходный код или его более высокое представление. Другими примерами являются редакторы проектов (инструменты) с конфигурацией проекта (материалы) или отладчики (инструменты) с запущенными или остановленными программными системами (материалы).

Такие схемы, как Различие инструментов и материалов, являются нечто большим, чем руководство по анализу области применения или помощь при проектировании программного обеспечения. Они вошли в язык команд разработчиков программного обеспечения и являются терминами, которые используются при описании и обсуждении разработки программного обеспечения. Шаблоны стали частью культуры проекта, и новый разработчик, присоединившись к команде, должен усвоить эти термины и концепции, лежащие в их основе, чтобы прийти к пониманию того, где он или она может активно использовать эти термины.

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

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

 Photo https://www.canva.com
Photo https://www.canva.com

Шаблоны необходимы для облегчения работы разработчикам и пользователям. А вот для их хранения был выбран термин каталог.

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

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

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

- Введение и обзор, представляющие лейтмотив, а также фон, необходимый для понимания закономерностей.

- Краткое описание характеристик соответствующей области применения, таких как типичные рабочие места с их объектами и средствами работы, виды сотрудничества и коммуникации или стандартные проблемы и их решения.

- Раздел о соответствующей стратегии развития, в котором, в нашем случае, рассматриваются такие вопросы, как разработка эволюционного программного обеспечения с прототипами и коллективным дизайном.

- Структурированный набор шаблонов, начиная с концептуальных моделей, за которыми следуют шаблоны разработки программного обеспечения, которые, в конечном счете, дополняются моделями программирования.

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