Lecture07 (1133564), страница 2

Файл №1133564 Lecture07 (Лекции по Технологии программирования. Компонентный подход) 2 страницаLecture07 (1133564) страница 22019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

В итоге это привело к выходу на гораздо более низкую, чемпланировалось, орбиту, потере управления и гибели аппарата стоимостью около 130 миллионовдолларов [4].Поэтому более аккуратное решение — использовать для хранения данных числовых измеренийобъекты специального класса Quantity, в полях которого хранится не только значение величины,но и единица ее измерения.

Кроме того, весьма полезно определить операции сложения,вычитания и сравнения таких величин.Quantity+ amount : Number+ units : Unit+, -, <, >, ==Рисунок 40. Класс для представления величин, имеющих разные единицы измерения.Помимо измерений, использовать такое представление удобно и для сумм денег в финансовыхсистемах. Аналогом единиц измерения в этом случае выступают различные валюты. Отфизических величин валюты отличаются изменяемым отношением, с помощью которого ихможно переводить одну в другую. Это отношение может зависеть от времени. Кроме того,существуют единицы измерения физических величин, которые преобразуются друг в друга болеесложным, чем умножение на некоторое число, способом — например, градусы по Фаренгейту и поЦельсию.Эти примеры могут быть охвачены образцом преобразование, который позволяет представлятьв системе правила преобразования различных единиц измерения друг в друга.

Для большинствапреобразований достаточно величины отношения между единицами, быть может, зависящего отвремени, поэтому стоит выделить класс для хранения этого отношения.Quantity+ amount : Number+ units : Unit+ toUnitConversion+ from+, -, <, >, ==Ratio+ convert()0..1+ ratio : NumberРисунок 41. Представление возможных преобразований между единицами измерений.Другой тип связи между различными единицами измерения — так называемые составныеединицы, например Ньютон для измерения силы (1 Н = 1 кг*м/с2). Разрешение подобного родасоотношений может быть реализовано, если определить два подкласса класса Unit — один дляпредставления простых единиц, PrimeUnit, другой для представления составных, CompoundUnit, иопределить две связи, сопоставляющие одной составной единице два мультимножества простых— те, что участвуют в ней в положительных степенях, и те, что участвуют в отрицательных.UnitPrimeUnit0..*+ direct0..*+ inverseCompoundUnitРисунок 42.

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

Этотобразец становится полезным, если имеется очень много различных измерений для каждогообъекта, группируемых в достаточно много видов измеряемых явлений.Object10..*MeasurementQuantity0..*1PhenomenonTypeРисунок 43. Набор классов для представления результатов измерений.Бывает, однако, необходимо вести учет не только количественных измерений, но икачественных наблюдений, результат которых представляется не числом, а некоторым значениемперечислимого типа (группа крови II, ожог 3-й степени и пр.).

При этом наблюдения оченьпохожи на измерения: относятся к некоторому объекту и определяют некоторое значение длякакого-то вида наблюдений.Для совместного представления результатов наблюдений и измерений можно использоватьобразец наблюдение, структура классов которого показана на Рис. 44. Требуется некотораяпривычка, чтобы быстро разложить по этим классам какой-нибудь реальный пример. Например,группа крови — вид явлений, II — явление этого вида, наблюдение заключается в том, что у ПетраСергеевича Иванова была обнаружена именно такая группа крови. Эти усилия, однако, с лихвойокупаются огромным количеством фактов, которые без изменений можно уложить в эту схему.Object1Observation0..*CategoryObservation0..*Measurement1Phenomenon0..*1PhenomenonTypeQuantityРисунок 44.

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

Одну и ту же функциональностьможно реализовать, используя разные стили.Работа по выделению и классификации архитектурных стилей была проведена в середине1990-х годов. Ее результаты представлены в работах [5,6]. Ниже приведена таблица некоторыхархитектурных стилей, выделенных в этих работах.Виды стилей иконкретные стилиКонтекст использования и основные решенияКонвейеробработки данных(data flow)Система выдает четко определенные выходныеданные в результате обработки четкоопределенных входных данных, при этом процессобработки не зависит от времени, применяетсямногократно, одинаково к любым данным навходе.

