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

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

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

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

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

° Ограниченного множества (как правило, не более 40 — 60) "ориентированных на действия" глаголов, из которых должны конструироваться предложения. ° Решений, представленных формальной структурой 1Г-ЕьзЕ-ЕН01Г. ° Итеративных действий, представленных структурами 00-ин11е и Гоп-нехт. На рис. 28.1 представлен пример спецификации с помощью псевдокода алгоритма вычисления отложенного дохода от услуг в течение данного месяца в бизнес- приложении. Фрагменты текста на псевдокоде расположены уступами; такой формат ис. пользуется для того, чтобы выделить логические "блоки".

Сочетание синтаксических ог раничений, формата и разбивки существенно уменьшает неоднозначность требования, которое в противном случае было бы очень сложным и расплывчатым. (Так оно и было до написания псевдокода!) В то же время такое представление требования вполне по. пятно для человека, не являющегося программистом. Не нужно быть выдающимся уче. ным, чтобы понимать псевдокод, и нет необходимости знать С++ или(ата. алгоритм вычисления отложенного дохода от услуг в течение месяца: Век Впж(Х)=0 Гоп каждого клиента х 1Г клиент оплатил услуги вперед д(то ((текущий месяц) =(2 мес.

после даты приобретения)) дно ((текущий месяц)<=( 14 мес. после даты приобретения)) тнвн впп(х) = впп(х) + (сумма, заплаченная клиентом)/12 гтм. 28. д Примерсясекфкяавяк с ясяальзаааиием ясеадакада Глава 28. Теоретически обоснованные формальные методы... 283 Конечные автоматы В некоторых ситуациях систему или ее дискретное подмножество удобно рассматривать как "гипотетичесюзо машину, которая в конкретный момент времени может находиться только в одном из указанных состояний" (Дэвис (Оат)з, 1995)).

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

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

полноты и неоднозначности значительно уменьшаются при их использовании, Конечные автоматы зачастую представляются в виде диаграмм перехода состояний, ктк показано иа рис. 28.2. В атой системе обозначений прямоугольники представляют состояние, в котором находится устройство, а стрелки — действия, переводящие устройство в другие состояния. Рисунок иллюстрирует переходы состояний "лампового ящика", рассматривавшегося в главе 2б. В том примере выражение иа естественном языке "лампа будет мигать каждую секунду" было несколько неоднозначным. Представленная на рис. 28.2 диаграмма перехода состояний ие является неоднозначной и иллюстрирует. что цикл В действительно был выбран правильно. Если лампа перегорает, прибор чере.

дует попытки включить четную и нечетную лампы; каждую в течение 1 секунды. Рис 28.2. Дяезрамме яфекюда амзмяикй Предлагаем вам применить Р$М для повторного определения прецедента "Управление освещением" системы НО(.1$. Вы сразу заметите, что альтернативный по. ток 0(ш (изменение яркости) прекрасно подходит для представления с помощью РБМ. В более строгой форме конечный автомат представкяечся в виде таблицы илн матрицы, где показаны все состояния, в которых может находиться устройство, вывод системы для ка.

ждого состояния и воздействия всех возможных событий иа каждое возможное состояние. Это приводит к более высокому уровню детализации, тзк яак каждое состояние и воздействие каждого события должны быть представлены в таблице. Например, табл. 28.1 определяет по. ведение освепггельной коробки в виде матрицы перехода состояний. Таблица 28.1. Матрица перехода состояний для прибора подсчитывающего четное/нечетное число нажатий Событие Лампа Вывод Состояние Нажатие Вка Нажатие Выла Нажатие Счаю Каждая секунда перего. рвет Обе лампы выключены Четнэл горит Четная горит Выключен Нечетное включение Лампа перегоре- ла/Четная горит Лампа Чеаааы юрия Нечетная горит Выключен Четное Нечстная гара включение перегоре- ла/Нечетн ая горит Выключен Четная горит Выключен Выкаючен Выключен Нечетная горит Лалла яарезаре- ла/Нечетяаа гари а1 В таком представлении можно разрешить дополнительные неоднозначности.

кото. рые могут возникнуть при попытке понять поведение прибора. ° Что происходит, если пользователь нажимает кнопку Вхл. когда прибор уже включен) Ояыею: ничего. ° с1то происходит, если обе лампы перегораюту Оямаа: прибор выключается. Конечные автоматы в~ирако применяются для некоторых категорий системных программных приложений, таких как системы обмена сообщениями, операционные системы и системы управления процессами.

Они также являются удобным средством описания взаимодействия между внешним пользователем-человеком н системой, например взаимодействия клиента банка и банкомата, когда клиент хочет сиять деньги со счета. Но конечные автоматы становятся слишком громоздкими, если нужно представить поведение системы как функцию нескольких вводов. В таких случаях требуемое поведение системы, как правило, является функцией всех текущих условий и событий, а не одного текущего события илн некой цепочки прежних событий. Таблицы решений Достаточно часто ястречаются требования, связанные с комбюгацией вводов; различные комбинации вводов приводат к различным вариантам поведения или вывода Предположим, имеется система с пятью возможными вводами (А, В, С, О, Е) и требование, заключающееся в утверждении, напоминающем оператор псевдокода: "Если А истинно, то, если В и С также нс.

тиины, генерировать вывод Х при условии, что Е не является истиннььм, иначе требуемый 284 Часть 5. Уточнение определения системы Лампа перегорела/ Нечетная горит Лампа пере- горела/ Четная горит Глава 28. Теоретически обоснованные формальные методы... 285 вывод — 1 . Комбинация предложений 18-ТНЕН-ЕВОЕ (есличсгнначе) быстро становится зэ пуганной, особенно если, как и в этом примере, имеются вложенные предложения 1Г. Как правило, обычные пользователи не могут нх поюпь, и невозможно гарантировать, по все возможные комбинации А, В, С, 0 и Е рассмотрены.

Решением в данном случае является перечислекие всех комбинаций вводов и описа. ние каждой из иих в явном виде в таблице. В нашем примере, когда допустимых значений вводов только два ("истинно" и "ложно"), получается 2' или 32 комбинации. Их можно представить с помощью таблицы, содержащей 5 строк (по одной для каждой вво. димой переменной) и 32 столбца. Графические деревья решений Дерево 1?еимиий применяется для графического отображения информации. Мы использовали это представление в главе 15, когда нужно было принять решение, какой прототип создавать.

На рис. 28.3 показано дерево решений, используемое для описания последовательности действий системы НО1.13 в чрезвычайной ситуации. Ничего наделать Ответила пи удаленнвп система безопасности? слюнить сирену Иннвмровать сообщение о тревоге Включено ли дистанционное оповнценне? Втлвчить сирену Впночен пи местный споил трвВОГи? Посгупилв пи последовательность снгнвюв, соответствующая состопнию тренин Ничего не делать Рис 28З. ЗРафнчеснее ВеРеоо Рентеинй Диаграммы деятельности Блоксхемы (и их разновидносп, ьтМ1:диэграмьты деятельности) имеют несомненное преимущество — они достаточно известны. Даже люди, далекие от всего, что связано с компьютерами, знают, что такое блок. схема Например, местная газета недавно поместила блоксхему, описывающую алгоритм, с помощью которого человеческий мозг принимает ревтение о покупке кабриолета $ААВ.

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

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

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

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