Лекция 1 Архитектура ПО.. Литература к курсу Л. Басс, П. Клементс, Р. Кацман - Архитектура программного обеспечения на практике. 1-е издание, 2006 год,

Презентация:



Advertisements
Похожие презентации
Лекция 3 Архитектура информационных систем. Вопросы лекции 1. Архитектура информационной системы 2. Архитектурный подход к реализации информационных систем.
Advertisements

ООП Лекция 1. Основные понятия. Литература Шилдт Г. С#: полное руководтво.-М.:ООО Вильямс, с. Культин Н.Б. Microsoft Visual C# в задачах и.
Лекция 5 Способы конструирования программ. Основы доказательства правильности.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Жизненный цикл программного обеспечения Лекция 4.
Положение об отделе В.Андреев, Д.Сатин. Штат отдела начальник отдела; бизнес-аналитик; проектировщик пользовательских интерфейсов; специалист по анализу.
Разработка структуры программного обеспечения при объектом подхода.
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Разработка пользовательских интерфейсов Выполнил: Бредихин Юрий Вячеславович студент 3 курса, 31-И группы Старый Оскол, 2015.
Лекция 1 Учебные вопросы : Вопрос 1. История возникновения и понятие CASE- технологии. Вопрос 2. Особенности внедрения CASE- технологии. Вопрос 3. Основные.
Лабораторная работа 1. Целеориентированный подход В данной лабораторной работе рассматривается целеориентированный под- ход к разработке прототипа программного.
Лекция 3. Методологические основы планирования в домашнем хозяйстве.
Унифицированный язык моделирования UML является графическим языком для визуализации, конструирования и документирования систем, в которых большая роль.
Разработка баз данных предприятий ЯОК Саровский физико-технический институт.
Трехслойная архитектура приложений, основанных на использовании баз данных.
ГСНТИ задание 2.2«Разработать сервер доступа к библиотечным информационным ресурсам по протоколу z39.50 и систему обслуживания по принципу «Одно.
SOA ( Сервис - ориентированная архитектура )
Разработка программного обеспечения при объектном подходе Объектно-ориентированный подход.
Разработка Производство Финансовая деятельность Административно-хозяйственнаядеятельность Компьютерная система управления качеством продукции современного.
1 ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ COM- ТЕХНОЛОГИИ ДЛЯ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ПРОГРАММНЫХ ПРОДУКТОВ Component Object Model Министерство образования и науки.
Транксрипт:

Лекция 1 Архитектура ПО.

Литература к курсу Л. Басс, П. Клементс, Р. Кацман - Архитектура программного обеспечения на практике. 1-е издание, 2006 год, 576 стр., формат 17x23 см (70х100/16), Твердый переплет, ISBN

Литература к курсу М. Фаулер- Архитектура корпоративных программных приложений – Вильямс,2006

Литература к курсу М.Фаулер – UML основы – Символ-Плюс, Питер, 2002.

Литература к курсу Лешек Мацяшек - Анализ требований и проектирование систем – Вильямс,2002

Литература к курсу Л. Константайн, Л. Локвуд – Разработка программного обеспечения - Питер, 2004

Лабораторные работы Кол-во лабораторных работ – 5 ЛР 1. Установление требований ЛР 2. Проектирования с использованием UML ЛР 3. Проектирование БД ЛР 4. Проектирование пользовательского интерфейса ЛР 5. Сам проект Задания на сайте

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

Определения «архитектуры ПО» ч.2 Архитектура - это структура организации и связанное с ней поведение системы. Архитектуру можно рекурсивно разобрать на части, взаимодействующие посредством интерфейсов, связи, которые соединяют части, и условия сборки частей. Части, которые взаимодействуют через интерфейсы, включают классы, компоненты и подсистемы. [5] Архитектура программного обеспечения системы или набора систем состоит из всех важных проектных решений по поводу структур программы и взаимодействий между этими структурами, которые составляют системы. Проектные решения обеспечивают желаемый набор свойств, которые должна поддерживать система, чтобы быть успешной. Проектные решения предоставляют концептуальную основу для разработки системы, ее поддержки и обслуживания.

Влияние на архитектуру оказывают заинтересованные в системе лица

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

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

Влияние на архитектуру оказывает техническая база Подготовка и опыт архитектора проявляется, в частности, в его работе с технической базой (technical environment). К технической базе можно отнести: методы работы, принятые в данной отрасли приемы программной инженерии, распространенные в профессиональном сообществе, в которое входит архитектор.

Вариативность факторов влияния на архитектуру

Архитектура оказывает обратное воздействие на факторы влияние

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

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

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

Строительные элементы архитектуры ПО - данные Данные – элемент информации, передаваемый от одного компонента или получаемый от другого компонента через коннектор.

Пример архитектурного описания

Архитектурные образцы, эталонные модели и эталонные варианты архитектуры

Классификация архитектурных стилей

Каналы и фильтры Архитектурное описание строится как (или представляет собой) связную совокупность фильтров и каналов, в которой: фильтр – независимый блок, получающий на вход поток(и) данных и выдающий поток(и) данных возможна достаточно простая переконфигурация системы фильтров (соединение их с помощью pipes) фильтры работают параллельно

Стиль, основанный на репозитарии (Repository-based) В рамках стиля, базирующегося на репозитарии, общие данные разделяет определённая совокупность приложений, каждое из которых в своих обращениях к данным является независимым.

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

Одноранговый (Peer-to-Peer) стиль Одноранговый стиль применим в условиях, когда разрабатываемая система состоит из приложений (участников взаимодействия), каждое из которых связано с определённым количеством других. В каждом акте взаимодействия оно устанавливается и происходит только между двумя участниками.

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

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

Стиль «Модель-вид-контроллер» (Model-View-Control, MVC) Стиль MVC согласован с приложениями, в которых основным видом работ является интерактивное взаимодействие пользователя с визуализированными моделями, представляющими определённые сущности.

Примеры использования архитектурных стилей