Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Краткие теоретические и учебно-методические материалыСодержание книги
Поиск на нашем сайте По теме лабораторной работы Работа объектов программы описывается с помощью автоматов (или машин состояний). Существует хорошо развитая теория автоматов, в которой изучаются вопросы их построения и анализа работы. Автомат – это элемент системы, который характеризуется двумя базовыми понятиями: состояние и переход. Каждый автомат в определенный момент времени может находиться в одном из допустимых состояний. Число этих состояний, возможно, бесконечно. Задан также набор правил, по которому допускается переход из одних множеств состояний в другие. Схожесть автоматной модели с программированием в том, что переменные (ячейки памяти) в каждый момент работы процессора всегда хранят конкретные значения из допустимых диапазонов значений. Эти значения фактически являются состояниями переменных. Автомат в определенный момент времени может находиться только в одном состоянии. Это правило соответствует принципу императивного программирования, согласно которому любая переменная в каждый момент времени (такт процессора, шаг работы программы) хранит только одно из множества допустимых значений. Число состояний автомата конечно. Из текущего состояния автомат может перейти только в одно следующее состояние. Не исключено, что это состояние выбирается из нескольких доступных вариантов. В рамках диаграммы у каждого состояния должен быть предшественник (за исключением начального состояния). Это правило запрещает размещение на диаграмме состояний, никак не связанных друг с другом. Состояния. Конкретное состояние (в общем случае – статический срез системы) формируется инструментом State (Состояние). На диаграмме оно изображается в виде прямоугольника с закругленными углами. Состояние имеет имя, начинающееся с заглавной буквы. Под ним могут записываться условия и действия. Условия проверяются, а действия выполняются, когда автомат находится в соответствующем состоянии. Отметим принятые правила оформления элементов диаграммы состояний. Элемент State представляет не действие, а описание статического состояния, в котором автомат может находиться неограниченно долго. Автомат может переходить из текущего состояния в другие состояния при выполнении определенных действий пользователя или условий, которые должны быть выполнены. Действия и условия отображаются только на линиях пере- ходов между состояниями. Подавтоматы. Внутри каждого состояния разрешается формировать собственный автомат (подавтомат) – мини-диаграмму состояний. Благодаря этому возможно проектировать систему постепенно, раскрывая отдельные ее элементы по мере необходимости. Подавтомат – это автомат, вложенный в другой автомат и описывающий поведение конкретного состояния. Диаграммы состояний. Диаграммы состояний (State Machine Diagram) стали новым типом диаграмм в версии UML 2.0. Они особенно важны для разработчика, использующего среду Delphi. Дело в том, что в последней версии Delphi 2006 имеется технология моделирования ЕСО III. Она расширена средствами визуального построения алгоритмов. С помощью этих средств описывается работа разных элементов модели. Ранее для описания модели и генерации исходного кода на языке Delphi применялись лишь статические диаграммы классов. Теперь задействованы и диаграммы состояний. Диаграмма состояний – это средство, описывающее логику функционирования автоматов (машин состояний). В основу диаграмм состояний положена концепция автоматов. Доказано, что с помощью таких автоматов можно запрограммировать произвольный алгоритм любой сложности, если его можно также записать на императивном языке программирования. Диаграмма состояний всегда относится к конкретному классу и описывает его внутреннее функционирование. На диаграмме конкретное состояние отображается с помощью элемента State. Начальное и конечное состояния – элементы Initial (Начальное) и Final (Конечное) – представлены на диаграмме сплошным кружком. Кружок, соответствующий конечному состоянию, обведен каймой. Фактически, это псевдосостояния, не возникающие при реальной работе. Начальное и конечное состояния лишь наглядно задают последовательность входа в первое рабочее состояние и выхода из последнего рабочего состояния. Отдельное состояние может охватывать последовательность действий. Состояние, охватывающее другие состояния, называют суперсостоянием, а вложенные в него состояния – подсостояниями. Такой иерархический подход к организации состояний позволяет формировать одинаковые реакции подсостояний на уровне одного суперсостояния. Пусть, например, имеется стандартное аварийное состояние и стандартный переход в него по команде отмены. Для каждого из множества состояний диаграммы можно указать этот переход индивидуально, а можно объединить их в суперсостояние. Тогда переход в аварийное состояние представляется на диаграмме всего одной линией, исходящей из элемента, представляющего суперсостояние. Пример: Разработать программный код на языке Delphi для разработки простого MDA приложения с использованием машин состояний.
# include <iostream.h> # include <fstream.h> # include <string.h> # include <iomanip.h> # include <stdlib.h> # include <conio.h> struct student { char name[30]; int kurs; char gr[7]; }; struct group { char gr[7]; int ng; }; class dmassiv { private: student *pst; int n; group *pz; int k; public: dmassiv() { n=0; pst=NULL; k=0; pz=NULL;} ~dmassiv(); void inputstudentfile (); void outputstudent (); void outputgroup (); void outputgroupfile (); void perechengroup (); void add (); void deletename (); }; void main() { massiv a; a.inputstudentfile (); cout << ” Исходный массив структур. \n”; a.outputstudent (); a.perechengroup (); cout << ” Перечень групп, имеющих задолжников. \n”; a.outputgroup (); a.outputgroupfile (); } Задание для лабораторной работы Разработать программный код на языке Си++ для создания простого приложения MDA с использованием машин состояний. Контрольные вопросы 1. Дайте определение понятию автомат. 2. В чём заключается схожесть автоматной модели с программированием? 3. Каким инструментом формируется конкретное состояние? 4. Описать функциональные возможности диаграмм состояний. Лабораторная работа №24-25 «Применение стохастического тестирования классов» Цель работы: получение навыков при тестировании классов Образовательные результаты, заявленные во ФГОС третьего поколения: Студент должен уметь: - владеть основными методологиями процессов разработки программного обеспечения; - использовать методы для получения кода с заданной функциональностью и степенью качества.
знать: -модели процесса разработки программного обеспечения; -основные принципы процесса разработки программного обеспечения; -основные подходы к интегрированию программных модулей; -основные методы и средства эффективной разработки;
|
||
|
Последнее изменение этой страницы: 2021-12-07; просмотров: 91; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.119 (0.006 с.) |