Структурное проектирование АСОИ (1034723), страница 2
Текст из файла (страница 2)
SADT-диаграммы состоят из унифицированных элементов:
DFD
DFD - Data Flow Diagram.
Существуют нотации описания:
-
нотация Иордана;
-
нотация Гейна-Саксона.
Нотация Гейна-Саксона
Основные символы (подробнее и с изображениями тут и тут):
-
процесс. Может быть вложенным (образуют иерархию). Для процесса самого нижнего уровня (листового) разрабатывается спецификация прикладной задачи;
-
поток - используется для моделирования передачи данных от одного процесса к другому. Часто свойства потоков данных используются в качестве атрибутов при описании атрибутов сущности схемы БД;
-
хранилище - обозначает данные, хранящиеся в памяти между процессами. Часто свойства хранилищ используются в качестве сущностей при описании схемы БД;
-
внешняя сущность - что лежит вне автоматизированной системы. Используется для обозначения источника и приёмника данных. Не путать с сущностью БД;
-
объединение потоков данных;
-
расщепление потоков данных.
Лекция №3 - DFD
Диаграммы выявления информационных потребностей
DFD
Общая схема описания информационных потребностей пользователей
Диаграммы потоков данных (DFD) образуют иерархию - каждая из диаграмм детализирует некоторый процесс на DFD более высокого уровня.
Декомпозируется до минимального листового процесса, который и будет реализоваться в программе.
Пример построения DFD
Разработать DFD, организующей работу банкомата по обслуживаю клиента с банковской картой (дебетовая, с магнитной полосой). Авторизацию карты выполняет банк-эмитент (который выпустил карточку, где располагается счёт карты). Банкомат работает в режиме онлайн: запрос-ответ.
Операции:
-
клиент вводит пластиковую карту, пин-код и сумму;
-
банкомат формирует запрос в процессинговый центр. Банкомат является связующим звеном с банковской системой, его задача - разгрузить банковскую подсистему;
-
процессинговый центр формирует запрос в банк-эмитент. Если карта выпущена банком, который не обслуживается данный процессинговым центром, то этот запрос передаётся в другой процессинговый центр. В банке-эмитенте проверяются реквизиты запроса (номер карты, пин-код, остаток на счёте), и если всё нормально, то счёт карты блокируется;
-
в процессинговый центр выдаётся разрешение или отказ от банка-эмитента;
-
процессинговый центр транслирует разрешение (или отказ) в банкомат;
-
если всё нормально, то банкомат выдаёт банкноты, выписку и так далее;
-
после совершения операции в процессинговый центр поступает подтверждение;
-
полученное подтверждение транслируется в банковскую систему. Остаток на счёте уменьшается на выданную сумму, счёт карты разблокируется. Но это ещё не проводка - это только обновление остатка на счёте;
-
в вечернее время процессинговый центр обрабатывает запросы, поступившие за день, и формирует платёжные документы, которые передаются в банки (банки-эмитенты и банки-эквайеры, владельцы банкоматов) для совершения требуемых проводок.
Платёжная система - это ассоциация банков, объединившихся с целью выпуска и обслуживания банковских карт (Visa, MacterCard). Один и тот же банк может участвовать в разных платёжных системах.
В платёжную систему входят:
-
банкоматы;
-
процессинговые центры;
-
подсистемы банков по пользованию пластиковыми картами.
Совокупность этих устройств образует распределённую систему.
Продолжаем детализировать:
Пластиковая карта имеет три магнитные полосы:
-
ФИО;
-
номер карты и срок её действия;
-
резервная (она пустая).
Максимум информации, которые можно записать на три этих полосы: 100 байт.
Данные транзакции состоят из:
-
ФИО;
-
номер карты;
-
срок действия;
-
ID банкомата;
-
пин-код;
-
сумма.
Эти данные используются:
-
при формировании запроса 1.1.2;
-
при выполнении операций 1.1.3, 1.1.4, 1.1.5;
-
при составлении подтверждения в ПЦ 1.1.6.
Каждый из представленных процессов тоже может быть детализирован, хотя мы и не будем. Но процесс 1.1.2а уже является листовым, и для него уже можно делать программную реализацию.
Продолжаем:
Операции тут:
-
карта проверяется (1.2.1), нет ли её в стоп-листе;
-
далее определяется маршрут передачи запроса: если карта выпущена эмитентом, который не обслуживается в данном ПЦ, то запрос передаётся в другой ПЦ (1.2.2), иначе запрос передаётся соответствующему БЭ и в БД 3 сохраняется информация об этом запросе;
-
после получения разрешения (или отказа) от банка-эмитента оно транслируется в банкомат, при этом меняется статус запроса;
-
после выполнения операций в банкомате ПЦ обрабатывает подтверждение (1.2.4), оно транслируется в БЭ, статус запрос меняется на "обработан". По этому подтверждению счёт карты разблокируется (но это ещё не проводка);
-
в вечернее время ПЦ обрабатывает выполненные запросы (1.2.5), и формируются документы с номерами карты и суммами выполненных за день операций;
-
банки выполняют требуемые проводки со счетами карт и выставляют счета в клиринговый центр (БЭ выставляют обязательства, а банки-эквайеры - требования).
Лекция №4 - Работа клирингового центра
Диаграммы выявления информационных потребностей
DFD
Работа клирингового центра
Он же расчётный банк.
Клиринговый центр работает следующим образом:
-
определяются остатки:
-
определяется остаток 1 = требования банка 1 - обязательства банка 2 (сколько банк 2 должен банку 1);
-
определяется остаток 2 = требования банка 2 - обязательства банка 1 (сколько банк 1 должен банку 2);
-
если остаток 1 равен остатку 2 (банки должны друг другу одинаково), то происходит взаимозачёт, денежные средства не перечисляются;
сравниваются остатки:
-
если остаток 1 больше остатка 2, то вычисляется разность остаток 1 - остаток 2, и на эту сумму банку 2 предоставляется кредит из резервного фонда клирингового центра для оплаты долга банку 1;
-
если остаток 2 больше остатка 1, то вычисляется разность остаток 2 - остаток 1, и на эту сумму банку 1 предоставляется кредит из резервного фонда клирингового центра для оплаты долга банку 2.
DFD, детализирующая процесс обслуживания
Здесь банк 1 и банк 2 могут выступать и в роли эмитента, и в роли эквайера.
По запросу ПЦ-БЭ банк-эмитент выполняет проверку реквизитов карточки, пароль, состояние карт-счёта, блокирует карт-счёт и выдаёт разрешение или отказ БЭ-ПЦ. После выполнения операции поступает подтверждение, БЭ уменьшает остаток на счёте (это ещё не проводка), после чего счёт разблокируется. В вечернее время ПЦ анализирует хранилище, формирует документы и рассылает их соответствующим банкам.
Банки выполняют требуемые проводки и выставляют в клиринговый центр объединённые обязательства и требования по всем операциям. Клиринговый центр выполняет расчёты и в соответствии с ними осуществляет оплату или предоставляет кредит.
ПО для построения DFD
-
Designer от Oracle - позволяет автоматизировать все основные этапы витка разработки ИС за исключением этапа выбора архитектуры. Но пилотный проект может функционировать только в среде Oracle;
-
PowerDesigner от SyBase - позволяет автоматизировать все основные этапы разработки ИС. Пилотный проект можно генерировать для различных платформ. Поддерживает свыше 60 СУБД и хранилищ данных;
-
ERwin от AllFusion.
Этап концептуального проектирования
Очередной этап каскадной модели.
Разрабатываются инфологическая модель БД и спецификации будущих прикладных программ.
Проектирование инфологической схемы БД
Построение схем БД носит творческий характер.
Используются диаграммы ERD (диаграммы сущность-связь).
Используемые нотации:
-
Чена - используется для ручного проектирования схем БД;
-
Паркера - для машинного проектрования в среде Oracle;
-
IDEF1x - в пакетах ERwin, PowerDesigner.
Нотация Чена
Используется три обозначения:
-
независимая сущность - может присутствовать, если:
-
не является дочерней;
-
является дочерней, но связана с родительской неидентифицирующей связью;
-
зависимая сущность - может присутствовать, если:
-
является дочерней и связана с родительской идентифицирующей связью;
связь.
Пример нотации Чена
Описать инфологическую схему БД процессингового центра.
Здесь схема БД представлена на уровне сущностей:
-
сущности с 1 - родительские:
-
сущности с М - дочерние.
Описание сущностей:
-
Банк - банки платёжной системы, подключённые к ПЦ;
-
запрос - запросы от банкоматов;
-
другой ПЦ - другие ПЦ, подключённые к данному;
-
платёж за процессинг - платежи, выставленные Банком за услуги, предоставляемые данным ПЦ;
-
карта для эмиссии - данные, переданные БЭ к ПЦ для эмиссии карты (если банк делегировал эту функцию к ПЦ);
-
стоп-лист - стоп-листы, переданные в ПЦ от банков;
-
стоп-карта - данные о заблокированных картах (которые входят в стоп-листы).
Лекция №5 - Спецификации прикладных программ
Этап концептуального проектирования
Проектирование инфологической схемы БД
Диаграммы, построенные по ER-нотациям, тесно связаны с реляционной моделью. То есть, сами диаграммы - это ещё не реляционная модель.
Если связи между сущностями в инфологической схеме являются бинарными, то для перехода к реляционной модели достаточно представить сущность в виде таблицы, а атрибуты сущности преобразовать в столбцы этой таблицы.
Нотация Чена
Пример нотации Чена
Атрибуты сущностей: