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

билет 4

.pdf
Скачиваний:
5
Добавлен:
12.04.2015
Размер:
855.59 Кб
Скачать

Билет 4

Вопрос 1

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

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

ДПД содержит процессы, которые преобразуют данные, потоки данных, которые переносят данные, активные объекты, которые производят и потребляют данные, и хранилища данных, которые пассивно хранят данные.

DFD — общепринятое сокращение от англ. Data Flow Diagrams — диаграммы потоков данных. Так называется методология графического структурного анализа, описывающая внешние по отношению к системе источники и адресаты данных, логические функции, потоки данных и хранилища данных, к которым осуществляется доступ.

Диаграмма потоков данных (data flow diagram, DFD) — один из основных инструментов структурного анализа и проектирования информационных систем, существовавших до широкого распространения UML. Несмотря на имеющее место в современных условиях смещение акцентов от структурного к объектно-ориентированному подходу к анализу и проектированию систем, «старинные» структурные нотации по-прежнему широко и эффективно используются как в бизнес-анализе, так и в анализе информационных систем.

Исторически сложилось так, что для описания диаграмм DFD используются две

нотации — Йодана (Yourdon) и Гейна-Сарсона (Gane-Sarson), отличающиеся синтаксисом. На приведенной ниже иллюстрации использована нотация Гейна-Сарсона[1].

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

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

Кроме того, нотация DFD поддерживает понятие подсистемы — структурной компоненты разрабатываемой системы.

Нотация DFD — удобное средство для формирования контекстной диаграммы, то есть диаграммы, показывающей разрабатываемую АИС в коммуникации с внешней средой.

Это — диаграмма верхнего уровня в иерархии диаграмм DFD. Ее назначение — ограничить рамки системы, определить, где заканчивается разрабатываемая система и начинается среда. Другие нотации, часто используемые при формировании контекстной диаграммы — диаграмма SADT, диаграмма Диаграмма вариантов использования.

Процессы

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

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

Рис. 2.60. Примеры процессов

Процессы реализуются в виде методов (или их частей) и соответствуют операциям конкретных классов.

Потоки данных

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

Рис. 2.61. Потоки данных

Активные объекты

Активным называется объект, который обеспечивает движение данных, поставляя или потребляя их. Активные объекты обычно бывают присоединены к входам и выходам ДПД. Примеры активных объектов показаны на рисунке 2.62. На ДПД активные объекты обозначаются прямоугольниками.

Рис. 2.62. Активные объекты (экторы)

Хранилища данных

Хранилище данных - это пассивный объект в составе ДПД, в котором данные сохраняются для последующего доступа. Хранилище данных допускает доступ к хранимым в нем данным в порядке, отличном от того, в котором они были туда помещены. Агрегатные хранилища данных, как например, списки и таблицы, обеспечивают доступ к данным в порядке их поступления, либо по ключам. Примеры хранилищ данных приведены на рисунке 2.63.

Рис. 2.63. Хранилища данных

Потоки управления

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

Рис. 2.64. Поток управления

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

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

Нотация

External Entity (Внешняя сущность) представляет собой материальный предмет или физическое лицо, представляющее собой источник или приемник информации, например, заказчики, персонал, поставщики, клиенты, склад. Определение некоторого объекта или системы в качестве внешней сущности указывает на то, что она находится за пределами границ анализируемой ИС. В процессе анализа некоторые внешние сущности могут быть перенесены внутрь диаграммы анализируемой ИС, если это необходимо, или, наоборот, часть процессов ИС может быть вынесена за пределы диаграммы и представлена как внешняя сущность. Внешняя сущность обозначается квадратом (рисунок 1), расположенным как бы "над" диаграммой и бросающим на нее тень, для того, чтобы можно было выделить этот символ среди других обозначений. Process (Системы и подсистемы) - при построении модели сложной ИС она может быть представлена в самом общем виде на так называемой контекстной диаграмме в виде одной системы как единого целого, либо может быть декомпозирована на ряд подсистем. Процесс представляет собой преобразование входных потоков данных в выходные в соответствии с определенным алгоритмом. Физически процесс может быть реализован различными способами: это может быть подразделение организации (отдел), выполняющее обработку входных документов и выпуск отчетов, программа, аппаратно реализованное логическое устройство и т.д.

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

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

Различие между Блок-схема и DFD.

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

DFD — общепринятое сокращение от англ. Data Flow Diagrams — диаграммы потоков данных. Так называется методология графического структурного анализа, описывающая

внешние по отношению к системе источники и адресаты данных, логические функции, потоки данных и хранилища данных, к которым осуществляется доступ.

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

ДПД содержит процессы, которые преобразуют данные, потоки данных, которые переносят данные, активные объекты, которые производят и потребляют данные, и хранилища данных, которые пассивно хранят данные.

Основные элементы схем алгоритма

 

Наименование

Обозначение

 

 

 

 

 

 

Функция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Элемент отображает вход из внешней среды или

 

Блок начало-конец

 

 

выход из неё (наиболее частое применение − начало

 

(пуск-остановка)

 

 

и конец программы). Внутри фигуры записывается

 

 

 

 

соответствующее действие.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнение одной или нескольких операций,

 

 

 

 

обработка данных любого вида (изменение значения

 

Блок действия

 

 

данных, формы представления, расположения).

 

 

 

