Мегаобучалка Главная | О нас | Обратная связь


Лекция 4: Архитектура ПО



2018-07-06 549 Обсуждений (0)
Лекция 4: Архитектура ПО 0.00 из 5.00 0 оценок




Frontend – это пользовательский интерфейс: сложный, параметризуемый, с рядом встроенных пользовательских сервисов (в частности, браузер информации), а также настраиваемый. Обе эти подсистемы взаимодействуют друг с другом через хорошо определенный и детально описанный программный интерфейс: алгоритмыbackend разбиты на методы, которые frontend может вызывать по особым правилам, с параметрами, выстраивая в цепочку для достижения своих задач. Дополнительные tools интегрируются во frontend, но не пользуются методами backend, а реализуют свои задачи самостоятельно. Эти задачи не требуют сложной пакетной обработки, а нацелены на интерактивное взаимодействие с пользователем.

Опеределение Архитектуры ПО:

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

Часто под архитектурой понимают например, только внутреннее устройство ПО, выраженное в UML-диаграммах.

Итак, архитектура продукта оказывается инвариантом проекта, встречается и неожиданно возникает в его разных частях.

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

Множественность точек зрения

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

1. Множественность точек зренияпроисходит, прежде всего, из-за разных видов деятельности процесса разработки ПО.

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

- При проектировании, наоборот, на первое место выходят принципы реализации ПО.

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

- При развертке у заказчика на ПО смотрят как на набор файлов, хранилищ данных и т. д.

2. Далее, в разработку/использование ПО вовлечено большое количество очень разных специалистов. Для всех этих специалистов нужна разная информация о программной системе.

3. Множественность точек зрения происходит также от того, что нет единых стандартов и норм разработки ПО.

Точка зрения (viewpoint) — это определенный взгляд на систему, который осуществляется для выполнения какой-то определенной задачи кем-либо из участников проекта. Точку зрения нужно ясно осознавать при создании визуальных моделей, например, варианты использования. Важнейшими характеристиками точки зрения моделирования является цель (зачем создается модель) и целевая аудитория (то есть, для кого она предназначается).

Язык UML:

Часто понятие архитектуры сильно сужают, понимая под ним лишь описание основных, важных аспектов ПО, создаваемых, например, архитектором при разработке дизайна системы. Для этих целей используется язык моделированияUML (UnifiedModelingLanguage).

Блок-схемы получили распространение при спецификации и документированииПО, были стандартизованы.

Виды диаграмм

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

Структурные диаграммы:

- диаграммы классов (classdiagrams) предназначены для моделирования структуры объектно-ориентированных приложений классов, их атрибутов и заголовков методов, наследования, а также связей классов друг с другом;

- диаграммы компонент (componentdiagrams) используются при моделировании компонентной структуры распределенных приложений; внутри каждая компонента может быть реализована с помощью множества классов;

- диаграммы объектов (objectdiagrams) применяются для моделирования фрагментов работающей системы, отображая реально существующие в runtime экземпляры классов и значения их атрибутов;

- диаграммы композитных структур (compositestructurediagrams) используются для моделирования составных структурных элементов моделей – коопераций, композитных компонент и т.д.;

- диаграммы развертывания (deploymentdiagrams) предназначены для моделирования аппаратной части системы, с которой ПО непосредственно связано (размещено или взаимодействует);

- диаграммы пакетов (packagediagrams) служат для разбиения объемных моделей на составные части, а также (традиционно) для группировки классов моделируемого ПО, когда их слишком много.

Поведенческие диаграммы:

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

- диаграммы случаев использования (usecasediagrams) предназначены для "вытягивания" требований из пользователей, заказчика и экспертов предметной области;

- диаграммы конечных автоматов (statemachinediagram) применяются для задания поведения реактивных систем;

- диаграммы взаимодействий (interactiondiagram):

- диаграммы последовательностей (sequencediagram) используются для моделирования временных аспектов внутренних и внешних протоколовПО;

- диаграммы схем взаимодействия (interactionoverviewdiagram) служат для организации иерархиидиаграмм последовательностей;

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

- временные диаграммы (timingdiagrams) являются разновидностью диаграмм последовательностей и позволяют в наглядной форме показывать внутреннюю динамику взаимодействия некоторого набора компонент системы.


 



2018-07-06 549 Обсуждений (0)
Лекция 4: Архитектура ПО 0.00 из 5.00 0 оценок









Обсуждение в статье: Лекция 4: Архитектура ПО

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (549)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)