Каскадный жизненный цикл разработки ПО

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

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

Waterfall Software Engineering Life CycleRequirementDesignImplementationVerificationMaintenance
Открыть схему в полном размере

Каскадный жизненный цикл разработки ПО

Этапы идут в следующем порядке:

  1. Сбор требований. Зафиксируйте требования клиента и подготовьте необходимую документацию.
  2. Проектирование системы. На основе требований определите архитектуру, а также потребности системы в оборудовании и программном обеспечении.
  3. Реализация. Начните писать код по проекту. Разделите программу на небольшие независимые модули, проверьте каждый на соответствие его спецификации, а затем соберите из них систему целиком.
  4. Интеграционное тестирование. Объедините проверенные модули и протестируйте всю систему на наличие дефектов.
  5. Развёртывание. Исправьте дефекты, обнаруженные при интеграционном тестировании, а затем повторите тесты и убедитесь, что дефекты устранены. После этого система готова к выпуску на рынок и развёртыванию в среде клиента.
  6. Сопровождение. Выпускайте исправления или новые версии для устранения дефектов и проблем, обнаруженных после поставки.

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

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

Спецификация и анализ требований

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

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

User Requirement SpecificationUser Requirement SpecificationFunctionalRequirementsConceptFunctionBehaviorDataI/O OperationsLogicComputationNonfunctionalRequirementsResponse TimeReliabilityAvailabilitySecurityCostTechnologyOtherRequirementsEnvironmental IssuesScheduling Issues
Открыть схему в полном размере

Спецификация требований пользователей

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

Спецификация требований пользователей

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

Спецификация требований к ПО

Спецификация требований к программному обеспечению (SRS) описывает, как оно должно работать с точки зрения пользователя. Она служит следующим целям:

  • Зафиксировать договорённость между клиентом и поставщиком о конкретных функциях программного обеспечения.
  • Дать основу для проектирования программного обеспечения.
  • Упростить разработку и тестирование за счёт чётких требований.
  • Помочь спланировать работы и оценить затраты.
  • Дать основу для верификации и валидации.

Software Requirement Specification Process01Software Requirement Specification02Software Architecture03Designing Features and Tasksof Various Modules04Coding05Testing06Validation
Открыть схему в полном размере

Спецификация требований к ПО

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

У проектирования программного обеспечения есть два уровня:

  • Высокоуровневое проектирование ПО
  • Детальное проектирование ПО

Software DesignFundamentalsDesign ConceptsDesign Process ThatShould Be FollowedAreas That NeedMore AttentionConcurrent Users Tryingto Access the SystemHow Events Are Handledand ControlledHandling ExceptionsHandling DataStructure andArchitectureViewpoints on StructureViewpoints on StyleViewpoints on Design PatternsDefine Programs and FrameworksAnalysis andEvaluationQuality AnalysisEvaluation TechniquesStrategies andMethodsData Structure Design StrategyDesign Strategy for Modules
Открыть схему в полном размере

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

Высокоуровневое проектирование ПО

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

Детальное проектирование ПО

Детальный, или низкоуровневый, проект (LLD) разделяет HLD на более мелкие части и фиксирует логику, которая составляет спецификацию программы. Он даёт подробную информацию о системе и опирается на готовый HLD.

Подходы к проектированию ПО

При проектировании можно выбрать один из двух подходов:

  • Нисходящее проектирование
  • Восходящее проектирование

Подход к нисходящему проектированию

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

Подход к восходящему проектированию

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




Мы гарантируем, что с нашим бесплатным онлайн-курсом вы сдадите сертификационный экзамен по тестированию ПО!

  1. 01

    Запишитесь онлайн

    Выберите аккредитованную сертификацию и завершите регистрацию.

  2. 02

    Получите код доступа

    Персональный код доступа к экзамену сразу придёт на электронную почту.

  3. 03

    Подготовьтесь и сдайте экзамен

    Пройдите бесплатное обучение и ответьте онлайн на 50 вопросов с выбором ответа.

  4. 04

    Получите бессрочную сертификацию

    Получите сертификат, действительный во всём мире, и цифровой значок, подлинность которого можно проверить.

Образец сертификата Accredited Software Test Manager Certification™
Записаться на сертификацию

ВАШЕ БЕСПЛАТНОЕ ПРЕМИАЛЬНОЕ ОБУЧЕНИЕ ОНЛАЙН

Второе издание Software Testing Revealed уже доступно.

Мы разработали курс вместе с группой известных руководителей компаний и команд, тренеров по тестированию ПО, наставников, экспертов и признанных специалистов из всех основных отраслей. Он доступен всем посетителям International Software Test Institute™. Материалы находятся в разделах Ваша бесплатная книга по тестированию ПО и Ваше бесплатное обучение по тестированию ПО премиум-уровня в главном меню.

Эти материалы являются интеллектуальной собственностью International Software Test Institute™ и защищены авторским правом. Мы бесплатно делимся ими со всеми, потому что наш опыт помогает специалистам по тестированию ПО и способствует развитию профессии.

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

Мы гарантируем, что с нашим бесплатным премиальным онлайн-курсом вы сдадите сертификационный экзамен по тестированию ПО!