Jump to content

Разработка, ориентированная на функции

Разработка на основе функций ( FDD ) — это итеративный и поэтапный процесс разработки программного обеспечения . Это легкий [ по мнению кого? ] или Agile-метод разработки программного обеспечения . FDD сочетает в себе несколько признанных в отрасли [ по мнению кого? ] лучшие практики в единое целое. Эти практики основаны на функциональности ( функции ), ценной для клиента. [ нужны разъяснения ] . Его основная цель [ по мнению кого? ] заключается в неоднократной и своевременной доставке реального работающего программного обеспечения в соответствии с принципами, лежащими в основе Манифеста Agile . [ 1 ]

Первоначально FDD был разработан Джеффом Де Лукой для удовлетворения конкретных потребностей 15-месячного проекта разработки программного обеспечения с участием 50 человек в крупном сингапурском банке в 1997 году. В результате был создан набор из пяти процессов, которые охватывали разработку общей модели и перечисление, планирование, проектирование и создание функций. На первый процесс сильно повлиял Питера Коада подход к моделированию объектов . Второй процесс включает в себя идеи Коада об использовании списка функций для управления функциональными требованиями и задачами разработки. Остальные процессы являются результатом опыта Джеффа Де Луки. С момента его успешного использования в сингапурском проекте FDD было реализовано несколько раз.

Описание FDD впервые было представлено миру в главе 6 книги « Моделирование Java в цвете с помощью UML». [1] Питером Коудом, Эриком Лефевром и Джеффом Де Лукой в ​​1999 году. Позже в Стивена Палмера и Мака Фельсинга книге «Практическое руководство по функционально-ориентированной разработке». [2] (опубликовано в 2002 г.) более общее описание FDD было дано отдельно от моделирования Java.

FDD — это управляемый моделью короткий итерационный процесс, состоящий из пяти основных действий. Для точной отчетности о состоянии и отслеживания проекта разработки программного обеспечения вехи определяются , которые отмечают прогресс, достигнутый по каждой функции. В этом разделе представлен общий обзор деятельности. На рисунке справа модель метапроцесса показана для этих действий. В ходе первых двух последовательных действий общая форма модели устанавливается . Последние три действия повторяются для каждой функции.

Модель процесса для FDD

Разработать общую модель

[ редактировать ]

Проект FDD начинается с общего анализа объема системы и ее контекста. Затем для каждой области моделирования небольшими группами создаются подробные модели предметной области и представляются на экспертную оценку . Одна или несколько предложенных моделей выбираются в качестве модели для каждой предметной области. Модели предметной области постепенно объединяются в общую модель.

Создать список функций

[ редактировать ]

Знания, собранные во время первоначального моделирования, используются для определения списка функций путем функционального разложения предметной области на предметные области. Каждая предметная область содержит бизнес-деятельность, а этапы каждой бизнес-деятельности составляют основу для категоризированного списка функций. В этом отношении функции представляют собой небольшие фрагменты функций, выраженных клиентом, выраженных в форме «<действие> <результат> <объект>», например: «Подсчитать общую сумму продажи» или «Проверить пароль пользователя». Разработка функций не должна занимать более двух недель, в противном случае их следует разбить на более мелкие части.

Планирование по функциям

[ редактировать ]

составление плана разработки и назначение программистам права владения функциями (или наборами функций) классами как После составления списка функций следующим шагом является .

Дизайн по функциям

[ редактировать ]

Для каждой функции создается пакет проектирования. Главный программист выбирает небольшую группу функций, которые необходимо разработать в течение двух недель. Вместе с владельцами соответствующих классов главный программист разрабатывает подробные диаграммы последовательности для каждой функции и уточняет общую модель. Затем пишутся прологи классов и методов и, наконец, проверка проекта проводится .

Создавать по функциям

[ редактировать ]

После того, как запланирована успешная проверка проекта для каждого действия по созданию функции, владельцы классов разрабатывают код для своих классов. После модульного тестирования и успешной проверки кода завершенная функция переносится в основную сборку.

Поскольку функции небольшие, завершение функции — относительно небольшая задача. Для получения точных отчетов о состоянии и отслеживания проекта разработки программного обеспечения важно отмечать прогресс, достигнутый по каждой функции. Таким образом, FDD определяет шесть этапов для каждой функции, которые должны быть выполнены последовательно. Первые три этапа выполняются в ходе действия «Проектирование по функциям» , а последние три — во время действия «Создание по функциям» . Для отслеживания прогресса каждой контрольной точке присваивается процент выполнения. В таблице ниже показаны этапы и процент их выполнения. В момент начала кодирования функция уже завершена на 44 % (прохождение домена – 1 %, проектирование – 40 % и проверка проекта 3 % = 44 %).

Таблица 1: Основные этапы
Прохождение домена Дизайн Проектная проверка Код Проверка кода Продвижение к созданию
1% 40% 3% 45% 10% 1%

Лучшие практики

[ редактировать ]

Разработка, основанная на функциях, основана на базовом наборе разработки программного обеспечения, лучших практик направленных на удовлетворение потребностей клиентов.

  • Объектное моделирование предметной области . Моделирование предметной области состоит из исследования и объяснения области решаемой проблемы. Полученная объектная модель предметной области обеспечивает общую основу для добавления функций.
  • Разработка по функциям . Любая функция, которая слишком сложна для реализации в течение двух недель, далее разбивается на более мелкие функции, пока каждая подзадача не станет достаточно маленькой, чтобы ее можно было назвать функцией. Это облегчает предоставление правильных функций, а также расширение или модификацию системы.
  • Владение индивидуальным классом (кодом) . Индивидуальное владение классом означает, что отдельные части или группы кода назначаются одному владельцу. Владелец несет ответственность за согласованность, производительность и концептуальную целостность класса.
  • Функциональные команды . Фиче-команда — это небольшая, динамично формируемая команда, развивающая небольшое направление деятельности. К каждому дизайнерскому решению всегда прибегают несколько умов, и перед выбором одного из них оцениваются несколько вариантов дизайна.
  • Инспекции . Проверки проводятся для обеспечения хорошего качества дизайна и кода, прежде всего путем обнаружения дефектов.
  • Управление конфигурацией . Управление конфигурацией помогает идентифицировать исходный код для всех функций, которые были завершены на сегодняшний день, и вести историю изменений классов по мере их улучшения функциональными группами.
  • Регулярные сборки . Регулярные сборки гарантируют наличие актуальной системы, которую можно продемонстрировать клиенту, и помогают выявить ошибки интеграции исходного кода для функций на раннем этапе.
  • Видимость прогресса и результатов . Менеджеры управляют проектом, используя частые, соответствующие и точные отчеты о ходе работы со всех уровней внутри и за пределами проекта на основе завершенной работы.

Метамодель (Метамоделирование)

[ редактировать ]
Модель данных процесса для FDD

Метамоделирование помогает визуализировать как процессы, так и данные метода . Это позволяет сравнивать методы, а фрагменты методов в процессе разработки методов можно легко использовать повторно. Использование этого метода соответствует стандартам UML .

В левой части модели метаданных показаны пять основных действий, связанных с проектом разработки программного обеспечения с использованием FDD. Все действия содержат поддействия, соответствующие поддействиям в описании процесса FDD. В правой части модели показаны задействованные концепции. Эти концепции берут начало в деятельности, изображенной в левой части диаграммы.

См. также

[ редактировать ]
  1. ^ «Принципы Agile-манифеста» . 11.06.2019.
  • 1. ^ Коад, П. , Лефевр, Э. и Де Лука, Дж. (1999). Цветное моделирование Java с помощью UML: компоненты и процессы предприятия . Прентис Холл Интернэшнл. ( ISBN   0-13-011510-X )
  • 2. ^ Палмер, С.Р., и Фельсинг, Дж.М. (2002). Практическое руководство по функционально-ориентированной разработке . Прентис Холл. ( ISBN   0-13-067615-2 )
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1ff7e8a1ba6271eb778ea6284bbf72c4__1712745840
URL1:https://arc.ask3.ru/arc/aa/1f/c4/1ff7e8a1ba6271eb778ea6284bbf72c4.html
Заголовок, (Title) документа по адресу, URL1:
Feature-driven development - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)