Управление проектами
Лекция 3-4
Жизненный цикл разработки ПО (SDLC)
● Этапы жизненного цикла разработки
● Этап планирования
● Этап разработки
● Этап поддержки
● Роли в жизненном цикле разработки ПО
● Артефактыв жизненном цикле разработки ПО
● Терминология
Жизненный цикл ПО
● Весь периодсуществованияПО, связанный с
подготовкой к его разработке, разработкой,
использованиеми переработками, начиная с
моментатого, когда принимаетсярешение
разработать/приобрести/собратьи имеющихся
компонентов новую систему или приходит сама идея
о необходимости программы определенного рода,
до того момента, когдаполностьюпрекращается
всякое её использование.
Артефакты
Создаваемые человеком сущности,документы в
достаточно общем смысле, участвующиев качестве
входных данных и получающиесяв качестве результат
деятельностей.
Примеры:
● Описаниетребований
● Техническое задание
● Архитектура системы
● Проектная документация
● Прототипы
РОЛИ
Каждая роль может быть охарактеризованакак
абстрактнаягруппы заинтересованныхлиц ,
участвующихв деятельностипо созданию и
эксплуатацииПО и решающиходни те же задачи ,
имеющиходни и те же интересы по отношению к нему
Примеры:
● Бизнес аналитик
● Архитектор
● Проектировщикинтерфейса
● Программист
● Тестировщик
Модели жизненного цикла ПО
Выделяет конкретные наборы видов деятельности (
обычно разбиваемыхна более мелкие активности),
артефактов,ролей и их взаимосвязи, а также дает
рекомендации по организациипроцесса в целом.
Примеры:
● Каскадная (водопадная) или последовательная
● Итеративная ( гибридная,смешанная)
● Спиральная
● Гибкие методологии.
Для чего придумали SDLC?
Что такое SDLC?
● Жизненный цикл разработки программного
обеспечения(SDLC) - обеспечивает конечные
решения в соответствиис требованиями,
предоставленнымипользователемв целях
достижениястратегических целей и задач бизнеса. Он
представляет собой структурированный,
систематическийподход, направленныйна развитие
информационныхсистем. У каждого программного
обеспечения есть свои уникальныезадачи, трудности,
методологии и так далее; но основныеэтапы в
основном общие для всех и могут содержать:
Этапы жизненного цикла разработки ПО
Этап планирования( Planning)
Фаза планирования - наиболеекритичный шаг в создании
успешной системы. Во время этой фазы вы точно решаете,
что хотите сделать и какие проблемы решить, при помощи:
● определения проблем, целей и ресурсов (таких, как
персонал и издержки);
● изучения возможностей альтернативныхрешений путем
встреч с клиентами,поставщиками,консультантами и
сотрудниками;
● изучения,как сделать ваш продукт лучше, чем у
конкурентов.
После анализаэтих данных у вас будет три варианта:
разработатьновую систему, улучшить существующуюили
оставить систему как есть.
Этап анализа ( Analysis)
Необходимо определить и
задокументировать требованияконечного пользователя
системы - в чем его ожиданияи как их осуществить.
Кроме того, для проекта делается технико-
экономическое обоснование,которое выясняет,является
ли проект организационно,экономически,социально,
технологически осуществимым.Очень важно
поддерживать хороший уровень коммуникациис
заказчиками,чтобы убедиться,что у вас есть ясное
видение конечного продукта и его функций.
Этап дизайна ( Design)
Фаза дизайна наступаетпосле того, как достигнуто
хорошее пониманиетребований потребителя.Эта фаза
определяет элементы системы, компоненты, уровень
безопасности,модули, архитектуру, различные
интерфейсыи типы данных, которыми оперирует система.
Дизайн системы в общих чертах может быть сделан
ручкой на листке бумаги - он определяет, как система
будет выглядеть и как функционировать.Затем делается
расширенный,детальныйдизайн, с учетом всех
функциональныхи технических требований,как
логически, так и физически.
Этап разработки ( Development)
Эта фаза следует за полным пониманиемсистемных
требованийи спецификаций.Это и есть собственно
процесс разработки системы, когда дизайн системы
уже полностью завершен и нагляден.В жизненном
цикле разработки системы именно здесь пишется код,
а если система включает хардверную часть, фаза
внедрения будет включать в себя конфигурациюи
настройку «железа» под определенные требованияи
функции.
Этап тестирования ( Testing)
Тестировщикизанимаютсяпоиском дефектов в
программном обеспечении и сравнивают описанноев
требованияхповедение системы с реальным.
В фазе тестированияобнаруживаютсяпропущенныепри
разработке баги. При обнаружениидефекта,
тестировщик составляетотчет об ошибке, который
передается разработчикам.Последние его исправляют,
после чего тестированиеповторяется – но на этот раз для
того, чтобы убедиться,что проблема была исправлена,и
само исправлениене стало причиной появленияновых
дефектов в продукте.
Этап поставки ( Implementation)
Внедрение продукта на окружающей среде Заказчика,
обучение персонала,сопровождение и обновление
установленнойинформационнойсистемы. Дальнейшая
доработка системы при выпуске ее новых версий
учитывает непосредственныезапросы пользователейи
выполняетсяна основе постоянного слеженияза
функционированиемсистемы и ее приложений.
Подлежат сдаче:
● полнофункциональнаясистема;
● вся сопутствующаядокументация: руководства
пользователя,руководства по инсталляции,
справочники и т.д.
Этап поддержки (Maintenance ):
Когда программа протестирована и в ней больше не осталось серьезных
дефектов, приходит время релиза и передачи ее конечным
пользователям.
После выпуска новой версии программы в работу включается отдел
технической поддержки. Его сотрудники обеспечивают обратную связь с
пользователями,их консультирование и поддержку.
В случае обнаружения пользователями тех или иных пост-релизных
багов, информация о них передается в виде отчетов об ошибках
команде разработки, которая, в зависимости от серьезности проблемы,
либо немедленно выпускает исправление (т.н. hot-fix), либо
откладывает его до следующей версии программы.
Кроме того, команда технической поддержки помогает собирать и
систематизировать различныеметрики – показатели работы программы
в реальных условиях.
Lection 3 4_pm
Lection 3 4_pm
Lection 3 4_pm

