И. Соммервилл - Инженерия программного обеспечения (1133538), страница 40
Текст из файла (страница 40)
Например, одна подсис. тема может быть сервером базы данных с довольно сложным интерфейсом. На рис. 7.4 поюкзана подобная диаграмма потоков данных. В этом примере закругленные прямоуголь. ники представляют подсистемы. 7. Модели систем 155 Вюдные денные проекта Разозботзнный ПРовеРенный Промт июне О~чет Рнс. 7.4. Днпе)нтммп натана» дпнны» кпмнпенсп СА5ЕаУмдапв 7.2.2. Модели конечных автоматов Модели конечных автоматов' используются для моделирования поведения системы, реагирующей на внутренние или внешние события. Такая модель показывает состояние системы и события, которые служат причиной перехода системы иэ одного состояния в другое.
Модель не показывает поток данных внутри системы. Этот тип модели особенно полезен для моделирования систем реального времени, поскольку этими системами обычно управляют входные сигналы, приходящие из окружения системы. Например, система сигнализации, рассмотренная в главе 13, реагирует на сигналы датчиков перемещения и дверных датчиков и т.д. Модели конечных автоматов являются неотьемлемой частью методов проектирования систем реального времени [15з, 156, 338, 35»].
В работе [155] определены дипефаммы ео стояний, которые стали основой системы нотаций в языке моделирования 1)М1 Модель конечного автомата системы предполагает, что в любое время система находится в одном из возможных состояний. При получении входного сигнала или стимула система может изменить свое состояние.
Например, система, управляющая клапаном, при получении команды оператора (стимул) может перейти из состояния "Клапан открыт" к состоянию "Клапан закрыт". На рис. 7.5 показана модель конечного автомата (диаграмма состояний) простой микро. волновой печи, оборудованной кнопками включения питания, таймера и запуска системы. Реальная микроволновая печь на самом деле намного сложнее описанной здесь системы. Вместе с тем эта модель показывает все основные средства системы. Для упрощения модели я предполагаю такую последовательность действий при использовании печи. 1. Выбор уровня мощности (половинная или полная).
2. Ввод времени работы печи. 3. Нажатие кнопки запуска, после чего печь работает заданное время. Вру»акай научнай ениеумечуремадееи»анечка» пеаанааеы, е тач»а»менее е, »и» »ни чредетлпа ил е «»иге, еды»на е~уееам чаеыеамт днаефаммпми еаетааний дае уааминпние "«»чечни» аетамптае". — Прим, Рел. Для безопасности печь не должна действовать при открытой двери, по окончании работы должен прозвучать звуковой сигнал. Печь имеет простой дисплей, на котором отображаются различные предупреждения и сообщения.
Нотация ()М1 которую я использую длл описания модели конечного автомата и диаграммы состояний, разработана для моделирования поведения объектов. Но ее можно использовать для любого типа моделей конечного автомата. В этой нотации закругленные прямоугольники соответствуют состояниям системы. Они содержат краткое описание дей. етний, выполняемых в этом состоянии. Помеченные стрелки представляют стимулы (илн входные сигналы), которые приводят к переходу системы из одного состояния в другое. 156 т1асть 11. Требования Ркс. 7.5.
Дшифамна акэыяний оотомото мин)гоооанооой печи На рнс. 7.5 видно, что система первоначально реагирует на нажатие кнопок полной или половинной мощности. Пользователь может изменить свое решение после нажатия одной нз этих кнопок и выбрать другую кнопку. Кнопка запуска сработает только после задания времени работы печи и закрытия двери. Нажатием кнопки запуска начинается работа печи в течение указанною времени. Нотации 1)М1. позволяют определять действия, которые выполняются в том илн ином состоянии. Но для создания системной спецификации необходима более детальная нн. формация о стимулах и состояниях системы (табл.
7.1). Эта информация может храниться в словаре данных, как будет показано далее в этом разделе. Таблица 7.1. Описание состояний и стимулов микроволновой печи Состояние Ожидание Описание Печь находится в состоянии ожидания входных данных.
На дис- плее высвечивается текущее время Мощность печи устанавливается на 300 Вт. На дисплее отобра- жается "Половинная мощность" Режим половинной мощности Режим полной мощно- Мощность печи устанавливается на 600 Вт. На дисплее отобрастн яшется "Полная мощность" Установка времени Пользователем устанавливается время работы печи. Дисплей по. казываетзаданное время В целях безопасности печь выключена. Внутренность печи осве- щена. Дисплей показывает "Не готов" Выключено 7.
Модели систем 167 Окончание табл. 7.1 Состояние Описание Включено Работа Основная проблема метода конечного автомата состоит в том, что число возможных состояний может быть очень велико. Поэтому для моделей больших систем необходима струкгуриэация возможных состояний системы. Один из способов структуризации состоит в использовании суперсостояний, которые объединяют ряд отдельных состояний. Такое суперсостояние подобно одному состоянию модели высокого уровня, которое детализируется на отдельной диаграмме.
Для иллюстрации этого понятия рассмогрии состояние Работа модели микроволновой печи (см. рнс. 75). Это суперсостояние более детально показано на рис. 7.б. Ркс. 7.6. Райнномккрововновок явки Стимулы Половинная мощность Полная мощность Таймер Число Дверь открыта Дверь закрыта З у. Отмена Питание печи включено. Внутри печи света нет. Дисплей высве- чиваетт "Готов" Печь работает. Внутри печи включается свет.
Дисплей стобра. жает обратный отсчет таймера. По окончании работы звучит звуковой сигнал в течение б секунд. Свет включен. Пока звучит сигнал, дисплей высвечивает Приготовление закончено" Описание Пользователь нажимает кнопку режима половинной мощности Пользователь нажимает кнопку режима полной мощности Пользователь нажимает одну из кнопок таймера Пользователь вводит число Переключатель двери печи в состоянии "Не закрыто" Переключатель двери печи в положении "Закрыто" Пользователь нажимает кнопку запуска Пользователь нажимает кнопку отмены 158 Часть П. Требоваиия Состояние Работа включает ряд подсосгояний.
Диаграмма на рис. 7.6 показывает, что в состоянии Работа сначала проверяется готовность печи к работе и, если обнаружены какие. либо проблемы, включается аварийная сигнализация и печь выключается. В состоянии Нагрев работает микроволновой генератор в течение указанного времени, по завершении его работы автоматически подается звуковой сигнал. Если во время работы печи будет открыта дверь, система переходит в состояние Выключено, как показано на рис.
7.5. 7.3. Модели данных Многие большие программные системы используют информационные базы данных. В одних случалх эта база дан нык существуег независимо от п рограимной системы, в других— специально создается для разрабатываемой системы. Важной частью моделирования систем является определение логической формы данных, обрабатываемых системой.
Наиболее широко используемой методологией моделирования данных является моделиро ванне типа "сущность-связь-атрибут", которое показывает структуру данных, нх атрибуты н отношения между ними«. Этот метод моделирования быя предложен в середине 1970.х годов Чсном (Сйеп, [7 Ц); с тех пор разработано несколько вариан зов этого метода [76, 154, 170, 1о], Язык моделирования ()МЬ не имеет определенных обозначений для этого типа моделей данных, что желательно для объектно-ориентированного процесса разработки ПО, где для описания систем используются объекты и их отношения.
Если сущностям поставить в соответствие простейшие классы объектов (без ассоциированных методов), тогда в качестве моделей данных можно испольэовать модели классов СМЬ совместно с имензь ванными ассоцнацияии между классамн. Хотя такие модели данных не могут служить примером "хорошего" языка моделирования, удобство использования стандартных обо. значений \)М1.
перевешивает возможные несовершенства таких конструкций. Для описания структуры обрабатываемой информации модели данных часто исполы эуются совместно с моделями потоков данных. На рис. 7.7 представлена модель данных для системы проектирования ПО. Такую систему можно реализовать на основе комплекса ннстр> ментальных САБЕ средств, показанного на рнс. 7.4, Проекты структуры ПО представляются ориентированными графами. Опи состоят из набора узлов различных типов, соединенных дугами, отображающими связи между структурными узлами. В системе проектирования присутствуют средства вывода на дисплей этого графа (т.е.
структурной диаграммы) и его преобразования к виду, удобному для хранения в базе данных проектов. Система редактирования выполняет преобразования структурной диаграммы из формата базы данных в формат, позволяющий отобразить ее на экране монн. тора в виде блок. схемы. Информация, предоставляемая редактором другим средствам анализа проекта, должна включить логическое представление графа проекта.
Коззечно, эти средства "не интересуются" деталями физического представления растрового изображения графа. Они работают с объектами, и«логическими атрибутами и связями между ними. К еожплению, пввюр не приводит онродмення ноктлий "еущнветз", "волю" и "птрибут", «отл в рпеснпт. )знеаемых методах модели)ювпння они яаелютел йюоеыми и ет)нмо фориплзиовпны, Приведен и«нрптное оии. опнш. Сущность (мзззгу) - рммьный или обет)юктный ойеквь имеющий опредееяющм значение для ршскпт.
ргюааиоа пытаны (ото может быто обвект кпк епмоя митомы, так и ее тсружвния). Каждал еущноеть долж. но иметь уннкпленое имл и обллдпть одним кли несколькими птрззбувнзми, которые лийз зфинпдлежпт еущ ноак н, лийз насеедуютея через птзь Сущ ногте еоответете>чиз «ламу (нли типу) ойектов, и не конкретному зкземнелру «впееп. Связь (юйиюзй- ноименовпннпя атзе (аыоципцил) м«зкду двумя еущноолями. Именаванью евшей оеущеетеляетея е нпчощью елазамю (например, имеет, опрелеляет, принадлежит и т.н.). Атрибут (пззпйие)- люйт «п)юкнфиетззкп еущлоети (и)кднпзначпетев дял идентификпцни, классификации чиаииной парпиелфнзпцпи или олиюння а«таяния зущноети). Значения птрибувзш однозначно идентифици~зуют везем иляр еущноети. - Прим. рея.
7. Модели систем 159 Рнс 7.7. Модель дпннмк для еиенмкы нроектироопнилПО На рис. 7.7 видно, что проект имеет атрибуты имя. описание, дата создания и дата изменения. Проект состоит из узлов и связей между ними (т.е. дуг). Узлы и связи имеют атрибуты имя и тип. Оии могут иметь набор меток, которые хранят другую описательную информацию.