CASE. Структурный системный анализ.
ГЛАВА 13. ПРИМЕР РЕАЛИЗАЦИИ - ПАКЕТ "CASE.АНАЛИТИК"
---------------------------------------------------
Пакет CASE.Аналитик является единственной отечественной, доведенной
до рынка разработкой, которая без всяких натяжек может быть отнесена к
CASE первой генерации. В основе пакета лежит методология структурного
системного анализа Гейна-Сарсона, применимая к широкому классу систем
обработки информации: информационно-вычислительных, АСУ, АСУТП, систем
автоматизации делопроизводства, бухгалтерских систем, баз данных, систем
автоматизации эксперимента, организационных систем и т.п. Пакет
обеспечивает:
¦ помощь для ясного понимания потребностей пользователя;
¦ точное взаимодействие между членами бригады разработчиков;
¦ "принудительный" хороший стиль;
¦ возможность для пользователя уже с первых шагов разработки
"увидеть" и проверить создаваемое программное обеспечение;
¦ предоставление разработчику машинно-реализованных средств
формального описания системы и, прежде всего, в графической
нотации, понятной также заказчику и пользователю создаваемой
системы, вовлекаемых, таким образом, в разработку системы на ее
ранней стадии, когда еще можно что-либо менять без особых затрат;
¦ предоставление доступа к любой части проекта;
¦ контроль полноты и непротиворечивости каждой части системных
требований при помощи встроенных средств контроля.
Результат работы в среде пакета - информационнологическая модель
анализируемой системы. Эта модель представляется в виде иерархии диаграмм
потоков данных и структурограмм данных. Диаграммы верхних уровней иерархии
определяют основные функции/подсистемы системы с внешними входами и
выходами и используемыми файлами. Далее эти основные функции/подсистемы
детализируются при помощи диаграмм нижнего уровня. Такая функциональная
декомпозиция продолжается, создавая многоуровневую иерархию диаграмм, до
тех пор, пока не будет достигнут такой уровень декомпозиции, на котором
функциональный процесс становится элементарным, невозможным для дальнейшей
детализации. Когда дальнейшая детализация логических функций перестает
быть полезной, то переходят к выражению внутренней логики процессов при
помощи миниспецификаций - алгоритмов преобразования входных потоков в
выходные. На рис. 13.1 показаны эти связи.
Рис. 13.1: Информационно-логическая модель системы
Информационно-логическая модель образует исчерпывающее описание
системы независимо от того, является ли она существующей или же "новой,
которую предстоит построить. После подготовки информационно-логической
модели имеется логическая функциональная спецификация - подробное описание
функций системы, освобожденное от деталей реализации. Такая
информационно-логическая модель дает проектировщику четкое представление о
конечных результатах.
В состав пакета входят:
1. База данных проекта. В базе данных проекта CASE-Аналитик хранит
всю информацию о модели системы - как о топологии и иерархии
диаграмм, так и о структурных компонентах. При этом пользователю
предоставляется графический интерфейс с базой данных и возможность
получения разнообразных отчетов по проекту. В CASE.Аналитик
используется база данных в формате СУБД Paradox. Для работы с
CASE.Аналитик и базой данных проекта, порождаемой CASE.Аналитик,
не требуется какихлибо дополнительных программ. В то же время база
данных проекта доступна для программ, работающих с форматом
Paradox. В этом смысле база данных проекта является открытой.
База данных проекта включает контекстные диаграммы, диаграммы
потоков данных, диаграммы управляющих потоков, структуры данных,
описания логики процессов, спецификации элементов данных, сигналов
И структурных объектов, а также исходные данные о системе,
проекте, причастных лицах и организациях, разработчиках и т.п.
2. Графические редакторы потоковых диаграмм и структурограмм данных.
Все действия над диаграммами при редактировании отображаются на
экране в графическом виде. При вводе элементов диаграмм и их
редактировании осуществляется контроль корректности вводимой
информации и ее совместимости с остальными частями проекта.
Введенная (измененная) информация запоминается в базе данных
проекта автоматически и по запросу пользователя.
3. Средства вывода экранных и печатных форм для контроля и анализа
проекта и его презентации. Предусмотрены следующие экранные и
печатные формы: контекстная диаграмма, диаграмма потоков данных,
диаграмма потоков управления, структурограмма данных, перечни
объектов словаря данных, отсортированных и выбранных различными
способами, содержание элементов словаря данных, миниспецификация
логики процесса, протоколы верификации проекта, отчеты проекта.
4. Документатор. Состав и содержание документов проекта системы
регламентируются комплексами стандартов и руководящих документов.
САЗЕ.Аналитик поддерживает следующие стандарты и руководящие
документы:
Информационная технология. Комплекс стандартов и руководящих
документов на автоматизированные системы. М.: Госстандарт СССР.
1991 г., - ГОСТы 34.XXX;
Единая система программной документации - ГОСТы 19.XXX.
Кроме того, оформление диаграмм при печати может быть выполнено в
соответствии с требованиями ЕСКД: автоматически генерируется рамка
и надписи.
5. Верификатор. Принципиальные решения по верификации проекта делает
пользователь-аналитик. Эти решения аналитик принимает по
результатам простых, но очень трудоемких процедур контроля и
верификации, которые CASE-Аналитик выполняет автоматически и по
запросу. CASE.Аналитик предоставляет следующие средства
верификации:
¦ автоматический контроль выполнения формальных правил построения
модели при вводе и редактировании;
¦ автоматическая поддержка согласованности при детализации
подсистем, процессов и данных, т.е. при переходе с уровня на
уровень;
¦ верификация (по запросу) согласованности модели;
¦ вывод на дисплей и печать разнообразных отчетов, которые могут
быть использованы для верификации.
Особенности потоковых диаграмм информационно-логической модели
---------------------------------------------------------------------
Формально потоковая диаграмма есть направленный граф, нагруженный по
дугам и узлам. Потоковая диаграмма описывает асинхронный процесс
преобразования информации от ее ввода в систему до выдачи потребителю.
Внешние сущности - источники информации порождают информационные потоки.
Информационные потоки переносят информацию к подсистемам или процессам.
Подсистемы или процессы в свою очередь преобразуют информацию и порождают
новые информационные потоки, которые переносят информацию к другим
процессам или подсистемам, накопителям информации или внешним сущностям -
потребителям информации. Использование ограниченного числа символов
позволяет построить изображение системы, не связывая решениями о ее
возможной реализации. На рис. 13.2 приведен пример диаграммы потоков
данных, построенной с помощью пакета CASE.Аналитик.
Рис. 13.2: Пример диаграммы потоков данных
Внешние сущности. Внешними сущностями системы обычно являются
логические классы предметов или физических лиц, представляющие собой
источник или приемник информации, например, заказчики, персонал,
поставщики, налогоплательщики, клиенты. Это могут быть специфические
источники или приемники, такие, как Бухгалтерия, Информационно-поисковая
система, Склад. Если система, которую мы рассматриваем, принимает данные
от другой системы или передает данные в другую систему, то эта другая
система является элементом внешнего окружения. Внешняя сущность
обозначается квадратом, как бы расположенным "над" диаграммой и бросающим
на нее тень для того, чтобы можно было выделить этот символ среди других
обозначений на диаграмме (рис. 13.3).
Рис. 13.3: Изображение внешней сущности на диаграммах
Проектируя некоторое устройство или некоторую систему как внешнюю
сущность, мы точно указываем, что она находится за пределами границ
рассматриваемой системы. Когда анализ проделан и изучены требования
пользователей, мы можем перенести некоторые внешние сущности внутрь
диаграммы нашей системы или, наоборот, вынести какую-то часть функций
нашей системы и рассматривать всю эту часть как внешнюю сущность с
исходящими и входящим потоками данных. Система/подсистема. При построении
информационно-логической модели сложной (и, как правило, распределенной)
системы ее структуризация на отдельные взаимодействующие подсистемы может
быть уже заданной или с очевидностью следующей из внешних условий,
налагаемых на систему. Структуризация системы на подсистемы показывается
при помощи контекстных диаграмм. Подсистема на контекстной диаграмме
изображается, как показано на рис. 13.4.
Рис. 13.4: Условное обозначение подсистемы
Процесс. Логически процесс является неким устройством, принимающим
входные потоки и преобразующим их в соответствии со своей внутренней
логикой в выходные потоки. В действительности процесс может быть
реализован самыми разными способами: подразделение организации (например
отдел), выполняющие нужную обработку входных документов и выпуск
соответствующих отчетов, программа ЭВМ, аппаратно реализованное логическое
устройство и т.д. Процессы обозначаются прямоугольниками с закругленными
углами, разделенными на три поля (см. рис. 13.5). Необходимо дать каждому
процессу имя, отражающее его функцию и, по возможности привязать его к
физической реализации. Для идентификации процессы автоматически нумеруются
Рис. 13.5: Условное обозначение процесса
Управляющий процесс. Логически управляющий процесс есть некий
командный пункт, который, реагируя на изменение внешних условий,
передаваемых ему управляющим потоком (или потоком событий), выдает в
соответствии со своей внутренней логикой команды, выполняемые другими
процессами. Эти команды переносятся также управляющими потоками, а их
исполнение процессами приводит к изменению состояния системы. Управляющий
процесс может быть реализован, например, в виде командного пункта, на
котором командир принимает данные (сигналы) об обстановке, и в
соответствии с уставом, заданием и знаниями (внутренняя логика) выдает
команды подчиненным; или в виде административного центра; или В виде
процессора, управляемого многозадачной ОС. Управляющий процесс
обозначается в виде прямоугольника с закругленными углами, изображенного
пунктирными линиями.
Накопители данных. Логически накопители данных -это некие устройства
для хранения информации, куда ее можно поместить и через некоторое время
изъять. На этапе анализа мы не уточняем способ помещения и извлечения
данных в накопитель, нас не интересует, происходит ли извлечение данных в
смысле чтения (копирования) или в смысле изъятия и другие подобные
вопросы. Накопителем данных в реальности может быть микрофиша, ящик для
хранения карточек, таблица в памяти, файл на ленте или диске. Накопитель
данных обозначается двумя горизонтальными параллельными линиями,
замкнутыми с одного края - рис. 13.6. Каждый накопитель данных
идентифицируется для ссылки буквами "БД" и произвольным числом в квадрате
с левой стороны, определяемым автоматически.
Рис. 13.6: Условное обозначение накопителя данных
Информационный канал. При детализации подсистем/процессов часто (за
исключением простейших систем) возникает необходимость в детализации
(структуризации) информационных потоков. Например, на диаграмме верхнего
уровня может появиться поток Годовой отчет, который получает руководство
организации. При детализации на следующих уровнях иерархии может
выясниться, что годовой отчет готовят различные подразделения, и для этого
порождаются такие потоки данных, как: Финансовый отчет, Анализ сбыта,
Номенклатура изделий. Т.е. поток Годовой отчет есть результат слияния трех
потоков.Такое слияние осуществляется через логический информационный
канал. Логически информационный канал - это среда передачи информации.
Информационный канал может реализоваться в виде, например, пневмопочты,
курьерской службы, почты, магистрали или шины данных и т.д. Условное
обозначение канала содержит идентифицирующую ссылку (буквы "ИК" и
автоматически определяемый номер), поле имени и поле номера копии (рис.
13.7).
Рис. 13.7: Условное обозначение информационного канала
Информационный поток. Логически информационный поток - это некоторое
соединение, по которому информация от источника передается приемнику. В
реальности информационный поток может быть, например, информацией,
передаваемой по кабелю между двумя устройствами, письмом, пересылаемым
между респондентами, магнитной лентой или дискетой, переносимой между ЭВМ.
Информационный поток может физически содержаться в телефонном звонке, при
переходе от программы к программе через спутниковую информационную связь -
при любом варианте прохождения данных от одного объекта или процесса к
другому.(рис.13.8)
Рис. 13.8: Условные обозначения информационных потоков
Структурограммы данных
---------------------------------------------------------------------
Детализация содержания информационных потоков и накопителей данных
описывается при помощи структурограмм описания данных, в состав которых
могут входить элементы данных различных типов, структуры данных, а также
информация об альтернативном, условном или итеративном вхождении в
структурограмму элемента или структуры данных. Пример структурограммы
приведен на рис. 13.9.
Рис. 13.9: Пример структурограммы
Структура данных ПОДРОБНОСТИ О ЗАКАЗЧИКЕ содержит элемент данных
НАЗВАНИЕ ОРГАНИЗАЦИИ и вложенные структуры данных ОТВЕТСТВЕННОЕ ЛИЦО
(условно входит), ТЕЛЕФОН, АДРЕС ДЛЯ ОТПРАВЛЕНИЯ и АДРЕС ДЛЯ ПРЕДСТАВЛЕНИЯ
СЧЕТА. В нижней части рисунка приведен состав элементов одной из входящих
в структурограмму структур данных (ОТВЕТСТВЕННОЕ ЛИЦО).
Описание структурных элементов
---------------------------------------------------------------------
Несмотря на то, что в своей основе информационнологическая модель
является графической, структурные элементы диаграмм и структурограмм имеют
дополнительно текстовые описания, хранящиеся в базе данных.
Со всеми структурными элементами информационнологической модели -
процессами, внешними сущностями и т.д. - связаны аннотации, куда аналитик
может записать произвольный текст, каким-то образом характеризующий или
поясняющий введенный элемент, а также номер ссылки, где можно указать
источник возникновения элемента. Для каждого элемента модели можно указать
синонимы, возникающие из-за того, что пользователи в разных отделах одному
и тому же понятию дают разные имена, например, то, что служащие на складе
называют НОМЕРОМ ТРЕБОВАНИЯ, занимающиеся закупочной деятельностью могут
называть НОМЕРОМ ЗАКАЗА.
Ниже приводится состав описательной информации для каждого типа
элементов данных, которая вносится аналитиком в соответствующие формы.
Отметим, что едва ли не большая часть информации о том или ином конкретном
структурном элементе генерируется САЗЕ.Аналитиком автоматически.
Непрерывные данные - данные, которые на практике могут принимать
любое значение в пределах диапазона, например, сумма в рублях может быть
от нуля до 999999,99 с точностью до копейки или температура - от О до 300.
Для непрерывных данных указывается единица измерения, диапазон значений,
типичное значение, точность и кодировка. Дискретные данные - данные,
которые могут принимать только определенные значения, например, номер
отдела, который может быть равен 36, 08, 29 или 71. Для дискретных данных
заполняется таблица значений в соответствующем формате.
Аналоговые сигналы - это, как правило, измерительные данные от
различного рода датчиков. Для них указывается единица измерения, диапазон,
уровень сигнала и тип датчика. Дискретные сигналы - это, как правило,
сигналы отдатчиков положения (состояния) тех или иных устройств. Для них
указывается уровень сигнала и тип датчика.
Сводка основных функций пакета
---------------------------------------------------------------------
1. Построение и редактирование потоковых диаграмм. Соответствующие
средства позволяют передвигать объекты диаграммы с автоматическим
перерисовыванием связанных с этими объектами потоков, копировать
накопители данных, информационные каналы и внешние сущности,
удалять объекты с автоматической поддержкой целостности модели,
вводить и редактировать спецификации объектов, погружаться вглубь
любого объекта диаграммы с автоматическим сохранением
произведенных на верхнем уровне модификаций, а также просматривать
всю диаграмму в целом в уменьшенном виде и выполнять все
перечисленные операции над ее объектами.
2. Навигация по диаграммам. Средства позволяют осуществлять навигацию
по горизонтали с использованием специального окна навигации,
навигацию по вертикали (вглубь, наверх), а также выбор и загрузку
любой диаграммы с использованием дерева диаграмм проекта.
3. Редактирование структурограмм. Имеются возможности передвижения
элементов структурограмм, их удаления с автоматической поддержкой
целостности, ввода и редактирования спецификаций данных, а также
погружения вглубь структуры.
4. Навигация по данным. Включает передвижение по структурограмме
наверх/вглубь, а также выбор и загрузку любой структурограммы по
дереву структур данных.
5. Описание логики процессов. Позволяет вводить и редактировать
миниспецификации Процессов С использованием структурированного
естественного языка.
6. Навигация по базе данных проекта. Позволяет осуществлять доступ к
спецификации любого объекта модели, используя списки и перечни
объектов, поиск по имени, а также доступ из диаграмм и
структурограмм.
7. Верификация проекта на полноту исходных данных, полноту диаграмм,
полноту данных, согласованность накопителей и информационных
каналов, а также анализ нагрузки информационных каналов и анализ
объема накопителей данных.
8. Печать диаграмм - имеется возможность использования следующих
режимов: качественная печать, быстрая печать, пропорциональная
печать, печать для презентации.
9. Генерация отчетов и документов. Средства позволяют генерировать 12
отчетов по проекту в соответствии с вышеперечисленными
стандартами, а также отчеты по спецификациям объектов (13 типов
объектом), перечням объектов (11 отчетов) и верификации (6
отчетов).
10. Экспорт/Импорт. Благодаря этой функции возможно взаимодействие
аналитиков, работающих на автономных рабочих местах. Руководитель
проекта ведет центральную базу данных проекта и экспортирует для
проработки другим аналитикам части (поддеревья) иерархической
информационно-логической модели системы (рис. 13.10).
Рис. 13.10: Экспорт/импорт частей проекта
При этом, для обеспечения целостности проекта, руководителю
закрывается доступ для редактирования как экспортируемого дерева, так и
его контекста. Аналитик может редактировать только детализацию корневого
процесса (подсистемы). После проработки поддеревьев, они импортируются в
центральную базу данных проекта руководителя проекта.
|