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

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

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

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

На рис. 12.12 представлена диаграмма состояния объекта Метеостанция, которая показывает реакцию объекта на запросы от разных сервисов. Рис 12. 12. Дилгрлмлл состояний обтиктл Метеостанция Эту диаграмму можно прокомментировать следующим образом. 1. Если объект находится в состоянии Останов, он может отреагировать только сообщением запуск(), Затеи он переходит в состояние ожидания дальнейших сообщений. Немаркированная стрелка с черным кружком указывает на то, что это состояние является начальным. 2. В состоянии Ожидание система ожидает дальнейших сообщений. При получении сообщения завершение() объект возвращается в состояние завершения работы Останов. 3. Если получено сообщение отчет(), то система переходит в состояние обобщения данных Обобщение, а затем в состояние передачи данных Передача, в котором информация передаетсл через объект КонтроллерКоммуникаций.

Затеи система возвращается в состояние ожидания. 4. Получив сообщение калибровать(), система последовательно проходит через со. стояния калибровки, тестирования, передачи и лишь после этого переходит в состояние ожидания. В случае получения сообщения тестироватьо, система сразу переходит в состояние тестирования. 12. Объектно-ориентированное проектирование 261 5.

Если получен сигнал время, система переходит в состояние сбора данных, в котором она собирает данные от приборов. Каждый прибор по очереди также получает инструкцию "снять свои данные". Обычно не нужно создавать диаграммы состояний для всех определенных в системе объектов. Большинство объектов относительно просты, и модель конечного автомата просто излишняя. 12.2.5.

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

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

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

Например, метод завершение без параметров применяется к целой станции, а тот же метод с параметрами может отключить один прибор. Листинг 12.2. Описание интерфейса метеостанции 1псеггасе Метеостанция риЫ1с чо1О Метеостанция()> рпЫтс чотб запуск(); рцЬ11с чозб запуск (Прибор 1)г рцЬ11с чосб завершение(); рцЫ1с чодб завершение(Прибор 1)г риЫ1с чодб отчетПогода(); риЬ11с уобб тестировать(): рцЫ1с чодб тестировать(Прибор 1)г риЫ1с чобб калибровать (Прибор 1) > риЫзс 1пс получитьндцомер (] г )//Метеостанция 362 Масть 111.

Проектирование 12.3. Модификация системной архитектуры Главное преимущество объектно. ориентированного подхода к проектированию системы состоит в том, что он упрощает задачу внесения изменений в системную архитекгу. ру, поскольку представление состояния объекта не оказывает на нее никакого влияния. Изменение внутренних данных объекта не должно влиять на другие объекты систеиы. Более того, так как объекты слабо связаны пожду собой, обычно новые объекты просто вставляются без значительных воздействий на остальные компоненты системы.

Рке. 12. 13. Новые абсенты дел клбеюдения м злгРлэхеыкем воздухл Чтобы проиллюстрировать стабильность обьектно ориентированного подхода, предположим, что в каждую метеостанцию потребовалось добавить возможность наблюдения эа степенью загрязнения скрывающей среды, т.е. необходимо добавить приборы, измеряющие состав воздуха, чтобы вычислить количество различных загрязнителей. Снятые измерения по загрязнению воздуха передаются с таким же интервалом времени, что и остальные метеорологические данные. Для иодификации проекта необходимо внести ряд изменений. К Класс объектов, именуемый КачествоВоздуха следует вставить как часть объекта Метеостанция на одном уровне с объектом МетеоДанные. 2.

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

Необходимо добавить объекты, которые представляют типы приборов измеряющих степень загрязнения воздуха. В нашем примере можно добавить приборы, которые намеряли бы уровень оксида натрия, дыма и паров бензина. 12. Объектно-ориентированное проектирование 263 На рнс. 12.13 показан объект Метеостанция и новые объекты, добавленные в систему. Зэ исключением самого верхнего уровня системы (объект Метеостанция) в имеющиеся объекты не потребовалось вносить изменений.

Добавление в систему сбора данных о загрязнении воздуха не оказало никакого влияния на сбор метеорологических данных. 6:. эгъ.КЛЮЧЕззЫЕ ПОНЯТИЯ'въ-'.;ЫьеФФв%„'::.;:,'-:==6)а)оь . - .;=...г=:г ': чх„ ь~';:-'При','объеюногориентироязоиюм йроьйпированйи основнэые",ю)йпонеиты.программной системы к;;;~~)г представлрюуся)ик объектысо своими состояниями и оперицияыи. ',. '' ~ -,Объекпзтпрвдостигигют сервисы(методы) другим объектам и создиотся в реааном вреыещг на ' ;.,':," основе.бпределения класса обьектов. ° '".' Объектй'могут''быть р)йлизоеаны последовательно 'и параллельно.

Параллельный объект может ,,';-" бып',пассивным, у второго состояние изменяется только через его интерфейс, или активнын, ко; ъ" ~", вторый,можетчизмеепь свое'сасччиние без вмешательсща извне.„'.,'", г" ":в „"';Уни4яцировииый язык моделирования 0МС:создан для поддержания сйстем нотаций, которые: Ф'.)гч.) применяются при докук(вщйравании обьекгно-ориентированных п)юектов :,".я'-"';.',Процесс объепно-орщщпг(юзанного проеаирования состоит из следующих этапов: проекщровафф';ние арявтвауры системы, иденвфиюгция объектов системы, описание аркнтехтуры различными .

-., т„.""-уэгмоделями обьектов и документирование интерфейсов объеюов. 'г,", т~ В процессе объектно-ариипированного'проектирования возможно создание ряда различных мо- ' ~4! ';,';.делей.' Все модели можно разделить на статические (модели классов, модели обобщения, модели "," '- 'агрегирования) н динамические (модели последователыюстей, модели конечного автомата). ° ', " Следует четв опредеипн йнтерфейсы обьектов, так как онн используются другими объектами, г'-,чячй Для документирования интерфейсов объектов можно использовать языки программирования, на,ьФФВажНЫМ ПрЕИМу1цвотВОМ'ОВЪЕКтиа-ОрнвитнрОВаННОГО ПрОЕКтнрОВЮВЮ язпявтоя тО, ЧтО ОН улрюща- ' -"0()) . г(($,*,,' ет процесс мо))ифииации системы.

Упражнения 12.1. Объясните, почему в проектировании систем применение подхода, который полагается на слабо связанные объекты, скрывающие информацию о своем представлении, приводит к созданию системной архитектуры, которую затем можно легко модифицировать. 12,2, Покажите на примерах разницу между объектом и классом объектов. 12хк При каких условиях можно разрабатывать систему, в которой обьекты вьнюлнвогся параллельно? 12.4. С помощью графической системы нотации 0МС спроектируйте следующие классы объектов с опрццеленными атрибутами и операциями: ° телефон; ° принтер персонального компьютера; ° персональная стереосистема; ° банковские расчеты; ° каталог библиотеки.

12.5. Рациботайте более детальный проект метеостанции, добавив описания интерфейсов обьекгов, изображенных на рис.! 2.9. Онн могут быть записаны с помощью языков эата, С++ или 0йй 12.6. Раз)иботайге проект метеостанции, показывающий взаимодействие между подсистемой сбора данных и приборами, собирающими данные. Воспользуйтесь диаграммой последовательностей. 2Б4 Часть Ш.

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

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

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

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

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