Автор: Пользователь скрыл имя, 10 Мая 2013 в 00:46, курсовая работа
В 1936 г. английский математик Алан Тьюринг опубликовал в трудах Лондонского математического общества статью «О вычислимых числах в приложении к проблеме разрешения», которая наравне с работами Поста и Черча лежит в основе современной теории алгоритмов. Тьюрингом в качестве математической модели для описания алгоритмов было предложено абстрактное вычислительное устройство, которое впоследствии было названо машина Тьюринга (МТ).
1.3 Построение структурной схемы
В основе структурного подхода к разработке ПС лежит алгоритмическая декомпозиция, когда система разбивается на функциональные подсистемы, которые, в свою очередь, делятся на подфункции, подразделяемые на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур (алгоритмов). При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. Разработка системы идет по принципу «сверху-вниз» [9].
Структурная схема «Машины Тьюринга» представлена на рисунке 6.
Рисунок 6 – Структурная схема программной системы
Автоматизированную систему «Машины Тьюринга» можно представить в виде следующих подсистем:
- управления, которая представляет собой иерархическое меню и позволяет организовать связь с другими подсистемами;
- создания алгоритма, включающую в себя подсистемы ручного составления алгоритма или загрузки базового;
- семантического анализа, которая отвечает за проведение семантического анализа и выдачу сообщений в случае нахождения ошибок;
- визуализации, отвечающей за отображение процесса выполнения алгоритма;
- файловой, позволяющей сохранять (загружать) алгоритм, сохранять трассу;
- справочной, выдающей информацию о разработчиках и сведения о системе.
1.4 Спецификация системы
Требования (спецификации) – свойства, которыми должно обладать ПО для адекватного определения функций, условий и ограничений выполнения ПО, а также объемов данных технического обеспечения и среды функционирования [10].
Различают требования к продукту и к процессу, а также функциональные и нефункциональные и системные требования.
Функциональные требования определяют назначения и функции ПО.
Нефункциональные требования определяют условия выполнения ПО и доступа к данным.
Системные требования включают в свой состав требования по аппаратному и программному обеспечению, с помощью которого будет разрабатываться и функционировать ПО.
1.4.1 Функциональная спецификация
Функциональная спецификация –
перечень всех функций, которые выполняет
пользователь, и наиболее важных функций
системы с привязкой к информационной
среде [10].
Перечень функций, выполняемых системой, представлен в таблице 2.
1.4.2 Спецификация качества
Основные требования по показателям качества к программной системе [9]:
1.4.3 Перечень исключительных ситуаций
Составной частью функциональной спецификации является описание исключительных ситуаций.
Исключительная ситуация –
это ситуация, при которой система
не может выполнить те функции,
Перечень исключительных ситуаций представлен в таблице 3.
Таблица 3 – Перечень функций, выполняемых системой
Назначение п/с |
Назначение исключительной ситуации |
Реакция системы |
Справочная |
Отсутствие файла справки |
|
Файловая |
Файл не найден |
Выдача сообщения «Файл не найден» |
Файл другой структуры |
Выдача сообщения «Файл другой структуры» |
1.5 UML-проект
UML ( Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация. [11].
Название п/с |
Название функции |
Информационная среда | |||
Входные данные |
Выходные данные | ||||
Название |
Тип, ограничения |
Название |
Тип, ограничения | ||
1 Справочная |
1.1 Выдать сведения о |
Сведения о разработчиках |
МЕМО |
Визуальное отображение информации |
_____ |
1.2 Выдать сведения о системе |
Сведения о возможностях системы |
файл, формат *.hlp |
Код ошибки |
Целое | |
2 Файловая |
2.1 Сохранить алгоритм в файл |
Имя файла |
Строка *.MT |
Файл алгоритма |
Текстовый |
Алгоритм |
Алгоритм | ||||
2.2 Загрузить алгоритм из файла |
Имя файла |
Строка *.МТ |
Алгоритм |
Алгоритм | |
Файл алгоритма |
Текстовый |
Код ошибки |
Целое | ||
2.3 Сохранить трассу в файл |
Имя файла |
Строка *.tr |
Файл трассы |
Текстовый | |
Трасса |
Трасса | ||||
3 Создания алгоритма |
3.1 Задать символ алфавит |
Алфавит |
Алфавит |
Алфавит |
Строка |
Символ |
Стандарт ASCII |
Код ошибки |
Целое | ||
3.2 Редактировать ячейку |
Номер ячейки, содержимое |
Ячейка |
Содержимое ячейки |
Строка | |
Код ошибки |
Целое | ||||
3.3 Добавить строку |
Номер текущей строки |
Целое, в пределах таблицы |
Алгоритм |
Алгоритм | |
Признак добавления |
Перед текущей строкой | ||||
После текущей строки | |||||
3.4 Удалить строку |
Номер строки |
Целое, в пределах таблицы |
Алгоритм |
Алгоритм | |
4 Моделирования МТ |
|||||
4.1 Семантического анализа |
4.1.1Выполнить семантический |
Алгоритм |
Алгоритм |
Код ошибки |
Целое |
4.2 Настройки параметров |
4.2.1 Выбрать режим демонстрации |
Список режимов демонстрации |
Пошаговый |
Текущий режим демонстрации |
Перечислимый тип |
Автоматический с задержкой | |||||
Вывод конечного результата | |||||
4.2.2 Задать величину задержки (для |
Диапазон |
Вещественное |
Текущее значение |
Вещественное | |
4.2.3 Показать трассу |
Трасса |
Строка |
Трасса |
Текстовый | |
4.2.4 Задать операнды |
На ленте |
Символ |
Лента |
Строка | |
В десятичной форме |
Целое | ||||
4.2.5 Редактировать ленту |
Ячейка ленты, содержимое |
Символ (1, *) |
Лента |
Строка | |
4.3 Визуализации |
4.3.1 Подсветка в таблице |
Ячейка таблицы |
______ |
Визуальное отображение |
_____ |
4.3.2 Подсветка на ленте |
Ячейка ленты |
______ |
Визуальное отображение |
_____ |
Использование UML не ограничивается моделированием программного обеспечения. Его также используют для моделирования бизнес-процессов, системного проектирования и отображения организационных структур.
UML позволяет также
разработчикам программного
UML содержит стандартный набор диаграмм и нотаций для моделирования самых разнообразных видов систем: систем программного обеспечения, технических средств и организационно-экономических систем [12]:
1.5.1 Диаграмма вариантов использования
Диаграмма вариантов использования описывает функциональное назначение системы, т.е. то, что система будет делать в процессе своего функционирования. Диаграмма вариантов использования является исходным концептуальным представлением или концептуальной моделью системы в процессе ее проектирования и разработки [12].
Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества сущностей или актантов, взаимодействующих с системой с помощью так называемых вариантов использования. При этом актантом или действующим лицом называется любая сущность, взаимодействующая с системой извне. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик. В свою очередь вариант использования служит для описания сервисов, которые система предоставляет актанту.
Диаграмма вариантов использования разработанной системы представлена на рисунке 7. На данной диаграмме актант – пользователь, который имеет возможности загружать алгоритм из файла, сохранять алгоритм и трассу в файл. Пользователю предоставляются возможности создать алгоритм вручную или выбрать один из базовых алгоритмов, запустить алгоритм в одном из режимов демонстрации. Также пользователь может задать значения операндов в выбранном формате и посмотреть справочную информацию.
Каждый вариант использования должен быть задокументирован как некий сценарий работы с системой. Сценарий - определенная последовательность действий, которая описывает действия актеров и поведение моделируемой системы в форме обычного текста. Ниже приведены примеры оформления сценариев.
Вариант использования: Задать дополнительный символ алфавита.
Краткое описание. Дает возможность пользователю добавить символ в алфавит, если это необходимо для реализации алгоритма. Пользователь щелчком мыши по кнопке «+», расположенной рядом с таблицей алгоритма, открывает окно для ввода нового символа.
Актант. Пользователь.
Предусловия. Компьютер пользователя включён, на экране – главное окно программы «Машина Тьюринга».
Основной поток событий.
А1: Введен символ, уже имеющийся в алфавите.
А2: Введено более одного символа.
А3: Символ не введен и нажата кнопка «Ok»
Альтернативы.
А1: Введен символ, уже имеющийся в алфавите.
Система выводит сообщение «Данный
символ уже присутствует!» и
А2: Введено более одного символа.
Система выводит сообщение «Введите ОДИН символ!» и ожидает повторного ввода символа.
А3: Символ не введен и нажата кнопка «Ok»
Рисунок 7 – Диаграмма вариантов использования
А3.1 Система закрывает форму для ввода символа и выводит на экран главную форму приложения.
Постусловия. При успешном завершении на экране – главное окно приложения с обновленным алфавитом и новым столбцом в таблице алгоритма.
Вариант использования: Загрузить алгоритм из файла.
Краткое описание. Дает возможность пользователю загрузить сохраненный ранее алгоритм. Пользователь открывает окно загрузки нажатием кнопки «Загрузить алгоритм» на главной форме приложения или выбрав команду «Загрузить алгоритм» в меню «Файл».
Актант. Пользователь.
Предусловия. Компьютер пользователя включён, на экране – главное окно программы «Машина Тьюринга».
Основной поток событий.
А1: Нажата кнопка «Отмена»
А2: Загрузка алгоритма неверной структуры.
А3: Имя файла не существует.
Альтернативы.
А1: Нажата кнопка «Отмена»
А1.1: Система закрывает окно загрузки и выводит на экран главную форму приложения.
А2: Загрузка алгоритма неверной структуры.
А2.1: Система выводит сообщение «Неверная структура файла». На экране отображается главное окно приложения.
А3: Имя файла не существует.
А3.1: Система выводит сообщение «Файл не найден…». На экране отображается окно загрузки.
Постусловия. При успешном завершении на экране – главное окно приложения с таблицей, заполненной в соответствии с выбранным алгоритмом.
Вариант использования: Задать операнд в десятичной форме.
Краткое описание. Дает возможность пользователю заполнить ленту, задав операнды в десятичной форме. Пользователь выбирает данный способ задания операндов. Система активизирует текстовые поля, в которых пользователь задает значения операндов.
Актант. Пользователь.
Предусловия. Компьютер пользователя включён, на экране – главное окно программы «Машина Тьюринга».
Основной поток событий.
А1: Не заданы значения операндов.
А2: Введено не числовое значение.
А3: Введены значения, превышающие размерность ленты.
Альтернативы.
А1: Не заданы значения операндов.
А1.1: Система выводит сообщение «Введите число!».
А2: Введено не числовое значение.
Информация о работе Система моделирования работы машины Тьюринга