
- •Тюменский государственный университет
- •Предисловие 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.3.6. Объекты физической памяти
Для задания объектов физической памяти (для некоторых СУБД, например ORACLE) и групп файлов с таблицами (MS SQL Server) используются команды Database/Tablespaces, Database/Roolbark Segments, Database/Databases и Database/File Groups соответственно.
3.3.7. Триггеры и хранимые процедуры
Триггеры и хранимые процедуры представляют собой именованные блоки команд SQL, откомпилированные и хранимые на сервере базы данных. Хранимая процедура может вызываться из приложения или из другой хранимой процедуры или триггера. Триггер выполняется автоматически при наступлении некоторого события: вставки, удаления или изменения строки таблицы. Триггер ссылочной целостности (RI‑триггер) реализует правила ссылочной целостности. По умолчанию RI‑триггер реализует объявленную ссылочную целостность (п. 3.2.3).
Для генерации триггеров используется механизм шаблонов (набор макрокоманд, которые автоматически корректируются в соответствии с выбранной СУБД при генерации кода триггера).
Можно переопределить триггер, установленный по умолчанию одним из способов:
Переопределение шаблона триггера для ссылочной целостности. Для каждого правила ссылочной целостности создать переопределенный шаблон и использовать его вместо применяемого по умолчанию при включенной опции RI Type Override при генерации схемы.
Переопределение шаблона триггера для связи. Для конкретной связи создать переопределенный шаблон и использовать его вместо применяемого по умолчанию при включенной опции Relationship Override при генерации схемы.
Переопределение шаблона триггера для сущности. Для конкретной сущности создать переопределенный шаблон и использовать его вместо применяемого по умолчанию при включенной опции Entity Override при генерации схемы.
П
ример
переопределения шаблона тригера для
сущности. Создадим таблицу Архив
клиентов, в которую будут записываться:
дата изменения (DK), имя
пользователя, производившего изменния
(User), старые (KKOLD,
NKOLD) и новые (KKNEW,
NKNEW) значения колонок
изменяемой строки таблицы Клиент
(рисунок 3.3.7.1).
Рисунок 3.3.7.1. Таблицы клиентов и архива клиентов
Выполним команду Triggers из контекстного меню таблицы Клиент и нажмем кнопку New для создания триггера SaveValues (рисунок 3.3.7.2).
На странице General установим параметры. В полях Old и New укажем имена ссылок на старые и новые значения.
На странице Code откорректируем заготовку триггера (изменения в тексте выделены шрифтом):
create trigger %TriggerName
%Fire %Actions(" or ")
on %TableName
%RefClause
%Scope
/* ERWin Builtin %Datetime */
/* default body for %TriggerName */
declare numrows INTEGER;
begin
insert into Arxiv_Klient (DK, KKOLD, NKOLD, KKNEW,NKNEW)
Values (Sysdate, User,
:old1.KlientKK, old1.KlientNK, :new1.KlientKK, new1.KlientNK);
end;
/
На странице Expanded можно увидеть код триггера в терминах выбранной СУБД ORACLE:
create trigger SaveValues
BEFORE UPDATE OF
КК,
NK
on Klient
REFERENCING OLD AS old1 NEW AS new1
for each row
/* ERWin Builtin Sun Nov 17 21:19:00 2002 */
/* default body for SaveValues */
declare numrows INTEGER;
begin
insert into Arxiv_Klient (DK, KKOLD, NKOLD, KKNEW,NKNEW)
Values (Sysdate, User,
:old1.KlientKK, old1.KlientNK, :new1.KlientKK, new1.KlientNK);
end;
/
Рисунок 3.3.7.2. Окно редактирования триггеров
Для
редактирования текста триггера можно
воспользоваться редактором,
вызываемым кнопкой Toolbox
на странице Code
(рисунок 3.3.7.3).
Рисунок 3.3.7.3. Окно редактора текста триггера
В окне Macros находится список макросов (прил. 2). Синтаксис и пример макроса приводится в окне Description. Для включения макроса в шаблон триггера на странице Code используется кнопка Insert Macro.
Для изменения шаблона триггера ссылочной целостности используется команда Relationship Template из контекстного меню связи (рисунок 3.3.7.4). Для изменения шаблона нужно выделить тип триггера в списке Referential Integrity Type, нажать кнопку Deach (для отсоединения шаблона, связанного с выбранным триггером). В списке Build‑in Trigger Template или User Override следует выбрать шаблон, который нужно связать с выбранным триггером. Кнопкой Attach нужно связать триггер с выбранным шаблоном. Текст шаблона появится в окне Template Code. Кнопкой Rebind можно отменить связывание. Для создания шаблона нужно указать его имя в поле Template Name и нажать кнопку Macro Toolbox. Кнопкой Add/Delete можно добавить/удалить макрос. Аналогичным образом переопределяется шаблон для связи.
Для создания хранимой процедуры нужно выполнить команду Stored Procedures из контекстного меню таблицы (рисунок 3.3.7.5).
Рисунок
3.3.7.4. Окно переопределения шаблона
триггера связи
Рисунок 3.3.7.5. Окно редактирования хранимых процедур
Для хранимых процедур нет встроенных шаблонов, поэтому текст набирают вручную с иcпользованием макрокоманд (прил. 2).
В примере процедура HisloKlientov подсчитывает число клиентов (рисунок 3.3.7.5). На странице Expanded можно увидеть код триггера в терминах выбранной СУБД ORACLE:
CREATE PROCEDURE
HisloKlientovКлиент
(N out integer) is
begin
Select Count(*) into N
from Клиент
end HisloKlientovКлиент
Кнопкой
Browser (рисунок
3.3.7.5) можно вызвать окно просмотра
хранимых процедур (рисунок 3.3.7.6).
Рисунок 3.3.7.6. Окно просмотра хранимых процедур
Списки Unattаched Table и Attаched Table содержат имена таблиц, не связанных и связанных с процедурой соответственно.
Командой Database/Stored Procedures/Model‑Level можно связать хранимые процедуры с моделью.
Командой Database/Pre & Post Scropts можно указать скрипты (блоки команд) SQL, которые выполняются до или после генерации таблицы (Table‑Level ) или всей схемы (Model‑Level), например удаление старой и создание новой базы.