СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Модели и методологии разработки программного обеспечения

Категория: Прочее

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Модели и методологии разработки программного обеспечения»

ПЛАН-КОНСПЕКТ УРОКА

«ОСНОВНЫЕ МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

1. Общая информация:

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: МДК 01.02 Поддержка и тестирование программных модулей

Курс изучения: III

Длительность урока: 90 минут

2. Дидактическая информация:

Цели урока: познакомиться с моделями и методологиями разработки ПО; определить место тестирования в процессе разработки ПО

Задачи урока:

  • дать понятие модели и методологии разработки ПО

  • продолжить формирование научного мировоззрения, расширять словарный запас по теме «Тестирование программного обнспечения»

  • формировать интерес к выбранной специальности, воспитывать настойчивость в преодолении трудностей в учебной работе.

Тип урока: урок получения новых знаний

Методы преподавания: практический, частично-поисковый, словесный.

Методическое и материальное обеспечение учебного занятия: компьютер, проектор, презентация по теме, дидактический материал.

План урока:

I Организационный этап.

II Подготовка студентов к работе на основном этапе.

III Постановка задачи.

IV Этап усвоения новых знаний и способов действий.

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

VI Этап контроля и самоконтроля знаний и способов действий.

VII Этап информации о домашнем задании.

VIII Подведение итогов урока. Рефлексия.



КОНСПЕКТ УРОКА

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

Жизненный цикл программного обеспечения - это период времени, который начинается с момента принятия решения о создании программного продукта и заканчивается в момент его полного изъятия из эксплуатации.

Основные этапы ЖЦ ПО: анализ требований; проектирование; кодирование; тестирование и отладка; эксплуатация и сопровождение.

Также необходимо дать определения понятиям «модель» и «методология».

Модель жизненного цикла - общее описание того, как происходит процесс разработки.

Методология - более детализированный набор правил, практик и принципов, как способ реализации той или иной модели.

На практике в разных командах разработки могут применяться разные модели разработки. Основные из них следующие:

Code and fix

Применяется фрилансерами или в маленьких командах до 3-4-х человек. Есть только заказчик и разработчики, других ролей нет, следовательно, нет ни дизайна, ни требований. Разработчик делает первый вариант продукта, передает заказчику на проверку, если заказчику необходимы правки, код изменяется и снова отдается заказчику и так до тех пор, пока заказчик не примет продукт.

Waterfall Model (каскадная/водопад)

Все этапы ЖЦ по этой модели должны идти строго друг за другом.

Достоинствами данной модели являются: полное документирование каждого этапа; четкое планирование сроков и затрат; прозрачность процессов для заказчика.

Недостатки каскадной модели: необходимость утверждения полного объема требований к системе еще на первом этапе; в случае необходимости внесения изменений требований позднее - возврат к первой стадии и переделка заново всей проделанной работы; увеличение затрат средств и времени в случае необходимости изменения требований.

Применение модели максимально действенно при: создании проектов с четкими требованиями не изменяющимися во время ЖЦ, доступной реализацией и техническими методиками; создании проекта, направленного на разработку системы или продукта уже существующего типа; выполнении крупных проектов, в которых задействованы несколько крупных команд разработчиков; реализации некоторых сложных систем, которые связаны с жизнью и здоровьем людей.

V-model

V-модель основана на объединении фазы тестирования с каждой соответствующей стадией разработки. Является улучшенным вариантом каскадной модели.

Iterative Model

Суть итеративной или итерационной модели - это создание базового функционала и постепенное его улучшение.

Плюсы итеративной модели: раннее создание работающего ПО; гибкость - готовность к изменению требований на любом этапе разработки; каждая итерация - маленький этап, для которого тестирование и анализ рисков обеспечить проще, чем для всего жизненного цикла продукта.

Минусы: каждая фаза - самостоятельна, отдельные итерации не накладываются; могут возникнуть проблемы с реализацией общей архитектуры системы, поскольку не все требования известны к началу проектирования.


Итеративная модель подходит для: работы над большими проектами с не определёнными заранее требованиями; реализации задач с инновационным подходом, когда заказчик не уверен в результате.

Incremental Model

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

Инкрементная: добавляем с каждой итерацией новые элементы и в итоге собираем машину. Каждый модуль попадает в общую систему уже полностью готовым.

Итеративная: имеем в самом начале первую версию продукта, затем доводим её до желательного результата путем улучшения всего продукта. Каждая итерация — новый улучшенный продукт.

Spiral Model

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

Ориентирована на учет рисков, после каждого витка оцениваются риски и делается вывод, стоит ли вообще продолжать разработку.

Chaos model

Стратегия хаоса — это стратегия разработки программного обеспечения, основанная на модели хаоса. Главное правило - всегда решать в первую очередь самый важный вопрос.

Эффективно применяется: при одновременной работе с множеством проектов; если компания разрабатывает свой продукт; если компания специализируется на типичных, не инновационных проектах средней сложности.

Prototype Model

Модель-прототип используется для разработки неполной программы и ее версий. Он используется для сборки и тестирования более ранней версии конечного продукта. Это итеративный процесс, и эта модель в основном работает в ситуациях, когда требования доступны заранее.

Гибкие методологии

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

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

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

Основные ценности Agile:

  • люди и взаимодействие важнее процессов и инструментов.

  • работающий продукт важнее исчерпывающей документации.

  • сотрудничество с клиентом важнее согласования условий контракта.

  • готовность к изменениям важнее следования первоначальному плану.

Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.


ЗАДАНИЯ К ЛЕКЦИИ

  1. Ознакомиться с теоретическим материалом лекции.

  2. Законспектировать в тетради основные понятия и термины.

  3. Устно ответить на контрольные вопросы.

ВОПРОСЫ ТЕСТОВОГО КОНТРОЛЯ