Главная » Просмотр файлов » Принципы работы с требованиями к ПО. Леффингуэлл (2002)

Принципы работы с требованиями к ПО. Леффингуэлл (2002) (1186169), страница 65

Файл №1186169 Принципы работы с требованиями к ПО. Леффингуэлл (2002) (Принципы работы с требованиями к ПО. Леффингуэлл (2002).djvu) 65 страницаПринципы работы с требованиями к ПО. Леффингуэлл (2002) (1186169) страница 652020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Последней контрольной точкой является демонстрация работы системы в среде клиента. В процессе разработки существует последняя и очень важная контрольная точка. Нужно продемонстрировать, как продукт работает в среде клиента, и продукт должен понра. виться заказчику настолько, чтобы тот принял его. Суть в том, чтобы по окончании про екта клиент был доволен или, в крайнем случае, не слишком недоволен. Работа по проверке нравилыюсти разработки (ла(Ыал(пя) имеет два важных аспекта: (1) показать, что продукт соответствует предъявляемым к нему требованиям и (2) сосредоточить внимание на приемке клиентом конечного результата.

Хотя теоретически это Глава 29. Как правильно построить "правильную" систему... 399 одно и то же, на практике заключительные приемочные испытания часто демонстрируют, что мы следовали требованиям, но потребности пользователя "сместились" по сравнению с более ранними стадиями проекта. В главе 92 обсуждаются оба аспекта проверки правильности, а также высказываются различные мнения о том, что она подразумевает. Как и при верификации, здесь тоже нужен способ, позволяющий убедиться, что затраты времени и средств на проверку правильности или тестирование являются эффективными. И снова в этом может помочь анализ дивидендов (КО1).

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

ванне и реализацию решения имеющейся проблемы. Этому посвящена следующая глава. Глава 30 От понимания требований к реализации системы Основные положения ° Многие требования достаточно легко отобрасзйть 'в технический проект 'и.,: И Существуют требования, глабо связанные'с'проектированием и'реализацией; форма требования существенно иная; ввзникает, проблема ортого;, ' нальности. ° Смягчить проблему ортогональности.можно посредством применения:. объектно ориентированных методов и прецедентов.: ° Прн проектировании с использованием прецедентов все заинтересовиь',. ные лица получают возможность исследовать предложенную реализацию, системы на соответствие вариантам использования и требованиям.

° Хороший проект системы не обязателъно оптимален в том, что касается возможности видеть, где реализовано каждое конкретное требование. Мы создавали сложные программные системы на протяжении более 40 лет. В истории отрасли были трудности н неудачи, но были и несомненные успехи: интерактивная торговля, обработка текстов, медицинские системы жизнеобеспечения, безопасные внергетические установки и многое другое. Очевидно, что мы должны были как-то научиться переходить из мира требований к проектированию и реализации.

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

302 тйасть 6. Построение правильной системы тем и программный код. Это также означает, что можно протестировать значительную часть кода, используя тесты на соответствие определенного модуля определенному требованию, так как будет обеспечена высокая корреляция между формулировкой требова. ния и реализующим его кодом. Например, достаточно несложно обнаружить и проверить правильность кода, выполняющего требование "Поддерживать входные параметры с плавающей точкой до восьми знаков включительно или "Показывать ход компиляции пользователю" (рис.

30.1). В зависимости от типа создаваемой системы данный подход можно применять для значительной части программного кода, и в этом случае процесс преобразования требований в технический проект и реализацию не столь уж сложен. Рюдгээз! = ~ав Вээй йУМэгбс<>гяМГгМЗс) ТГиа РгсдгвэяйагГ.Мгк = гМГГыбс Рнс..у0.1. ггреебриаоваигге жраяиэивий в ирэекгя и реализацию Проблема ортогональности Но когда дело касается требований вида "Система должна обслуживать до 100 тысяч тор говых операций в час" нли "Система должна разрешать редактирование, основываясь на уровне безопасности, установленном системным администратором", все стано.

антса несколько сложнее. Эти требования сложно связать с проектом системы и '"" ® реалиэационным иодом; они ортогональны или практически ортогонэльны. Не иа существует озответствия один.к.одноиу, которое значительно упрощает реалгг- ээцию и проверку правильности. И тому есть несколько причин. ° Требования говорят об элементах реального мира, таких как двигатели и чеки, в то время как код оперирует стеками, очередями и алгоритмами вычислений.

Это два свверпгенно различных языка. ° Определенные требования, такие как требования произвогпгтельности, ииеют мало общего с логической структурой кода, но тесно связаны со структурой обработки (как взаимодействуют различные части кода, насколько быстро выполняется определенный Глава 30. От понимания требований к реализации системы 303 фрагмент, сколъко прерываний поступает при нахождении в модуле А и т.д.). Когда физически невозможно отобразить требование в логическую структуру, то невозможно и "указать", где в реализации отражено данное требование. ° Для осуществления функций, предусмотренных некоторыми функциональными требованиями, необходимо взаимодействие нескольких элементов системы.

Рассмотреть часть — это ие то же самое, что рассматривать целое; реализация требования оказывается распределенной по нескольким фрагментам кода. ° Возможно, самым важным является то, что при проектировании системы эачас. тую руководствуются не соображениями легкости доказательства того факта, что некое требование удовлетворяется, а другими, гораздо более важными мотивами. Например, стараются оптимизировать дефицитные ресурсы с помощью архитектурных образцов (которые хорошо зарекомендовали себя в других приложениях, но не полностью соответствуют настоящему), посредством повторного использования программного кода, а также применения закупаемых компонентов, которые имеют собственное управление и функциональное поведение и т.д. Те из нас, кто создавал системы высокой надежности и/или должен был по условиям контракта продемонстрировать на бумаге прямую корреляцию между требованиями и программным кодом, конечно, старались сделать это.

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

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

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

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

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

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

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

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