- •«Технологии разработки программного обеспечения»
- •Оглавление
- •Введение
- •Анализ проблемы. Постановка задачи
- •Введение
- •Описание примера
- •Составление списка заинтересованных лиц
- •Анкетирование и проведение интервью
- •Список потребностей заинтересованных лиц
- •Задания
- •Контрольные вопросы
- •Моделирование объекта автоматизации
- •Введение
- •Введение в методологиюAris
- •Описание инструментаAris. Начало работы
- •Построение организационной модели
- •Построение диаграммы цепочек добавленного качества
- •ПостроениеeEpCмодели
- •Описание объектов автоматизации
- •Задания
- •Контрольные вопросы
- •Разработка модели вариантов использования и их спецификаций
- •Введение
- •Разработка модели вариантов использования
- •Модель вариантов использования
- •Построение модели вариантов использования
- •Спецификация вариантов использования
- •Основной поток
- •Альтернативные потоки
- •Специальные требования
- •Пример спецификации варианта использования
- •Алгоритм расчёта рейтингов
- •Задания
- •Пример написания раздела
- •Назначение документа
- •Наименование системы
- •Сведения о заказчике и исполнителе
- •Основания для выполнения работ, сроки и финансирование
- •Основные понятия, определения и сокращения
- •Актуальность разработки системы
- •Назначение и цели создания (развития) системы
- •Требования к содержимому раздела
- •Пример написания раздела
- •Характеристики объекта автоматизации
- •Требования к содержимому раздела
- •Пример написания раздела
- •Организация и планирование научно-исследовательской и инновационной деятельности
- •Исполнители научно-исследовательских работ
- •Учет и отчетность по научно-исследовательским работам
- •Требования к системе
- •Требования к содержимому раздела
- •Пример написания раздела
- •Требования к системе в целом
- •Требования к структуре и функционированию системы
- •Требования к численности и квалификации персонала
- •Требования к функциям (задачам)
- •Описание вариантов использования
- •Состав и содержание работ по созданию системы
- •Требования к содержимому раздела
- •Пример написания раздела
- •Порядок контроля и приемки системы
- •Требования к содержимому раздела
- •Пример написания раздела
- •Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
- •Требования к содержимому раздела
- •Пример написания раздела
- •Создание служб необходимых для функционирования системы
- •Функциональные этапы внедрения системы
- •Требования к документированию
- •Требования к содержимому раздела
- •Пример написания раздела
- •Паспорт системы
- •Общее описание системы
- •Руководство администратора
- •Руководство пользователя
- •Регламент эксплуатации
- •Источники разработки
- •Правила оформления
- •Задание
- •Бизнес-логика
- •Объектно-реляционное отображение
- •Структура бд
- •Создание проекта вBorlandDeveloperStudio
- •Добавление нового модуля в проект
- •Создание классов с помощью диаграммыUml
- •Добавление полей
- •Добавление свойств
- •Добавление процедуры
- •Добавление функции
- •Создание отношений между классами
- •Ассоциация
- •Агрегация
- •Наследование
- •Пример создания классов
- •Создание классов и отношений между ними слоя объектно-реляционного отображения
- •Создание классов слоя бизнес-логики
- •Невизуальные компоненты интерфейса используемые в примере
- •TimageList
- •TActionManager
- •Визуальные компоненты используемые в примере
- •TBitBtn
- •TdbGrid
- •TcomboBox
- •TPageControl
- •Пример разработки интерфейса
- •Главная форма
- •Форма редактирования параметров студента
- •Форма редактирования книг
- •Форма отображения списка книг
- •Подключение классов
- •Сохранение проекта
- •Задание
- •Шаблоны проектирования
- •Шаблон InformationExpert(информационный эксперт)
- •Преимущества
- •Шаблон Creator(создатель)
- •Преимущества
- •Шаблон LowCoupling(слабое связывание)
- •Преимущества
- •Шаблон HighCohesion(высокое зацепление)
- •Преимущества
- •Шаблон Controller(контроллер)
- •Преимущества
- •Применение шаблонаInformationExpert
- •Применение шаблонаCreator
- •Использование шаблонаHighCohesion
- •Применение шаблонаController
- •Задание
- •Технология eco
- •Язык объектных ограничений ocl
- •Mdi-контейнеры
- •Создание простого mda-приложения
- •Основные этапы разработки приложения
- •Обзор возможностей Borland Developer Studio 2006 для разработки mda-приложения
- •Создание моделиUml
- •Создание бд и настройкаEcOкомпонент
- •Создание интерфейса
- •Связывание интерфейса с моделью
- •Создание логики наOcl
- •Задания
- •Контрольные вопросы
- •РазработкаMda-приложения с использованием машин состояний
- •Введение
- •Автоматы
- •Состояния
- •Подавтоматы
- •Диаграммы состояний
- •Создание mda-приложений с использованием машин состояний
- •Модификация модели uml
- •Создание машины состояний
- •Обновление базы данных
- •Модификация пользовательского интерфейса
- •Связывание интерфейса с моделью
- •Применение автоформ
- •Расширение пользовательского интерфейса
- •Задания
- •Контрольные вопросы
- •Расширенные возможности разработкиMda-приложений
- •СозданиеMda-приложения с расширенными возможностями
- •Модификация моделиUml
- •Программное добавление объекта
- •Программное удаление объекта
- •Программное редактирование объекта
- •Работа со справочником
- •Поиск объектов
- •Задания
- •Контрольные вопросы
- •Заключение
- •Библиографический список
Объектно-реляционное отображение
Данный слой состоит из классов, которые с помощью драйверов доступа к БД осуществляют взаимодействие с СУБД. На рисунке 6.2 приведён пример базовых классов, на основе которых можно строить слой объектно-реляционного отображения.
Рисунок 6.28 – Классы объектно-реляционного отображения
В таблице приведено описание классов, изображённых на рисунке 6.2.
Таблица 6.13
Описание базовых классов объектно-реляционного отображения
Имя класса |
Описание |
TConnection |
Предназначен для управления соединением к базам данных и настройки параметров соединения. |
TTransactionObject |
Предназначен для управления транзакцией (открытие, закрытие, откат) |
TDBObject |
Предназначен для работы с базой данных. Использует классы TConnection и TTransactionObject |
TExecuteObject |
Обеспечивает работу с SQL. |
Характеристики класса «TConnection»
Свойства класса TConnection представлены в таблице 6.5.
Таблица 6.14
Свойства класса TConnection
Название |
Описание |
ServerName: string |
Сетевое имя сервера СУБД |
DataBaseName: string |
Полный локальный путь к файлу БД |
UserName: string |
Имя пользователя СУБД используемое для авторизации |
Password: string |
Пароль доступа к СУБД |
DataBase: TIBDatabase |
Компонент доступа к базе данных, с которой работает объект |
TransactionObject: TTransactionObject |
Транзакцию, с которой работает объект |
Методы класса TConnectionпредставлены в таблице6.6.
Таблица 6.15
Методы класса TConnection
Название |
Описание |
Connect() |
Открытие соединения с базой данных |
Disconnect() |
Закрытие соединения с базой данных |
Характеристики класса «TTransactionObject»
Класс TTransactionObject является оболочкой к компоненту TIBTransaction, реализующего функции по работе с транзакциями. Свойства класса TTransactionObject представлены в таблице 6.7.
Таблица 6.16
Свойства класса TTransactionObject
Название |
Описание |
Transaction: TIBTransaction |
Определяет с какой транзакцией работает объект. |
InTransaction: Boolean |
Определяет запущена ли транзакция у объекта. |
Методы класса TTransactionObject представлены в таблице 6.8.
Таблица 6.17
Методы класса TTransactionObject
Название |
Описание |
StartTransaction() |
Запуск транзакции |
Commit() |
Подтверждение транзакции |
Rollback() |
Отмена транзакции |
Характеристики класса «TDBObject»
Поля класса TDBObject представлены в таблице 6.9.
Таблица 6.18
Поля класса TDBObject
Название |
Описание |
fOwn_transaction: Boolean |
Определяет использует ли объект свою транзакцию или чужую переданную при создании класса. |
Свойства класса TDBObject представлены в таблице 6.10.
Таблица 6.19
Свойства класса TDBObject
Название |
Описание |
Connection: TConnection |
Подключение, используемое данным объектом. |
TransactionObject: TTransactionObject |
Транзакция, используема данным объектом |
Класс TDBObject содержит те же методы что и класс TTransactionObject для реализации возможности работы со своей собственной транзакцией. Соответственно если он использует чужую транзакцию, он ничего не может с ней делать. Методы класса TDBObject представлены в таблице 6.11.
Таблица 6.20
Методы класса TDBObject
Название |
Описание |
StartTransaction() |
Запуск транзакции |
Commit() |
Подтверждение транзакции |
Rollback() |
Отмена транзакции |
Характеристики класса «TExecuteObject»
Класс TExecuteObject выполняет команды SQL и является оболочкой к компоненту TIBQuery, который работает с семейством СУБД BorlandIB. Свойства компонента TExecuteObject представлены в таблице 6.12.
Таблица 6.21
Свойства класса TExecuteObject
Название |
Описание |
nfi[name: string]: Integer |
Свойство доступа к полям набора данных. Используется, когда поле является целочисленным. |
nfs[name: string]: string |
Свойство доступа к полям набора данных. Используется, когда поле является строковым. |
nff[name: string]: Extended |
Свойство доступа к полям набора данных. Используется, когда поле является дробным. |
Методы класса TExecuteObject представлены в таблице 6.13.
Таблица 6.22
Методы класса TExecuteObject
Название |
Описание |
ExecuteQuery(sql: string; params: array of variant) |
Метод, выполняющий запрос к базе данным не возвращающий набора данных. |
SelectQuery(sql: string; params: array of variant; FetchAll: boolean=false) |
Метод, выполняющий запрос к базе данным возвращающий набор данных. |
SelectStrings(sql: string; params: array of variant): TStringList |
Метод, выполняющий запрос к базе данных и возвращающий коллекцию строк в классе TStringListиз первого поля запроса |