ГЛАВА 16
К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1617 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
34 35 36
ПРИМЕР РЕАЛИЗАЦИИ – ПАКЕТ CASE.АНАЛИТИК
Пакет CASE.Аналитик является единственной отечественной, доведенной до рынка разработкой, которая без всяких натяжек может быть отнесена к CASE первой генерации. В основе пакета лежит методология структурного системного анализа Гейна-Сарсона, применимая к широкому классу систем обработки информации: информационно-вычислительных, АСУ, АСУТП, систем автоматизации делопроизводства, бухгалтерских систем, баз данных, систем автоматизации эксперимента, организационных систем и т.п. Пакет обеспечивает:
помощь для ясного понимания потребностей пользователя;
точное взаимодействие между членами бригады разработчиков;
"принудительный" хороший стиль;
возможность для пользователя уже с первых шагов разработки "увидеть" и проверить создаваемое программное обеспечение.
предоставление разработчику машинно-реализованных средств формального описания системы, и, прежде всего, в графической нотации, понятной также заказчику и пользователю создаваемой системы, вовлекаемых, таким образом, в разработку системы на ее ранней стадии, когда еще можно что-либо менять без особых затрат;
предоставление доступа к любой части проекта;
контроль полноты и непротиворечивости каждой части системных требований при помощи встроенных средств контроля.
Результат работы в среде пакета - информационно-логическая модель анализируемой системы. Эта модель представляется в виде иерархии диаграмм потоков данных и структурограмм данных. Диаграммы верхних уровней иерархии определяют основные функции/подсистемы системы с внешними входами и выходами и используемыми файлами. Далее эти основные функции/подсистемы детализируются при помощи диаграмм нижнего уровня. Такая функциональная декомпозиция продолжается, создавая таким образом многоуровневую иерархию диаграмм, до тех пор, пока не будет достигнут такой уровень декомпозиции, на котором функциональный процесс становится элементарным, невозможным для дальнейшей детализации. Когда дальнейшая детализация логических функций перестает быть полезной, то переходят к выражению внутренней логики процессов при помощи миниспецификаций - алгоритмов преобразования входных потоков в выходные. На рис. 16.1 показаны эти связи.
Рис. 16.1. Информационно-логическая модель системы
Информационно-логическая модель образует исчерпывающее описание системы независимо от того, является ли она существующей или же "новой, которую предстоит построить. После подготовки информационно-логической модели имеется логическая функциональная спецификация - подробное описание функций системы, освобожденное от деталей реализации. Такая информационно-логическая модель дает проектировщику четкое представление о конечных результатах.
В состав пакета входят:
1) База данных проекта. В базе данных проекта CASE.Аналитик хранит всю информацию о модели системы - как о топологии и иерархии диаграмм, так и о структурных компонентах. При этом пользователю предоставляется графический интерфейс с базой данных и возможность получения разнообразных отчетов по проекту. В CASE.Аналитик используется база данных в формате СУБД Paradox. Для работы с CASE.Аналитик и базой данных проекта, порождаемой CASE.Аналитик, не требуется каких-либо дополнительных программ. В то же время база данных проекта доступна для программ, работающих с форматом Paradox. В этом смысле база данных проекта является открытой.
База данных проекта включает контекстные диаграммы, диаграммы потоков данных, диаграммы управляющих потоков, структуры данных, описания логики процессов, спецификации элементов данных, сигналов и структурных объектов, а также исходные данные о системе, проекте, причастных лицах и организациях, разработчиках и т.п.
2) Графические редакторы потоковых диаграмм и структурограмм данных. Все действия над диаграммами при редактировании отображаются на экране в графическом виде. При вводе элементов диаграмм и их редактировании осуществляется контроль корректности вводимой информации и ее совместимости с остальными частями проекта. Введенная (измененная) информация запоминается в базе данных проекта автоматически и по запросу пользователя.
3) Средства вывода экранных и печатных форм для контроля и анализа проекта и его презентации. Предусмотрены следующие экранные и печатные формы: контекстная диаграмма, диаграмма потоков данных, диаграмма потоков управления, структурограмма данных, перечни объектов словаря данных, отсортированных и выбранных различными способами, содержание элементов словаря данных, миниспецификация логики процесса, протоколы верификации проекта, отчеты проекта.
4) Документатор. Состав и содержание документов проекта системы регламентируются комплексами стандартов и руководящих документов. CASE.Аналитик поддерживает следующие стандарты и руководящие документы:
Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. М.: Госстандарт СССР, 1991г., - ГОСТы 34.ХХХ;
Единая система программной документации - ГОСТы 19.ХХХ.
Кроме того, оформление диаграмм при печати может быть выполнено в соответствии с требованиями ЕСКД: автоматически генерируется рамка и надписи.
5) Верификатор. Принципиальные решения по верификации проекта делает пользователь-аналитик. Эти решения аналитик принимает по результатам простых, но очень трудоемких процедур контроля и верификации, которые CASE.Аналитик выполняет автоматически и по запросу. CASE.Аналитик предоставляет следующие средства верификации:
автоматический контроль выполнения формальных правил построения модели при вводе и редактировании;
автоматическая поддержка согласованности при детализации подсистем, процессов и данных, т.е. при переходе с уровня на уровень;
верификация (по запросу) согласованности модели;
вывод на дисплей и печать разнообразных отчетов, которые могут быть использованы для верификации.
16.1. Особенности потоковых диаграмм информационно-логический модели
Формально потоковая диаграмма есть направленный граф, нагруженный по дугам и узлам. Потоковая диаграмма описывает асинхронный процесс преобразования информации от ее ввода в систему до выдачи потребителю. Внешние сущности - источники информации порождают информационные потоки. Информационные потоки переносят информацию к подсистемам или процессам. Подсистемы или процессы в свою очередь преобразуют информацию и порождают новые информационные потоки, которые переносят информацию к другим процессам или подсистемам, накопителям информации или внешним сущностям - потребителям информации. Использование ограниченного числа символов позволяет нам построить изображение системы, не связывая себя решениями о ее возможной реализации. На рис. 16.2 приведен пример диаграммы потоков данных, построенной с помощью пакета CASE.Аналитик.
Внешние сущности. Внешними сущностями системы обычно являются логические классы предметов или физических лиц, представляющие собой источник или приемник информации, например, заказчики, персонал, поставщики, налогоплательщики, клиенты. Это могут быть специфические источники или приемники, такие, как Бухгалтерия, Информационно-поисковая система, Склад. Если система, которую мы рассматриваем, принимает данные от другой системы или передает данные в другую систему, то эта другая система является элементом внешнего окружения. Внешняя сущность обозначается квадратом, как бы расположенным "над" диаграммой и бросающим на нее тень, для того, чтобы можно было выделить этот символ среди других обозначений на диаграмме (рис. 16.3).
Рис. 16.2. Пример диаграммы потоков данных
Рис. 16.3. Изображение внешней сущности на диаграммах
Проектируя некоторое устройство или некоторую систему как внешнюю сущность, мы точно указываем, что она находится за пределами границ рассматриваемой системы. Когда анализ проделан и изучены требования пользователей, мы можем перенести некоторые внешние сущности внутрь диаграммы нашей системы или, наоборот, вынести какую-то часть функций нашей системы и рассматривать всю эту часть как внешнюю сущность с исходящим и входящим потоками данных.
Система/подсистема. При построении информационно-логической модели сложной (и, как правило, распределенной) системы ее структуризация на отдельные взаимодействующие подсистемы может быть уже заданной или с очевидностью следующей из внешних условий, налагаемых на систему. Структуризация системы на подсистемы показывается при помощи контекстных диаграмм. Подсистема на контекстной диаграмме изображается, как показано на рис. 16.4.
Риc. 16.4. Условное обозначение подсистемы
Процесс. Логически процесс является неким устройством, принимающим входные потоки и преобразующим их в соответствии со своей внутренней логикой в выходные потоки. В действительности процесс может быть реализован самыми разными способами: подразделение организации (например, отдел), выполняющие нужную обработку входных документов и выпуск соответствующих отчетов, программа ЭВМ, аппаратно реализованное логическое устройство и т.д. Процессы обозначаются прямоугольниками с закругленными углами, разделенными на три поля (см. рис. 16.5). Необходимо дать каждому процессу имя, отражающее его функцию и, по возможности, привязать его к физической реализации. Для идентификации процессы автоматически нумеруются.
Рис. 16.5. Условное обозначение процесса
Управляющий процесс. Логически управляющий процесс есть некий командный пункт, который, реагируя на изменение внешних условий, передаваемых ему управляющим потоком (или потоком событий), выдает в соответствии со своей внутренней логикой команды, выполняемые другими процессами. Эти команды переносятся также управляющими потоками, а их исполнение процессами приводит к изменению состояния системы. Управляющий процесс может быть реализован, например, в виде командного пункта, на котором командир принимает данные (сигналы) об обстановке, и в соответствии с уставом, заданием и знаниями (внутренняя логика) выдает команды подчиненным; или в виде административного центра; или в виде процессора, управляемого многозадачной ОС. Управляющий процесс обозначается в виде прямоугольника с закругленными углами, изображенного пунктирными линиями.
Накопители данных. Логически накопители данных есть некие устройства для хранения информации, куда ее можно поместить и через некоторое время изъять. При этом на этапе анализа мы не уточняем способ помещения и извлечения данных в накопитель, нас не интересует, происходит ли извлечение данных в смысле чтения (копирования) или в смысле изъятия и другие подобные вопросы. Накопителем данных в реальности может быть микрофиша, ящик для хранения карточек, таблица в памяти, файл на ленте или диске. Накопитель данных обозначается двумя горизонтальными параллельными линиями, замкнутыми с одного края - рис. 16.6. Каждый накопитель данных идентифицируется для ссылки буквами "БД" и произвольным числом в квадрате с левой стороны, определяемым автоматически.
Рис. 16.6. Условное обозначение накопителя данных
Информационный канал. При детализации подсистем/процессов часто (за исключением простейших систем) возникает необходимость в детализации (структуризации) информационных потоков. Например, на диаграмме верхнего уровня может появиться поток Годовой отчет, который получает руководство организации. При детализации на следующих уровнях иерархии может выясниться, что годовой отчет готовят различные подразделения, и для этого порождаются такие потоки данных, как: Финансовый отчет, Анализ сбыта, Номенклатура изделий. Т.е. поток Годовой отчет есть результат слияния трех потоков. Такое слияние осуществляется через логический информационный канал. Логически информационный канал есть среда передачи информации. Информационный канал может реализоваться в виде, например, пневмопочты, курьерской службы, почты, магистрали или шины данных и т.д. Условное обозначение канала содержит идентифицирующую ссылку (буквы “ИК” и автоматически определяемый номер), поле имени и поле номера копии (рис. 16.7).
Рис. 16.7. Условное обозначение информационного канала
Информационный поток. Логически информационный поток есть некоторое соединение, по которому информация от источника передается приемнику. В реальности информационный поток может быть, например, информацией, передаваемой по кабелю между двумя устройствами, письмом, пересылаемым между респондентами, магнитной лентой или дискетой, переносимой между ЭВМ. Информационный поток может физически содержаться в телефонном звонке, при переходе от программы к программе через спутниковую информационную связь - при любом варианте прохождения данных от одного объекта или процесса к другому.
Рис. 16.8. Условные обозначения информационных потоков
16.2. Структурограммы данных
Детализация содержания информационных потоков и накопителей данных описывается при помощи структурограмм описания данных, в состав которых могут входить элементы данных различных типов, структуры данных, а также информация об альтернативном, условном или итеративном вхождении в структурограмму элемента или структуры данных. Пример структурограммы приведен на рис.16.9.
Рис. 16.9. Пример структурограммы
Структура данных ПОДРОБНОСТИ О ЗАКАЗЧИКЕ содержит элемент данных НАЗВАНИЕ ОРГАНИЗАЦИИ и вложенные структуры данных ОТВЕТСТВЕННОЕ ЛИЦО (условно входит), ТЕЛЕФОН, АДРЕС ДЛЯ ОТПРАВЛЕНИЯ и АДРЕС ДЛЯ ПРЕДСТАВЛЕНИЯ СЧЕТА. В нижней части рисунка приведен состав элементов одной из входящих в структурограмму структур данных (ОТВЕТСТВЕННОЕ ЛИЦО).
16.3. Описание структурных элементов
Несмотря на то, что в своей основе информационно-логическая модель является графической, структурные элементы диаграмм и структурограмм имеют дополнительно текстовые описания, хранящиеся в базе данных.
Со всеми структурными элементами информационно-логической модели - процессами, внешними сущностями и т.д. - связаны аннотации, куда аналитик может записать произвольный текст, каким-то образом характеризующий или поясняющий введенный элемент, а также номер ссылки, где можно указать источник возникновения элемента. Для каждого элемента модели можно указать синонимы, возникающие из-за того, что пользователи в разных отделах одному и тому же понятию дают разные имена, например, то, что служащие на складе называют НОМЕРОМ ТРЕБОВАНИЯ, занимающиеся закупочной деятельностью могут называть НОМЕРОМ ЗАКАЗА.
Ниже приводится состав описательной информации для каждого типа элементов данных, которая вносится аналитиком в соответствующие формы. Отметим, что едва ли не большая часть информации о том или ином конкретном структурном элементе генерируется CASE.Аналитиком автоматически.
Непрерывные данные - данные, которые на практике могут принимать любое значение в пределах диапазона, например, сумма в рублях может быть от нуля до 999999,99 с точностью до копейки или температура - от 0о до 300о. Для непрерывных данных указывается единица измерения, диапазон значений, типичное значение, точность и кодировка. Дискретные данные - данные, которые могут принимать только определенные значения, например, номер отдела, который может быть равен 36,08,29 или 71. Для дискретных данных заполняется таблица значений в соответствующем формате.
Аналоговые сигналы - это, как правило, измерительные данные от различного рода датчиков. Для них указывается единица измерения, диапазон, уровень сигнала и тип датчика. Дискретные сигналы - это, как правило, сигналы от датчиков положения (состояния) тех или иных устройств. Для них указывается уровень сигнала и тип датчика.
16.4. Сводка основных функций пакета
1) Построение и редактирование потоковых диаграмм. Соответствующие средства позволяют передвигать объекты диаграммы с автоматическим перерисовыванием связанных с этими объектами потоков, копировать накопители данных, информационные каналы и внешние сущности, удалять объекты с автоматической поддержкой целостности модели, вводить и редактировать спецификации объектов, погружаться вглубь любого объекта диаграммы с автоматическим сохранением произведенных на верхнем уровне модификаций, а также просматривать всю диаграмму в целом в уменьшенном виде и выполнять все вышеперечисленные операции над ее объектами.
2) Навигация по диаграммам. Средства позволяют осуществлять навигацию по горизонтали с использованием специального окна навигации, навигацию по вертикали (вглубь, наверх), а также выбор и загрузку любой диаграммы с использованием дерева диаграмм проекта.
3) Редактирование структурограмм. Имеются возможности передвижения элементов структурограмм, их удаления с автоматической поддержкой целостности, ввода и редактирования спецификаций данных, а также погружения вглубь структуры.
4) Навигация по данным. Включает передвижение по структурограмме наверх/вглубь, а также выбор и загрузку любой структурограммы по дереву структур данных.
5) Описание логики процессов. Позволяет вводить и редактировать миниспецификации процессов с использованием структурированного естественного языка.
6) Навигация по базе данных проекта. Позволяет осуществлять доступ к спецификации любого объекта модели, используя списки и перечни объектов, поиск по имени, а также доступ из диаграмм и структурограмм.
7) Верификация проекта на полноту исходных данных, полноту диаграмм, полноту данных, согласованность накопителей и информационных каналов, а также анализ нагрузки информационных каналов и анализ объема накопителей данных.
8) Печать диаграмм - имеется возможность использования следующих режимов: качественная печать, быстрая печать, пропорциональная печать, печать для презентации.
Рис. 16.10. Экспорт/импорт частей проекта
9) Генерация отчетов и документов. Средства позволяют генерировать 12 отчетов по проекту в соответствии с вышеперечисленными стандартами, а также отчеты по спецификациям объектов (13 типов объектов), перечням объектов (11 отчетов) и верификации (6 отчетов).
10) Экспорт/Импорт. Благодаря этой функции возможно взаимодействие аналитиков, работающих на автономных рабочих местах. Руководитель проекта ведет центральную базу данных проекта и экспортирует для проработки другим аналитикам части (поддеревья) иерархической информационно-логической модели системы (рис. 16.10).
При этом, для обеспечения целостности проекта, руководителю закрывается доступ для редактирования как экспортируемого дерева, так и его контекста. Аналитик может редактировать только детализацию корневого процесса (подсистемы). После проработки поддеревьев, они импортируются в центральную базу данных проекта руководителя проекта.
1) Связь с пакетом ERWin. CASE.Аналитик позволяет строить только концептуальные модели данных с использованием структурограмм. При необходимости построения логической модели данных (в виде диаграмм “сущность-связь”) имеется возможность взаимодействия с одним из наиболее популярных пакетов построения информационных моделей - пакетом ERWin фирмы Logic Works. Для этой цели разработан отдельный программный продукт Catherine, предназначенный для обмена данными между CASE.Аналитик 1.1+ и >ERWin/ERX 2.5. Эта программа работает с базой данных CASE.Аналитика. Данные для экспорта могут формироваться как в автоматическом (все структурограммы), так и в интерактивном (отдельные фрагменты концептуальной модели) режиме. По окончании выбора экспортируемых данных они записываются в словарь данных ERWin, при этом автоматически контролируется непротиворечивость построенной ER-модели.
Из проекта, выполненного в CASE.Аналитике экспортируются:
структурограммы данных вместе с их внутренней структурой
накопители данных и их структура
аннотации для накопителей и данных.
При переносе объектов используются следующие правила:
детализированная структура (или накопитель данных) определяется как сущность;
данные типов “аналоговое/дискретное данное/сигнал”, используемые при детализации структурограммы (накопителя), определяются как атрибуты соответствующей сущности;
недетализированная структура второго и более уровня определяется как атрибут соответствующей сущности.
Таким образом, в ERWin могут быть экспортированы сущности и их атрибуты. Предполагается, что дальнейшее построение логической модели данных будет выполняться непосредственно в этом пакете.
В заключение отметим, что для функционирования CASE.Аналитика требуется минимальный объем аппаратных ресурсов:
процессор - Intel 386 и выше
память - 4 Mb RAM, 5 Mb HDD
операционная система - MS Windows 3.* или Windows 95.
ПРИМЕР РЕАЛИЗАЦИИ – ПАКЕТ CASE.АНАЛИТИК
Пакет CASE.Аналитик является единственной отечественной, доведенной до рынка разработкой, которая без всяких натяжек может быть отнесена к CASE первой генерации. В основе пакета лежит методология структурного системного анализа Гейна-Сарсона, применимая к широкому классу систем обработки информации: информационно-вычислительных, АСУ, АСУТП, систем автоматизации делопроизводства, бухгалтерских систем, баз данных, систем автоматизации эксперимента, организационных систем и т.п. Пакет обеспечивает:
помощь для ясного понимания потребностей пользователя;
точное взаимодействие между членами бригады разработчиков;
"принудительный" хороший стиль;
возможность для пользователя уже с первых шагов разработки "увидеть" и проверить создаваемое программное обеспечение.
предоставление разработчику машинно-реализованных средств формального описания системы, и, прежде всего, в графической нотации, понятной также заказчику и пользователю создаваемой системы, вовлекаемых, таким образом, в разработку системы на ее ранней стадии, когда еще можно что-либо менять без особых затрат;
предоставление доступа к любой части проекта;
контроль полноты и непротиворечивости каждой части системных требований при помощи встроенных средств контроля.
Результат работы в среде пакета - информационно-логическая модель анализируемой системы. Эта модель представляется в виде иерархии диаграмм потоков данных и структурограмм данных. Диаграммы верхних уровней иерархии определяют основные функции/подсистемы системы с внешними входами и выходами и используемыми файлами. Далее эти основные функции/подсистемы детализируются при помощи диаграмм нижнего уровня. Такая функциональная декомпозиция продолжается, создавая таким образом многоуровневую иерархию диаграмм, до тех пор, пока не будет достигнут такой уровень декомпозиции, на котором функциональный процесс становится элементарным, невозможным для дальнейшей детализации. Когда дальнейшая детализация логических функций перестает быть полезной, то переходят к выражению внутренней логики процессов при помощи миниспецификаций - алгоритмов преобразования входных потоков в выходные. На рис. 16.1 показаны эти связи.
Рис. 16.1. Информационно-логическая модель системы
Информационно-логическая модель образует исчерпывающее описание системы независимо от того, является ли она существующей или же "новой, которую предстоит построить. После подготовки информационно-логической модели имеется логическая функциональная спецификация - подробное описание функций системы, освобожденное от деталей реализации. Такая информационно-логическая модель дает проектировщику четкое представление о конечных результатах.
В состав пакета входят:
1) База данных проекта. В базе данных проекта CASE.Аналитик хранит всю информацию о модели системы - как о топологии и иерархии диаграмм, так и о структурных компонентах. При этом пользователю предоставляется графический интерфейс с базой данных и возможность получения разнообразных отчетов по проекту. В CASE.Аналитик используется база данных в формате СУБД Paradox. Для работы с CASE.Аналитик и базой данных проекта, порождаемой CASE.Аналитик, не требуется каких-либо дополнительных программ. В то же время база данных проекта доступна для программ, работающих с форматом Paradox. В этом смысле база данных проекта является открытой.
База данных проекта включает контекстные диаграммы, диаграммы потоков данных, диаграммы управляющих потоков, структуры данных, описания логики процессов, спецификации элементов данных, сигналов и структурных объектов, а также исходные данные о системе, проекте, причастных лицах и организациях, разработчиках и т.п.
2) Графические редакторы потоковых диаграмм и структурограмм данных. Все действия над диаграммами при редактировании отображаются на экране в графическом виде. При вводе элементов диаграмм и их редактировании осуществляется контроль корректности вводимой информации и ее совместимости с остальными частями проекта. Введенная (измененная) информация запоминается в базе данных проекта автоматически и по запросу пользователя.
3) Средства вывода экранных и печатных форм для контроля и анализа проекта и его презентации. Предусмотрены следующие экранные и печатные формы: контекстная диаграмма, диаграмма потоков данных, диаграмма потоков управления, структурограмма данных, перечни объектов словаря данных, отсортированных и выбранных различными способами, содержание элементов словаря данных, миниспецификация логики процесса, протоколы верификации проекта, отчеты проекта.
4) Документатор. Состав и содержание документов проекта системы регламентируются комплексами стандартов и руководящих документов. CASE.Аналитик поддерживает следующие стандарты и руководящие документы:
Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. М.: Госстандарт СССР, 1991г., - ГОСТы 34.ХХХ;
Единая система программной документации - ГОСТы 19.ХХХ.
Кроме того, оформление диаграмм при печати может быть выполнено в соответствии с требованиями ЕСКД: автоматически генерируется рамка и надписи.
5) Верификатор. Принципиальные решения по верификации проекта делает пользователь-аналитик. Эти решения аналитик принимает по результатам простых, но очень трудоемких процедур контроля и верификации, которые CASE.Аналитик выполняет автоматически и по запросу. CASE.Аналитик предоставляет следующие средства верификации:
автоматический контроль выполнения формальных правил построения модели при вводе и редактировании;
автоматическая поддержка согласованности при детализации подсистем, процессов и данных, т.е. при переходе с уровня на уровень;
верификация (по запросу) согласованности модели;
вывод на дисплей и печать разнообразных отчетов, которые могут быть использованы для верификации.
16.1. Особенности потоковых диаграмм информационно-логический модели
Формально потоковая диаграмма есть направленный граф, нагруженный по дугам и узлам. Потоковая диаграмма описывает асинхронный процесс преобразования информации от ее ввода в систему до выдачи потребителю. Внешние сущности - источники информации порождают информационные потоки. Информационные потоки переносят информацию к подсистемам или процессам. Подсистемы или процессы в свою очередь преобразуют информацию и порождают новые информационные потоки, которые переносят информацию к другим процессам или подсистемам, накопителям информации или внешним сущностям - потребителям информации. Использование ограниченного числа символов позволяет нам построить изображение системы, не связывая себя решениями о ее возможной реализации. На рис. 16.2 приведен пример диаграммы потоков данных, построенной с помощью пакета CASE.Аналитик.
Внешние сущности. Внешними сущностями системы обычно являются логические классы предметов или физических лиц, представляющие собой источник или приемник информации, например, заказчики, персонал, поставщики, налогоплательщики, клиенты. Это могут быть специфические источники или приемники, такие, как Бухгалтерия, Информационно-поисковая система, Склад. Если система, которую мы рассматриваем, принимает данные от другой системы или передает данные в другую систему, то эта другая система является элементом внешнего окружения. Внешняя сущность обозначается квадратом, как бы расположенным "над" диаграммой и бросающим на нее тень, для того, чтобы можно было выделить этот символ среди других обозначений на диаграмме (рис. 16.3).
Рис. 16.2. Пример диаграммы потоков данных
Рис. 16.3. Изображение внешней сущности на диаграммах
Проектируя некоторое устройство или некоторую систему как внешнюю сущность, мы точно указываем, что она находится за пределами границ рассматриваемой системы. Когда анализ проделан и изучены требования пользователей, мы можем перенести некоторые внешние сущности внутрь диаграммы нашей системы или, наоборот, вынести какую-то часть функций нашей системы и рассматривать всю эту часть как внешнюю сущность с исходящим и входящим потоками данных.
Система/подсистема. При построении информационно-логической модели сложной (и, как правило, распределенной) системы ее структуризация на отдельные взаимодействующие подсистемы может быть уже заданной или с очевидностью следующей из внешних условий, налагаемых на систему. Структуризация системы на подсистемы показывается при помощи контекстных диаграмм. Подсистема на контекстной диаграмме изображается, как показано на рис. 16.4.
Риc. 16.4. Условное обозначение подсистемы
Процесс. Логически процесс является неким устройством, принимающим входные потоки и преобразующим их в соответствии со своей внутренней логикой в выходные потоки. В действительности процесс может быть реализован самыми разными способами: подразделение организации (например, отдел), выполняющие нужную обработку входных документов и выпуск соответствующих отчетов, программа ЭВМ, аппаратно реализованное логическое устройство и т.д. Процессы обозначаются прямоугольниками с закругленными углами, разделенными на три поля (см. рис. 16.5). Необходимо дать каждому процессу имя, отражающее его функцию и, по возможности, привязать его к физической реализации. Для идентификации процессы автоматически нумеруются.
Рис. 16.5. Условное обозначение процесса
Управляющий процесс. Логически управляющий процесс есть некий командный пункт, который, реагируя на изменение внешних условий, передаваемых ему управляющим потоком (или потоком событий), выдает в соответствии со своей внутренней логикой команды, выполняемые другими процессами. Эти команды переносятся также управляющими потоками, а их исполнение процессами приводит к изменению состояния системы. Управляющий процесс может быть реализован, например, в виде командного пункта, на котором командир принимает данные (сигналы) об обстановке, и в соответствии с уставом, заданием и знаниями (внутренняя логика) выдает команды подчиненным; или в виде административного центра; или в виде процессора, управляемого многозадачной ОС. Управляющий процесс обозначается в виде прямоугольника с закругленными углами, изображенного пунктирными линиями.
Накопители данных. Логически накопители данных есть некие устройства для хранения информации, куда ее можно поместить и через некоторое время изъять. При этом на этапе анализа мы не уточняем способ помещения и извлечения данных в накопитель, нас не интересует, происходит ли извлечение данных в смысле чтения (копирования) или в смысле изъятия и другие подобные вопросы. Накопителем данных в реальности может быть микрофиша, ящик для хранения карточек, таблица в памяти, файл на ленте или диске. Накопитель данных обозначается двумя горизонтальными параллельными линиями, замкнутыми с одного края - рис. 16.6. Каждый накопитель данных идентифицируется для ссылки буквами "БД" и произвольным числом в квадрате с левой стороны, определяемым автоматически.
Рис. 16.6. Условное обозначение накопителя данных
Информационный канал. При детализации подсистем/процессов часто (за исключением простейших систем) возникает необходимость в детализации (структуризации) информационных потоков. Например, на диаграмме верхнего уровня может появиться поток Годовой отчет, который получает руководство организации. При детализации на следующих уровнях иерархии может выясниться, что годовой отчет готовят различные подразделения, и для этого порождаются такие потоки данных, как: Финансовый отчет, Анализ сбыта, Номенклатура изделий. Т.е. поток Годовой отчет есть результат слияния трех потоков. Такое слияние осуществляется через логический информационный канал. Логически информационный канал есть среда передачи информации. Информационный канал может реализоваться в виде, например, пневмопочты, курьерской службы, почты, магистрали или шины данных и т.д. Условное обозначение канала содержит идентифицирующую ссылку (буквы “ИК” и автоматически определяемый номер), поле имени и поле номера копии (рис. 16.7).
Рис. 16.7. Условное обозначение информационного канала
Информационный поток. Логически информационный поток есть некоторое соединение, по которому информация от источника передается приемнику. В реальности информационный поток может быть, например, информацией, передаваемой по кабелю между двумя устройствами, письмом, пересылаемым между респондентами, магнитной лентой или дискетой, переносимой между ЭВМ. Информационный поток может физически содержаться в телефонном звонке, при переходе от программы к программе через спутниковую информационную связь - при любом варианте прохождения данных от одного объекта или процесса к другому.
Рис. 16.8. Условные обозначения информационных потоков
16.2. Структурограммы данных
Детализация содержания информационных потоков и накопителей данных описывается при помощи структурограмм описания данных, в состав которых могут входить элементы данных различных типов, структуры данных, а также информация об альтернативном, условном или итеративном вхождении в структурограмму элемента или структуры данных. Пример структурограммы приведен на рис.16.9.
Рис. 16.9. Пример структурограммы
Структура данных ПОДРОБНОСТИ О ЗАКАЗЧИКЕ содержит элемент данных НАЗВАНИЕ ОРГАНИЗАЦИИ и вложенные структуры данных ОТВЕТСТВЕННОЕ ЛИЦО (условно входит), ТЕЛЕФОН, АДРЕС ДЛЯ ОТПРАВЛЕНИЯ и АДРЕС ДЛЯ ПРЕДСТАВЛЕНИЯ СЧЕТА. В нижней части рисунка приведен состав элементов одной из входящих в структурограмму структур данных (ОТВЕТСТВЕННОЕ ЛИЦО).
16.3. Описание структурных элементов
Несмотря на то, что в своей основе информационно-логическая модель является графической, структурные элементы диаграмм и структурограмм имеют дополнительно текстовые описания, хранящиеся в базе данных.
Со всеми структурными элементами информационно-логической модели - процессами, внешними сущностями и т.д. - связаны аннотации, куда аналитик может записать произвольный текст, каким-то образом характеризующий или поясняющий введенный элемент, а также номер ссылки, где можно указать источник возникновения элемента. Для каждого элемента модели можно указать синонимы, возникающие из-за того, что пользователи в разных отделах одному и тому же понятию дают разные имена, например, то, что служащие на складе называют НОМЕРОМ ТРЕБОВАНИЯ, занимающиеся закупочной деятельностью могут называть НОМЕРОМ ЗАКАЗА.
Ниже приводится состав описательной информации для каждого типа элементов данных, которая вносится аналитиком в соответствующие формы. Отметим, что едва ли не большая часть информации о том или ином конкретном структурном элементе генерируется CASE.Аналитиком автоматически.
Непрерывные данные - данные, которые на практике могут принимать любое значение в пределах диапазона, например, сумма в рублях может быть от нуля до 999999,99 с точностью до копейки или температура - от 0о до 300о. Для непрерывных данных указывается единица измерения, диапазон значений, типичное значение, точность и кодировка. Дискретные данные - данные, которые могут принимать только определенные значения, например, номер отдела, который может быть равен 36,08,29 или 71. Для дискретных данных заполняется таблица значений в соответствующем формате.
Аналоговые сигналы - это, как правило, измерительные данные от различного рода датчиков. Для них указывается единица измерения, диапазон, уровень сигнала и тип датчика. Дискретные сигналы - это, как правило, сигналы от датчиков положения (состояния) тех или иных устройств. Для них указывается уровень сигнала и тип датчика.
16.4. Сводка основных функций пакета
1) Построение и редактирование потоковых диаграмм. Соответствующие средства позволяют передвигать объекты диаграммы с автоматическим перерисовыванием связанных с этими объектами потоков, копировать накопители данных, информационные каналы и внешние сущности, удалять объекты с автоматической поддержкой целостности модели, вводить и редактировать спецификации объектов, погружаться вглубь любого объекта диаграммы с автоматическим сохранением произведенных на верхнем уровне модификаций, а также просматривать всю диаграмму в целом в уменьшенном виде и выполнять все вышеперечисленные операции над ее объектами.
2) Навигация по диаграммам. Средства позволяют осуществлять навигацию по горизонтали с использованием специального окна навигации, навигацию по вертикали (вглубь, наверх), а также выбор и загрузку любой диаграммы с использованием дерева диаграмм проекта.
3) Редактирование структурограмм. Имеются возможности передвижения элементов структурограмм, их удаления с автоматической поддержкой целостности, ввода и редактирования спецификаций данных, а также погружения вглубь структуры.
4) Навигация по данным. Включает передвижение по структурограмме наверх/вглубь, а также выбор и загрузку любой структурограммы по дереву структур данных.
5) Описание логики процессов. Позволяет вводить и редактировать миниспецификации процессов с использованием структурированного естественного языка.
6) Навигация по базе данных проекта. Позволяет осуществлять доступ к спецификации любого объекта модели, используя списки и перечни объектов, поиск по имени, а также доступ из диаграмм и структурограмм.
7) Верификация проекта на полноту исходных данных, полноту диаграмм, полноту данных, согласованность накопителей и информационных каналов, а также анализ нагрузки информационных каналов и анализ объема накопителей данных.
8) Печать диаграмм - имеется возможность использования следующих режимов: качественная печать, быстрая печать, пропорциональная печать, печать для презентации.
Рис. 16.10. Экспорт/импорт частей проекта
9) Генерация отчетов и документов. Средства позволяют генерировать 12 отчетов по проекту в соответствии с вышеперечисленными стандартами, а также отчеты по спецификациям объектов (13 типов объектов), перечням объектов (11 отчетов) и верификации (6 отчетов).
10) Экспорт/Импорт. Благодаря этой функции возможно взаимодействие аналитиков, работающих на автономных рабочих местах. Руководитель проекта ведет центральную базу данных проекта и экспортирует для проработки другим аналитикам части (поддеревья) иерархической информационно-логической модели системы (рис. 16.10).
При этом, для обеспечения целостности проекта, руководителю закрывается доступ для редактирования как экспортируемого дерева, так и его контекста. Аналитик может редактировать только детализацию корневого процесса (подсистемы). После проработки поддеревьев, они импортируются в центральную базу данных проекта руководителя проекта.
1) Связь с пакетом ERWin. CASE.Аналитик позволяет строить только концептуальные модели данных с использованием структурограмм. При необходимости построения логической модели данных (в виде диаграмм “сущность-связь”) имеется возможность взаимодействия с одним из наиболее популярных пакетов построения информационных моделей - пакетом ERWin фирмы Logic Works. Для этой цели разработан отдельный программный продукт Catherine, предназначенный для обмена данными между CASE.Аналитик 1.1+ и >ERWin/ERX 2.5. Эта программа работает с базой данных CASE.Аналитика. Данные для экспорта могут формироваться как в автоматическом (все структурограммы), так и в интерактивном (отдельные фрагменты концептуальной модели) режиме. По окончании выбора экспортируемых данных они записываются в словарь данных ERWin, при этом автоматически контролируется непротиворечивость построенной ER-модели.
Из проекта, выполненного в CASE.Аналитике экспортируются:
структурограммы данных вместе с их внутренней структурой
накопители данных и их структура
аннотации для накопителей и данных.
При переносе объектов используются следующие правила:
детализированная структура (или накопитель данных) определяется как сущность;
данные типов “аналоговое/дискретное данное/сигнал”, используемые при детализации структурограммы (накопителя), определяются как атрибуты соответствующей сущности;
недетализированная структура второго и более уровня определяется как атрибут соответствующей сущности.
Таким образом, в ERWin могут быть экспортированы сущности и их атрибуты. Предполагается, что дальнейшее построение логической модели данных будет выполняться непосредственно в этом пакете.
В заключение отметим, что для функционирования CASE.Аналитика требуется минимальный объем аппаратных ресурсов:
процессор - Intel 386 и выше
память - 4 Mb RAM, 5 Mb HDD
операционная система - MS Windows 3.* или Windows 95.