Search Header Logo
OPINCA

OPINCA

Assessment

Presentation

Computers

Professional Development

Practice Problem

Hard

Created by

AURA SCOALA

Used 1+ times

FREE Resource

11 Slides • 0 Questions

1

media

МОДЕЛИ ПРОЦЕССА

РАЗРАБОТКИ ПО

Опинкэ

Дмитрий

2

media

ЭТАПЫ ЖИЗНЕННОГО ЦИКЛА ПО

Любое

программное

обеспечение

имеет

свой

жизненный

цикл

,

состоящий

из

этапов

.

Примером

может

служить

жизненный

цикл

интернет

-

магазина

:

Подготовка

:

Иван

провел

анализ

существующих

книжных

интернет

-

магазинов

,

собрал

информацию

о

трафике

и

функциональности

.

Проектирование

:

Иван

сотрудничал

с

компанией

-

подрядчиком

,

обсуждая

архитектуру

и

дизайн

интернет

-

магазина

.

Создание

:

Иван

заключил

договор

с

разработчиками

,

которые

начали

разрабатывать

код

,

дизайн

и

документацию

.

Поддержка

:

После

развертывания

интернет

-

магазина

на

серверах

пользователи

начали

его

использовать

и

сообщать

о

возникающих

проблемах

,

на

которые

программисты

оперативно

реагировали

.

Модель

разработки

программного

обеспечения

описывает

стадии

жизненного

цикла

и

их

характеристики

,

а

методология

включает

в

себя

набор

методов

и

принципов

для

эффективного

управления

процессом

разработки

.

3

2

ПОДДЕРЖКА

1.

СОЗДАНИЕ

ПЕРЕЧИСЛИТЕ ЭТАЫ ЖИЗНЕННОГО ЦИКЛА ПО

4

media

V

-

ОБРАЗНАЯ МОДЕЛЬ (РАЗРАБОТКА ЧЕРЕЗ

ТЕСТИРОВАНИЕ)

V

-

образная

модель

-

это

улучшенная

версия

каскадной

модели

,

где

заказчик

и

команда

программистов

совместно

разрабатывают

требования

и

план

тестирования

на

каждом

этапе

.

Её

преимущества

и

недостатки

:

Преимущества

:

Минимизация

ошибок

в

архитектуре

ПО

.

Высокая

надежность

.

Недостатки

:

Трудность

возврата

к

исправлению

ошибок

в

архитектуре

,

если

они

допущены

на

ранних

этапах

.

V

-

образная

модель

подходит

для

проектов

,

где

надёжность

и

предотвращение

ошибок

имеют

высший

приоритет

,

как

в

разработке

безопасности

автомобильных

подушек

или

систем

мониторинга

пациентов

в

клиниках

.

5

WATERFALL

(КАСКАДНАЯ МОДЕЛЬ, ИЛИ

«ВОДОПАД»)

Каскадная

модель

разработки

,

или

"

водопад

",

характеризуется

последовательными

этапами

разработки

.

Её

преимущества

:

Простая

контролируемость

разработки

для

заказчика

.

Фиксированная

стоимость

проекта

и

план

работ

с

самого

начала

.

Минимальные

требования

к

тестировщикам

,

благодаря

детальной

технической

документации

.

Однако

у

неё

есть

недостатки

:

Тестирование

начинается

поздно

,

что

делает

исправление

ошибок

дорогим

.

Заказчик

видит

результат

только

в

конце

,

что

может

вызвать

несоответствие

ожиданиям

.

Множество

технической

документации

замедляет

работу

.

Каскадная

модель

подходит

для

отраслей

с

хорошей

базой

документации

,

как

медицина

и

космос

.

Основная

задача

-

детализировать

требования

к

разработке

и

избежать

ошибок

на

стадии

тестирования

.

6

media

INCREMENTAL MODEL (

ИНКРЕМЕНТНАЯ

МОДЕЛЬ)

Инкрементная

модель

разработки

,

известная

также

как

модель

по

частям

,

позволяет

разрабатывать

продукт

последовательно

и

поэтапно

,

с

учётом

обратной

связи

.

Рассмотрим

её

на

примере

создания

социальной

сети

:

Преимущества

:

Низкие

начальные

затраты

.

Заказчик

финансирует

создание

основных

функций

,

выпускает

продукт

на

рынок

и

принимает

решение

о

дальнейшей

разработке

на

основе

обратной

связи

.

Быстрый

получение

обратной

связи

от

пользователей

и

оперативное

обновление

технического

задания

,

что

позволяет

снизить

риск

создания

непопулярного

продукта

.

Исправление

ошибок

обходится

дешевле

,

чем

в

других

моделях

разработки

.

Недостатки

:

Разные

команды

программистов

могут

реализовать

интерфейс

продукта

по

-

разному

,

поэтому

важно

уделять

внимание

обсуждению

технических

требований

на

этапе

начала

проекта

.

Разработчики

могут

откладывать

доработку

основной

функциональности

,

фокусируясь

на

мелких

деталях

,

поэтому

требуется

эффективное

управление

проектом

.

Инкрементная

модель

подходит

для

проектов

с

чётко

определёнными

техническими

требованиями

,

где

необходима

быстрая

выдача

продукта

на

рынок

и

учёт

обратной

связи

пользователей

.

7

media

ITERATIVE MODEL (

ИТЕРАТИВНАЯ МОДЕЛЬ)

Итеративная

модель

разработки

позволяет

создавать

продукт

без

необходимости

иметь

подробные

технические

требования

с

самого

начала

.

Преимущества

:

Быстрый

запуск

