Добавить в корзинуПозвонить
Найти в Дзене
Програмпроф

Модели и схемы шаблонного программирования

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

Программная инженерия различает три основные модели:

  • модель прикладной области;
  • модель разработки программного обеспечения;
  • модель реализации.

Последние две сокращенно обозначают разработку и внедрение программного обеспечения.

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

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

1. Концептуальные модели

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

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

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

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

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

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

Концептуальные модели не служат общей цели - они не вписываются ни в какой мыслимый контекст. Всегда приходится искать баланс между слишком абстрактными и слишком специализированными моделями и контекстами. Если шаблон слишком абстрактен, то он слишком общий, чтобы действительно направлять анализ и проектирование. Таким образом, "активный сотрудничающий объект" может быть образцом и даже метафорой, но он слишком общий, чтобы быть полезным. С другой стороны, весьма специфическая модель не может быть использована за пределами одного проекта и поэтому не станет частью повседневной практики и культуры развития.

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

2. Конструктивные схемы

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

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

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

Важно понимать разницу между концептуальной моделью и моделью разработки программного обеспечения для прикладного "ядра" проектной модели. Это приводит к следующему обоснованию моделей разработки программного обеспечения.

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

3. Шаблоны программирования

При построении программного комплекса область применения объединяют с моделью проектирования программного обеспечения.

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

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

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

 https://www.firestock.ru/programmirovanie-programming/
https://www.firestock.ru/programmirovanie-programming/

Взаимосвязи между моделью и шаблоном

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