tehnologia (1018792), страница 21
Текст из файла (страница 21)
Дуги, изображающие каждый тип связей, должныподходить к блоку с определенной стороны (рис. 4.7), а направление связи должноуказываться стрелкой в конце дуги.Физически дуги исходных данных, результатов и управления представляют собойнаборы данных, передаваемые между функциями. Дуги, определяющие механизмвыполнения функции, в основном используются при описании спецификаций сложныхинформационных систем, которые включают как автоматизированные, так и ручныеоперации. Блоки и дуги маркируются текстами на естественном языке.Блоки на диаграмме размещают по «ступенчатой» схеме в соответствии споследовательностью их работы или доминированием, которое понимается как влияние,оказываемое одним блоком на другие. В функциональных диаграммах SADT различают пятьтипов влияний блоков друг на друга:• вход - выход блока подается на вход блока с меньшим доминированием, т.
е.следующего (рис. 4.8, а);110• управление - выход блока используется как управление для блока с меньшимдоминированием (следующего) (рис. 4.8, б);• обратная связь по входу - выход блока подается на вход блока с большимдоминированием (предыдущего) (рис. 4.8, в);• обратная связь по управлению - выход блока используется как управляющаяинформация для блока с большим доминированием (предыдущего) (рис.
4.8, г);• выход-исполнитель - выход блока используется как механизм для другого блока(рис. 4.8, д).Дуги могут разветвляться и соединяться вместе различными способами. Разветвлениеозначает, что часть или вся информация может использоваться111в каждом ответвлении дуги. Дуга всегда помечается до ветвления, чтобы идентифицироватьпередаваемый набор данных. Если ветвь дуги после ветвления не помечена, то непомеченнаяветвь содержит весь набор данных. Каждая метка ветви уточняет, что именно содержитданная ветвь (рис. 4.9).Построение иерархии функциональных диаграмм ведется поэтапно с увеличениемуровня детализации: диаграммы каждого следующего уровня уточняют структуруродительского блока. Построение модели начинают с единственного блока, для которогоопределяют исходные данные, результаты, управление и механизмы реализации. Затем онпоследовательно детализируется с использованием метода пошаговой детализации (см.
§1.3). При этом рекомендуется каждую функцию представлять не более чем 3—7-ю блоками.Во всех случаях каждая подфункция может использовать или продуцировать только теэлементы данных, которые использованы или продуцируются родительской функцией,причем никакие элементы не могут быть опущены, что обеспечивает непротиворечивостьпостроенной модели.Стрелки, приходящие с родительской диаграммы или уходящие на нее, нумеруют,используя символы и числа.
Символ обозначает тип связи: I - входная, С – управляющая, М –механизм, R - результат. Число - номер связи по соответствующей стороне родительскогоблока, считая сверху вниз и слева направо.Все диаграммы связывают друг с другом иерархической нумерацией блоков: первый уровень- АО, второй - Al, A2 и т. п., третий - А11, А12, А13 и т.п., где первые цифры - номерродительского блока, а последняя - номер конкретного субблока родительского блока.Детализацию завершают после получения функций, назначение которых хорошо понятно какзаказчику, так и разработчику. Эти функции описывают, используя естественный язык илипсевдокоды.В процессе построения иерархии диаграмм фиксируют всю уточняющуюинформацию и строят словарь данных, в котором определяют структуры и элементы данных,показанных на диаграммах.Таким образом, в результате получают спецификацию, которая состоит из иерархиифункциональных диаграмм, спецификаций функций нижнего уровня и словаря, имеющихссылки друг на друга.112Пример 4.2.
Разработку функциональных диаграмм продемонстрируем на примереуточнения спецификаций программы построения таблиц/графиков функций однойпеременной.Диаграмма, показанная на рис. 4.10, а, является диаграммой верхнего уровня. На нейхорошо видно, что является исходными данными для программы. и каких результатовработы от нее ожидают.Диаграмма, представленная на рис, 4.10. б, уточняет функции программы. На нейпоказаны четыре блока: Ввод/выбор функции и ее разбор. Добавление функции в список.Построение таблицы значений и Построение графика функции.113Для каждого блока определены исходные данные, управляющие воздействия и результаты.Согласно правилам наименования входов/выходов, имеющих продолжение на родительскойдиаграмме, на диаграмме использованы следующие обозначения:I1 - функция,I2 - отрезок,I3 - шаг,Cl - вид график/таблица,Rl - график функции на отрезке,R2 - таблица значений функции на отрезке.Словарь в этом случае должен содержать описание всех данных, используемых всистеме.Функциональную модель целесообразно применять для определения спецификацийпрограммного обеспечения, не предусматривающего работу со сложными структурамиданных, так как она ориентирована на декомпозицию функций.4.4.
Диаграммы потоков данныхДиаграммы потоков данных позволяют специфицировать как функцииразрабатываемого программного обеспечения, так и обрабатываемые им данные. Прииспользовании этой модели систему представляют в виде иерархии диаграмм потоковданных, описывающих асинхронный процесс преобразования информации с момента ввода всистему до выдачи пользователю. На каждом следующем уровне иерархии происходитуточнение процессов, пока очередной процесс не будет признан элементарным.Примечание. Модели потоков данных были независимо предложены сначала Е Йорданом (1975).
затем Ч.Генном и Т. Сарсоном (1979). На этих моделях основаны классические методологии структурного анализа ипроектирования программного обеспечения соответственно Йордана-Де Марка и Геина-Сарсона. Та же модельиспользуется в методологии структурного анализа и проектирования SSADM (Structured Systems Analysis andDesign Method). принятой в Великобритании в качестве национального стандарта разработки информационныхсистем.В основе модели лежат понятия внешней сущности, процесса, хранилища(накопителя) данных и потока данных.Внешняя сущность - материальный объект или физическое лицо, выступающие вкачестве источников или приемников информации, например, заказчики, персонал,поставщики, клиенты, банк и т.
п.Процесс - преобразование входных потоков данных в выходные в соответствии сопределенным алгоритмом.114Каждый процесс в системе имеетсвой номер и связан с исполнителем, которыйосуществляет данное преобразование. Как в случае функциональных диаграмм, физическипреобразование может осуществляться компьютерами, вручную или специальными устройствами. На верхних уровнях иерархии, когда процессы еще не определены, вместопонятия «процесс» используют понятия «система» и «подсистема», которые обозначаютсоответственно систему в целом или ее функционально законченную часть.Хранилище данных - абстрактное устройство для хранения информации. Типустройства и способы помещения, извлечения и хранения для такого устройства недетализируют.
Физически это может быть база данных, файл, таблица в оперативной памяти,картотека на бумаге и т. п.Поток данных — процесс передачи некоторой информации от источника кприемнику. Физически процесс передачи информации может происходить по кабелям подуправлением программы или программной системы или вручную при участии устройств илилюдей вне проектируемой системы.Таким образом, диаграмма иллюстрирует как потоки данных, порожденныенекоторыми внешними сущностями, трансформируются соответствующими процессами(или подсистемами), сохраняются накопителями данных и передаются другим внешнимсущностям - приемникам информации. В результате мы получаем сетевую модельхранения/обработки информации.Для изображения диаграмм потоков данных традиционно используют два виданотаций: нотации Йордана и Гейна-Сарсона (табл.
4.1).115Над линией потока, направление которого обозначают стрелкой, указывают, какаяконкретно информация в данном случае передается (рис. 4.11).Построение иерархии диаграмм потоков данных начинают с диаграммы особого вида- контекстной диаграммы, которая определяет наиболее общий вид системы. На такойдиаграмме показывают, как разрабатываемая система будет взаимодействовать сприемниками и источниками информации без указания исполнителей, т. е. описываютинтерфейс между системой и внешним миром. Обычно начальная контекстная диаграммаимеет форму звезды.Если проектируемая система содержит большое количество внешних сущностей(более 10-ти), имеет распределенную природу или включает уже существующие подсистемы,то строят иерархии контекстных диаграмм.При разработке контекстных диаграмм происходит детализация функциональнойструктуры будущей системы, что особенно важно, если разработка ведется несколькимиколлективами разработчиков.Полученную таким образом модель системы проверяют на полноту исходных данныхоб объектах системы и изолированность объектов (отсутствие информационных связей сдругими объектами).На следующем этапе каждую подсистему контекстной диаграммы детализируют припомощи диаграмм потоков данных.
В процессе детализации соблюдают правилобалансировки - при детализации подсистемы можно использовать компоненты только техподсистем, с которыми у разрабатываемой подсистемы существует информационнаясвязь (т.е. с которыми она связана потоками данных).Решение о завершении детализации процесса принимают в следующих случаях:• процесс взаимодействует с 2-3-мя потоками данных;• возможно описание процесса последовательным алгоритмом;•процесс выполняет единственную логическую функцию преобразования входнойинформации в выходную.На недетализируемые процессы составляют спецификации, которые должнысодержать описание логики (функций) данного процесса.