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

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

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

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

четыре проблемы )42). 1. Педогюаюо оьый коипфавь иад фуипциопаььиоеюью и лрошводипильиопнью каььифчгеких иродукпию. Хотя считается, что нх интерфейсы известны, пс исключена вероятность наличия скрытых операций, которые буд>т "пересекаться" с системными операциямн. Решение этой проблемы может стать приоритетом для системных разработчиков, использующих коммерческие продукты, причем эта проблема, оче. видно, не связана с производителем данного продукта.

2. Пробваььы, связанные еоргаишацией взаииодейепюил каимерчеепих сиепюэс Иногда сложно подобрать коммерческие продукты для совместной работы, поскольку каждый про. дукт разрабатывается на основе различных предположений по поводу его исполь зования. В ) 127) приведены результаты эксперимента по интегрированию четырех различных коммерческих продуктов, прп атом было установлено, что работа трех продуктов основывалась на одних н тех же событиях, однако все они нспользовапн разные модели событий и каждый из них считал, что имеет первоочередной доступ к очереди событий. Как следствие, на разработку системы было потрачено в плть раз больиье усилий, чем предполагалось.

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

4. Поддержка производипиляии кшоьерюеких продух>пов. Уровень поддержки, оказываемой производителями коммерческих продуктов, варьируется в широкпк пределах, поскольку этн системы распространяются свободно. Поддержка производителей особенно важна в тех случаях, когда у разработчиков возникают проблемы, связанныс с получением доступа к исходному коду и к подробной документации системы. Несмотря на то что производитель берет на себл обязательства по поддержке своих систем, изменение сптуацшь па рынке н экономических условий может привести к топчу, что ему станет трудно продолжать выполнение взятых обязательств. Напри.

мер, производитель коммерческой системы решил больше пе поддерживать разви. тие какого-либо продукта из.за ограниченного спроса нли, возможно, передал его другой компании, которая нс хочет поддерживать все его продукты. 294 а%эсть П1. Проектирование Конечно, маловероятно, что все эти проблемы возникнут в каждом случае использова. иия коммерческих пролуктов. По моим приблизительным подсчетам. во многих про. граммных проелтах, гштегрирующих коммерческие системы, может появитьсл по крайней мере одна нз перечисленных проблем. Соответственно преимущества в стоимости и времени выполнения работ по использованию коммерческих пролуктов окажутся меньше, чем предполагалось в первоначальнол~ оптимистическом варианте.

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

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

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

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

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

14.2, четко определенному интерфейсу запросов и поставщиков сервисов. Чтобы повторно использовать такие компоненты, как правило, необходимо построить упаков<цик (программное средство для создания оболочки и стандартизации внешних обращений). Упаковщик скрывает исходный код и предоставляет интерфейс для внешних компонен. тов, открывающий доступ к предоставляемым сервисам. При создании компонентов, предназначенных для повторного использования, прслполагается предоста<иение очень общего интерфейса с операциями, которые обеспечивают разные способы использования компонентов, з!тоба< сделать компоненты практичными в использовании, требуется минимальный интерфейс, простой для понимания. С другой стороны.

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

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

Например, приложение может иметь версии для <иатформ <з<)п<)очч ХТ, Яо1апэ или 1бпцх. В данном случае функциональность приложения обычно не меняется; «одвсрп<ются нэмспенням только тс компоненты, которые от. вечают за взаимодействие с аппаратными средствами и оперы<ионной системой. 2. Конфи~~п<<иокиол сиоиилоигоэиа, прн которой разные версии приложения создаются для управления различными периферийными устройствами. Например, разные версии системы безопасности могут зависеть от типа используемой радиосистемы. В этом случае изменяется функциональность приложения для того, чтобы соответствовать перифернйиыл< устройствал<, и необходимо изменить те компоненты, которые связаны с периферийными устройствами.

3. Функциональная отак<о<ил<и<я, прн которой создаются разные версии приложения для заказчиков с различными требованиями. Например, система автоматизации библиотек может иметь несколько молифнкаций в зависимости от того, где она применяется — в публичной, справочной нли университетской библиотеке. В этом случае изменяются компоненты.

реализующие функциональность системы, и до. бавляются новые компоненты. Чтобы наглядно представить эту технологию повторного использования, рассмотрим эрхнтектзру системы управления рве)реал<и, изображенную на рис. 14.7. Подобные снеге. мы испол<вуются в органиэациях лля отслеживания активов (ресурсов, запасов) н управ- 296 т4асть ТП. Проектирование пения ими. Например.

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

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

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

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