Главная » Просмотр файлов » И. Соммервилл - Инженерия программного обеспечения

И. Соммервилл - Инженерия программного обеспечения (1133538), страница 66

Файл №1133538 И. Соммервилл - Инженерия программного обеспечения (И. Соммервилл - Инженерия программного обеспечения) 66 страницаИ. Соммервилл - Инженерия программного обеспечения (1133538) страница 662019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

Кроме того, необходимо идентифицировать ланпыс, собранные со всех станций; таким образом, каждая метео. станция должна иметь собственный идентификатор. Я решил нс создавать объекты, ассоциированные с активными объектами каждого прибора. Чтобы гнать данные в нужное время, объекты приборов вызывают операцию сбор обьскта МетеоДаиные. Активные объекты имеют собственное управление, в нашем примере предполагается, что каждый прибор сам определяет, когда нужно проводить замеры.

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

Такпс модели служат мостом между требованиями к системе и се реализацией. А это значит, что к данным люделялг прсдьлвлены противоречивые требования. Они должны быть аб. страктпьпш настолько, чтобы лишние данные не скрывали отнон~енггл между моделью архитектуры и требованиями к спсгсме. Однако, чтобы программист мог принимать ревенпл по реализации, модель должна содержать достаточное количество информации. Этп противоречие могкно обойти, разработав несколько моделей разного уровня детализации. '! ам, где сущсгтэукт тссцыс рабочие связи между разработчиками требований, проектировщиками и программнстэмн, можно обойтись одной обобсценной моделью. В этом 12. Объектно.

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

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

Существуег множество систеи, которым требуются все виды моделей. Но уменьшение числа созданных моделей сокращает расходы и время проектирования. Существует два типа объектно-ориентированных моделей системной архитектуры. 1. Статические модели, которые описывают статическую структуру системы в терминах классов объектов и взаимоотношений между ними. Основными взаимоотноше. пнями, которые документируются на данном этапе, являются отношения обобще ния, отношения "используют-используются" и структурные отношения, 2.

Динамические модели, которые описывают динамическую структуру системы и показывают взаимодействия мелщу объектами системы (но не классами объектов). Документируемые взаимодействия содержат последовательность составленнык объектами запросов к сервисам и описывают реакцию системы на взаимодействия между объектами. В языке моделирования ()МЬ поддерживается огромное количество возможных статических и динамических моделей. Буч (Воос)з, [55) ) предлагает девять различных типов схем для представления моделей. Чтобы показать все модели, не хватит места, да и не все из них пригодны для примера с метеостанцией. Здесь рассматриваются три типа моделей.

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

Оин представляются в ()М1. с помощью диаграмм по. следовательности или кооперативных диаграмм. Это динамические модели. 5. Модели конечного автомата, которые показывают изменение состояния отдельных объектов в ответ на определенные события. В 1)МЬ онн представлены в виде диаграмм состояния. Модели конечного автомата являются динамическими.

Другие типы моделей рассмотрены раисе в этой и предыдущих главах. Модели вариантов использования показывают взаимодействия с системой (см. рис. 12.7, 6.11 и 6.12), модели объектов дают описание классов объектов (см. рис. 12.2), модели обобщении и наследования (см. рис. 7.8-7.10) показывают, какие классы являются обобщениями других классов, модель агрегирования (см. рис, 7.11) выявляет взаимосвязи между коллекциями объектов.

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

12.6, где изображены подсистемы системы построения карт погоды. В ЫМЬ пакеты являются структурами инкапсуляции и не отображаются непосредственно в объектах разрабатываемой системы. Однако они могут отображаться, например, в виде библиотек ) ага. 258 тХасть 111. Проектирование На рис. 12.10 показаны объекты подсистем метеостанции. В данной модели также представлены некоторые связи. Например, объект КоитропперКоммунихацнй связан с объектом Метеостанция, а объект Метеостанция связан с пакетом Сбор данных. Совместная модель пакетов и классов объектов позволяет показать логически сгруппированные системные элементы.

