Л06-ТИПИС


Чтобы посмотреть презентацию с картинками, оформлением и слайдами, скачайте ее файл и откройте в PowerPoint на своем компьютере.
Текстовое содержимое слайдов презентации:

Моделирование потоков данных (процессов) Лекция 6 Содержание лекции Назначение методологии DFDГрафические элементы нотации DFDПостроение диаграмм DFDСпецификации процессовСловарь данных Содержание лекции Назначение методологии DFDГрафические элементы нотации DFDПостроение диаграмм DFDСпецификации процессовСловарь данных Определение DFD — общепринятое сокращение от англ. Data Flow Diagrams — диаграммы потоков данных. Так называется методология графического структурного анализа, описывающая внешние по отношению к системе источники и адресаты данных, логические функции, потоки данных и хранилища данных, к которым осуществляется доступ Назначение DFD являются основным средством моделирования функциональных требований к проектируемой системе;создаются для моделирования существующего процесса движения информации;используются для описания документооборота, обработки информации;применяются как дополнение к модели IDEFO для более наглядного отображения текущих операций документооборота (обмена информацией);обеспечивают проведение анализа и определения основных направлений реинжиниринга ИС Отличия от IDEF0 DFD-диаграммы создавались как средство проектирования программных систем, тогда как IDEF0 - как средство проектирования систем вообще, поэтому DFD имеют более богатый набор элементов, адекватно отражающих их специфику (например, хранилища данных являются прообразами файлов или баз данных)Наличие мини-спецификаций DFD-процессов нижнего уровня позволяет преодолеть логическую незавершенность IDEF0 и построить полную функциональную спецификацию разрабатываемой системы.Существуют и поддерживаются рядом CASE-инструментов алгоритмы автоматического преобразования иерархии DFD в структурные карты, демонстрирующие межсистемные и внутрисистемные связи, а также иерархию систем, что в совокупности с мини-спецификациями является завершенным заданием для программиста Содержание лекции Назначение методологии DFDГрафические элементы нотации DFDПостроение диаграмм DFDСпецификации процессовСловарь данных Графические элементы нотации DFD Внешняя сущностьСистема или подсистемаПроцесс, функциональный блок, деятельность, центр обработкиХранилище, накопительПоток данных Виды нотаций Нотация Гейна-СарсонаБудет использоваться намиНотация ЙорданаИмеет различия в изображении процессов и хранилищ ЗАКАЗЧИК ПОЛЬЗОВАТЕЛЬ ПРИНТЕР БУХГАЛТЕРИЯ Физическое лицо Отдел (другая система) Устройство Внешняя сущность Внешняя сущность представляет собой материальный объект или физическое лицо, представляющее собой источник или приемник информации и обладающее поведением.Внешние сущности обеспечивают необходимые входы для системы и/или являются приемниками для ее выходов. Одна внешняя сущность может одновременно предоставлять входы и принимать выходы. Внешняя сущность. Имя Именительное существительное, обозначающее предметМожет иметь идентифицирующий сущность номер, начинающийся с E (от англ. Entity)Примеры: Пользователь, Клиент, Менеджер, Отдел кадров, 1С:Предприятие, Сеть, Браузер, Модуль расчета, Государственная организация 1 Подсистемаобслуживания клиентов Поле номера Поле имени Поле имени проектировщика Система или подсистема Подсистема (или система) на контекстной диаграмме изображается следующим образом: 1.1 Рассчитать остаток средств Поле номера Поле имени Поле физической реализации Процесс Процесс представляет собой преобразование входных потоков данных в выходные в соответствии с определенным алгоритмом. Процесс. Имя Имя функции должно содержать глагол в неопределенной форме с последующим дополнением. Функции обычно именуются по названию системы, например "Разработка системы автоматизированного проектирования''. Рекомендуется использовать глаголы, отображающие динамические отношения, например: «рассчитать», «получить», «заказать», «фрезеровать», «точить», «вычислить», «включить», «моделировать» и т.д. Если автор использует такие глаголы, как “обработать”, “модернизировать”, или “отредактировать”, то это означает, что он, вероятно, пока недостаточно глубоко понимает данную функцию процесса и требуется дальнейший анализ. D1 Получаемые счета D2 Журнал посещений D3 Студенты Хранилище, накопитель Накопитель данных представляет собой абстрактное устройство для хранения информации, которую можно в любой момент поместить в накопитель и через некоторое время извлечь, причем способы помещения и извлечения могут быть любыми. Хранилище. Имя Именительное существительное, обозначающее предмет или совокупность предметовМожет иметь идентифицирующий хранилище номер, начинающийся с D (от англ. Datastore) 1.1Бухгалтерия Вывести отчет о продажах Руководство Отчет о продажах Поток данных Поток данных определяет информацию, передаваемую через некоторое соединение от источника к приемнику. Поток данных. Дополнительно Имеют имя – именительное существительное, обозначающее объектМогут сливаться и разветвлятьсяСоединяют:Внешнюю сущность с процессом или системойПроцесс с процессомПроцесс с хранилищем(Not) внешняя сущность с внешней сущностью Испечькекс Кекс Смесь для кексов Сахар Яйца Молоко Поток данных. Примеры Проверить номер телефона Существующий номер Номер телефона Несуществующий номер Поток данных. Примеры Выполнитьзаказ Заказ Обновить Инвентарныйсписок СоздатьДокументы наотгрузку СоздатьСчет-фактуру Детали заказа Поток данных. Примеры Проверитьномер Проверитьиндекс Проверитьулицу, дом Адрес клиента Улица, дом индекс Номер телефона Поток данных. Примеры Ответить на заявку Принятьзаказ Детали заказа Уведомление о получении D1 Заказы заявка Ответ заказ заказ Поток данных. Примеры Содержание лекции Назначение методологии DFDГрафические элементы нотации DFDПостроение диаграмм DFDСпецификации процессовСловарь данных Построение диаграмм DFD Два способа построения диаграмм в методологии DFD:Подход традиционного структурного анализаПодход событийного разделения (event partitioning) Традиционный структурный анализ строится физическая модель, отображающая текущее состояние дел;полученная модель преобразуется в логическую модель, которая отображает требования к существующей системе;строится модель, отображающая требования к будущей системе;строится физическая модель, на основе которой должна быть построена новая система Традиционный структурный анализ Сформировать контекстную диаграммуВзаимодействие системы (один процесс) и системного окружения (внешние сущности)Декомпозировать ее до диаграммы нулевого уровняНабор процессов, хранилищ и потоков данных между нимиДекомпозировать каждый процесс Набор подпроцессов, хранилищ и потоков данныхЗавершить декомпозицию при достижении элементарного процессаДва–три входа-выхода, очевидность последовательности действий процесса Пример в нотации Йордана Контекстная диаграмма Диаграмма нулевого уровня Декомпозиция, завершающаяся спецификациями Еще пример в нотации Йордана Контекстная диаграмма Для сложных ИС строится иерархия контекстных диаграмм. При этом контекстная диаграмма верхнего уровня содержит не единственный главный процесс, а набор подсистем, соединенных потоками данных.Признаками сложности (в смысле контекста) могут быть: наличие большого количества внешних сущностей (десять и более); распределенная природа системы; многофункциональность системы с уже сложившейся или выявленной группировкой функций в отдельные подсистемы. Контекстная диаграмма. Нотация Гейна-Сарсона Контекстная DFD-диаграмма часто состоит из одного функционального блока и нескольких внешних сущностей. Функциональный блок на этой диаграмме обычно имеет имя, совпадающее с именем всей системы. Диаграмма нулевого уровня Событийное разделение Сформировать контекстную диаграммуЦель системы, один блок, внешние сущности, список событийСформировать модель поведенияОдна диаграмма, один процесс на каждое событие из модели окружения, хранилища, потоки данных между нимиВходные потоки показывают необходимую информацию для обработки событияВыходные потоки демонстрируют реакцию процесса на событие Пример в нотации Йордана Список событий Клиент заказывает книгу Клиент отправляет платеж Клиент запрашивает информацию о книге Клиент запрашивает разрешение вернуть книгу Клиент запрашивает статус заказа Клиент запрашивает стстус платежа Клиент хотел бы ежемесячно получать новые предложения (В) Клиент запрашивает … Клиент желает … Расчетная система ежедневно запрашивает информацию о платежах (В) Список событий Расчетной системе необходимо ежедневно … (В) Расчетной системе необходимо ежемесячно … (В) Расчетной системе необходимо квартально … (В) Расчетной системе необходимо ежемесячно … (В) Расчетной системе необходимо ежедневно … (В) Руководство устанавливает новый лимит кредита для клиентов Расчетной системе необходимо ежедневно … (В) Типография сообщает о готовности к изданию Руководство визирует заказ Типография предлагает … Список событий Типография выставляет счет-фактуру Руководство запрашивает … Отдел маркетинга запрашивает адреса клиентов Отделу маркетинга требуются статистические отчеты продаж Отделу маркетинга требуется … Издательство сообщает о новых книгах Авторам требуется ежеквартальный отчет о гонораре (В) Складу необходимы данные отгрузки и адреса доставки (В) Склад получает книги из типографии Склад получает … Список событий Ежемесячно склад проводит инвентаризациюСклад организует доставку заказов Склад делает … Отдел снабжения объявляет о новом проекте Продавец размещает заказа от имени клиента Отдел маркетинга извещает ... Клиент сообщает об изменении адреса Автор сообщает … Клиент делает выбор … Счет фактура должна быть отправлена клиенту Процесс 1. Обработать заказ Процесс 30. Зарегистрировать возврат книги от клиента Процесс 34. Известить о запросе аванса Правила детализации правило балансировки - означает, что при детализации подсистемы или процесса детализирующая диаграмма в качестве внешних источников/приемников данных может иметь только те компоненты (подсистемы, процессы, внешние сущности, накопители данных), с которыми имеет информационную связь детализируемая подсистема или процесс на родительской диаграмме; правило нумерации - означает, что при детализации процессов должна поддерживаться их иерархическая нумерация. Например, процессы, детализирующие процесс с номером 12, получают номера 12.1, 12.2, 12.3 и т.д. Признаки завершения детализации наличия у процесса относительно небольшого количества входных и выходных потоков данных (2-3 потока); возможности описания преобразования данных процессом в виде последовательного алгоритма; выполнения процессом единственной логической функции преобразования входной информации в выходную; возможности описания логики процесса при помощи спецификации небольшого объема (не более 20-30 строк). Содержание лекции Назначение методологии DFDГрафические элементы нотации DFDПостроение диаграмм DFDСпецификации процессовСловарь данных Спецификация процесса Спецификация процесса (СП) используется для описания функционирования процесса в случае отсутствия необходимости детализировать его с помощью DFD (т.е. если он достаточно невелик, и его описание может занимать до одной страницы текста).Она должна формулировать его основные функции таким образом, чтобы в дальнейшем специалист, выполняющий реализацию проекта, смог выполнить их или разработать соответствующую программу. Миниспецификация является конечной вершиной иерархии DFD.Множество всех СП является полной спецификацией системы Требования к спецификации для каждого процесса нижнего уровня должна существовать одна и только одна спецификация;спецификация должна определять способ преобразования входных потоков в выходные;нет необходимости (на данном этапе) определять метод реализации этого преобразования;спецификация должна стремиться к ограничению избыточности - не следует переопределять то, что уже было определено на диаграмме или в словаре данных;набор конструкций для построения спецификации должен быть простым и стандартным. Способы задания спецификаций Структурированный естественный языкПсевдокодДеревья и таблицы принятия решенияВизуальные языки проектирования Структурированный естественный язык Структурированный естественный язык применяется для читабельного, строгого описания спецификаций процессов. Он является разумной комбинацией строгости языка программирования и читабельности естественного языка и состоит из подмножества слов, организованных в определенные логические структуры, арифметических выражений и диаграмм[email protected]ВХОД = СЛОВА ПАМЯТИ@ВЫХОД = ХРАНИМЫЕ ЗНАЧЕНИЯ@СПЕЦПРОЦДля всех СЛОВ ПАМЯТИ ВЫПОЛНИТЬ: Распечатать ХРАНИМЫЕ ЗНАЧЕНИЯ С1 D1, D2 С2 С3 да нет да нет да нет D1, D2 D1, D2 D4, D3 Деревья и таблицы решения Проектирование спецификаций процессов с помощью таблиц решений (ТР) заключается в задании матрицы, отображающей множество входных условий в множество действий. Визуальные языки проектирования Визуальные языки проектирования являются относительно новой, оригинальной методикой разработки спецификаций процесса. Они базируются на основных идеях структурного программирования и позволяют определять потоки управления с помощью специальных иерархически организованных схем.Одним из наиболее известных подходов к визуальному проектированию спецификаций является подход с использованием FLOW-форм. Каждый символ FLOW-формы имеет вид прямоугольника и может быть вписан в любой внутренний прямоугольник любого другого символа. Символы помечаются с помощью предложений на естественном языке или с использованием математической нотации. For j = 1 to n Do …сравнить и поменять местами… If a[j] > a[j + 1] нет да …поменять местами… temp = a[j] a[j] = a[j + 1] a[j + 1] = temp Пример FLOW-диаграммы Содержание лекции Назначение методологии DFDГрафические элементы нотации DFDПостроение диаграмм DFDСпецификации процессовСловарь данных Словарь данных Организованный список всех элементов данных системы с их точными определениями Это дает возможность различным категориям пользователей (от системного аналитика до программиста) иметь общее понимание всех входных и выходных потоков и компонент хранилищ. В словарь входят: описание значений потоков и хранилищ, изображенных на DFD;описание композиции агрегатов данных, движущихся вдоль потоков, т.е. комплексных данных, которые могут расчленяться на элементарные символы (например, АДРЕС ПОКУПАТЕЛЯ содержит ПОЧТОВЫЙ ИНДЕКС, ГОРОД, УЛИЦУ и т.д.); описание композиции групповых данных в хранилище; специфицирование значений и областей действия элементарных фрагментов информации в потоках данных и хранилищах; описание деталей отношений между хранилищами. Содержимое словаря Для каждого потока данных в словаре необходимо хранить имя потока, его тип и атрибуты. Информация по каждому потоку состоит из ряда словарных статей, каждая из которых начинается с ключевого слова - заголовка соответствующей статьи, которому предшествует символ “@”. Тип потока простые (элементарные) или групповые (комплексные) потоки; внутренние (существующие только внутри системы) или внешние (связывающие систему с другими системами) потоки; потоки данных или потоки управления; непрерывные (принимающие любые значения в пределах определенного диапазона) или дискретные (принимающие определенные значения) потоки. Атрибуты потока имена-синонимы потока данных в соответствии с узлами изменения имени; БНФ-определение в случае группового потока; единицы измерения потока; диапазон значений для непрерывного потока, типичное его значение и информацию по обработке экстремальных значений; список значений и их смысл для дискретного потока; список номеров диаграмм различных типов, в которых поток встречается; список потоков, в которые данный поток входит (как элемент БНФ-определения); комментарий, включающий дополнительную информацию (например о цели введения данного потока). БНФ-нотация Форма Бэкуса-Наура позволяет формально описать расщепление/ объединение потоков. Поток может расщепляться на собственные отдельные ветви, на компоненты потока-предка или на то и другое одновременно. БНФ-статья используется для описания компонент данных в потоках данных и в хранилищах. Ее синтаксис имеет вид:@БНФ = <простой оператор> / <БНФ-выражение> БНФ-выражения = - означает "композиция из", + - означает "И", [ ! ] - означает "ИЛИ", ( ) - означает, что компонент в скобках не обязателен, { } - означает итерацию компонента в скобках, " " - означает литерал. БНФ-выражения. Примеры 3{болт}7 - от 3 до 7 итераций 1{болт} - 1 и более итераций {шайба}3 - не более 3 итераций @БНФ = [ винт ! болт + 2{гайка}2 + (прокладка) ! клей ] Ниже приведен пример описания потока данных с помощью БНФ:@ИМЯ = ВОСЬМЕРИЧНАЯ ЦИФРА @ТИП = дискретный поток @БНФ = [ "0"!"1"!"2"!"3"!"4"!"5"!"6"!"7" ] БНФ-выражения. Примеры @ИМЯ = ВВЕДЕННАЯ КРЕДИТНАЯ КАРТА @ТИП = управляющий поток @БНФ = /указывает, что кредитная карта введена/ @ИМЯ = ДАННЫЕ КРЕДИТНОЙ КАРТЫ @ТИП = дискретный поток @БНФ = ПАРОЛЬ + ДЕТАЛИ КЛИЕНТА + ЛИМИТ ДЕНЕГ @ИМЯ = ДАННЫЕ ПО БАЛАНСУ @ТИП = дискретный поток @БНФ = /текущий баланс счета клиента/ @ЕДИНИЦА ИЗМЕРЕНИЯ = доллар БНФ-выражения. Примеры @ДИАПАЗОН = +/- 100000 @ТОЧНОСТЬ = .01 @ИМЯ = ДЕНЬГИ @ТИП = дискретный поток @БНФ = /деньги, выдаваемые клиенту/ @ЕДИНИЦА ИЗМЕРЕНИЯ = доллар @НОРМА = 5..1000 @КОММЕНТАРИЙ Сумма выдаваемых денег должна делиться на 5 @ИМЯ = ПРОТОКОЛ ОБСЛУЖИВАНИЯ @ТИП = дискретный поток @БНФ = (ОБРАБОТАННАЯ ДОКУМЕНТАЦИЯ)+ + (ДЕНЕЖНАЯ СУММА) ++ (ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА) Рекомендуемая литература С.В. Черемных, И.О. Семенов, В.С. Ручкин. Моделирование и анализ систем. IDEF-технологии: практикум. М: Финансы и статистика, 2002

Приложенные файлы

  • ppt 859783
    Размер файла: 744 kB Загрузок: 0

Добавить комментарий