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

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

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

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

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

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

В систему легко добавип новый сервер и интегрировать его с осталъной частью системы или же обновить серверы, не воздействуя на другие части системы. В главе 11 архитектуры распределенных систем рассматриваются более подробно. 10.1.3. Модель абстрактной машины Модель архитектуры абстрактной машины (иногда называемая многоуровневой моде лью) моделирует взаимодействие подсистем.

Она организует систему в виде набора уровней, каждый из которых предоставляет свои сервисы. Каждый уровень определяет лбст)глквгную машину, машинный язык которой (сервисы, предоставляемые уровнем) использу. ется для реализации следующего уровня абстрактной машины. Например, наиболее распространенный способ реализации языка программирования состоит в определении идеальной "языковой машины" и компилировании программ, написанных на данном языке, в код этой машины. На следующем шаге трансляции код абстрактной машины конвертируется в реальный машинный код. Хорошо известным примером такого похода может служить модель Оя!г сетевых протоколов [ЯЬ2), обсуждаемая в разделе 10.4.

Другим примером является трехуровневая мо. дель среды программирования на языке Ада [66]. На рис. 10.4 изображена подобная мо. дель и показано, каке помощью модели абстрактной машины можно представить систему администрирования версий. Система администрирования версий основана на управлении версиями объектов и ггра доставляет средства для полного управления конфигурацией системы (см.

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

Для управления баэамн данных используются средства основной операционной системы и ее файловая система. Рнс. 10.4. Модель лбапрлктной млшпнм для системы и дми нкап ри)сования всрсгсй ОЭГ (О(ни $)нат гпксатнсагтг - юапмодсйсоюнс отк)гнтык аиоюм)- мсжгэгнл(годнло гг)Мс)гамма агин. до(гтюлзип ойнгнл доннами между канпьюннутмнн скансмпми нл оснввс амиу~ювнюой модссн ггьотсновов пс)гсдггчи донн нк в откугнвгнк агстсмвк. Этл людссь гг)гсднаженл д)сждунлфодной овсвггпслапаг по стлггдп)гтн.

гвэнн )ЭО Опгспгвйопл! ШандапЬ Огяпггпл!юн). - Прим. рел. 10. Архитектурное проектирование 212 Многоуровневый подход обеспечивает пошаговое развитие систем — при разработке какого-либо уровня предоставляемые им сервисы становятся доступны пользователям.

Кроме того, такая архитектура легко изменяема и переносима на разные платформы. Изменение интерфейса любого уровня повлияет только на смежный уровень. Так как в мно. гоуровневых системах зависимости от машинной платформы локализованы на внутренних уровнях, такие системы можно реализовать на других платформах, поскольку потребуется изменить только самые внугреннис уровни. Недостатком многоуровневого подхода является довольно сложная структура системы.

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

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

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

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

Такие модели можно разбить на два класса, в зависимости от то. го, последовательно или параллельно реализовано выполнение управляемых подсистем. 1. Модель амэовпвоаврпэкь Это известная модель организации вызова программных процедур "сверху вниз", в которой управление начинается на вершине иерархии процедур и через вызовы передастся на более нижние уровни иерархии. Данная модель применима только в последовательных системах. 2. Модель дксгмтчфа. Применяетсл в параллельных системах. Один системный компонент назначается диспетчером и управляет запуском, завершением и коордипиро. ванием других процессов системы.

Процесс (выполняемая подсистема или молуль) 214 з1асть 1П. Проектирование может протекать параллельно с другими процессами. Модель такого типа приме. пима также в последовательных системах, где управляющая программа вызывает отдельные подсистемы в зависимости от значений некоторых переиенных состояния.

Обычно такое управление реализуется через оператор сазе. Модель вызова-возврата представлена на рис. 10.5. Из главной программы можно вызвать подпрограммы 1, 2 и 3, нз подпрограммы 1 — подпрограмиы 1.1 и 1.2, из подпрограммы 3 — подпрограммы 3.1 и 3.2 и т.д. Такая модель выполнения подпрограмм ив явля. вшгя структурной — подпрограмма 1.1 не обязательно является частью подпрограммы 1. Подпрогравма !.! Подпро~рамма !.2 Подпрограмма 3.! Подпрограмма 2.2 Ркс. 10.5.

Модель вьиввл.возврппш Подобная модель встроена в языки программирования Ада, Риса! и С. Управление переходит от программы. расположенной на самон верхнем уровне иерархии, к подпро. грамме более нижнего уровня. Затем происходит возврат управления в точку вызова под. программы. За управление отвечает та подпрограмма. которая выполняетсл в текущий момент; она может либо вызывать другие подпрограммы, либо вернуть управление вы.

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

Например, объект ) ага запрашивает сервис из другого объекта посрелством вызова соответствующего метода. Жесткая и ограниченная природа модели вызова-возврата явлпется одновременно и преимушеством и недостатком. Преимущества модели проявляются в относительно про. етом анализе потоков управления, а также при выборе системы, отвечающей за конкрсзный ввод данных. Недостаток модели, как вы узнаете из главы 18, состоит в сложной об. работке исключительных ситуаций. 1!а рис.

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

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

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

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