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

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

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

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

ною кшштруюйги теории множеств. Опарыши опРедщщются.шк,' ' ' -' " ' "'.нйфооурбд)~~;,,' ' ~;"'!;:сйфеми.,это'упрев(ает создание специфиацийпове)(ш)йпчпгспйф ' "'" .,фут((фф.„'~$~~ Упражнения 9.1. Обьясните, почему архитектурное проектирование системы должно предшествовать разработке формальной спецификации, 9.2. Перед вами поставлена задача "продажи" методов формальной спецификации организации, разрабатывающей программное обеспечение. Как вы будете объяснять преимущества формальной спецификации скептически настроенным разработчикам ПО? 9.3, Объясните, почему необходимо определять интерфейсы подсистем как можно точнее и почему ал- гебраическая спецификация наиболее подходит для специфицирования интерфейсов подсистем. 9.4, Абстрактный тип данных, представляющий стек, имеет следующие операции: Имв (Создать) — создает пустой стек; Рпэй (Добавить) -добавляет элемент в вершину стека; Тор (Вершина) — возвращает элемент на вершине стека; йе(гас( (Удалить) — удаляет элемент из вершины стека и возвращает модифицированный стек; Ептр(у (Пустой) — возвращает значение истины, если стек пустой.

Определите этот абстрактный тип данных, используя алгебраическую спецификацию. 9.6. В примере управления сектором воздушного пространства условием безопасности является то, что два самолета не мокнут находиться внутри 300-метровой зоны по высоте в одном секторе. Измените спецификацию, показанную на рис. 9.7, позволяющую самолетам занимать одинаковую высоту, если расстояние по горизонтали между ними не менее 8 км. Можно игнорировать самолеты в соседних секторах. 9.6. Банковские автоматы используют информацию с карточки клиента, предоставлмощую идентификатор банка, номер счета и персональный идентификатор клиента. Они также получают информацию из центральной базы данных и вносят в нее изменения пс завершении транзакции.

Используя ваши знания работы банкоматов, напишите 3-схему, определяющую состояния системы, проверку карточки клиента и снятие денежных средств. 9Л. Измените схему инсулинового насоса, показанную на рис. 9.10, и схему 008АОЕ, показанную на рис, 9.11, таким образом, чтобы пользователь системы мог отменить вычисленную дозу и сам определить дозу, необходимую для иньиции. Условия безопасности, указанные в схемах, должны сохраниться. Тот факт, что система работает в режиме отмены, должен отобразиться на индикаторе.

9.В. Вы системный инженер и вас просят назвать наилучший способ разработки программного обеспечения для сердечного стимулятора, критического по обеспечению безопасности, Вы предлагаете разработать формальную спецификацию системы, но ваше предложение отвергнуто менеджером. Вы считаете, что его доводы не обоснованы и базируются на предубеждениях. Будет ли этичной разработка системы с использованием методов, которые вы считаете неподходящими? л а 0 э э, — ь Ц '~' ° э, «ьь» Архитектурное проектирование Цель настоящей главы — познакомить читателя с ар. хитектурпй программного обеспечения и концеп.

циями архитектурного проектирования, Прочитав эту главу, вы должньс попинать, для чего необходимо архитектурное проектирование ПО; знать различные модели, используемые при до- кументировании системной архитектуры; иметь представление о разных типах архитектур ПО; структурной модели системы, модели системной декомпозиции по управлению и модели модульной декомпозиции; знать модели проблемно-зависимых архитектур, которые используются как основа для архитектур специализированных программных систем и как эталон при сравнении различных архитектур, 10.1. Структурирование системы 10.2. Модели управленил 10.3.

Модульная декомпозиция 10.4, Проблемно-зависимые архитектуры 206 'Часть Ш, Проектирование Большие системы всегда можно разбить на подсистемы„предоставляющие связанные наборы сервисов. Архижекмуримм ироектировлкием называют первый этап процесса проектирования, на котором определяются подсистемы, а также структура управления и взаимодействия подсистеи. Целью архитектурного проектирования является описание орки. текглурм ярогромм ного обесяечеи ига В разделе 3.4 раасматривэлааь общая структура процесса проектирования. На рис.

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

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

1. Сжруквгурировокие гиовемьь Программная система структурируется в виде совокупности относительно независимых подсистем. Также определяются взаимодействия между подсистемами. Этот этап рассматривается в разделе 10.1. 2. Моделирование уировлеиил. Разрабатырается базовая модель управления взаимоотно. шениями между частями системы.

Этот этап рассматривается в разделе 10.2. Уь Модульная оекомпогикия. Каждая определенная на первом этапе подсистема разбиваетая на отдельные модули. Здесь определяются типы модулей и типы их взаимосвязей. Этот этап рассматривается в разделе 10ть Как правило, эти этапы перемежаются и накладываются друг на друга.

Этапы повторяются для все более детальной проработки архитектуры до тех пор, пока архитектурный проект не будет удовлетворять системным требованиям. Четких различий между подсистемами и модуляии нет, но, думаю, будут полезными следуюгцие определения. 1. 1)ооаиопемо — это система (т.е. удовлетворяет "классическому" определению "система"), операции (методы) которой нс зависят от сервисов, предоставляемых другими подсистемами. Подсистемы состоят из модулей и имеют определенные интерфейсы, с помощью которых взаимодействуют с другими подсистемами. 2. Мадуиь — это обычно компонент системы, который предоставляет один или несколько сервисов для других модулей. Модуль может использовать сервисы, поддерживаемые другими молуляин. Как правило, модуль никогда не рассматривается как независииал система.

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

Графи. ческие схемы моделей системы позволяют взглянуть на архитектуру с разных сторон. Как правило, разрабатывается четыре архитектурные модели, 1. Статическая структурная модель, в которой представлены подсистемы или компо. ненты, разрабатываемые в дальнейшем независимо. 2. Динамическая модель процессов, в которой представлена организация процессов во время работы системы. 3. Интерфейсная модель, которая определяет сервисы, предоставляемые каждой подсистемой через общий интерфейс. 4. Модели отношений, в которых показаны взаимоотношения между частями системы, например поток данных между подсистемами. Ряд исследователей при описании архитектуры систем предлагают использовать специальные языки описания архитектур.

В книге 129) рассматриваются основные свойства этик языков. В них основными архитектурными элементами являются компоненты и коннекторы (объединяющие звенья); эти языки также предлагают принципы и правила построения архитектур. Однако, как н другие специализированные языки, они имеют один недостаток, а именно: все они понятны только освоившим их специалистам и почти не используются на практике. Фактически использование языков описания архитектур только усложняет анализ систем.

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

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

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

Чтобы уменьшить взаимодействие между компонентами, лучше ис. пользовать крупномодульные компоненты, а не мелкие структурные элементы. 2. Заиия1еннаовь В атом случае архитектура должна иметь многоуровневую структуру, в ко. торой наиболее критические системные элементы защищены на внутренних уровнях, а проверка безопасности этих уровней осуществляется на более высоком уровне. 208 Насть Ш.

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

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

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

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