1.3.2. CASE-средства на разных этапах жизненного цикла

Этапы процесса разработки программного обеспечения требуют различной поддержки средств разработки систем:

  • управление проектами:
    • составление и текущий контроль (мониторинг) проектного плана
    • управление ресурсами
  • сбор и анализ требований:
    • сбор информации: анализ анкет
    • моделирование функциональных процессов (бизнес-процессов)
    • прототипирование, т.н. создание решения с ограниченной функциональностью и на основе этого получения откликов (обратной связи) от пользователей
    • управление требованиями: документирование требований, ссылки, оснащение требований атрибутами (ясность требований, источники требований и т.д.), приоритетность требований, управление версиями требований (связь с заявителем изменения и причины изменения) и т.д.
    • инструментальные средства, поддерживающие анализ и сбор требований, должны допускать коллективную работу, в том числе позволять нескольким пользователям изменять требования одновременно, предоставлять возможность определять различные права для разных ролей пользователей (менеджер (руководитель) проекта, аналитик, архитектор, пользователь)
    • составление модели данных и словаря, избегая таким образования неоднозначности и проблемы качества данных (включая дублирование)
    • автоматическое генерирование документации из существующего, недокументированного кода
  • разработка архитектурного дизайна (архитектурное проектирование):
    • позволяет визуализировать архитектурное решение, поддерживать выбранную методику и систему обозначений, то есть «язык» составления схем, например, UML
    • позволяет описать программные компоненты и их взаимосвязи, интерфейсы
    • управление версиями, связь архитектурных решений с требованиями и с запросами на изменения
  • создание программного кода, тестирование:
    • автоматическое генерирование кода на основе архитектурного проектирования, в том числе экранных форм, отчетов
    • отладчик (debugger) кода для пошагового запуска и тестирования
    • проведение тестов, в том числе, описание, запуск тестов, анализ и документирование результатов
    • комментирование и документирование кода
    • управление версиями кода
  • управление конфигурациями продукта:
    • управление версиями кода.