- •Тюменский государственный университет
- •Предисловие 7 методические материалы 9
- •Теоретические материалы 27 Глава 1. Методология разработки и стандартизации 27
- •Глава 2. Создание модели процессов в bpWin 95
- •Глава 3. Создание модели данных в erWin 121
- •Предисловие
- •Методические материалы Рабочая программа дисциплины Пояснительная записка
- •Содержание дисциплины
- •Рекомендации по самостоятельной работе Календарно-тематический план самостоятельной работы
- •Методические рекомендации по отдельным видам самостоятельной работы
- •Указания по самостоятельному изучению теоретической части дисциплины
- •Указания по выполнению контрольной работы
- •Указания по выполнению курсовой работы
- •Указания к промежуточной аттестации с применением балльно-рейтинговой системы оценки знаний
- •1.1.2. Классы программ
- •1.1.3. Архитектура программных средств
- •1.2. Стандартизация жизненного цикла программных средств
- •1.2.1. Уровни стандартизации
- •1.2.2. Основные модели жизненного цикла
- •1.2.2.1. Каскадная модель
- •1.2.2.2. Каскадная модель с промежуточным контролем
- •1.2.2.3. Модель разработки программных средств на основе ранее созданных компонентов
- •1.2.2.4. Эволюционная модель
- •1.2.2.5. Модель пошаговой разработки программных средств
- •1.2.2.6. Спиральная модель
- •1.2.2.7. Спиральная модель с ограничением версий
- •1.2.3. Структурное программирование
- •1.2.4. Организация человеко-машинного интерфейса
- •1.2.4.1. Принципы разработки
- •2. Учет возможностей аппаратных и программных средств разработчика и пользователя.
- •1.2.4.2. Рекомендации разработчику
- •1.3. Оценка стоимости и планирование разработки программных средств
- •1.3.1. Оценка стоимости разработки
- •1.3.2. Планирование разработки
- •1.4. Качество программных средств
- •1.4.1. Стандарты качества
- •1.4.2. Основные показатели качества
- •1.4.3. Методы достижения качества
- •1.4.4. Сертификация и аттестация
- •1.4.5. Конфигурационное управление версиями
- •1.4.6. Регламентирование тестирования для обеспечения качества
- •1.4.6.1. Цели и этапы тестирования программ
- •1.4.6.2. Основные тестируемые элементы
- •1.4.6.3. Восходящее и нисходящее тестирование
- •1.5. Методология быстрой разработки приложений (rad)
- •1.6. Структурный подход к проектированию информационных систем
- •1.6.1. Сущность структурного подхода
- •1.6.2. Моделирование потоков данных (бизнес-процессов) dfd
- •Отчет о продажах
- •1.6.3. Функциональное моделирование sadt (idef0)
- •1.6.3.1. Состав функциональной модели
- •1.6.3.2. Иерархия диаграмм
- •1.6.4. Моделирование данных
- •1.6.4.1. Основные понятия
- •1.6.4.2. Методология idef1
- •1.7. Общая характеристика и классификация case-средств
- •1. Компонентный состав:
- •2. Функциональная полнота:
- •3. Степень зависимости от субд:
- •4. Тип используемой модели:
- •1.8. Интеллектуализация вычислительных систем
- •1.9. Рынок программных продуктов
- •Структура рынка программных продуктов и услуг
- •1.10. Классификация систем защиты программных средств
- •1.10.1. Методы установки
- •1.10.2. Методы защиты
- •1.10.3. Принципы функционирования
- •1.10.4. Показатели оценки систем защиты
- •В опросы для контроля
- •Глава 2. Создание модели процессов в bpWin
- •2.1. Среда разработки
- •2.2. Функциональная модель (idef0)
- •2.2.1. Принципы построения модели
- •2.2.2. Работы
- •2.2.3. Стрелки
- •2.2.4. Нумерация работ и диаграмм
- •2.2.5. Диаграммы дерева узлов и экспозиций (feo)
- •2.2.6. Слияние моделей
- •2.2.7. Разделение моделей
- •2.2.8. Отчеты по модели
- •2.2.9. Экспертиза и согласование модели
- •2.3. Оценка модели
- •2.3.1. Стоимостной анализ (abc)
- •2.3.2. Анализ свойств, определенных пользователем (udp)
- •2.4. Дополнительные модели
- •2.4.1. Диаграммы потоков данных (dfd)
- •2.4.2. Диаграммы информационных процессов (idef3)
- •2.4.3. Имитационное моделирование
- •Вопросы для контроля
- •Глава 3. Создание модели данных в erWin
- •3.1. Отображение модели данных
- •3.1.1. Модели представления данных
- •3.1.2. Среда разработки
- •3.1.3. Подмодели и сохраняемые отображения
- •3.2. Создание логической модели данных
- •3.2.1. Уровни логической модели
- •3.2.2. Сущности и атрибуты
- •3.2.3. Связи
- •3.2.4. Типы сущностей и иерархия наследования (супертипы, подтипы)
- •3.2.5. Ключи
- •3.2.6. Методы нормализации и денормализации отношений
- •3.2.7. Домены
- •3.3. Создание физической модели данных
- •3.3.1. Уровни физической модели
- •3.3.2. Выбор субд
- •3.3.3. Таблицы и представления
- •3.3.4. Правила проверки значений и значения по умолчанию
- •3.3.5. Индексы
- •3.3.6. Объекты физической памяти
- •3.3.7. Триггеры и хранимые процедуры
- •3.3.8. Хранилища данных
- •3.3.9. Определение размера базы данных
- •3.3.10. Прямое и обратное проектирование
- •3.4. Создание отчетов в erWin
- •3.5. Связывание моделей процессов и модели данных
- •3.5.1. Экспорт данных из erWin в bpWin
- •3.5.2. Создание сущностей и атрибутов bpWin и их экспорт в erWin
- •В опросы для контроля
- •Глава 4. Генератор отчетов rptWin
- •4.1. Создание нового отчета
- •4.2. Среда конструктора отчетов
- •4.3. Размещение объектов отчета
- •4.4. Группировка и сортировка данных отчета
- •4.5. Изменение файла данных отчета
- •4.6. Изменение свойств отчета
- •4.7. Формирование формул
- •4.8. Пример формирования отчета
- •В опросы для контроля
- •Заключение
- •Практикум
- •Задания для контроля Тесты для самоконтроля
- •Ключи к тестам для самоконтроля
- •Пример выполнения контрольной работы
- •Темы контрольных и курсовых работ
- •1. Учет успеваемости студентов.
- •2. Учет обмена валюты.
- •3. Учет объектов строительства.
- •4. Учет выдачи и возврата книг.
- •5. Учет авиапассажиров.
- •6. Учет производства сельскохозяйственных культур.
- •7. Учет выпуска изделий.
- •8. Учет платежей налогов.
- •9. Учет поставок товаров.
- •10. Учет сбросов отравляющих веществ в окружающую среду.
- •11. Учет уволившихся с предприятия.
- •12. Учет призеров Олимпийских игр.
- •14. Учет участников олимпиады.
- •15. Учет проданных товаров.
- •16. Учет малых предприятий.
- •17. Учет больных в больнице.
- •18. Учет движения общественного транспорта.
- •19. Учет дорожно-транспортных происшествий.
- •20. Учет платежных поручений в банке.
- •21. Учет договоров займа.
- •22. Учет проданных ценных бумаг.
- •23. Учет кадров.
- •24. Учет очередников на получение жилья.
- •25. Учет исполнительской дисциплины.
- •26. Учет книг в библиотеке.
- •27. Учет переселенцев.
- •28. Учет успеваемости школьников.
- •29. Учет нарушителей трудовой дисциплины на предприятии.
- •30. Учет вакцинации населения.
- •Вопросы для подготовки к экзамену
- •Список источников информации
- •Приложения Приложение 1. Стандарты Приложение 1.1. Международный стандарт жизненного цикла
- •1. Процесс приобретения
- •2. Разработка системы и программного средства
- •3. Эксплуатация системы и программного средства
- •4. Сопровождение и развитие системы и программного средства
- •5. Управление проектом и обеспечение качества системы и программного средства
- •6. Интегральные процессы поддержки разработки программных средств
- •Приложение 1.2. Стандарты качества
- •Приложение 1.3. Стандарты по тестированию программ
- •Приложение 1.4. Государственные стандарты рф
- •Приложение 1.5. Единая система программной документации (гост 19)
- •2. Эскизный проект
- •3. Технический проект
- •4. Рабочий проект
- •5. Внедрение
- •Приложение 1.6. Автоматизированные системы управления (гост 24)
- •Приложение 1.7. Автоматизированные системы (гост 34)
- •Приложение 2. Список макрокоманд erWin
- •Приложение 3. Список макрокоманд erWin
Глава 3. Создание модели данных в erWin
3.1. Отображение модели данных
3.1.1. Модели представления данных
Рассмотрим основные термины.
Сущность (объект, отношение) – человек, предмет или событие, о котором собирается и хранится информация.
Экземпляр сущности – единичное значение сущности (например, сущность – «Сотрудник», экземпляр – «Данные об Иванове И.И.»).
Независимая/Зависимая сущность – сущность, экземпляры которой могут,/не могут быть уникальным образом идентифицированы без определения ее связи с другой сущностью.
Кластер – это объект, состоящий из одной или нескольких таблиц, c одним или несколькими общими столбцами. В кластере строки, которые имеют одинаковые значения в их общих столбцах, физически хранятся вместе в пределах одного блока данных. Кластеры уменьшают время доступа к таблице и место на диске. Кластеры бывают индексируемые (Indexed Cluster) и хэшируемые (Hash Cluster). В индексируемом/хэшируемом кластере сохраняются вместе строки, имеющие одинаковое значение ключа кластера/хэширования. Каждое отличающееся значение ключа кластера хранится в каждом блоке данных только один раз, что экономит дисковое пространство. Для хеширования можно использовать функцию СУБД или пользователя. Функция по ключу кластера возвращает результат для нахождения соответствующей строки.
Сущность подтипа – в реальном мире есть сущности, которые являются определенными типами других сущностей. Например, служащий, работающий на окладе – это определенный тип служащего. Сущности подтипа хорошо использовать для хранения информации, относящейся только к какому-то конкретному подтипу. Они полезны также при формулировании таких связей, которые допустимы только для данного подтипа (например, того факта, что служащий на окладе имеет право на определенную пенсию, а служащий, работающий на условиях частичной занятости, не имеет такого права). В IDEF1X подтипы внутри кластера подтипа являются взаимно исключающими.
Связь подтипа (категоризационная связь) – связь между сущностью подтипа и ее групповым родителем. Связь подтипа всегда связывает один экземпляр группового родителя с 0 или одним экземпляром подтипа.
Атрибут – характеристика или свойство сущности. Рекомендуется называть атрибут и сущность существительными в единственном числе.
Расширенные атрибуты (расширенная информация, относящаяся к определениям колонок) – информация, которая определяется пользователем с целью контроля за изображением на экране и контроля данных, хранящихся в колонке.
Домен – область значений одного или нескольких атрибутов.
Ключ – атрибут или группа атрибутов, однозначно определяющих экземпляр сущности.
Ключевые атрибуты – атрибуты, из которых формируется ключ («Код завода», «Код изделия», «Дата выпуска изделия» сущности «Выпуск изделий»).
Первичный ключ – атрибут или группа атрибутов, уникальным образом идентифицирующих экземпляр сущности. Если таких групп несколько, то первичный ключ выбирается из списка кандидатов исходя из того, каким представляется его значение для бизнеса в качестве идентификатора. В идеале первичные ключи не должны меняться и должны быть как можно меньшего размера. ERWin генерирует уникальный индекс для каждого первичного ключа.
Альтернативный ключ – атрибут или минимальная группа атрибутов, которые уникальным образом идентифицируют экземпляр сущности. Если таких ключей несколько, то альтернативным ключом называются те ключи, которые не были выбраны в качестве первичного ключа. ERWin генерирует уникальный индекс для каждого альтернативного ключа.
Миграция внешнего ключа – ситуация, при которой ключ родительской сущности автоматически появляется в ключе дочерней сущности со значком (FK), обозначающим внешний ключ.
Внешний ключ – атрибут, мигрированный от родительской сущности к дочерней через связь. Представляет собой вторичную ссылку на единичный домен, где первичной ссылкой является собственный атрибут.
Унификация – слияние двух или более атрибутов внешнего ключа в один атрибут внешнего ключа на основе утверждения, что значения исходных атрибутов внешнего ключа должны быть идентичны.
Собственный атрибут – атрибут, не являющийся внешним ключом. Является представителем первичной связи с единичным доменом внутри информационной модели.
Инверсионный вход (Inversion Entry) – атрибут (атрибуты), который(е) не определяет уникальным образом экземпляр сущности, но часто используется для обращения к экземплярам сущностей. ERWin генерирует неуникальные индексы для всех инверсионных входов.
Неключевой атрибут – любой атрибут, не являющийся частью первичного ключа сущности. Могут входить в инверсионный вход и (или) альтернативный ключ, а также быть внешними ключами.
Базовое имя – исходное имя внешнего ключа, которому присвоено имя роли.
Бинарная связь – связь, в которой ровно один экземпляр родительской сущности соответствует 0,1 или более экземплярам дочерней. В IDEF1X идентифицирующие, неидентифицирующие связи и связи подтипа являются бинарными.
Кардинальность – отношение числа экземпляров родительской сущности к числу экземпляров дочерней. В IDEF1X кардинальность бинарных связей равна 1:N, где N может равняться 0,1 или более (обозначается пробелами); 1 или более (обозначается буквой «P»); 0 или 1 («Z»), ровно N>0.
Дискриминатор – значение атрибута в экземпляре общего родителя, который определяет, к какому из возможных подтипов принадлежит этот экземпляр. Например, значение атрибута «пол» в экземпляре сущности «служащий» определяет, к какому из возможных подтипов (мужчина-служащий или женщина-служащая) принадлежит экземпляр.
Идентифицирующая связь – связь, в которой экземпляр дочерней сущности идентифицируется с помощью своего отношения к родительской сущности. Атрибуты первичного ключа родительской сущности становятся атрибутами первичного ключа дочерней.
Полный кластер подтипа – если кластер подтипа включает в себя все возможные подтипы (любой экземпляр общего родителя связан с одним подтипом), то кластер подтипа является полным. Например, любой служащий относится или к мужскому, или к женскому полу, следовательно, кластер подтипа, состоящий из мужчины-служащего и женщины-служащей, является полным кластером подтипа.
Метамодель – модель, которая определяет структуры данных, требуемые для хранения всей необходимой информации о диаграмме, включающей в себя определения, адреса, шрифты, цвета и т.д.
Словарь ERWin – база данных, которая генерируется из метамодели ERWin и в которой хранится информация о структурах данных, используемых в моделях, в отличие от бизнес-информации, хранящейся в других базах данных.
Формат ERX – собственный текстовый формат ERWin, позволяющий сохранять информацию, содержащуюся в графической модели данных, в виде текстового описания.
Прямое проектирование – процесс генерации физической схемы базы данных из логической модели данных.
Неполный кластер подтипа – кластер подтипа, не включающий в себя все возможные подтипы (каждый экземпляр общего родителя не связан с одним подтипом). Например, если часть служащих работает на договорной основе, то кластер подтипа, состоящий из служащих на окладе и служащих с частичной занятостью, будет неполным.
Формат MPD ModelPro – тип файла, в котором хранится информация о модели данных в текстовом формате.
Неидентифицирующая связь – связь, в которой экземпляр дочерней сущности не идентифицируется с помощью ее отношения к родительской сущности. Атрибуты первичного ключа родительской сущности становятся неключевыми атрибутами дочерней.
Неопределенная связь – связи «родительская – дочерняя сущность» и связи подтипа считаются определенными, поскольку точно определяют, каким образом экземпляры одной сущности связаны с экземплярами другой. Однако на начальных этапах разработки модели часто бывает полезно задание «неопределенных» связей между двумя сущностями. Неопределенная связь, которую называют также связью «многие-ко-многим», – это отношение между двумя сущностями, при котором каждый экземпляр первой сущности связан с 0,1 или более экземплярами второй сущности и каждый экземпляр второй сущности связан с 0,1 или более экземплярами первой сущности.
Null – отсутствие значения, «пустое поле» или отсутствие колонки.
Логический уровень ‑ представление и моделирование предметов непосредственно из реального мира.
Физический уровень – информация, относящаяся к модели, которая определяется в зависимости от базы данных и СУБД (например, таблицы, колонки, типы данных и т.д.).
Объект физической памяти ‑ именованный сегмент устройства хранения информации, используемый для хранения определений объектов, данных.
Ссылочная целостность – утверждение, что для значений внешнего ключа в экземпляре дочерней сущности существуют соответствующие значения родительской сущности.
Связь – служит для описания связей или отношений между сущностями.
Обратное проектирование – процесс генерации логической модели из физической базы данных.
Имя роли – новое имя, присваиваемое внешнему ключу. Используется для указания, что домен внешнего ключа является подмножеством домена атрибута родительской сущности и выполняет определенную функцию (роль) в сущности.
Сегмент отката – зарезервированный объем памяти внутри табличного пространства, используемый для хранения «снимка» данных в том виде, в котором они находились до выполнения транзакции. Если транзакция не завершится вследствие сбоя, то все изменения данных откатываются, и восстанавливается образ данных, который хранится в сегменте отката.
Схема – структура базы данных. Как правило, строится на основе файла скрипта, написанного на DDL (языке определения данных). DDL состоит из операторов Create Table, Create Index и др.
Сегмент – именованное множество, состоящее из одного или более устройств, зарезервированных для использования какой-то определенной базой данных SQL Server. После того как создан сегмент, его можно использовать для хранения объектов базы данных, например таблиц и индексов.
Формат SML – специальный тип файла, предназначенный для хранения информации, относящейся к модели «сущность-связь», в текстовом формате.
Определенная связь – отношение между сущностями, в котором каждый экземпляр родительской сущности связан с 0,1 или более экземплярами дочерней сущности и каждый экземпляр дочерней сущности связан с 0 или 1 экземплярами родительской сущности.
Табличное пространство – именованный сегмент базы данных, состоящий из одного или более файлов данных. После того как создано табличное пространство, его можно использовать для хранения таблиц, индексов или сегментов отката.