Правила оформления кредита
а) б)
Рисунок 4 – Обозначение процессов и ICOM-стрелок на SADT-диаграммах
Важной особенностью методологии SADT является последовательная детализация модели системы по мере ее разработки: построение модели начинается с представления всей системы в виде простейшей диаграммы, состоящей из одного блока процесса и стрелок ICOM, служащих для изображения основных видов взаимодействия с внешними по отношению к системе объектами. Исходный процесс, представляющий всю систему как единое целое, подлежит дальнейшей декомпозиции на следующем этапе проектирования; частные процессы, полученные в результате декомпозиции исходного процесса, также декомпозируются – и так до некоторого разумного предела, пока уровень детальности рассмотрения свойств процесса не окажется достаточным для его реализации. В конечном итоге модель SADT представляет собой множество иерархически взаимосвязанных диаграмм, которые представляют сложную систему отдельными ее составными частями.
На рисунке 4,б представлена SADT-диаграмма системы оформления банковского кредита на самом верхнем (общем) уровне детализации. В качестве единственного процесса на диаграмме представлена деятельность по оформлению кредита. Входом данного процесса является заявка от клиента на получение кредита, а выходом – соответствующий результат, т. е. собственно кредит. При этом управляющими факторами являются правила оформления кредита, регламентирующие условия получения финансовых средств, а механизмом данного процесса является служащий банка, который уполномочен выполнить все операции по оформлению кредита.
Очевидно, что на следующем этапе проектирования исходный процесс будет декомпозирован, и в нем будут выделены частные процессы: например, процесс "Проверка платежеспособности клиента", процесс "Запрос кредитной истории клиента" и процесс "Оформление кредитного договора".
3.4.2. ERD - Диаграммы "Сущность – Связь"
Диаграммы "сущность-связь" (ERD) предназначены для графического представления моделей данных программных систем и используется на начальных стадиях проектирования баз данных – при разработке концептуальных моделей данных.
Основными компонентами ER-модели являются сущность (entity) и связь (relationship), а также атрибуты (свойства) сущностей и связей.
Под сущностью понимается абстракция множества реальных объектов (или процессов) предметной области, имеющих одинаковый набор свойств (атрибутов), существенных в контексте проектируемой программной системы. При этом каждый реальный объект может быть представлен экземпляром одной (и только одной) сущности, а среди экземпляров одной сущности не должно быть дубликатов – то есть экземпляров с одинаковыми значениями всех атрибутов. И сущности, и их атрибуты – это именованные объекты модели, каждому из которых должно быть присвоено уникальное имя (идентификатор).
Для обозначения сущностей на ER-диаграммах используют набор стандартных графических элементов – прямоугольников с дополнительными элементами оформления, внутри которых записывают имена сущностей (рисунок 4).
Рисунок 4 – Графические изображения сущностей на ER-диаграммах
Под связью понимают абстракцию некоторого отношения или ассоциации между реальными объектами предметной области, существенного в контексте проектируемой программной системы. Примерами связей могут являться родственные отношения типа "отец-сын", производственные отношения типа "начальник-подчиненный", отношение вхождения типа "целое-часть", отношения типа "иметь в собственности", "обладать свойством", "изучать", "работать в" и т.д.
Связь, так же, как и сущность, является именованным объектом ER-модели и тоже может иметь свои собственные атрибуты (свойства связи). Заметим, что в отличие от сущности, связь может и не иметь собственных атрибутов. Связь на ER-диаграммах обозначается линией, связывающей сущности, в разрыве которой помещается ромб, внутри которого записывается имя связи (рисунок 5).
Рисунок 5 - Графические изображения связей на ER-диаграммах
Связь отображает не только семантику отношения между сущностями (указанную именем связи), но и дополнительные характеристики связи: арность, определяемую количеством сущностей, участвующих в связи, и порядок (или кратность), определяемый количеством экземпляров сущностей, участвующих в связи. Дополнительно может быть отражен аспект обязательности участия в связи экземпляров связанных сущностей.
Рассмотрим пример – фрагмент упрощенной концептуальной модели данных для программной системы учета результатов учебного процесса в ВУЗе, основное предназначение которой – регистрация итоговых оценок, полученных студентами по изученным дисциплинам, и вычисление интегральных рейтингов студентов. Соответствующая ER-диаграмма приведена на рисунке 6.
Рисунок 6 – ER-диаграмма
Приведем краткие комментарии к ER-диаграмме, показанной на рисунке 6.
1. Экземпляры сущности "Специальности" – это перечень специальностей, по которым ведется подготовка в ВУЗе. Возможные атрибуты этой сущности – наименование специальности; шифр специальности; уровень подготовки.
2. Множество экземпляров сущности "Студенты" – это список студентов всех специальностей ВУЗа. Возможные атрибуты этой сущности – фамилия, имя и отчество студента, год поступления в ВУЗ, номер зачетной книжки, текущий интегральный рейтинг – все эти свойства существенны в контексте задачи учета академической успеваемости студентов.
3. Между сущностями "Студенты" и "Специальности" определена бинарная связь "Обучается по". Связь имеет порядок (кратность) N:1 (читается, как "N к одному"), что характеризует принятое в ВУЗе правило, согласно которому на одной специальности могут одновременно обучаться несколько студентов, но один студент не может обучаться одновременно более, чем по одной специальности.
4. Экземпляры сущности "Дисциплины" – это перечень наименований всех дисциплин, изучаемых студентами всех специальностей ВУЗа.
5. Сущность "Учебный план" участвует в двух бинарных связях порядка N:1 с сущностями "Специальности" и "Дисциплины". Каждый экземпляр этой сущности представляет какую-то одну дисциплину учебного плана какой-то одной специальности. Если дисциплина (например, "История отечества", "Физическая культура" или "Информатика") представлена в учебных планах десяти специальностей, то сущность "Учебный план" будет содержать десять экземпляров, связанных с одним и тем же экземпляром сущности "Дисциплины" и с десятью разными экземплярами сущности "Специальности". "Учебный план" - это зависимая (или слабая) сущность, так как ее экземпляры не могут существовать вне связей с экземплярами двух других сущностей. Возможные атрибуты этой сущности – порядковый номер дисциплины в соответствующем учебном плане, трудоемкость дисциплины в зачетных единицах, объем дисциплины в часах учебных (аудиторных, лекционных, практических, лабораторных) занятий, наличие экзаменов, зачетов, курсовых работ.
6. Каждый экземпляр триарной связи "Рейтинг" порядка M:N:K (читается "многие-ко-многим) представляет факт завершения изучения одним студентом одной дисциплины учебного плана его специальности в одном семестре. Эта связь, в отличие от других связей рассматриваемого примера, имеет собственные атрибуты, например, дата сдачи экзамена (зачета, курсовой работы) и итоговый рейтинговый показатель студента по дисциплине в семестре.
Моделирование системы на последующих стадиях проекта требует более детального её описания, которое должно содержать информацию о поведении или функционировании ее компонентов. Для этих целей возможностей ER-диаграмм оказывается явно недостаточно, и используется другой тип диаграмм, получивших название диаграмм потоков данных.