Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
26.04.2015
Размер:
571.9 Кб
Скачать

1.4. Понятия формализации

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

  • таблицы решений;

  • ГОСТ 19.701-90, нотация Гейна-Сарсона, сети Петри;

  • UML

Таблица решений

Эта нотация подходит для формализации абстрактного исполнителя работающего по принципу конечного автомата

Состояние

исходное

Условие

Решение

Состояние

конечное

1

<&Выключатель выключен> .eq. true

<Лампочка горит >:= false

1

1

<&Выключатель включен> .eq. true

<Лампочка горит >:= true

1

Пример программы для машины Тьюринга инвертирующей машинный код от текущего положения головки вправо

Состояние

исходное

Значение в ячейке

Состояние

конечное

Направление

перемещения

исходное

конечное

1

-

-

1

S

1

0

1

1

R

1

1

0

1

R

Пример программы для машины Тьюринга удваивающей набор 1, если находимся в его начале

Состояние

исходное

Значение в ячейке

Состояние

конечное

Направление

перемещения

исходное

конечное

1

_

_

1

S

1

1

_

2

R

2

_

_

3

R

2

1

1

2

R

3

_

1

4

L

3

1

1

3

R

4

_

_

5

L

4

1

1

4

L

5

_

1

1

R

5

1

1

5

L

Нотации императивного подхода

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

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

ГОСТ 19.701-90 (ISO5807-85) действует с 01.01.92 и определяет нотацию в стиле потока команд

Данные.

Символ отображает данные, носитель данных не определен

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

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

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

Граница цикла.Символ состоящий из двух частей, отображает начало и конец цикла. Условия для инициализации, приращения, завершения и т.д. помещаются внутри символа в начале или в конце в зависимости от расположения операции, проверяющей условие.

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

Терминатор.Начало или конец схемы программы.

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

Блок-схема записи алгоритма нахождения факториала:

Нотация Гейна-Сарсона служит для изображения диаграмм потоков данных

Внешняя сущность

Система, подсистема или

процесс

Накопитель данных

Поток

Сеть Петри – это разнородный граф из вершин двух типов: данные и процессы. Направленное соединение может быть только между вершинами разного типа определяя одновременно поток команд и данных

Нотации событийного подхода

Событийно-управляемое программирование – подход при котором задаются реакции программы на различные события

UML – универсальный язык моделирования включает диаграммы различного вида и назначения, служащих для описания при проектировании структуры и динамического поведения объектно-компонентных систем. Универсальность подразумевает применимость к объектам различной организации и функциональности, размещаемых и выполняемых на исполнителях различной архитектуры, взаимодействующих как синхронно так асинхронно.

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

Набор диаграмм UML представляет:

  1. Диаграммы прецедентов (описывающих взаимодействие актеров с системрй);

  2. Диаграммы классов (задающие атрибуты и операции);

  3. Диаграммы объектов (как экземпляра класса)

  4. Диаграммы кооперации (обмен сообщениями между объектами)

  5. Диаграммы последовательности (временная последовательность обработки сообщения)

  6. Диаграммы состояний (соединяемые парой условие/действие)

  7. Диаграммы развертывания (привязка к техническим средствам)