- •Технология проектирования программных систем методические указания к изучению курса с элементами кредитно - модульной системы организации учебного процесса
- •Содержание лекционных занятий
- •Темы лабораторных работ
- •Оценка успешности в баллах при полном выполнении условий и графика учебного процесса
- •Распределение баллов по смысловыми модулями для определения оценки по результатам изучения учебной дисциплины
- •Шкала оценивания
- •Лабораторная работа № 1
- •Краткие теоретические сведения:
- •Моделирование взаимодействий
- •Взаимодействия
- •Лабораторная работа № 2
- •Краткие теоретические сведения:
- •Выявление требований
- •Прототипирование
- •Системные сервисы
- •Системные ограничения
- •Проектные вопросы
- •Приложения
- •Спецификации состояний
- •Моделирование классов
- •Выявление классов
- •Подход на основе использования именных групп
- •Подход на основе использования общих шаблонов для классов
- •Подход на основе использования прецедентов
- •Комплексный подход
- •Некоторые правила выявления классов
- •Лабораторная работа № 3
- •Краткие теоретические сведения
- •Архитектура программного обеспечения
- •Распределенная архитектура
- •Трехзвенная архитектура
- •Программирование баз данных
- •Взаимодействие "приложение-база данных"
- •Стратегия повторного использования
- •Компоненты
- •Развертывание
- •Проект развертывания
- •Модели данных
- •Модель объектной базы данных
- •Объектно-реляционная модель базы данных
- •Элементарные типы модели рбд
- •Реляционные таблицы
- •Лабораторная работа № 4
- •Краткие теоретические сведения
- •Связность и увязка классов
- •Виды увязки классов
- •Закон Деметра
- •Методы открытия доступа и бессмысленные классы
- •Проектирование клиент-серверных кооперативных взаимодействий
- •Хранимые процедуры
- •Триггеры
- •Проектирование транзакций
- •Пессимистическое управление параллельностью
- •Точка сохранения
- •Триггерный откат
- •Тестирование баз данных
- •Тестирование авторизации
- •Тестирование других ограничений
Программирование баз данных
Независимо от того, где расположена логика приложения, программа (клиент) взаимодействует с базой данных (сервером), чтобы получить информацию для ее отображения и предоставления в распоряжение пользователя для дальнейших манипуляций. Однако современные базы данных также можно программировать. Говорят, что эти современные базы данных активны.
Программы баз данных называются хранимыми процедурами (stored procedure). Хранимые процедуры хранятся в самой базе данных (они являются постоянными или пер-систентными). Их можно вызвать из клиентской программы (или из другой хранимой процедуры) с помощью обычного оператора вызова процедуры/функции.
Существуют хранимые процедуры специального вида - триггеры, которые нельзя вызвать явно. Триггер срабатывает автоматически при попытке изменить содержимое базы данных. Триггеры используются для реализации бизнес-правил масштаба предприятия, которые должны быть проведены в жизнь способом, независимым от клиентских программ (или хранимых процедур). Триггеры усиливают целостность и непротиворечивость баз данных. Они не позволяют отдельным приложениям нарушать бизнес-правила, заложенные в базу данных.
Взаимодействие "приложение-база данных"
Нам необходимо решить, какая часть системы будет запрограммирована в клиенте, а какая - в базе данных. При этом рассматриваются следующие программируемые части системы.
Пользовательский интерфейс.
Презентационная логика.
Прикладные функции.
Интегральная логика.
Функции доступа к данным.
Часть программы, которая называется пользовательским интерфейсом, отвечает за отображение информации на конкретный GUI-интерфейс, такой как GUI-интерфейс Microsoft Windows, GUI-интерфейс Unix Motif, GUI-интерфейс Macintosh. Презентационная логика (или логика представления) отвечает за обработку объектов GUI-интерфейса (форм, меню, кнопок действий и т.д.), как того требуют функции приложения.
Функции приложения содержат основную логику программы. Они фиксируют действия приложения и представляют собой связующее звено, соединяющее вместе клиента И базу данных. С точки зрения подхода ВСЕ функции приложения реализуются классами управляющего пакета.
Интегральная логика отвечает за бизнес-правила масштаба предприятия. Это правила, которые применяются ко всем прикладным программам, т.е. все программы
должны функционировать в соответствии с ними. Функции доступа к данным владеют вопросами доступа к постоянным объектам данных на диске.
Стратегия повторного использования
UML определяет повторное использование (reuse) как "использование ранее существовавших артефактов". Стратегия влияет на степень детализации, с которой осуществляется повторное использование. Могут применяться следующие степени детализации повторного использования.
Класс.
Компонента.
Идея решения.
В связи со степенью детализации существуют три соответствующие стратегии повторного использования в основе которых лежат следующие программные сущности.
1. Инструментальные средства (библиотеки классов).
2. Каркасы.
3. Шаблоны анализа и проектирования.
