- •«Технологии разработки программного обеспечения»
- •Оглавление
- •Введение
- •Анализ проблемы. Постановка задачи
- •Введение
- •Описание примера
- •Составление списка заинтересованных лиц
- •Анкетирование и проведение интервью
- •Список потребностей заинтересованных лиц
- •Задания
- •Контрольные вопросы
- •Моделирование объекта автоматизации
- •Введение
- •Введение в методологию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
- •Программное добавление объекта
- •Программное удаление объекта
- •Программное редактирование объекта
- •Работа со справочником
- •Поиск объектов
- •Задания
- •Контрольные вопросы
- •Заключение
- •Библиографический список
Описание примера
В данном разделе будет сформулирована задача, решением которой является разработка программного обеспечения.
И так, в результате вступления России в Болонский процесс была инициирована реформа высшего профессионального образования. В результате этой реформы Министерством образования и науки была разработана программа по переводу традиционной системы оценки успеваемости студентов в систему зачетных единиц (кредитов). Это являлось одним из условий вступления в болонский процесс, что объясняется необходимостью унификации систем высшего образования с целью обеспечения студентов единым образовательным пространством в тех странах, которые уже вступили в болонский процесс.
В рамках этой программы все вузы страны должны к установленной дате перейти на новую систему. Красноярский государственный политехнический университет (КГПУ) начал решать поставленную перед ним задачу поэтапно. Одной из задач перехода на новую систему в КГПУ является автоматизация процесса учета текущей успеваемости студентов и учета промежуточных аттестаций с целью: унификации этого процесса на всех кафедрах и факультетах вуза; реализации возможности автоматизированного формирования отчетов; публикации на сайте вуза рейтингов студентов.
Составление списка заинтересованных лиц
Заинтересованные лица – это все, на кого разработка нового ПО может оказать материальное воздействие. Для выявления заинтересованных лиц необходимо ответить на следующие вопросы.
Кто является пользователями системы?
Кто является заказчиком (экономическим покупателем) системы?
На кого еще окажут влияние результаты работы системы?
Кто будет оценивать и принимать систему, когда она будет представлена и развернута?
Существуют ли другие внутренние или внешние пользователи системы, чьи потребности необходимо учесть?
Кто будет заниматься сопровождением новой системы?
Не забыли ли мы кого-нибудь?
В нашем примере, отвечая на первый вопрос, определим будущих пользователей нашей системы – это преподаватели, секретари кафедр и деканатов, заведующие кафедрами, системный администратор и сотрудники учебного управления. Заказчиком нашей системы является сам вуз в лице первого проректора. Теперь попытаемся выяснить, на кого еще будут оказывать влияние результаты работы нашей системы. Во-первых, на студентов, ведь рейтинги обо всех студентах будут доступны на сайте вуза. Во-вторых, по этой же причине, на родителей. В-третьих, на заведующих по учебной части и деканов факультетов, поскольку любые изменения в учебном процессе касаются их профессиональной деятельности.
Итак, рассмотрев первые три вопроса, мы практически исчерпали всех заинтересованных лиц. Поскольку сопровождать систему будет разработчик этой системы, то в список заинтересованных лиц мы его не включаем. Таким образом, получаем следующий список заинтересованных лиц для нашей системы:
преподаватели;
секретари кафедр;
секретари деканатов;
заведующие кафедрами;
учебное управление (в лице начальника);
первый проректор;
системный администратор (тот, кто будет администрировать нашу систему);
студенты;
родители студентов;
заведующие по учебной части факультетов;
деканы факультетов.