Проблемно-ориентированное проектирование — КиберПедия 

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Проблемно-ориентированное проектирование

2018-01-30 238
Проблемно-ориентированное проектирование 0.00 из 5.00 0 оценок
Заказать работу

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

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

На рисунке 11.5 изображена предметная область «Финансовые документы» для разработки приложения, работающего с бухгалтерскойинформацией. Все элементы представлены в терминах, понятныхконечному пользователю – бухгалтеру.

Рисунок 11.5. Модель предметной области «Финансовые документы».

 

Преимущества данного архитектурного стиля состоят в следующем:

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

- расширяемость системы – модель предметной области обычноявляется модульной и гибкой, что упрощает обновление и расширение системы при изменении внешних условий и требований;

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

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

Многослойная архитектура

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

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

При строгом разделении на слои компоненты одного слоя могутвзаимодействовать только с компонентами этого же слоя или компонентами слоя, расположенного «ниже». Более свободное разделение на слои позволяет компонентам взаимодействовать с компонентами того же слоя и всех «нижележащих» слоев.

Слои приложения могут размещаться физически на одном компьютере (на одном уровне) или быть распределены по разным компьютерамn-уровней), связь между компонентами разных уровнейосуществляется через строго определенные интерфейсы.Например, типовое Web-приложение состоит из слоя представления (функциональность, связанная с пользовательским интерфейсом слоялогики (логики обработки данных) и слоя данных (функциональность, связанная с доступом к данным, часто практически полностьюреализуемая с помощью высокоуровневых инфраструктур доступа к данным).

На рисунке 11.6 представлен пример трехслойной архитектуры приложения, где в качестве слоя данных (хранения информации) можетвыступать БД, модуль по хранению и чтению данных с диска. Этотслой может располагаться и на отдельном сервере (выделенный файл-сервер, сервер БД), и совместно с другим слоем (например, простоеWeb-приложение, где сервер и БД располагаются на одном компьютере). Для Web-приложений под слой логики (обработки информации) можно выделить Web-сервер либо, для более сложных проектов, сервер приложений; а в качестве слоя представления (отображения

информации) выступает браузер, где пользователь просматриваетинформацию.

 

Рисунок 11.6. Пример трехслойной архитектуры.

 

К преимуществам данного архитектурного стиля можно отнестиследующее:

- абстракция – обеспечивается возможность внесения измененийна абстрактном уровне; используемый уровень абстракции каждогослоя может быть повышен или понижен;

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

- управляемость – разделение основных функций помогает идентифицировать зависимости и структурировать код программы всекции, что повышает управляемость ПП;

- производительность – распределение слоев по несколькимфизическим уровням может улучшить масштабируемость, отказоустойчивость и производительность;

- возможность повторного использования – роли повышают возможность повторного использования;

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

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


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.