- •1. Основные концепции системного анализа и проектирования в ssadm
- •1.1. Цели и концепции
- •1.1.1. Пользователи.
- •1.1.2. Менеджеры.
- •1.2.4. Обозначения структурной модели
- •1.1.3. Разработчики.
- •1.2 Структурная модель ssadm, ее назначение, роль и состав.
- •1.2.1 Модули.
- •1.2.2. Входы модулей.
- •1.2.3 Выходы модулей.
- •Информационная шина.
- •Организационные действия.
- •Соглашения, принятые для облегчения понимания схем.
- •1.2.5 Описания действий.
- •1.3. Жизненный цикл разработки систем
- •1.3.1. Модуль fs - описание действия "анализ реализуемости".
- •Краткое изложение.
- •Участники.
- •Предусловия.
- •1.3.2. Модуль rа - описание действия "анализ требований".
- •Краткое изложение.
- •Участники.
- •Предусловия.
- •1.3.3. Модуль rs - описание действия "спецификация требований".
- •Участники.
- •Предусловия.
- •1.3.4 Модуль ls-определение действия "спецификация логической системы".
- •Краткое изложение.
- •Участники.
- •Предусловия.
- •Участники.
- •Предусловия.
- •1.4. Ключевые понятия и философия
- •1.4.1. Три вида модели.
- •1.4.2. Ориентация на требования.
- •1.4.3. Пользователь, функция и моделирование данных.
- •1.4.4. Варианты организационного управления.
- •1.5. Сценарий применения методов
- •1.5.1. Применение методов в жизненном цикле.
- •1.5.2. Взаимозависимости между методами.
- •1.5.2.1. Взаимодействие методов в модуле fs (Анализ реализуемости).
- •1.5.2.2. Взаимодействие методов в модуле ка (Анализ требований).
- •"Определение требований".
- •"Моделирование потоков данных".
- •1.5.2.3. Взаимодействие методов в модуле rs (Спецификация требований).
- •"Моделирование потоков данных".
- •"Логическое моделирование данных".
- •"Определение функций".
- •"Реляционный анализ данных".
- •"Объектно-событийное моделирование".
- •"Спецификация прототипирования".
- •"Проектирование диалога".
- •Организационное управление.
- •Проектирование базы данных.
- •Проектирование физических процессов.
- •Интерфейс процесс - данные.
- •1.6 Достоинства инвариантности к реализации проектов
- •1.7. Информационно-технологическая поддержка
- •2 Моделирование потоков данных
- •2.1. Назначение метода
- •2.2 Обзор
- •2.3. Место метода моделирования потоков данных в процессе проектирования
- •2.3.1 Этапы
- •2.3.2.Взаимосвязь с другими методами.
- •2.4. Входы мпд
- •2.5 Выходы мпд
- •2.6. Основные понятия и обозначения метода моделирования потоков данных.
- •2.6.1. Обозначения, применяемые при построении схем потоков данных.
- •2.6.1.1. Внешний объект
- •2.6.1.2. Процесс
- •2.6.1.3. Хранилища данных.
- •2.6.1.4. Поток данных
- •2.6.1.5. Двунаправленный поток
- •2.6.1.6. Поток данных между внешними объектами
- •2.6.1.7. Поток ресурса
- •2.6.1.8. Разрешенные спд - соединения
- •2.6.2. Спд - иерархия
- •2.6.3. Правила декомпозиции процесса.
- •2.6.5.Декомпозиция других элементов спд
- •2.7 Техника моделирования потоков данных
- •2.7.1. Модель потоков данных существующей системы (мпд сс)
- •2.7.1.1. Начало моделирования
- •2.7.1.2. Спд нижних уровней
- •2.7.1.3. Контекстные схемы, схемы документопотоков и схемы ресурсопотоков
- •2.7.1.4. Построение и использование контекстной схемы
- •2.7.1.5. Построение и использование схем документопотоков
- •2.7.1.6. Разработка схем документопотоков
- •2.7.1.7. Составление схемы ресурсопотоков
- •2.7.2. Логическая модель потоков данных (лмпд)
- •2.7.2.1. Процедуры приведения мпд сс к логической мпд
- •2.7.2.2. Рационализация хранилищ данных
- •2.7.2.3. Рационализация процессов нижнего уровня
- •2.7.2.4. Реконструирование иерархии
- •2.7.2.5. Общие функциональные признаки
- •2.7.2.6. Проверки полноты и согласованности
- •2.7.2.7. Идентификаторы процесса.
- •2.7.2.8. Избегайте интуитивного синтеза лмпд
- •2.7.4. Мпд тс
- •2.7.4.1. Мпд тс и определение функций
- •1.9. Реальные ограничения
- •2.7.2.9. Спд и варианты бизнес-системы.
- •2.7.4.2. Связь между потоками данных и событиями
- •2.7.4.3. Проверка правильности по другим продуктам технологии
- •2.8. Заключение
- •3. Логическое моделирование данных
- •3.1. Назначение
- •3.2. Обзор
- •3.3. Использование лмд в ssadm – технологии
- •3.3.1. Этапы.
- •3.3.2. Связь с другими методами.
- •3.4. Входы логического моделирования данных
- •3.5 Выходы логического моделирования данных
- •3.6. Основные понятия и обозначения метода логического моделирования данных
- •3.6.1. Объекты.
- •3.6.2. Связи
- •3.6.3. Степень связи.
- •3.6.4. Жесткость.
- •3.6.5. Идентификаторы связи.
- •3.6.6. Фраза-описатель связи.
- •3.6.7. Группы исключающих связей.
- •3.6.8. Рекурсивные связи.
- •3.6.9. Разбиения.
- •3.7. Понятия логического моделирования данных, не изображаемые на лсд
- •3.7.1 Мобильные и немобильные объекты.
- •3.7.3. Обязательные и необязательные атрибуты.
- •3.7.4. Сгруппированные домены.
- •3.7.5. Уникальные идентификаторы.
- •3.8. Вспомогательные понятия
- •3.8.1. Главные и вспомогательные объекты.
- •3.8.2. Ключи.
- •3.8.3. Ссылочные объекты.
- •3.8.4. Простые иерархические ключи.
- •3.8.5 Составные ключи.
- •3.8.6. Более сложные ключи.
- •3.9. Использование метода в процессе проектирования
- •3.9.3. Идентификация связей.
- •3.9.4. Формирование лсд.
- •3.9.5. Присвоение имен связям.
- •3.9.6. Нормализация лмд.
- •3.9.7. Проверка правильности лмд.
- •3.9.8. Удаление лишних связей из лсд.
- •3.9.9. Раскрытие связей типа m:n.
- •3.9.10. Раскрытие связей типа 1:1.
- •Связь 1:1 с одним необязательным концом.
- •Связь 1:1 с двумя необязательными концами.
- •Связь 1:1 с двумя обязательными концами.
- •3.9.11. Определение путей доступа запросов к данным.
- •Б) Уточнение триггера запроса.
- •В) Уточнение пути доступа запроса к данным.
- •3.9.12. Представление лмд пользователю.
- •3.9.13. Документирование лмд.
- •3.10. Краткое изложение процедуры
- •Приложение 1
- •2.2. Руководство по заполнению формы – «Описание объекта» – Часть 2
- •2.3. Руководство по заполнению формы – «Описание связи».
- •2.4. Руководство по заполнению формы – «Описание Атрибут/Элемент данных».
- •2.5. Руководство по заполнению формы «Описание сгруппированного домена».
2.7.2. Логическая модель потоков данных (лмпд)
Цель построения такой модели состоит в устранении дублирования в обработке и хранении данных, а также перегруппировке в соответствии с требованиями пользователей к низовым процессам функциональных областей. ЛМПД создается на базе МПД СС путем выполнения особых процедур.
2.7.2.1. Процедуры приведения мпд сс к логической мпд
Эти действия состоят в следующем:
• рационализация хранилищ данных;
• рационализация низовых процессов;
• перегруппировка низовых процессов;
• проверка ЛМПД на содержательность и полноту.
Все или некоторые из этих действий могут повторяться, если это необходимо, для того, чтобы обеспечить логическую полноту и содержательность результирующей модели
2.7.2.2. Рационализация хранилищ данных
Хранилища данных в МПД СС отображают реальные способы хранения данных. Например, в «Жилищной системе» имеются такие хранилища данных, как «Голубая папка нанимателей жилья» и «Папка состояния». Эти термины знакомы пользователю по существующему окружению, но не могут быть логической группировкой данных, т.к. данные здесь могут дублироваться.
Главные логические хранилища данных
Хранилища этого типа выделяются на ЛМД СС. Главные хранилища данных на ЛСПД должны отражать семантику данных для объектов ЛМД СС. Следовательно, вход в систему потока данных, содержащего, например, «НОМЕР СОБСТВЕННОСТИ», «НАИМЕНОВАНИЕ СОБСТВЕННОСТИ» и «ОСОБЕННОСТИ СОБСТВЕННОСТИ», подразумевает наличие в ЛМД объекта с такими атрибутами, отправляющего в хранилище данных то, что представляет собой результат обработки входа. Каждое главное хранилище данных должно соответствовать объекту или группе объектов на ЛСД.
Если группирование по объектам не очевидно, тогда рассматривают те объекты, которые:
• связаны между собой отношениями;
• созданы одновременно;
• выделены при анализе одних и тех же входов и выходов системы;
• могут быть описаны одним термином (например, бухгалтерия).
Возможно создание отдельного хранилища данных для каждого объекта в ЛМД, но лучше сохранить в СПД группирование данных на сокращенном уровне изложения, т.к. детальное определение данных содержится в ЛМПД.
Каждое главное хранилище данных должно ссылаться на объект или группу объектов ЛМД СС.
Каждый объект из ЛМД должен сохраняться полностью в одном и только одном главном хранилище данных.
Связи между объектами и хранилищами данных документируются в «Таблице перекрёстных ссылок Логическое хранилище данных/Объект».
В хранилищах существующей системы, вероятно, будет большое количество дублируемых данных. Например, одинаковые данные находятся в «Папке главных нанимателей жилья», «Главной папке жилищной задолженности» и «Голубой папке нанимателей жилья». Такое дублирование устраняется при описании логических хранилищ данных в ЛМПД.
ЛСД для «Жилищной системы» показана на рис. 2.18. Здесь группирование выделено контурами. Для этих группирований, применяем следующие правила:
• D7: два объекта «Районная цена отопления» и «Расходы на отопление» связаны между собой отношениями, что вполне очевидно;
• D2: объекты «Наниматель жилья», «Члены семьи» и «Счет» созданы одновременно, при возникновении объекта «Местожительство»;
• D3: «Новое заявление» на жилье и «Заявление на передачу» попадают в список ожидающих сходными путями. Вероятно, они хранятся одинаковое время. Список ожидающих является главным выходом системы. Все объекты, которые включены в это хранилище данных, используются для составления и печати списка ожидающих;
• D5: эти объекты могут быть описаны основным термином «Местонахождение».
Перечисленные выше группирования регистрируются «Таблице перекрёстных ссылок. Хранилище данных/Объект» так, как показано в приложении 1. Рис. 2.19 иллюстрирует запись для D1.

