Lecture06 (Лекции по Технологии программирования. Компонентный подход), страница 2

PDF-файл Lecture06 (Лекции по Технологии программирования. Компонентный подход), страница 2 Основы программной инженерии (40580): Лекции - 6 семестрLecture06 (Лекции по Технологии программирования. Компонентный подход) - PDF, страница 2 (40580) - СтудИзба2019-05-12СтудИзба

Описание файла

Файл "Lecture06" внутри архива находится в папке "Лекции по Технологии программирования. Компонентный подход". PDF-файл из архива "Лекции по Технологии программирования. Компонентный подход", который расположен в категории "". Всё это находится в предмете "основы программной инженерии" из 6 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

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

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

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

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

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

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

Чем сильнее защищена система, тем больше проверок, процедуридентификации и пр. нужно проходить пользователям. Соответственно, тем менее удобна для нихработа с такой системой. При разработке реальных систем приходится искать некоторыйразумный компромисс, чтобы сделать систему достаточно защищенной и способной поставитьощутимую преграду для несанкционированного доступа к ее данным и, в то же время, неотпугнуть пользователей сложностью работы с ней.Список стандартов, регламентирующих описание архитектуры, которое является основнойсоставляющей проектной документации на ПО, выглядит так.• IEEE 1016-1998 Recommended Practice for Software Design Descriptions [2](рекомендуемые методы описаний проектных решений для ПО).• IEEE 1471-2000 Recommended Practice for Architectural Description of Software-IntensiveSystems [3] (рекомендуемые методы описания архитектуры программных систем).Основное содержание этого стандарта сводится к определению набора понятий, связанныхс архитектурой программной системы.Это, прежде всего, само понятие архитектуры как набора основополагающих принциповорганизации системы, воплощенных в наборе ее компонентов, связях их друг с другом имежду ними и окружением системы, а также принципов проектирования и развитиясистемы.Это определение, в отличие от данного в начале этой лекции, делает акцент не на набореструктур в основе архитектуры, а на принципах ее построения.Стандарт IEEE 1471 определяет также представление архитектуры (architecturaldescription) как согласованный набор документов, описывающий архитектуру с точкизрения определенной группы заинтересованных лиц с помощью набора моделей.Архитектура может иметь несколько представлений, отражающих интересы различныхгрупп заинтересованных лиц.Стандарт рекомендует для каждого представления фиксировать отраженные в нем взглядыи интересы, роли лиц, которые заинтересованы в таком взгляде на систему, причины,обуславливающие необходимость такого рассмотрения системы, несоответствия междуэлементами одного представления или между различными представлениями, а такжеразличную служебную информацию об источниках информации, датах созданиядокументов и пр.Стандарт IEEE 1471 отмечает необходимость использования архитектуры системы длярешения таких задач, как следующие.o Анализ альтернативных проектов системы.o Планирование перепроектирования системы, внесения изменений в ее организацию.o Общение по поводу системы между различными организациями, вовлеченными в ееразработку, эксплуатацию, сопровождение, приобретающими систему илипродающими ее.o Выработка критериев приемки системы при ее сдаче в эксплуатацию.o Разработка документации по ее использованию и сопровождению, включая обучающиеи маркетинговые материалы.o Проектирование и разработка отдельных элементов системы.o Сопровождение, эксплуатация, управление конфигурациями и внесение изменений ипоправок.o Планирование бюджета и использования других ресурсов в проектах, связанных сразработкой, сопровождением или эксплуатацией системы.o Проведение обзоров, анализ и оценка качества системы.Разработка и оценка архитектуры на основе сценариевПри проектировании архитектуры системы на основе требований, зафиксированных в видевариантов использования, первые возможные шаги состоят в следующем.• Выделение компонентовo Выбирается набор «основных» сценариев использования — наиболее существенных ивыполняемых чаще других.o Исходя из опыта проектировщиков, выбранного архитектурного стиля (см.

следующуюлекцию) и требований к переносимости и удобству сопровождения системыопределяются компоненты, отвечающие за определенные действия в рамках этихсценариев, т.е. за решение определенных подзадач.o Каждый сценарий использования системы представляется в виде последовательностиобмена сообщениями между полученными компонентами.o При возникновении дополнительных хорошо выделенных подзадач добавляются новыекомпоненты, и сценарии уточняются.• Определение интерфейсов компонентовo Для каждого компонента в результате выделяется его интерфейс — набор сообщений,которые он принимает от других компонентов и посылает им.o Рассматриваются «неосновные» сценарии, которые так же разбиваются напоследовательности обмена сообщениями с использованием, по возможности, ужеопределенных интерфейсов.o Если интерфейсы недостаточны, они расширяются.o Если интерфейс компонента слишком велик, или компонент отвечает за слишкоммногое, он разбивается на более мелкие.• Уточнение набора компонентовo Там, где это необходимо в силу требований эффективности или удобствасопровождения, несколько компонентов могут быть объединены в один.o Там, где это необходимо для удобства сопровождения или надежности, один компонентможет быть разделен на несколько.• Достижение нужных свойств.Все это делается до тех пор, пока не выполнятся следующие условия:o Все сценарии использования реализуются в виде последовательностей обменасообщениями между компонентами в рамках их интерфейсов.o Набор компонентов достаточен для обеспечения всей нужной функциональности,удобен для сопровождения или портирования на другие платформы и не вызываетзаметных проблем производительности.o Каждый компонент имеет небольшой и четко очерченный круг решаемых задач истрого определенный, сбалансированный по размеру интерфейс.На основе возможных сценариев использования или модификации системы возможен такжеанализ характеристик архитектуры и оценка ее пригодности для поставленных задач илисравнительный анализ нескольких архитектур.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее