- •«Технологии разработки программного обеспечения»
- •Оглавление
- •Введение
- •Анализ проблемы. Постановка задачи
- •Введение
- •Описание примера
- •Составление списка заинтересованных лиц
- •Анкетирование и проведение интервью
- •Список потребностей заинтересованных лиц
- •Задания
- •Контрольные вопросы
- •Моделирование объекта автоматизации
- •Введение
- •Введение в методологию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
- •Программное добавление объекта
- •Программное удаление объекта
- •Программное редактирование объекта
- •Работа со справочником
- •Поиск объектов
- •Задания
- •Контрольные вопросы
- •Заключение
- •Библиографический список
Анкетирование и проведение интервью
Для выявления потребностей заказчика и описания объектов автоматизации можно проводить как анкетирование, так и интервью. Но наибольший эффект возможен только при проведении и анкетирования и интервью.
При проведении анкетирования нужно чтобы каждый из заинтересованных лиц заполнил анкету, пример которой приведён в таблице 2.1
Таблица 2.1
Анкета для опроса заинтересованных лиц
|
Для проведения интервью опросчик может быть дополнен следующим перечнем вопросов (таблица 2.2).
Таблица 2.2
Перечень вопросов для проведения интервью
Оценка проблемы Для каких проблем (прикладного типа) вы ощущаете нехватку хороших решений? Назовите их. (Замечание. Не забывайте спрашивать: «А еще»?) Для каждой проблемы выясняйте следующее. Почему существует эта проблема? Как она решается в настоящее время? Как заказчик (пользователь) хотел бы ее решать? |
Понимание пользовательской среды Каковы ваши навыки в компьютерной области? С какими типами приложений вы имеете опыт работы? Какая платформа используется? Каковы ваши планы относительно будущих платформ? Используется ли ПО, которое имеет отношение к данной проблеме? Если да, то пусть о нем немного расскажут. Каковы ваши ожидания относительно практичности продукта? В каком виде должна быть представлена справочная информация для пользователя (в интерактивном или в виде печатной копии)? |
Резюме (перечисляются основные пункты, чтобы проверить, все ли правильно вы поняли) Итак, вы сказали мне (перечислите описанные заказчиком проблемы своими словами) Адекватно ли этот список представляет проблемы, которые имеются при существующем решении? Какие еще проблемы (если такие существуют) вы испытываете? |
Заключение аналитика После интервью, пока его данные еще свежи в вашей памяти, зафиксируйте не менее трех потребностей или проблем с наивысшими приоритетами, выявленные вами в беседе с данным заказчиком (пользователем). |
После проведения анкетирования и интервьюирования необходимо обработать собранную информацию. На основе этих данных необходимо сформулировать перечень потребностей заказчиков, построить модель предметной области и описать объект/объекты автоматизации. Все эти результаты в дальнейшем будут использованы при написании технического задания (ТЗ) на разрабатываемую систему.
В качестве примера проведем анкетирование и интервью с начальником учебного управления. Для этого воспользуемся одним перечнем вопросов и совместим две эти процедуры воедино. По сути, мы проведем только интервью. Пример результата проведения интервью (вопросы и ответы) приведен в таблице 2.3.
Таблица 2.3
Интервью с начальником учебного управления
Вопрос |
Ответ |
|
Иванов Петр Владимирович |
|
Учебное управление |
|
Начальник учебного управления |
|
Первому проректору |
|
Обеспечение общего управления. Обеспечение качества и своевременного выполнения возложенных на Учебное управление задач и функций. Обеспечение выполнения мероприятий по защите конфиденциальной и информационной безопасности в подразделениях управления. |
|
Задачи и функции, выполняемые управлением: 1 Создание единого нормативно-справочного поля учебного процесса. 2 Организационное сопровождение учебного процесса. 3 Планирование ресурсов учебного процесса (объемов работ кафедр, площадей, численности контингента, нагрузки на условиях почасовой оплаты, бланочной документации и др.). 4 Контроль за ходом организации и анализ показателей учебного процесса (как внешних, так и внутренних). 5 Отчетность на различные уровни управления. 6 Анализ выполнения учебной нагрузки, трудоемкости отдельных параметров учебного процесса, результатов сессии, результатов ГАК. Разработка графика учебного процесса. 7 Составление расписания учебных занятий, экзаменов, зачетов и графика защит. 8 Контроль занятости аудиторного фонда, проведения занятий, заседаний ГАК, хода сессий, делопроизводства факультетов, оформления приложений к дипломам, за составлением семестровых планов. 9 Учет движения студентов по всем формам обучения (очное, очно-заочное и заочное, экстернат, второе высшее образование, обучение в сокращенные сроки). |
|
1 Приказы и инструктивные письма Минобразования России по учебно-методическим вопросам 2 Положение об Учебном управлении 3 Должностные инструкции сотрудников 4 Приказы ректора по личному составу студентов (первые экземпляры) 5 Годовые планы приема абитуриентов 6 Планы работы факультетов 7 Отчеты председателей о работе Государственных аттестационных комиссий по всем специальностям и направлениям |
|
1 Семестровые планы занятий 2 Расписание учебных занятий 3 Расписание экзаменов 4 Отчеты вуза по учебно-методической работе за учебный год 5 Сводные статистические отчеты вуза о движении контингента студентов на начало и конец учебного года (3-НК) |
|
В настоящее время отсутствуют количественные показатели оценки деятельности управления |
|
Проблемы связанные с организацией учебного процесса. В настоящее время основной проблемой является перевод учебного процесса в систему зачётных единиц. |
|
Разрабатываемая система должна быть максимально эргономичной с точки зрения пользователя, должна работать стабильно без сбоев, отклик системы не должен вызывать у пользователей раздражения, реализуемая функциональность должна полностью удовлетворить пользователя в его потребностях при выполнении производственных задач. |