
- •1. Основные концепции системного анализа и проектирования в ssadm
- •1.1. Цели и концепции
- •1.1.1. Пользователи.
- •1.1.2. Менеджеры.
- •1.1.3. Разработчики.
- •1.2 Структурная модель ssadm, ее назначение, роль и состав.
- •1.2.1 Модули.
- •1.2.2. Входы модулей.
- •1.2.3 Выходы модулей.
- •1.2.4. Обозначения структурной модели
- •Информационная шина.
- •Организационные действия.
- •Соглашения, принятые для облегчения понимания схем.
- •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. Избегайте интуитивного синтеза лмпд
- •1.9. Реальные ограничения
- •2.7.2.9. Спд и варианты бизнес-системы.
- •2.7.4. Мпд тс
- •2.7.4.1. Мпд тс и определение функций
- •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. Руководство по заполнению формы «Описание сгруппированного домена».
3.9.6. Нормализация лмд.
В нормализованной ЛМД объекты рассматриваются как отношения, которые должны быть приведены к виду не ниже третьей нормальной формы (3NF). Квалифицированный аналитик получает модель такого вида инстинктивно, путем неформального применения правил реляционного анализа данных по мере развития модели от этапа 140 к этапу 320. Ниже рассматриваются возможности применения правил реляционного анализа при логическом моделировании данных.
Первая нормальная форма.
Атрибут должен иметь только одно значение, соответствующее одному экземпляру объекта в настоящее время. Допускается присутствие повторяющихся групп. Аналитик должен создать новый объект, имеющий связь степени 1:m с исходным объектом для того, чтобы сохранить эти группы данных.
Имя атрибута должно быть сингулярным. Повторяемость имен атрибутов в большинстве случаев свидетельствует о наличии в модели ошибочных объектов.
Вторая нормальная форма.
Значения атрибутов должны быть зависимыми от полного уникального идентификатора. Те атрибуты, значения которых зависят только от части уникального идентификатора, должны быть удалены из модели. Такие атрибуты обычно подразумевают отсутствующий, но связанный отношением объект.
Третья нормальная форма.
Атрибуты не должны быть зависимыми от других атрибутов, не являющихся потенциальными идентификаторами для объекта. В случае присутствия таких атрибутов в модели, они должны быть удалены.
3.9.7. Проверка правильности лмд.
Каждая логическая модель данных должна полностью соответствовать своей модели потоков данных.
Проверка соответствия процессов и объектов.
Эта задача решается на этапах 140, 150 и 320. Для каждого объекта из ЛМД в соответствующей модели потоков данных должен существовать, по крайней мере, один процесс, который способен откликаться на события, создающие и удаляющие объект. При необходимости может быть заполнена "Матрица Процесс/Объект", в которой используются такие типы доступа к данным как создание, редактирование и удаление. Модель потоков данных, если это необходимо, должна быть преобразована.
Сравнение объектов и хранилищ данных.
Эта задача решается на этапе 150 и при завершении этапов 310 и 320, выполнение которых осуществляется параллельно. Полностью эта задача рассмотрена в предыдущей главе.
Каждый объект должен иметь логическое объяснение в одном и только одном хранилище из всего" множества хранилищ данных модели потоков данных, так как он является неделимым между двумя хранилищами. Если это условие не соблюдается, то обе модели и ЛМД и МПД необходимо исправить. Связи между хранилищами данных и объектами отражены в "Таблице перекрестных ссылок Логическое хранилище данных/Объект". Исключение из этого правила составляет случай декомпозиции хранилищ данных, результатом которой являются супер -и субтипы, где супертипам соответствует более одного хранилища данных (см. 2.7.2.2.).
Неформальная проверка путей доступа к данным.
Эта задача решается на шагах 140, 150 и 320, ЛМД должна обеспечивать пути доступа к данным для каждого из описанных элементарных процессов, содержащихся в соответствующей МПД, т.е. поддерживать все процессы преобразования и формирования запросов, которые входят в модель. Проверка того, что требуемые данные могут быть получены, достигается использованием следующих типов операции чтения:
• чтение объекта прямым использованием ключа;
• чтение вспомогательного объекта через главный;
• чтение главного объекта через вспомогательный.
Если требуемые данные не могут быть получены путем использования таких операций, то ЛМД и описания элементарных процессов неправильны. Тогда аналитик обязан найти ошибку и исправить ее. Такие исправления могут повлечь за собой необходимость добавления новых объектов и связей. После устранения всех ошибок все доступные объекты должны иметь полные наборы атрибутов, а все изменения должны быть внесены в ЛМД и формы " Описание элементарного процесса". На этапе 360 используется более высокий уровень формализации путей доступа к данным.
В качестве примера, иллюстрирующего неформальное рассмотрение путей доступа, рассмотрим рис. 3.15. Предположим, что требуется получить специфический экземпляр объекта А по заданному ключу экземпляра объекта С. Существует два возможных пути: через В и напрямую. Эти два пути могут вести к двум различным экземплярам объекта А, так как они могут не быть истинными альтернативами. Понимание реальной сути связей существенно влияет на решение вопроса о правильности каждого отдельного пути доступа к данным.
Рис. 3.15. Пример структуры связей, содержащей замкнутый цикл