Обработка организуется в виде набора (необязательно последовательности) отдельныхкомпонентов-обработчиков, передающих своирезультаты на вход другим обработчикам или навыход всей системы.Важными свойствами являются четкоопределенная структура данных и возможностьинтеграции с другими системами.ПримерыОдин-единственный вывод производится наПакетнаяобработка (batch основе чтения некоторого одного набора данныхна входе, промежуточные преобразованияsequential)организуются в виде последовательности.Сборка программнойсистемы: компиляция,сборка системы, сборкадокументации,выполнение тестов.Каналы ифильтры (pipeand-filter)Нужно обеспечить преобразование непрерывныхпотоков данных.

При этом преобразованияинкрементальны и следующее может быть начатодо окончания предыдущего. Имеется, возможно,несколько входов и несколько выходов.В дальнейшем возможно добавлениедополнительных преобразований.Утилиты UNIXЗамкнутый циклуправления(closed-loopcontrol)Нужно обеспечить обработку постояннопоступающих событий в плохо предсказуемомокружении.Используется общий диспетчер событий, которыйклассифицирует событие и отдает его наасинхронную обработку обработчику событийтакого типа, после чего диспетчер снова готоввоспринимать события.Встроенные системыуправления вавтомобилях, авиации,спутниках.Обработка запросов насильно загруженныхWeb-серверах.Обработка действийпользователя в GUI.Вызов-возврат(call-return)Порядок выполнения действий четко определен,отдельные компоненты не могут выполнятьполезную работу, не получая обращения отдругих.ПроцедурнаядекомпозицияДанные неизменны, процедуры работы с нимимогут немного меняться, могут возникать новые.Выделяется набор процедур, схема передачиуправления между которыми представляет собойдерево с основной процедурой в его корне.Основная схемапостроения программдля языков C, Pascal,AdaАбстрактныетипы данных(abstract datatypes)В системе много данных, структура которыхможет меняться.

Важны возможности внесенияизменений и интеграции с другими системами.Выделяется набор абстрактных типов данных,каждый из которых предоставляет наборопераций для работы с данными такого типа.Внутреннее представление данных скрывается.Библиотеки классов икомпонентовМногоуровневаясистема (layers)Имеется естественное расслоение задач системына наборы задач, которые можно было бы решатьпоследовательно — сначала задачи первогоуровня, затем, используя полученные решения, —второго, и т.д. Важны переносимость ивозможность многократного использованияотдельных компонентов.Компоненты разделяются на несколько уровнейтаким образом, что компоненты данного уровнямогут использовать для своей работы толькососедей или компоненты предыдущего уровня.Телекоммуникационные протоколы в моделиOSI (7 уровней),реальные протоколысетей передачи данных(обычно 5 уровней илименьше).Системыавтоматизациипредприятий (уровниинтерфейсаМогут быть более слабые ограничения, например, пользователяобработки запросовкомпонентам верхних уровней разрешенохранения данных).использовать компоненты всех нижележащихуровней.Клиент-серверИнтерактивныесистемыРешаемые задачи естественно распределяютсямежду инициаторами и обработчиками запросов,возможно изменение внешнего представленияданных и способов их обработки.Необходимость достаточно быстро реагироватьна действия пользователя, изменчивостьпользовательского интерфейса.Данные–представление–обработка(model-viewcontroller, MVC)Изменения во внешнем представлениидостаточно вероятны, одна и та же информацияпредставляется по-разному в нескольких местах,система должна быстро реагировать на измененияданных.Выделяется набор компонентов, ответственных захранение данных, компоненты, ответственные заих представления для пользователей, икомпоненты, воспринимающие команды,преобразующие данные и обновляющие ихпредставления.Представление–абстракция–управление(presentationabstractioncontrol)Интерактивная система на основе агентов,имеющих собственные состояния ипользовательский интерфейс, возможнодобавление новых агентов.Отличие от предыдущей схемы в том, что длякаждого отдельного набора данных его модель,представление и управляющий компонентобъединяются в агента, ответственного за всюработу именно с этим набором данных.

Характеристики

Тип файла
PDF-файл
Размер
465,88 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

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