Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа1-1.doc
Скачиваний:
19
Добавлен:
06.05.2017
Размер:
53.25 Кб
Скачать
  1. Лабораторная работа №1

    1. Разработка логической модели ПМК.

    2. Диаграмма потоков данных (Data Flow Diagrams – DFD).

    3. Диаграмма переходов состояний (State Transition Diagrams – STD)

Цель работы: научиться разрабатывать логические модели систем с представлением информации в виде DFD и STD диаграмм.

  1. Теоретические сведения

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

  • функции, которые система должна выполнять;

  • отношения между данными;

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

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

  • DFD (Data Flow Diagrams) - диаграммы потоков данных; совместно со словарями данных и спецификациями процессов (миниспецификациями) иллюстрируют функции, которые система должна выполнять;

  • ERD (Entity Relationship Diagrams) - диаграммы сущность- связь показывают отношения между данными;

  • STD (State Transition Diagrams) - диаграммы переходов состояний показывают зависящее от времени поведение системы (аспекты реального времени).

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

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

Диаграммы потоков данных

Диаграммы потоков данных DFD (Data Flow Diagrams) - являются основным средством моделирования функциональных требований к проектируемой системе. С их помощью эти требования разбиваются на функциональные компоненты (процессы), связанные потоками данных и представляются в виде графа. Главная цель таких средств - продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами.

Для изображения DFD традиционно используют следующую нотацию (см. табл. 2).

Важную роль в модели играет специальный вид DFD - контекстная диаграмма, которая моделирует систему наиболее общим образом (на самом высоком уровне абстракции). Контекстная диаграмма моделирует (отражает) интерфейс связи системы с внешним миром, а именно ‑ информационные потоки между системами и внешними сущностями, с которыми она должна быть связана. Она идентифицирует внешние сущности, а также, как правило, единственный процесс, отражающий главную цель или природу системы. Каждый проект имеет только одну контекстную диаграмму (0-го уровня).

Детализация DFD осуществляется на основе процессов: каждый процесс раскрывается с помощью DFD нижнего уровня или спецификации процесса.

DFD первого уровня строится как декомпозиция процесса контекстной диаграммы. Диаграмма первого уровня имеет множество процессов с номерами, которые используются при дальнейшей декомпозиции. Процесс первого уровня декомпозиции содержит процессы 1.1, 1.2, 1.3, ... . При переходе на следующий уровень добавляется индекс - 1.1.1, 1.1.2, ... и т.д.

Таблица 2 - Обозначения на диаграмме потоков данных

Наименование и назначение элемента

Обозначение

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

Изображаются именованными стрелками с ориентацией по направлению передачи (движения) информации. Движение возможно в одном направлении – однонаправленный поток, или в двух с обработкой и возвратом: моделируются двумя потоками или одним двунаправленным.

Имя

Имя



Процесс - продуцирует выходные потоки из входных в соответствии с действием, задаваемым именем процесса.

Имя процесса - содержит глагол в неопределенной форме с последующим дополнением (например, ‘‘Вычислить максимальную высоту ’’).

Номер - уникальный номер процесса для ссылок на него внутри DFD. Может использоваться совместно с номером диаграммы для получения уникального индекса модели.

Имя

номер

Хранилище (накопитель данных) - позволяет на определенных участках определять данные, которые будут сохраняться в памяти между процессами. Фактически это ‘‘срезы’’ потоков данных во времени.

Информация, которую они содержат, может использоваться в любое время после ее определения. Данные могут выбираться в любом порядке.

Имя хранилища - идентифицирует его содержание и является существительным.

Если поток данных входит или выходит из хранилища и соответствует его структуре, он должен иметь то же имя, которое имеет хранилище и это имя не нужно отражать на диаграмме возле потока данных.

Имя

Внешняя сущность (терминатор) - представляет сущность вне контекста системы, являющуюся источником или приемником системных данных.

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

Имя

Рекомендации для построения иерархии DFD:

  • целесообразно на каждой диаграмме рассматривать от 3 до 6-7 процессов;

  • не загромождать диаграмму несущественными на данном уровне деталями;

  • декомпозицию потоков производить параллельно декомпозиции процессов (одновременно);

  • выбирать ясные, отражающие суть дела имена процессов и потоков (без сокращений);

  • однозначно определять функционально идентичные процессы только на самом верхнем уровне, где это необходимо, и ссылаться на эти определения на нижних уровнях;

  • пользоваться простейшей диаграммной техникой;

  • отделять управляющие структуры (т.е. процессы) от обрабатывающих процессов, локализовать управляющие структуры.