Главная страница

курсовая работа. Учебное пособие по дисциплине технология разработки программного обеспечения специальность Программирование в компьютерных системах


Скачать 7.57 Mb.
НазваниеУчебное пособие по дисциплине технология разработки программного обеспечения специальность Программирование в компьютерных системах
Анкоркурсовая работа
Дата08.01.2023
Размер7.57 Mb.
Формат файлаdoc
Имя файла2_5397965015586183048-7.doc
ТипУчебное пособие
#877236
страница7 из 30
1   2   3   4   5   6   7   8   9   10   ...   30

Игра планирования (Planning game) – быстрое определение области действия следующей реализации путем объединения деловых приоритетов и технических оценок. Заказчик формирует область действия, приоритетность и сроки с точки зрения бизнеса, а разработчики оценивают и прослеживают продвижение (прогресс)


  • Частая смена версий (Small releases) – быстрый запуск в производство простой системы. Новые версии реализуются в очень коротком (двухнедельном) цикле.

  • Метафора (Metaphor) – вся разработка проводится на основе простой, общедоступной истории о том, как работает вся система.

  • Простое проектирование (Simple design) – проектирование выполняется на­столько просто, насколько это возможно в данный момент.

  • Тестирование (Testing) – непрерывное написание тестов для модулей, которые должны выполняться безупречно; заказчики пишут тесты для демонстрации законченности функций. «Тестируй, а затем кодируй» означает, что вход­ным критерием для написания кода является «отказавший» тестовый вариант.

  • Реорганизация (Refactoting) – система реструктурируется, но ее поведение не изменяется; цель – устранить дублирование, улучшить взаимодействие, упростить систему или добавить в нее гибкость.

  • Парное программирование (Pair programming) – весь код пишется двумя про­граммистами, работающими на одном компьютере.

  • Коллективное владение кодом (Collective ownership) – любой разработчик может улучшать любой код системы в любое время.

  • Непрерывная интеграция (Continuous integration) – система интегрируется и строится много раз в день, по мере завершения каждой задачи. Непрерывное регрессионное тестирование, то есть повторение предыдущих тестов, гаранти­рует, что изменения требований не приведут к регрессу функциональности.

  • 40-часовая неделя (40-hour week) – как правило, работают не более 40 часов в неделю. Нельзя удваивать рабочую неделю за счет сверхурочных работ.

  • Локальный заказчик (On-site customer) – в группе все время должен нахо­диться представитель заказчика, действительно готовый отвечать на вопросы
    разработчиков.

  • Стандарты кодирования (Coding standards) – должны выдерживаться правила, обеспечивающие одинаковое представление программного кода во всех частях программной системы.


    Игра планирования и частая смена версий зависят от заказчика, обеспечивающего набор «историй» (коротких описаний), характеризующих работу, которая будет выполняться для каждой версии системы. Версии генерируются каждые две неде­ли, поэтому разработчики и заказчик должны прийти к соглашению о том, какие истории будут осуществлены в пределах двух недель. Полную функциональность, требуемую заказчику, характеризует пул историй; но для следующей двухнедель­ной итерации из пула выбирается подмножество историй, наиболее важное для заказчика. В любое время в пул могут быть добавлены новые истории, таким обра­зом, требования могут быстро изменяться. Однако процессы двухнедельной гене­рации основаны на наиболее важных функциях, входящих в текущий пул, следо­вательно, изменчивость управляется. Локальный заказчик обеспечивает поддержку этого стиля итерационной разработки.

    «Метафора» обеспечивает глобальное «видение» проекта. Она могла бы рас­сматриваться как высокоуровневая архитектура, но ХР подчеркивает желатель­ность проектирования при минимизации проектной документации. Точнее гово­ря, ХР предлагает непрерывное пере проектирование (с помощью реорганизации), при котором нет нужды в детализированной проектной документации, а для ин­женеров сопровождения единственным надежным источником информации является программный код. Обычно после написания кода проектная доку­ментация выбрасывается. Проектная документация сохраняется только в том случае, когда заказчик временно теряет способность придумывать новые исто­рии. Тогда систему помещают в «нафталин» и пишут руководство страниц на пять-десять по «нафталиновому» варианту системы. Использование реоргани­зацииприводит к реализации простейшего решения, удовлетворяющего теку­щую потребность. Изменения в требованиях заставляют отказываться от всех «общих решений».

    Парное программирование — один из наиболее спорных методов в ХР, оно влияет на ресурсы, что важно для менеджеров, решающих, будет ли проект использовать ХР. Может показаться, что парное программирование удваивает ресурсы, но ис­следования доказали: парное программирование приводит к повышению качества и уменьшению времени цикла. Для согласованной группы затраты увеличивают­ся на 15%, а время цикла сокращается на 40-50%. Для Интернет-среды увеличение скорости продаж покрывает повышение затрат. Сотрудничество улучшает процесс решения проблем, улучшение качества существенно снижает затраты сопровож­дения, которые превышают стоимость дополнительных ресурсов по всему циклу разработки.

    Коллективное владение кодом означает, что любой разработчик может изменять любой Фрагмент кода системы в любое время. Непрерывная интеграция, непрерывное регрессионное тестирование и парное программирование ХР обеспечивают защи­ту от возникающих при этом проблем.

    «Тестируй, а затем кодируй» — эта фраза выражает акцент ХР на тестировании. Она отражает принцип, по которому сначала планируется тестирование, а тесто­вые варианты разрабатываются параллельно анализу требований, хотя традици­онный подход состоит в тестировании «черного ящика». Размышление о тестировании в начале цикла жизни — хорошо известная практика конструирования ПО (правда, редко осуществляемая практически).

    Основным средством управления ХР является метрика, а среда метрик — «боль­шая визуальная диаграмма». Обычно используют 3-4 метрики, причем такие, ко­торые видимы всей группе. Рекомендуемой в ХР метрикой является «скорость проекта» — количество историй заданного размера, которые могут быть реализо­ваны в итерации.

    При принятии ХР рекомендуется осваивать его методы по одному, каждый раз выбирая метод, ориентированный на самую трудную проблему группы. Конечно, все эти методы являются «не более чем правилами» — группа может в любой мо­мент поменять их (если ее сотрудники достигли принципиального соглашения по поводу внесенных изменений). Защитники ХР признают, что ХР оказывает силь­ное социальное воздействие, и не каждый может принять его. Вместе с тем, ХР — это методология, обеспечивающая преимущества только при использовании за­конченного набора базовых методов.
    1   2   3   4   5   6   7   8   9   10   ...   30


  • написать администратору сайта