- •Санкт-петербургский государственный электротехнический университет кафедра мо эвм
- •2005 Год содержание
- •1. Постановка задачи
- •2. Определение фаз жизненного цикла проекта и его ключевых работ
- •3. Расчёт метрик разработки программного продукта
- •3.1. Определение плановой трудоёмкости проекта
- •3.2. Расчёт коэффициентов повторного использования
- •3.3. Определение реальной длительности недели
- •3.4. Определение действительной трудоёмкости проекта
- •3.5. Определение трудоёмкости обзора продуктов
- •3.6. Определение метрик созданных документов
- •3.7. Расчёт метрик кода созданного продукта
- •3.8. Оценка распределения точности определения трудоёмкости
- •4. Выводы
2. Определение фаз жизненного цикла проекта и его ключевых работ
В силу незначительного размера проекта и малого числа исполнителей мы будем использовать слегка адаптированную версию водопадной модели, в соответствии с которой выделим следующие фазы жизненного цикла разработки:
разработка и согласование требований. На этой фазе предполагается превратить полученное задание на курсовую работу (вроде «исследовать влияние графической фильтрации на процесс распознавания изображений») в последовательность требований к программе (например, «программа должна осуществлять загрузку базы данных изображений с диска»). Полученную совокупность требований необходимо согласовать с заказчиком с целью достижения единого представления о разрабатываемой программе;
проектирование программы. На данном этапе следует определить функциональные свойства программы и описать их в терминах объектно-ориентированной парадигмы. Следует выделить некоторый общий костяк программы и совокупность модулей, с которым он может взаимодействовать. Полученное описание согласовывается в пределах команды исполнителей (коих у нас ровно один…) с целью, опять же, достижения внутреннего взаимопонимания;
кодирование программы. На данном этапе принятые проектные решения обретают форму разработанных классов или модулей на выбранном объектно-ориентированном языке программирования;
модульное тестирование и отладка. Каждый программный компонент проверяется на предмет соответствия требованиям и адекватности реакции на действия пользователя. В случае выявления каких-либо отклонений в функционировании класса, в реализацию вносятся изменения, и ошибка устраняется;
системное тестирование и отладка. Производится сборка разработанных классов и модулей в единую систему. Функционирование системы проверяется на предмет соответствия требованиям и адекватности реакции на действия пользователя. В случае выявленных ошибок, изменения вносятся в реализованные механизмы межмодульного взаимодействия;
приёмные испытания. На завершающей фазе готовый и протестированный программный продукт демонстрируется заказчику. К этой фазе вероятность проявления каких-либо дефектов в программе должна быть полностью исключена.
Каждая фаза состоит из определённого списка ключевых работ, выполняемых на этой фазе. Распределение ключевых работ по фазам в случае рассматриваемого проекта имеет следующий вид:
фаза разработки и согласования требований;
анализ полученного задания. Итогом работы является общее представление о назначении и процессе функционирования программы;
формулировка требований к программе. Итогом работы является детальное представление о назначении и функционировании программы, оформленное в виде списка требований;
согласование требований с заказчиком. Итогом данной работы является окончательный и согласованный список требований, определяющий функциональность проекта;
фаза проектирования;
определение структуры программы. Итогом данной работы является общее представление о способе реализации функциональных возможностей программы;
определение необходимых классов и их функциональности. Итогом данной работы является список классов с указанной спецификацией;
определение механизмов взаимодействия классов. Итогом данной работы является исчерпывающее представление о способе реализации функциональных возможностей программы;
фаза кодирования. Итогом работ на этой фазе являются реализации классов на выбранном языке программирования;
кодирование класса приложения;
кодирование класса для работы с базой данных изображений;
кодирование классов, обеспечивающих графическую фильтрацию;
фаза модульного тестирования и отладки. Итогом работ на этой фазе являются окончательные реализации необходимых классов;
подготовка тестовых примеров и методики тестирования;
тестирование класса приложения;
тестирования класса базы данных изображений;
тестирование классов графической фильтрации;
отладка выявленных ошибок и повторное тестирование;
фаза системного тестирования. Итогом работ на этой фазе является готовое и функционирующее приложение;
сборка готового приложения из разработанных классов;
подготовка тестовых примеров и методики тестирования;
тестирование готового приложения;
отладка выявленных ошибок и повторное тестирование;
фаза приёмных испытаний. Итогом работ на данной фазе является получение зачёта по дисциплине «Компьютерные методы идентификации личности»;
подготовка демонстрационных примеров;
демонстрация работы приложения заказчику и выслушивание заявлений о своей полной некомпетентности.