Рис. 2.19. Пример записи в „Таблице перекрестных ссылок. Логическое хранилище данных/Объект”
Декомпозированные хранилища данных
Декомпозированные на СПД СС хранилища данных остаются и на ЛСПД, если они не были удалены при рационализации. Декомпозиция хранилища данных может привести к появлению новых величин в описании объекта. Но она также может показываться на главном объекте различными деталями со взаимоисключающими отношениями. В нашем примере было бы разумно иметь отдельные хранилища данных для "Новых заявлений" и "Заявлений на передачу", связанных между собой так, как это показано на рис. 2.20.

Рис. 2.18. определение логических хранилищ данных

Рис. 2.20. Декомпозиция хранилища данных на нижнем уровне
В этом примере для сохранения верхнего и нижнего уровней связи должны быть записаны в "Таблицу перекрёстных ссылок Логическое хранилище данных/Объект** (это исключение из правила, т.к. в этой таблице объекту должно соответствовать только одно главное хранилище данных).
Если декомпозированные хранилища данных отражают различие значений атрибутов для различных экземпляров объекта, то должна показываться связь только между хранилищами данных верхнего уровня и изображением объекта.
Логические хранилища временных данных
Наличие хранилищ временных данных на схеме может быть оправдано только ограничениями, вытекающими из особенностей функционирования существующей системы. Эти хранилища остаются только в тех ЛСПД, в которых процесс требует полного описания данных и, возможно, отдельного входа для начала функционирования (например, "менеджерские полномочия").
Главное различие между двумя типами хранилищ состоит в том, что главное хранилище данных связывает объекты ЛМД, а временные данные никакого отношения к ЛМД не имеют, т.к. характеризуют только особенности реализации процессов.
Этот вывод не так ясен, как может показаться, потому что копии объектов могут храниться в хранилищах временных данных. Например, хранилище данных «Неподтвержденные платежи» будет содержать записи, которые имеют одинаковое содержание с главным хранилищем «Дебет-Кредит». Различие состоит в том, записи в хранилище временных данных «Неподтвержденные платежи» не сохраняя в главном (они хранятся во временном месте до тех пор, пока они не просуммированы с главными данными). Если получение и подтверждение платежей имеет место одновременно, то либо два процесса объединятся, либо поток данных будет иметь вид «процесс-процесс», без использования хранилища временных данных. Хранилище временных данных характеризуется тем, что каждое «чтение» из него действительно уничтожает в нём данные. Другими словами, входящий во временное хранилище поток может рассматриваться как удаляемый потоком, выходящим из хранилища. Из этого следует, что временные данные могут использоваться только один раз. Если требуется читать данные более одного раза то данные должны рассматриваться как главные, и должны быть связаны с объектами в ЛМД.
Данные от нескольких процессов могут объединяться во временном хранилище и наиболее вероятно, что обрабатывать их будет один процесс.
Данные, собранные во временном хранилище, не могут в нём храниться, результаты их обработки могут заноситься в главное хранилище.
Аналитик должен установить логическую состоятельность хранилищ временных данных для ЛСПД, т.к. большинство временных хранилищ либо исчезнет при приведении СПД СС к логическому виду, либо хранилища будут удалены с потоками данных, либо процессы, соединенные через посредство таких хранилищ, будут объединены.
Использование хранилищ временных данных в ЛМПД
При проектировании не всегда ясно, что лучше использовать, промежуточное хранилище или хранить данные в главном хранилище с временным состоянием.
Включение в схему хранилищ временных данных производится:
• если, например, есть задержка между поступлением данных и их последующим подтверждением, т.е. имеется риск, что главные данные 'устареют к моменту их обработки и запросы по состоянию частичного подсчета не покажут, что некоторые данные были получены, хотя по этому факту и не было получено подтверждение;
•если это вытекает из требований безопасности, надзора и контроля. Процедуры восстановления главных данных не охватывают промежуточные данные, т.е. они теряются при системном сбое, а по этому иногда могут потребоваться специальные средства для защиты некоторых промежуточных данных. Это является причиной возникающих проблем, т.к. запись неподтвержденных данных теряются, если была системная ошибка. Следовательно, спецификация требований защиты и восстановления для системы становится более полной, если временные хранилища представляются, как зашита промежуточных данных и рассматриваются в совокупности со средствами защиты главных данных;
•если при физическом проектировании необходимо модифицировать промежуточные файлы для выполнения в дальнейшем сравнения их содержимого с содержимым главных хранилищ данных, что может в дальнейшем существенно упростить получение проектных модификаций по главным данным;
•в инструментальной среде, у которой отсутствует контроль по индикаторам состояния, т.к. контроль изменения главных данных производится путем их сравнения с заданными в «Истории жизни объекта» значениями индикаторов состояния, а для промежуточных данных, такой точный контроль не используется;
•если необходимо защитить данные от несанкционированного доступа, т.к. запросы к промежуточным данным не обслуживаются без их разрушения.
Следует избегать использования хранилищ временных данных, если этого не требует реальная проектная ситуация.
Перекрестные ссылки между логическими и физическими хранилищами данных
После того, как новые главные логические хранилища данных идентифицированы, нужно связать их ссылками на физические хранилища данных в МПД СС, используя при этом рабочий документ «Таблица перекрестных ссылок Логические/Физические хранилища данных».
Это упростит построение ЛМПД и рационализацию процессов, а также обеспечит полноту и правильность описания данных, циркулирующих в существующей системе, т.к. возможна такая ситуация, что хранилище данных из МПД СС будет ссылаться на несколько главных логических хранилищ, а одно главное логическое хранилище будет ссылаться на несколько физических хранилищ.
