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

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

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

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

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

1. Алгебраический подход, при котором система описывается в терминах операций и нх отногпеннй. 9. Формальные спецификации ПО 191 2. Подход, ориентированный на моделирование, при котором иодель системы стро. итси с использованием математических конструкций, таких, как множества и по. следовательности, а системные операции определяются тем, как онн изменлют со. стояния системы. о а Без фсрмеианей слецифинции С формальной специФикацией Рис 9 3. Стоимососа рпзроботки ПО с форзоыышй согкийуикоцией Для разработки формальных спецификаций последовательных и параллельных систем в настоящее время создано несколько языков, представленных в табл.9.1. В атой главе описаны оба подхода. Приведенные далее примеры показывают, как построение фор.

мальпых спецификациИ приводит к точным и детализированным спецификациям, но здесь пе обсуждаются языки разработки спецификаций и методы специфицировании. Вы можете получить более полное описание языков разработки формальных спецификаций на ауеЬ.странице данной книги. Таблица 9.1. Языки разработки формальных спецификаций Тип языка Последовательные системы Параллельные системы Алгебраический [лгс!а [144, 145], ОВ] [123) Босое [52) Основанный на моделях Х [325), 70М [192], В [343] Сбр [163], сети Петри [277] 9.2. Специфицирование интерфейсов Большие системы обычно разбиваются на подсистемы, которые разрабатываются независимо друг от друга.

Подсистемы месут использовать другие полспстемы, позтол~у пс. обходимой частью процесса специфпцированил является определение интерфейсов подсистем. Если интерфейсы определены и согласованы, подсистемы можно разрабатывать независимо друг от друга. 192 'Часть 11. Требования Интерфейс подсистеиы часто определяется как набор абстрактных типов данных и объектов (рис.

9.4), прн этом только через интерфейс доступны описание данных и опе. рации над ними. Поэтому спецификацию интерфейса подсистемы можно рассматривать как объединение спецификаций компонентов, что в итоге и составит описание интерфейса подсистемы. Объвпн яяшрфейсов Ркс. 94. Обыкжгаинвмрфейшэ лодгисмак Точные спецификации интерфейсов подсистем необходимы для разработчиков, которые пиш)т программный код, обращающийся к сервисам других подсистем. Спецификации интерфейсов содержат информацию о том, какие сервисы доступны в других подсистемах и как получить к ним доступ. Ясный и однозначный интерфейс подсистем уменьшает вероятность ошибок во взаимоотношениях между ними.

Алгебраический подход первоначально был разработан для описания интерфейсов абстрактныхх типов данных, где типы данных определяются скорее спецификациями операций над данными, чеи способом представления самих данных. Это очень похоже на опре. детепнс классов объектов. Алгебраический подход к формальным спецификациям определлет абсгракгный тип данных в терминах операций над данными. Первый метод спецификации абстрактных типов данных описан в работе (143].

В [78] этот метод был расширен, чтобы предоставить возможность создания завершенной системной спецификации. Одновременно была разработана алгебраическая спецификация абстрактных типов данных (220]. В этой связи отметим, что, вероятгю, наилучшим из известных лзыков алгебраической спецификации является 1.АКСН ]145]. Структура спецификации объекта показана на рис. 9.5 и состоит иэ четырех компонентов. ° Введение, где объявляется класс (вой) объектов.

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

чормальная спецификация дополняет это описание, обеспечивая однозначны(! синтаксис и семантику операций. ° Часть сигнатур, в которой определяется синтаксис интерфейса объектного класса илн абстрактного типа данных. Здесь описываются имена операций, количество и типы нх параметров, а также классы выходных результатов операций. ° Часть аксиом, где определлется семантика операций посредством создания ряда аксиом, которые характеризуют поведение абстрактного типа данных. Эти аксио. 9. Формальные спецификации ПО 193 мы связывают операции создания объектов класса с операциями, проверяющими их значения. Рис 9.5.

Смрукэ(ура алмэракчэасэк скевификокии Процесс разработки формальной спецификации интерфейса подсистемы включает следующие действия. 1. С~п~укмуркрэваниг сягкнфккацик. Представление неформальной спецификации интерфейса в виде множества абстрактных типов данных или объектных классов. Также неформально определяются операции, ассоциированные с каждым классом. 2.

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

4. Оеу)э)миыьнаэ сяехифккацкл ояэракий. Написание неформальной спецификации для каждой операции, где должно быть указано, как операции воздействуют на определяемый класс. 5. Определенна гинеакамл тирлкик. Определение синтаксиса и параметров для каждой операции. Это часть сигнатуры формальной спецификации. 6. Оиредэмяие аксиом. Определение семантики операций путем описания условий, ко- торые должны выполняться для различных комбинаций операций. Для пояснения методики алгебраической спецификации, рассмотрим простую структуру данных связанного списка, спецификация которого показана на рис.

9.6. Предположим, что первый этап разработки спецификации списка, а именно структурирование спецификации, выполнен. Имя спецификации и имя класса может быть одним и тем же, хотя полезно проводить различие между ними, используя какое-либо соглашение. Например, я использую заглавные буквы для имени спецификации ((.(ЗТ) и пропис. ные буквы с первой заглавной буквой для имени класса (0в1). Поскольку списки могут со. держать элементы разных типов, спецификация имеет общий параметр Е(ещ (Элемент). Тип Е(егп может представлять целое число, строку, список и т.д. 194 куасть П.

Требования ОЭТ (Веш) зотз (йт )шаата )НТЕВЕН Опредшиние списш, а шторам шаманты добазяяются а швец, а изшашняся ш яершины (шгаа) спишь Операция Сшзте (Сощать) создает пустой слисшс операция Сши (Конструироаание) создает нояьй саюк, содерхаций раззнныд злемею; (апой О(лике) зошрящэет размер списщ Ншб (Вершил элемент) зошрзщает элемент из вершины спишэ; операция Тау измшшет список путем удаления из него перва о элемшпа (алемана на вершине сшюш). Значения типа Ваи (Элемент) не опрелшшны, Сгеате -+ Взт Сопя (()Ц, Вем) -ь Ва Ныб ((й)) -ь Вее (епдй ((яЦ -+ Ыерег тзз(Взй -+ кй Неаб (Сто) = Опбершб еюеербоп (пустой список) Неаб (Сапз (В ч)) = й 'ь = Слете бмп ч е(зе Неаб (ь) (епрй (Сгеате) = 0 (елрй (Сопя ().

ч)) = (епрй (Ц +! Тау (Сгеате ) = Сгште Тай (Сшп ((. ч)) = р 'ь = Сгеае бмп Сгеате е)зе Сопя (Тэб (1), ч) Рис рб. Спвниугиклцилсвлзпннвгв сливка В общем случае длл каждого абстрактного типа данных набор необходимых операций должен содержать операцию по созданию нового экземпляра этого типа данных и операцию по конструированию экземпляра данного типа из имеющихся элсментоэ (э нашем примере это операции Сгеа!е и Соне). В случае применения списков также должны быть операции для получения значения первого элемента списка (н нашем примере операция Нааб), операция, которая изменяет список путем удаления его первого элемента (Тай), и операцил подсчета количества элементов а списке (Еники()т).

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

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

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

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