Классические методы анализа в программировании
Структурный анализ как один из формализованных методов анализа требований к программному обеспечению. Описание потоков данных и процессов. Существующая модель системы регулирования давления космического корабля. Метод анализа Джексона в программировании.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 09.09.2009 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1
Содержание
Введение
Структурный анализ
Описание потоков данных и процессов
Расширение возможностей управления
Модель системы регулирования давления космического корабля
Метод анализа Джексона
Шаг объект-структура
Заключение
Список литературы
Введение
В этой главе рассматриваются классические методы анализа требований, ориентированные на процедурную реализацию программных систем. Анализ требований служит мостом между неформальным описанием требований, выполняемым заказчиком, и проектированием системы. Методы анализа призваны формализовать обязанности системы, фактически их применение дает ответ на вопрос: что должна делать будущая система?
Структурный анализ
Структурный анализ - один из формализованных методов анализа требований к ПО. Автор этого метода - Том Де Марко (1979) [27]. В этом методе программное изделие рассматривается как преобразователь информационного потока данных. Основной элемент структурного анализа - диаграмма потоков данных. Диаграмма потоков данных ПДД - графическое средство для изображения информационного потока и преобразований, которым подвергаются данные при движении от входа к выходу системы. Элементы диаграммы имеют вид, показанный на рис. 3.1. Диаграмма может использоваться для представления программного изделия на любом уровне абстракции. Пример системы взаимосвязанных диаграмм показан на рис. 3.2. Диаграмма высшего (нулевого) уровня представляет систему как единый овал со стрелкой, ее называют основной или контекстной моделью. Контекстная модель используется для указания внешних связей программного изделия.
Для детализации (уточнения системы) вводится диаграмма 1-го уровня. Каждый из преобразователей этой диаграммы - подфункция общей системы. Таким образом, речь идет о замене преобразователя F на целую систему преобразователей. Дальнейшее уточнение (например, преобразователя F3) приводит к диаграмме 2-го уровня. Говорят, что ПДД 1 разбивается на диаграммы 2-го уровня.
Рис. 1. Элементы диаграммы потоков данных
Рис. 2. Система взаимосвязанных диаграмм потоков данных
Важно сохранить непрерывность информационного потока и его согласованность. Это значит, что входы и выходы у каждого преобразователя на любом уровне должны оставаться прежними. В диаграмме отсутствуют точные указания на последовательность обработки. Точные указания откладываются до этапа проектирования.
Диаграмма потоков данных - это абстракция, граф. Для связи графа с проблемной областью (превращения в граф-модель) надо задать интерпретацию ее компонентов - дуг и вершин.
Описание потоков данных и процессов
Базовые средства диаграммы не обеспечивают полного описания требований к программному изделию. Очевидно, что должны быть описаны стрелки - потоки данных - и преобразователи - процессы. Для этих целей используются словарь требований (данных) и спецификации процессов.
Словарь требований (данных) содержит описания потоков данных и хранилищ данных. Словарь требований является неотъемлемым элементом любой CASE-утилиты автоматизации анализа. Структура словаря зависит от особенностей конкретной CASE-утилиты. Тем не менее можно выделить базисную информацию типового словаря требований.
Большинство словарей содержит следующую информацию.
1. Имя (основное имя элемента данных, хранилища или внешнего объекта).
2. Прозвище (Alias) - другие имена того же объекта.
3. Где и как используется объект - список процессов, которые используют данный элемент, с указанием способа использования (ввод в процесс, вывод из процесса, как внешний объект или как память).
4. Описание содержания - запись для представления содержания.
5. Дополнительная информация - дополнительные сведения о типах данных, допустимых значениях, ограничениях и т. д.
Спецификация процесса - это описание преобразователя. Спецификация поясняет: ввод данных в преобразователь, алгоритм обработки, характеристики производительности преобразователя, формируемые результаты. Количество спецификаций равно количеству преобразователей диаграммы. Как известно, программное изделие (ПИ) является дискретной моделью проблемной области, взаимодействующей с непрерывными процессами физического мира (рис. 3.).
Рис. 3. Программное изделие как дискретная модель проблемной области
П. Вард и С. Меллор приспособили диаграммы потоков данных к следующим требованиям систем реального времени [73].
1. Информационный поток накапливается или формируется в непрерывном времени.
2. Фиксируется управляющая информация. Считается, что она проходит через систему и связывается с управляющей обработкой.
3. Допускается множественный запрос на одну и ту же обработку (из внешней среды).
Рис. 4. Расширения диаграмм для систем реального времени
Новые элементы имеют обозначения, показанные на рис. 4.
Приведем два примера использования новых элементов.
Пример 1. Использование потоков, непрерывных во времени.
На рис. 5. представлена модель анализа программного изделия для системы слежения за газовой турбиной.
Рис. 5. Модель ПО для системы слежения за газовой турбиной
Видим, что здесь наблюдаемая температура измеряется непрерывно до тех пор, пока не будет найдено дискретное значение в наборе эталонов температуры. Преобразователь формирует регулирующие воздействия как непрерывный во времени вывод. Чем полезна эта модель?
Во-первых, инженер делает вывод, что для приема-передачи квазинепрерывных значений нужно использовать аналого-цифровую и цифроаналоговую аппаратуру.
Во-вторых, необходимость организации высокоскоростного управления этой аппаратурой делает критичным требование к производительности системы.
Пример 2. Использование потоков управления.
Рассмотрим компьютерную систему, которая управляет роботом (рис. 6.).
Рис. 6. Модель ПО для управления роботом
Установка в прибор деталей, собранных роботом, фиксируется установкой бита в буфере состояния деталей (он показывает присутствие или отсутствие каждой детали). Информация о событиях, запоминаемых в буфере, посылается в виде строки битов в преобразователь "Наблюдение за прибором". Преобразователь читает команды оператора только тогда, когда управляющая информация (битовая строка) показывает наличие всех деталей. Флаг события (Старт-Стоп) посылается в управляющий преобразователь "Начать движение", который руководит дальнейшей командной обработкой. Потоки данных посылаются в преобразователь команд роботу при наличии события "Процесс активен".
Расширение возможностей управления
Д. Хетли и И. Пирбхаи сосредоточили внимание на аспектах управления программным продуктом [34]. Они выделили системные состояния и механизм перехода из одного состояния в другое. Д. Хетли и И. Пирбхаи предложили не вносить в ПДД элементы управления, такие как потоки управления и управляющие процессы. Вместо этого они ввели диаграммы управляющих потоков (УПД).
Диаграмма управляющих потоков содержит:
· обычные преобразователи (управляющие преобразователи исключены вообще);
· потоки управления и потоки событий (без потоков данных).
Вместо управляющих преобразователей в УПД используются указатели - ссылки на управляющую спецификацию УСПЕЦ. Как показано на рис. 7., ссылка изображается как косая пунктирная стрелка, указывающая на окно УСПЕЦ (вертикальную черту).
Рис. 7. Изображение ссылки на управляющую спецификацию
УСПЕЦ управляет преобразователями в ПДД на основе события, которое проходит в ее окно (по ссылке). Она предписывает включение конкретных преобразователей как результат конкретного события.
Иллюстрация модели программной системы, использующей описанные средства, приведена на рис. 8.
Рис. 8. Композиция модели обработки и управления
В модель обработки входит набор диаграмм потоков данных и набор спецификаций процессов. Модель управления образует набор диаграмм управляющих потоков и набор управляющих спецификаций. Модель обработки подключается к модели управления с помощью активаторов процессов. Активаторы включают в конкретной ПДД конкретные преобразователи. Обратная связь модели обработки с моделью управления осуществляется с помощью условий данных. Условия данных формируются в ПДД (когда входные данные преобразуются в события).
Модель системы регулирования давления космического корабля
Обсудим модель системы регулирования давления космического корабля, представленную на рис. 9.
Начнем с диаграммы потоков данных. Основной процесс в ПДД - Слежение и регулирование давления. На его входы поступают: измеренное Давление в кабине и Мах давление. На выходе процесса - поток данных Изменение давления. Содержание процесса описывается в его спецификации ПСПЕЦ.
Спецификация процесса ПСПЕЦ может включать:
1. поясняющий текст (обязательно);
2. описание алгоритма обработки;
3. математические уравнения;
4. таблицы;
5. диаграммы.
Элементы со второго по пятый не обязательны.
Рис. 9. Модель системы регулирования давления космического корабля
С помощью ПСПЕЦ разработчик создает описание для каждого преобразователя, которое рассматривается как:
· первый шаг создания спецификации требований к программному изделию;
· руководство для проектирования программ, которые будут реализовывать процессы.
В нашем примере спецификация процесса имеет вид:
· если Давление в кабине > мах
o то Избыточное давление = 1;
· иначе Избыточное давление = 0;
o алгоритм регулирования;
o выч. Изменение давления;
· конец если;
Таким образом, когда давление в кабине превышает максимум, генерируется управляющее событие Избыточное давление. Оно должно быть показано на диаграмме управляющих потоков УПД. Это событие входит в окно управляющей спецификации УСПЕЦ.
Управляющая спецификация моделирует поведение системы. Она содержит:
§ таблицу активации процессов (ГАТТ);
§ диаграмму переходов-состояний (ДПС).
Таблица активации процессов показывает, какие процессы будут вызываться (активироваться) в потоковой модели в результате конкретных событий.
ТАПвключает три раздела - Входные события, Выходные события, Активация процессов. Логика работы ТАП такова: входное событие вызывает выходное событие, которое активирует конкретный процесс. Для нашей модели ТАП имеет вид, представленный в табл. 1.
Таблица 1. Таблица активации процессов
Входные события |
||||
Включение системы Избыточное давление Норма |
1 0 0 |
0 1 0 |
0 0 1 |
|
Выходные события |
||||
Тревога Работа |
0 1 |
1 0 |
0 1 |
|
Активация процессов |
||||
Слежение и регулирование давления Уменьшение давления |
1 0 |
0 1 |
1 0 |
Видим, что в нашем примере входных событий три: два внешних события (Включение системы, Норма) и одно - условие данных (Избыточное Давление). Работа ТАП инициируется входным событием, "втекающим" в окно УСПЕЦ. В результате ТАП вырабатывает выходное событие - активатор. В нашем примере активаторами являются события Работа и Тревога. Активатор "вытекает" из окна УСПЕЦ, запуская в УПД конкретный процесс.
Другой элемент УСПЕЦ - Диаграмма переходов-состояний. ДПС отражает состояния системы и показывает, как она переходит из одного состояния в другое.
ДПС для нашей модели показана на рис. 10.
Системные состояния показаны прямоугольниками. Стрелки показывают переходы между состояниями. Стрелки переходов подписывают следующим образом: в числителе - событие, которое вызывает переход, в знаменателе - процесс, запускаемый как результат события.
- Рис. 10. Диаграмма переходов-состояний
- Изучая ДПС, разработчик может анализировать поведение модели и установить, нет ли "дыр" в определении поведения.
Метод анализа Джексона
Как и метод Варнье-Орра, метод Джексона появился в период революции структурного программирования. Фактически оба метода решали одинаковую задачу: распространить базовые структуры программирования (последовательность, выбор, повторение) на всю область конструирования сложных программных систем. Именно поэтому основные выразительные средства этих методов оказались так похожи друг на друга.
Метод Джексона (1975) включает 6 шагов [39]. Три шага выполняются на этапе анализа, а остальные - на этапе проектирования.
1. Объект-действие. Определяются объекты - источники или приемники информации и действия - события реального мира, воздействующие на объекты.
2. Объект-структура. Действия над объектами представляются диаграммами' Джексона.
3. Начальное моделирование. Объекты и действия представляются как обрабатывающая модель. Определяются связи между моделью и реальным миром.
4. Доопределение функций. Выделяются и описываются сервисные функции.
5. Учет системного времени. Определяются и оцениваются характеристики планирования будущих процессов.
6. Реализация. Согласование с системной средой, разработка аппаратной платформы.
Шаг объект-действие Начинается с определения проблемы на естественном языке.
Пример:
Разработать компьютерную систему для обслуживания университетских перевозок. Университет размещается на двух территориях. Для перемещения студентов используется один транспорт. Он перемещается между двумя фиксированными остановками. На каждой остановке имеется кнопка вызова.
При нажатии кнопки:
· если транспорт на остановке, то студенты заходят в него и перемещаются на другую остановку;
· если транспорт в пути, то студенты ждут прибытия на другую остановку, приема студентов и возврата на текущую остановку;
· если транспорт на другой остановке, то он ее покидает, прибывает на текущую остановку и принимает студентов, нажавших кнопку.
Транспорт должен стоять на остановке до появления запроса на обслуживание.
Описание исследуется для выделения объектов. Производится грамматический разбор. Возможны следующие кандидаты в объекты: территория, студенты, транспорт, остановка, кнопка. У нас нет нужды прямо использовать территорию, студентов, остановку - все они лежат вне области модели и отвергаются как возможные объекты. Таким образом, мы выбираем объекты транспорт и кнопка.
Для выделения действий исследуются все глаголы описания.
Кандидатами действий являются: перемещаться, прибывает, нажимать, принимать, покидать. Мы отвергаем перемещаться, принимать потому, что они относятся к студентам, а студенты не выделены как объект. Мы выбираем действия: прибывает, нажимать, покидать.
Заметим, что при выделении объектов и действий возможны ошибки. Например, отвергнув студентов, мы лишились возможности исследовать загрузку транспорта. Впрочем, список объектов и действий может модифицироваться в ходе дальнейшего анализа.
Шаг объект-структура
Структура объектов описывает последовательность действий над объектами (в условном времени).
Для представления структуры объектов Джексон предложил 3 типа структурных диаграмм. Они показаны на рис. 11. В первой диаграмме к объектам применяется такое действие, как последовательность, во второй - выбор, в третьей - повторение.
Рассмотрим объектную структуру для транспорта (см. рис. 12.). Условимся, что начало и конец истории транспорта - у первой остановки. Действиями, влияющими на объект, являются Покинуть и Прибыть.
Рис. 11. Три типа структурных диаграмм Джексона
Рис. 12. Объектная структура для транспорта
Диаграмма показывает, что транспорт начинает работу у остановки 1, тратит основное время на перемещение между остановками 1 и 2 и окончательно возвращается на остановку 1. Прибытие на остановку, следующее за отъездом с другой остановки, представляется как пара действий Прибыть(i) и Покинуть(i). Заметим, что диаграмму можно сопровождать комментариями, которые не могут прямо представляться средствами метода. Например, "значение i в двух последовательных остановках должно быть разным".
Структурная диаграмма для объекта Кнопка показывает (рис. 13.), что к нему многократно применяется действие Нажать.
Рис. 13. Структурная диаграмма для объекта Кнопка
В заключение заметим, что структурная диаграмма - время - ориентированное описание действий, выполняемых над объектом. Она создается для каждого объекта модели.
Заключение
Начальное моделирование - это шаг к созданию описания системы как модели реального мира. Описание создается с помощью диаграммы системной спецификации.
Элементами диаграммы системной спецификации являются физические процессы (имеют суффикс 0) и их модели (имеют суффикс 1). Как показано на рис. 14., предусматриваются 2 вида соединений между физическими процессами и моделями.
Рис. 14. Соединения между физическими процессами и их моделями
Соединение потоком данных производится, когда физический процесс передает, а модель принимает информационный поток. Полагают, что поток передается через буфер неограниченной емкости типа FIFO (обозначается овалом).
Соединение по вектору состояний происходит, когда модель наблюдает вектор состояния физического процесса. Вектор состояния обозначается ромбиком.
Список литературы
1. Боэм Б. У. Инженерное проектирование программного обеспечения. М.: Радио и связь, 1985. 511 с.
2. Липаев В. В. Отладка сложных программ: Методы, средства, технология. М.: Энергоатомиздат, 1993. 384 с.
3. Майерс Г. Искусство тестирования программ. М.: Финансы и статистика, 1982. 176с.
4. Орлов С. А. Принципы объектно-ориентированного и параллельного программирования на языке Ada 95. Рига: TSI, 2001. 327 с.
5. Чеппел Д. Технологии ActiveX и OLE. M.: Русская редакция, 1997. 320 с.
6. Abreu, F. В., Esteves, R., Goulao, M. The Design of Eiffel Programs: Quantitative Evaluation Using the MOOD metrics. Proceedings of the TOOLS'96. Santa Barbara, California 20 pp. July 1996.
Подобные документы
Изучение особенностей языка структурированных запросов при использовании его в прикладном программировании. Сравнение реализации связи между SQL и языками программирования высокого уровня. Проектирование базы данных и системы управления базами данных.
курсовая работа [1,5 M], добавлен 25.01.2016Обзор существующих методов межпроцедурного анализа. Получение входных и выходных данных подпрограмм с помощью графа алгоритма. Описание входных и выходных данных подпрограммы в терминах фактических параметров. Определение параллелизма по графу алгоритма.
учебное пособие [77,5 K], добавлен 28.06.2009Применение методов многомерного анализа для визуализации взаимосвязей web и социальных сетей в социологических исследованиях. Системы интеллектуального поиска данных Nigma.ru, Wolfram Alpha и Quintura. Социологическая информация и эмпирические данные.
презентация [2,6 M], добавлен 09.10.2013Рассмотрение методов графического ввода, редактирования и анализа принципиальных схем в режимах анализа переходных процессов (Transient) и частотного анализа (АС). Анализ многовариантного режима (Stepping). Построение годографы в среде программы MICRO-CAP
контрольная работа [360,9 K], добавлен 12.03.2011Описание бизнес-процессов предметной области на естественном языке. Объектно-ориентированная модель бизнес-процессов на языке UML. Диаграмма прецедентов (регистрация пациента, запись на прием). Спецификация требований к программному обеспечению.
курсовая работа [787,4 K], добавлен 19.01.2015Основная цель технологии СОМ (объектная модель компонентов) - обеспечение возможности экспорта объектов. Объектно-ориентированное программирование и его место в программировании. Принципы и применение описаний информационных систем (UML и аналоги).
курсовая работа [698,3 K], добавлен 09.12.2013Создание автоматизированной системы обработки заявок пользователей. Анализ требований к информационному, техническому и программному обеспечению. Проектирование интерфейса системы. Выбор средств реализации. Модель базы данных системы обработки заявок.
курсовая работа [1,6 M], добавлен 22.12.2014Создание автоматизированной системы по сбору и анализу статистических данных сайта. Принципы сбора статистических данных. Исследование информационных потоков. Обзор современных СУБД и языков программирования. Логическая и физическая модель базы данных.
дипломная работа [3,0 M], добавлен 08.07.2012Перспективные направления анализа данных: анализ текстовой информации, интеллектуальный анализ данных. Анализ структурированной информации, хранящейся в базах данных. Процесс анализа текстовых документов. Особенности предварительной обработки данных.
реферат [443,2 K], добавлен 13.02.2014Методы статического и динамического анализа зависимостей по данным для последовательных программ. Разработан и реализован алгоритм гибридного анализа, объединяющий достоинства обоих методов. Статическая библиотека представления базы данных САПФОР.
дипломная работа [169,6 K], добавлен 21.11.2010