Рис. 12.! О. 1Улкетм системы метеостанции Модель последовательностей — одна из наиболее полезных и наглядных динамических моделей, которал в каждом узле взаимодействия документирует последовательность происходлщих между объектами взаимодействий. Опишем основные свойства модели последовательности. 1. Объекты. участвующие во взаимодействии, располагаются горизонтально вверху диаграммы. От каждого объекта исходит пунктирная вертикальная линия — линия жизни объекта. 2. Время направлено сверх> вниз по пунктирным вертикальным линиям. Поэтому в данной модели легко увидеть последовательность операций. 3.

Взаимодействия между объектами представлены маркированными стрелками, связываюгппмп вертикальпыс линии. Это не поток данных, а представление сообщений нли событий, основных в даннолс взаимодействии. 4. Тонкий прямоугольник на линии жизни объекта обозначает интервзл времени, в течение которого данный объект был > правляющим объектом системы. Объект берет на себя >правление в верхней части прямоугольника и передает управление другому объекту внизу прямоугольника. Если в системе имеется иерархия вызовов, то управление ие передастся до тех пор, пока не завершится последний возврат в вызове первоначального метода. 12.

Объектно-ориентированное проектирование 259 Сказанное выше проиллюстрировано на рис. 12.11, где иэобрюкена последовательность взаимодействий в тот момент, когда внешняя система посылает метеостанции запрос на получение данных. Диаграмму нежно прокомментировать следующим образом. 1. Объект:КонтроплерКоммуникаций, являющийся экземпляром одноименного класса, получает внешний запрос 'отправить отчет о погоде". Он подтверждает получс" ние запроса. Половинная стрелка показывает, что, отправив сообщение, объект не ожидает ответа.

2. Этот объект отправляет сообщение объекту, который дпляется экземпляром класса Метеостанция, чтобы создать метеорологичесднн. отчет. Объект:КонтроллерКоммуникаций затем приостанавливает работу (его прямоугольник управления заканчивается). Используемый стиль стрелок показывает, что объекты:КонтроллерКоммуникаций н:Метеостанция могут выполннтьса параллельно. 3. Объект, который является экземпляром класса Метеостанция, отправллет сообщение обьекту;МетеоДаииые, чтобы поднести итоги по метеорологическим данным. Здесь другой стиль стрелок указывает па то.

ч го объект: Метеостанция ожидает ответа. 4. После составления сводки. управление передаетсл объекчу:Метеостанция. Пунк- тирная стрелка обозначает возврат управления. 5. Этот объект передает сообщение объекту:КонтроллерКоммуникаций, иэ которого был прислан запрос, чтобы передать данные в удаленную систему. Затем объект :Метеостанция приостанавливает работу'. 6.

Объект;КонтроллерКоммуникяций передает сводные данные в удаленную систему, получает подтверждение и затем перекодит в состояние ожидания след>ющего запроса. Рнс. 12.11. Поеледовнвильносыь онеровнй во врелсн сбсрл донник Из диаграмиы последовательностей видно, что объекты КонтроллерКоммуникаций и Метеостанция в действительности явллются параллельными процессами, выполнение ко. торых может приостанавливаться н снова возобновляться. Здесь с>ществснно, что экзем- 260 Часть Ш. Проектирование пляр объекта КонтроллерКоммуникаций получает сообщения от внешней системы, расшифровывает полученные сообщения и инициализирует дел л вия метеостанции.

При документировании проекта для каждого значительного взаимодействия необходимо создавать диаграмму последовательностей. Если разрабатывается модель вариантов использования, то диаграмму последовательности нужно создавать для каждого заданного варианта. Диаграммы последовательностей обычно применяются при моделировании комбинированного поведения групп объектов, однако при желании можно также показать поведение одного объекта в отвез Яа обрабатываемые им сообщения. В 1)МЬ дав описания моделей конечного автомата исподъууются диаграммы состояний.

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

Тип файла
DJVU-файл
Размер
8,79 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

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