Lection 3 4_pm

  • 1.
  • 2.
    Лекция 3-4 Жизненный циклразработки ПО (SDLC) ● Этапы жизненного цикла разработки ● Этап планирования ● Этап разработки ● Этап поддержки ● Роли в жизненном цикле разработки ПО ● Артефактыв жизненном цикле разработки ПО ● Терминология
  • 3.
    Жизненный цикл ПО ●Весь периодсуществованияПО, связанный с подготовкой к его разработке, разработкой, использованиеми переработками, начиная с моментатого, когда принимаетсярешение разработать/приобрести/собратьи имеющихся компонентов новую систему или приходит сама идея о необходимости программы определенного рода, до того момента, когдаполностьюпрекращается всякое её использование.
  • 4.
    Артефакты Создаваемые человеком сущности,документыв достаточно общем смысле, участвующиев качестве входных данных и получающиесяв качестве результат деятельностей. Примеры: ● Описаниетребований ● Техническое задание ● Архитектура системы ● Проектная документация ● Прототипы
  • 5.
    РОЛИ Каждая роль можетбыть охарактеризованакак абстрактнаягруппы заинтересованныхлиц , участвующихв деятельностипо созданию и эксплуатацииПО и решающиходни те же задачи , имеющиходни и те же интересы по отношению к нему Примеры: ● Бизнес аналитик ● Архитектор ● Проектировщикинтерфейса ● Программист ● Тестировщик
  • 6.
    Модели жизненного циклаПО Выделяет конкретные наборы видов деятельности ( обычно разбиваемыхна более мелкие активности), артефактов,ролей и их взаимосвязи, а также дает рекомендации по организациипроцесса в целом. Примеры: ● Каскадная (водопадная) или последовательная ● Итеративная ( гибридная,смешанная) ● Спиральная ● Гибкие методологии.
  • 7.
  • 8.
    Что такое SDLC? ●Жизненный цикл разработки программного обеспечения(SDLC) - обеспечивает конечные решения в соответствиис требованиями, предоставленнымипользователемв целях достижениястратегических целей и задач бизнеса. Он представляет собой структурированный, систематическийподход, направленныйна развитие информационныхсистем. У каждого программного обеспечения есть свои уникальныезадачи, трудности, методологии и так далее; но основныеэтапы в основном общие для всех и могут содержать:
  • 9.
  • 10.
    Этап планирования( Planning) Фазапланирования - наиболеекритичный шаг в создании успешной системы. Во время этой фазы вы точно решаете, что хотите сделать и какие проблемы решить, при помощи: ● определения проблем, целей и ресурсов (таких, как персонал и издержки); ● изучения возможностей альтернативныхрешений путем встреч с клиентами,поставщиками,консультантами и сотрудниками; ● изучения,как сделать ваш продукт лучше, чем у конкурентов. После анализаэтих данных у вас будет три варианта: разработатьновую систему, улучшить существующуюили оставить систему как есть.
  • 11.
    Этап анализа (Analysis) Необходимо определить и задокументировать требованияконечного пользователя системы - в чем его ожиданияи как их осуществить. Кроме того, для проекта делается технико- экономическое обоснование,которое выясняет,является ли проект организационно,экономически,социально, технологически осуществимым.Очень важно поддерживать хороший уровень коммуникациис заказчиками,чтобы убедиться,что у вас есть ясное видение конечного продукта и его функций.
  • 12.
    Этап дизайна (Design) Фаза дизайна наступаетпосле того, как достигнуто хорошее пониманиетребований потребителя.Эта фаза определяет элементы системы, компоненты, уровень безопасности,модули, архитектуру, различные интерфейсыи типы данных, которыми оперирует система. Дизайн системы в общих чертах может быть сделан ручкой на листке бумаги - он определяет, как система будет выглядеть и как функционировать.Затем делается расширенный,детальныйдизайн, с учетом всех функциональныхи технических требований,как логически, так и физически.
  • 13.
    Этап разработки (Development) Эта фаза следует за полным пониманиемсистемных требованийи спецификаций.Это и есть собственно процесс разработки системы, когда дизайн системы уже полностью завершен и нагляден.В жизненном цикле разработки системы именно здесь пишется код, а если система включает хардверную часть, фаза внедрения будет включать в себя конфигурациюи настройку «железа» под определенные требованияи функции.
  • 14.
    Этап тестирования (Testing) Тестировщикизанимаютсяпоиском дефектов в программном обеспечении и сравнивают описанноев требованияхповедение системы с реальным. В фазе тестированияобнаруживаютсяпропущенныепри разработке баги. При обнаружениидефекта, тестировщик составляетотчет об ошибке, который передается разработчикам.Последние его исправляют, после чего тестированиеповторяется – но на этот раз для того, чтобы убедиться,что проблема была исправлена,и само исправлениене стало причиной появленияновых дефектов в продукте.
  • 15.
    Этап поставки (Implementation) Внедрение продукта на окружающей среде Заказчика, обучение персонала,сопровождение и обновление установленнойинформационнойсистемы. Дальнейшая доработка системы при выпуске ее новых версий учитывает непосредственныезапросы пользователейи выполняетсяна основе постоянного слеженияза функционированиемсистемы и ее приложений. Подлежат сдаче: ● полнофункциональнаясистема; ● вся сопутствующаядокументация: руководства пользователя,руководства по инсталляции, справочники и т.д.
  • 16.
    Этап поддержки (Maintenance): Когда программа протестирована и в ней больше не осталось серьезных дефектов, приходит время релиза и передачи ее конечным пользователям. После выпуска новой версии программы в работу включается отдел технической поддержки. Его сотрудники обеспечивают обратную связь с пользователями,их консультирование и поддержку. В случае обнаружения пользователями тех или иных пост-релизных багов, информация о них передается в виде отчетов об ошибках команде разработки, которая, в зависимости от серьезности проблемы, либо немедленно выпускает исправление (т.н. hot-fix), либо откладывает его до следующей версии программы. Кроме того, команда технической поддержки помогает собирать и систематизировать различныеметрики – показатели работы программы в реальных условиях.