Внутри фигуры записывают непосредственно сами

 

 

 

 

 

 

 

 

операции, например, операцию присваивания:a =

 

 

 

 

10*b + c.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отображает решение или функцию

 

 

 

 

переключательного типа с одним входом и двумя

 

 

 

 

или более альтернативными выходами, из которых

 

 

 

 

только один может быть выбран после вычисления

 

 

 

 

условий, определенных внутри этого элемента. Вход

 

 

 

 

в элемент обозначается линией, входящей обычно в

 

 

 

 

верхнюю вершину элемента. Если выходов два или

 

 

 

 

три, то обычно каждый выход обозначается линией,

 

Логический блок

 

 

выходящей из оставшихся вершин (боковых и

 

(блок условия)

 

 

нижней). Если выходов больше трех, то их следует

 

 

 

 

показывать одной линией, выходящей из вершины

 

 

 

 

(чаще нижней) элемента, которая затем

 

 

 

 

разветвляется. Соответствующие результаты

 

 

 

 

вычислений могут записываться рядом с линиями,

 

 

 

 

отображающими эти пути. Примеры решения: в

 

 

 

 

общем случае − сравнение (три выхода:

>,

<,

=);

 

 

 

 

в программировании − условные операторы

if

(два

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выхода:

true,

 

false

) и

case

(множество выходов).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

состоящего из одной или нескольких операций,

 

Предопределённый

 

который определен в другом месте программы (в

 

 

подпрограмме, модуле). Внутри символа

 

процесс

 

 

 

записывается название процесса и передаваемые в

 

 

 

 

 

 

него данные. Например, в программировании −

 

 

 

вызов процедуры или функции.

 

 

 

 

 

 

 

Преобразование данных в форму, пригодную для

 

Данные

 

обработки (ввод) или отображения результатов

 

 

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

 

(ввод-вывод)

 

 

 

носителя данных (для указания типа носителя

 

 

 

 

 

 

данных используются специфические символы).

 

 

 

 

 

 

 

Символ состоит из двух частей − соответственно,

 

 

 

начало и конец цикла − операции, выполняемые

 

 

 

внутри цикла, размещаются между ними. Условия

 

 

 

цикла и приращения записываются внутри символа

 

Граница цикла

 

начала или конца цикла − в зависимости от типа

 

 

организации цикла. Часто для изображения на блок-

 

 

 

 

 

 

схеме цикла вместо данного символа используют

 

 

 

символ условия, указывая в нём решение, а одну из

 

 

 

линий выхода замыкают выше в блок-схеме (перед

 

 

 

операциями цикла).

 

 

 

 

 

 

 

Символ отображает вход в часть схемы и выход из

 

 

 

другой части этой схемы. Используется для обрыва

 

 

 

линии и продолжения её в другом месте (для

 

Соединитель

 

избежания излишних пересечений или слишком

 

 

длинных линий, а также, если схема состоит из

 

 

 

 

 

 

нескольких страниц). Соответствующие

 

 

 

соединительные символы должны иметь одинаковое

 

 

 

(при том уникальное) обозначение.

 

 

 

 

 

 

 

Используется для более подробного описания шага,

 

 

 

процесса или группы процессов. Описание

 

 

 

помещается со стороны квадратной скобки и

 

 

 

охватывается ей по всей высоте. Пунктирная линия

 

 

 

идет к описываемому элементу, либо группе

 

Комментарий

 

элементов (при этом группа выделяется замкнутой

 

 

 

пунктирной линией). Также символ комментария

 

 

 

 

 

 

следует использовать в тех случаях, когда объём

 

 

 

текста, помещаемого внутри некоего символа

 

 

 

(например, символ процесса, символ данных и др.),

 

 

 

превышает размер самого этого символа.

 

 

 

 

Описание других элементов схем можно найти в соответствующих ГОСТ (указаны выше).

Представление алгоритмов в виде графов

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

Вопрос 2

Модели схемных компонентов. Базы данных конструкторского, технологического и схемотехнического проектирования.

Интеграция баз данных. Распределённые базы данных.

ФМ – физическая модель ЛМ – логическая модель

Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.

Основные задачи:

Обеспечение хранения в БД всей необходимой информации.

Обеспечение возможности получения данных по всем необходимым запросам. Сокращение избыточности и дублирования данных.

Обеспечение целостности базы данных. Концептуальное (инфологическое) проектирование

Концептуальное (инфологическое) проектирование — построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных. Термины «семантическая модель», «концептуальная

модель» и «инфологическая модель» являются синонимами. Кроме того, в этом контексте равноправно могут использоваться слова «модель базы данных» и «модель предметной области» (например, «концептуальная модель базы данных» и «концептуальная модель предметной области»), поскольку такая модель является как образом реальности, так и образом проектируемой базы данных для этой реальности.

Конкретный вид и содержание концептуальной модели базы данных определяется выбранным для этого формальным аппаратом. Обычно используются графические нотации, подобные ER-диаграммам.

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

описание информационных объектов, или понятий предметной области и связей между ними.

описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними.

Логическое (даталогическое) проектирование

Логическое (даталогическое) проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.

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

На этапе логического проектирования учитывается специфика конкретной модели данных, но может не учитываться специфика конкретной СУБД.

Физическое проектирование

Физическое проектирование — создание схемы базы данных для конкретной СУБД.

Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]