минимального

продукта

позволяет

получать

оперативную

обратную

связь

от

заказчика

и

пользователей

.

Это

позволяет

сосредотачиваться

на

важных

функциях

и

их

улучшении

в

соответствии

с

требованиями

рынка

и

клиента

.

Постоянное

тестирование

пользователями

помогает

быстро

выявлять

и

устранять

ошибки

.

Недостатки

:

Использование

на

начальном

этапе

баз

данных

или

серверов

может

быть

сложным

в

масштабировании

,

что

может

потребовать

переписывания

большей

части

приложения

.

Отсутствие

фиксированного

бюджета

и

сроков

может

быть

проблемой

.

Заказчик

не

знает

,

как

выглядит

конечная

цель

и

когда

завершится

разработка

.

Итеративная

модель

подходит

для

больших

проектов

с

неопределёнными

требованиями

,

либо

для

инновационных

задач

,

когда

заказчик

не

имеет

чёткого

представления

о

конечном

результате

.

8

media

SPIRAL MODEL (

СПИРАЛЬНАЯ МОДЕЛЬ)

Спиральная

модель

разработки

отличается

от

других

моделей

уделением

серьезного

внимания

анализу

и

управлению

рисками

проекта

.

Давайте

рассмотрим

,

как

она

работает

на

примере

системы

"

Умный

дом

":

Начало

проекта

:

Разработчики

начинают

с

идеи

создания

управления

чайником

через

телефон

.

Этот

этап

аналогичен

модели

"

водопад

".

Первый

виток

спирали

:

Проект

пройдет

через

анализ

рисков

.

Заказчик

оценит

,

насколько

важна

следующая

версия

продукта

-

управление

телевизором

.

Рассчитаются

сроки

,

бюджет

и

риски

.

Если

риски

оправдают

потенциальную

выгоду

,

разработка

продолжится

,

и

приложение

будет

усовершенствовано

.

Второй

виток

спирали

:

После

управления

телевизором

заказчик

решает

добавить

управление

холодильником

,

но

анализ

рисков

показывает

,

что

риски

превышают

потенциальную

выгоду

.

В

результате

,

заказчик

принимает

решение

остановить

разработку

и

усовершенствовать

существующий

функционал

.

Преимущества

спиральной

модели

:

Высокое

внимание

к

анализу

и

управлению

рисками

.

Гибкость

и

возможность

изменения

планов

на

основе

новой

информации

.

Недостатки

спиральной

модели

:

Возможность

застрять

на

начальных

этапах

и

тратить

много

времени

на

совершенствование

первой

версии

продукта

.

Долгий

процесс

разработки

и

высокие

затраты

.

Спиральная

модель

подходит

для

проектов

с

высокими

рисками

и

неопределенными

требованиями

,

где

анализ

и

управление

рисками

являются

ключевыми

аспектами

успеха

.

9

media

ЧТО ТАКОЕ

AGILE?

Agile

(

гибкий

)

подход

в

разработке

программного

обеспечения

объединяет

различные

методологии

,

фреймворки

и

подходы

для

создания

продукта

более

эффективно

.

В

список

включаются

следующие

методологии

,

фреймворки

и

подходы

:

Экстремальное

программирование

(

Extreme

Programming

, XP).

Бережливую

разработку

программного

обеспечения

(

Lean

).

Фреймворк

для

управления

проектами

Scrum

.

Разработку

,

управляемую

функциональностью

(

Feature

-

driven

development

, FDD).

Разработку

через

тестирование

(

Test

-

driven

development

, TDD).

Методологию

"

чистой

комнаты

" (

Cleanroom

Software

Engineering

).

Итеративно

-

инкрементный

метод

разработки

(

OpenUP

).

Методологию

разработки

Microsoft

Solutions

Framework

(MSF).

Метод

разработки

динамических

систем

(

Dynamic

Systems

Development

Method

,

DSDM).

Метод

управления

разработкой

Kanban

.

Разница

между

Agile

и

традиционными

методами

разработки

программного

обеспечения

заключается

в

подходе

к

управлению

проектом

и

разработке

продукта

.

В

Agile

уделяется

большее

внимание

гибкости

,

коммуникации

,

участию

заказчика

и

способности

быстро

реагировать

на

изменения

.

Отмечается

,

что

не

все

методологии

в

списке

являются

строгими

методологиями

.

Например

,

Scrum

чаще

называют

фреймворком

,

поскольку

он

предоставляет

основные

принципы

и

роли

,

но

оставляет

команде

гибкость

в

выборе

конкретных

практик

и

10

media

KANBAN

Сегодня

это

одна

из

наиболее

популярных

методологий

разработки

ПО

.

Команда

ведёт

работу

с

помощью

виртуальной

доски

,

которая

разбита

на

этапы

проекта

.

Каждый

участник

видит

,

какие

задачи

находятся

в

работе

,

какие

застряли

на

одном

из

этапов

,

а

какие

уже

дошли

до

его

столбца

и

требуют

внимания

.

В

отличие

от

скрама

,

в

канбане

можно

взять

срочные

задачи

в

разработку

сразу

,

не

дожидаясь

начала

следующего

спринта

.

Канбан

удобно

использовать

не

только

в

работе

,

но

и

в

личных

целях

распределять

собственные

планы

или

задачи

семьи

на

выходные

,

наглядно

отслеживать

прогресс

.

11

media

КОНЕЦ

media

МОДЕЛИ ПРОЦЕССА

РАЗРАБОТКИ ПО

Опинкэ

Дмитрий

Show answer

Auto Play

Slide 1 / 11

SLIDE