- •«Технологии разработки программного обеспечения»
- •Оглавление
- •Введение
- •Анализ проблемы. Постановка задачи
- •Введение
- •Описание примера
- •Составление списка заинтересованных лиц
- •Анкетирование и проведение интервью
- •Список потребностей заинтересованных лиц
- •Задания
- •Контрольные вопросы
- •Моделирование объекта автоматизации
- •Введение
- •Введение в методологию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
- •Программное добавление объекта
- •Программное удаление объекта
- •Программное редактирование объекта
- •Работа со справочником
- •Поиск объектов
- •Задания
- •Контрольные вопросы
- •Заключение
- •Библиографический список
Сохранение проекта
Для того чтобы сохранить проект нужно в главном меню выбрать File→SaveAll. При нажатии этой кнопки появится диалог сохранения файла, в котором нужно указать имя и место расположения файла.
Рекомендуется файл проекта называть исходя из названия предметной области (Students,Users,Library), файлы форм называть исходя из функциональности формы при этом использовать префикс «fm» (fmUser,fmBook,fmGroup), файлы классов нужно называть по именам классов используя при этом префикс «Class» (ClassUser,ClassBook,ClassGroup).
Задание
Нужно разработать приложение в BorlandDeveloperStudioв соответствии с тематикой курсового проекта по предмету «Технологи разработки программного обеспечения». Приложение должно работать с реляционной СУБД, напримерFireBird, а его архитектура соответствовать трехслойной архитектуре на базе объектно-реляционного отображения с типизированными объектами.
Контрольные вопросы
Что такое трехслойная архитектура?
Структура проекта Borland Developer Studio 2006.
Отношения между классами в DeveloperStudio.
Типовая структура слоя реляционного отображения.
Классы слоя бизнес-логики, их особенности.
Типизированные объекты.
Разработка классов с использованием редактора UML. Достоинства и недостатки.
Заполнение данными компонента TDBGrid.
Работа с данными через компонент TComboBox.
Реализация архитектуры на базе объектно-реляционного отображения с не типизированными объектами
Цель работы:
научиться использовать шаблоны проектирования;
используя методологию проектирования, основанную на шаблонах разработать структуру классов трехслойного приложения;
создать класс согласно шаблону Controllerдля обработки системных событий не типизированными объектами;
создать приложение БД, использующее трехслойную архитектуру на базе объектно-реляционного отображения с не типизированными объектами.
Введение
Трёхслойная архитектура на базе объектно-реляционного отображения с не типизированными объектами
Понятие «не типизированные объекты» связано со слоем графического интерфейса. Классы этого слоя могут работать с классами слоя бизнес-логики только посредством контроллера. Таким образом, интерфейс вызывает методы класса контроллера, а класс контроллер вызывает методы классов слоя бизнес-логики. Интерфейс не связан с классами Бизнес-логики, что позволяет менять интерфейс, не переписывая вызовы методов слоя бизнес-логики (см. Рисунок 7 .43).
Рисунок 7.43 – Трехслойная архитектура с контроллером
Для разработки приложения на базе архитектуры с не типизированными объектами мы будем применять шаблоны проектирования. Ниже описана часть основных шаблонов проектирования используемых при разработке программных систем.
Шаблоны проектирования
Опытные разработчики объектно-ориентированных систем сформулировали общие принципы и стандартные решения, помогающие в разработке программного обеспечения. Если эти принципы и идиомы систематизировать и структурировать, а также присвоить им имена, то их можно применять в качестве шаблонов (patterns).
Шаблоны проектирования упрощают повторное использование удачных проектных и архитектурных решений. Представление прошедших проверку временем методик в виде паттернов проектирования облегчает доступ к ним со стороны разработчиков новых систем. С помощью шаблонов проектирования можно улучшить качество документации и сопровождения существующих систем, позволяя явно описать взаимодействия классов и объектов, а также причины, по которым система была построена так, а не иначе. Проще говоря, шаблоны проектирования дают разработчику возможность быстрее найти «правильный» путь.
В объектно-ориентированной технологии шаблоном проектирования называют именованное описание проблемы и ее решения, которые можно применить при разработке других систем. В идеале, шаблон должен содержать советы по поводу его применения в различных ситуациях, а также описание его преимуществ и недостатков. Многие шаблоны содержат рекомендации по распределению обязанностей между объектами с учетом специфики задачи.
Проще говоря, шаблон – это именованная пара "проблема/решение", содержащая рекомендации для применения в различных конкретных ситуациях, которую можно использовать в различных контекстах.
Шаблон можно назвать новым, если он описывает новую идею. Однако сам термин "шаблон" означает стандартную, повторяющуюся сущность. Шаблоны не предназначены для изучения и выражения новых принципов разработки программного обеспечения. Скорее, наоборот. Они призваны систематизировать существующие знания, идиомы и принципы. Чем шире они используются, тем лучше.
Паттерн состоит из четырех основных элементов:
Имя. Всем шаблонам должны быть присвоены осмысленные имена. Именование шаблонов, методов и принципов имеет следующие преимущества: позволяет зафиксировать понятие в памяти человека; облегчает общение.
Задача. Описывает то, где следует применять паттерн. Необходимо сформулировать задачу и ее контекст. Может описываться конкретная проблема проектирования, например способ представления алгоритмов в виде объектов. И
Решение. Описание элементов дизайна, отношений между ними, функций каждого элемента.
Результаты – это следствия применения паттерна и разного рода компромиссы.