Смекни!
smekni.com

Методические указания по выполнению лабораторной работы Подготовила: Романова Т. Н (стр. 2 из 6)

Термин . . . . . . . . . Алгоритм

Категория . . . . . . . Понятие предметной области

Описание . . . . . . . В настоящем проекте используется для обозначения обобщенного понятия “реализация процедуры решения конкретной задачи выбранным методом”

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

Диаграммы переходов состояний

Диаграмма переходов состояний является графической формой предоставления конечного автомата - математической абстракции используемой для моделирования детерминированного поведения технических объектов или объектов реального мира.

На этапе анализа требований и определения спецификаций диаграмма переходов состояний демонстрирует поведение разрабатываемой программной системы при получении управляющих воздействий. Под управляющими воздействиями или сигналами в данном случае понимают

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

Для построения диаграммы переходов состояний необходимо в соответствии с теорией конечных автоматов определить: основные состояния, управляющие воздействия (или условия перехода), выполняемые действия и возможные варианты переходов из одного состояния в другое. Условные обозначения, используемые при построении диаграмм переходов состояний на рис.3.


Рис.3. Условные обозначения диаграмм переходов состояний:

а - терминальное состояние; б - промежуточное состояние; в - переход

Если программная система в процессе функционирования активно не взаимодействует с окружающей средой (пользователем или датчиком), например, использует примитивный интерфейс и выполняет некоторые вычисления по заданным исходным данным, то диаграмма переходов состояний

обычно интереса не представляет. В этом случае она демонстрирует только последовательно выполняемые переходы: из исходного состояния в состояние ввода данных, затем после выполнения вычислений - в состояние вывода и, наконец, в состояние завершения работы (рис. 4).

Рис. 4. Диаграмма переходов состояний программного обеспечения, активно не взаимодействующего с окружающей средой

Для активного программного обеспечения с развитым пользовательским интерфейсом основные управляющие воздействия - команды пользователя, для программного обеспечения реального времени - сигналы от датчиков и/или оператора производственного процесса. Общим

для этих типов программного обеспечения является наличие состояния ожидания, когда программное обеспечение приостанавливает работу до получения очередного управляющего воз
действия. Для интерактивного программного обеспечения наиболее характерно получение команд различных типов (рис.5), а если это еще и программное обеспечение реального времени - однотипных сигналов (либо от многих датчиков, либо требующих продолжительной обработки).

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

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

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

Полученную диаграмму переходов состояний следует согласовать с за-казчиком программного обеспечения.

Поиск классов и объектов

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

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

Состояние, поведение и индивидуальность

Состоянием (state) объекта называется одно из условий, в которых он может находиться.

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

Поведение (behavior) определяет, как объект реагирует на запросы других объектов и что может делать сам объект. Поведение реализуется с помощью набора операций (operation) для объекта. В системе регистрации курсов объект учебный курс может иметь операции добавить студента или удалить студента.

Индивидуальность (identity) означает, что каждый объект уникален, даже если его состояние идентично состоянию другого объекта. Например: Алгебра 101, секция 1 и Алгебра 101, секция 2 – два объекта в системе регистрации курсов. Хотя они оба являются учебными курсами, каждый из которых уникален.

В языке UML объект изображается в виде прямоугольников, а его имя пишется с подчеркиванием (см. рис.1).

Алгебра 101, Раздел 1

Рис. 1. Нотация языка

UML для объекта

Что такое класс

Класс (class) – это описание группы объектов с общими свойствами.

Каждый объект является экземпляром конкретного класса и не может быть экземпляром нескольких классов. Например, класс учебный курс (Course Offering) может определяться следующими характеристиками:

  • Атрибуты – место занятий, время занятий;
  • Операции – получить место занятий, получить время занятий, добавить студента на курс.

Алгебра 101, секция 1 и Алгебра 101, секция 2 – это объекты, принадлежащие классу учебный курс. Каждый объект имеет значения атрибутов и доступ к операциям, определенным классом учебный курс.

«Хороший» класс представляет одну и только одну абстракцию, то есть должен отражать одну основную сущность. Например, класс, способный хранить информацию о студентах и данные о курсах, которые студент посещает в течение нескольких лет, не является «хорошим» классом, потому что не представляет одну сущность. Такой класс необходимо разделить на два связанных класса: студент и история студента.

Название классов выбираются в соответствии с понятиями предметной области. Имя должно быть существительным в единственном числе, наиболее точно характеризующим предмет. В качестве имени класса можно использовать акроним, если он имеет одинаковое значение для всех предоставляемых сущностей. При использовании акронима в описании класса желательно указать полное название.

Иногда трудно отличить объект от класса. Почему, например, Алгебра 101, секция 1- объект, а не класс? Что отличает его от объекта Алгебра 101, секция 2? Ответы на эти вопросы субъективны. Изучив эти объекты, можно заключить, что у них одинаковая структура и поведение. Они лишь являются разными учебными предметами семестра. Кроме того, в системе регистрации курсов можно обнаружить множество схожих сущностей с одинаковой структурой и поведением:

Музыка 101, секция 1;История 101,секция 1; История 101,секция 2 и т.п.

Значит, допустимо создание единого класса учебный курс (CourseOffering).

В языке UML классы изображаются в виде разделенных прямоугольников. В верхней секции указывается имя класса, средняя секция содержит его структуру - атрибуты, а нижняя описывает его поведение- операции. Класс показан на рис.2.