Книга: Программное обеспечение и его разработка
Кто формулирует требования к программному обеспечению?
Кто формулирует требования к программному обеспечению?
Каким же образом мы приходим к первой формулировке требований? Я говорю «первой», поскольку мы знаем, что этот процесс будет повторен несколько раз по мере перехода от разработки требований к проектированию и обратно к выработке новых требований.
Кому пристало формулировать требования? Конечно, пользователю, а также проектировщику системы. Формулирование требований следует поручать представителям обеих этих групп. Поодиночке никто из них не выполнит эту работу.
Пользователь знаком с приложениями и большинством нюансов любого сложного проекта. Пользователь должен быть абсолютно уверен, что требования точно и полно отражают стоящую перед ним проблему.
Пользователь не знаком с состоянием технологии и не понимает, что сделать легко, а что сложно. Когда пользователь один формулирует требования, часто оказывается, что возникают технологически наивные формулировки требований, запрашивающие либо слишком много, либо очень мало.
Таблица 5.4. Определение требований пользователем и проектировщиком
Формулирование требований | ||
---|---|---|
Может сделать | Пропустит | |
Пользователь | Ясно выразить важные потребности | Требования к технологии |
Правильно расставить приоритеты | Потребности инфраструктуры | |
Проектировщик | Определить состояние дел в технологии | Сортировку интересов пользователя |
Определить полноту сформулированных требований | Тонкости прикладной области |
Проектировщик обычно не знаком со всеми тонкостями приложений. Если проектировщику позволить формулировать требования самостоятельно, он, вероятнее всего, пропустит некоторые тонкие, но весьма важные функции. Получив такую систему, пользователь может подумать, что ее проектировщики живут в башне из слоновой кости. Разработчик должен сформулировать требования к инфраструктуре, которые обычно непонятны пользователю. Чтобы адекватно отразить все потребности проекта, проектировщик и пользователь должны вырабатывать требования совместно. (См. табл. 5.4.)
- Характеристики программ
- Процесс разработки программного обеспечения
- Полный цикл
- Использование
- «Большой взрыв» и эволюция
- Определение требований
- Требования системного уровня
- Изменения неизбежны
- Кто формулирует требования к программному обеспечению?
- Язык документирования требований
- Особая важность требований
- Кто является действительным пользователем в любом проекте?
- Противоречивые требования разных пользователей
- Требования к товарным программам и программному обеспечению проектов
- Изменения, вносимые пользователем
- Адаптируемость способствует непрекращающимся изменениям
- Определение требований — это длительный процесс
- Спецификация требований
- Определение требований к окружающей обстановке в фазе использования
- Управление процессом выработки требований
- Новые методы определения требований
- Личный опыт
- Резюме: требования к большим системам программного обеспечения
- Проектирование
- Что такое проектирование?
- Программное обеспечение — это подсистема
- Многократное и параллельное проектирование
- Параллельная разработка
- Итерации при проектировании и выработке требований
- Проектирование программного обеспечения фазы использования
- Кто должен вести проектирование
- Конечная продукция — что же мы создаем?
- Составные части и процесс проектирования
- Структура
- Описание
- Последовательный ход процесса проектирования программной системы
- Уровни проектирования
- Проектирование верхнего уровня
- Расслоение
- Выделение макрослоев
- Временные ограничения
- Проектирование среднего уровня
- Выделение микрослоев
- Проектирование модуля
- Упрятывание информации
- Проектирование нижнего уровня
- Межуровневые механизмы и уровень тривиальности
- Вариации уровня тривиальности и межуровневых механизмов
- Структурное программирование
- Введение в структурное программирование
- Преимущества структурного программирования
- Приемлемость структурного программирования
- Хорошее проектирование
- Проектирование это…
- Итеративность
- Компромиссы
- Проектирование больших программ типа V — это многогранная деятельность
- Деталировка — это примитивное проектирование
- Устойчивые программы, или программы, дружественные пользователю
- Документирование проекта
- Спецификация — это проектирование и одновременно выработка требований
- Новые методы проектирования
- Данные и процесс
- Структурное проектирование
- Трудности нововведений
- Написание программ — программирование
- Языки
- Мощность языка и связанные с ней трудности
- Рост числа языков
- Язык и мышление
- Ограничения, накладываемые языками
- Процесс написания программы
- Кросс-транслятор
- Множество форм одной программы
- Вычислительные машины для трансляции
- Программирование в диалоговом режиме
- С чем же мы ведем диалог?
- Управление написанием программ
- Различия уровня квалификации программистов
- Главный программист
- Библиотекарь
- Компоновка программ
- Сборка большого числа модулей в одну работающую систему программного обеспечения
- Следует ли проводить компоновку перед тестированием?
- Средства обслуживания руководства
- Автоматическое использование инструментальных средств
- Выбор трансляторов и языков
- Реализация сверху вниз
- Окружение разработки программного обеспечения
- Выводы
- Верификация и тестирование
- Верификация
- Раннее выявление «пробелов»
- Инспектирование
- Пример ошибки
- Тестирование и качество
- Надежное программное обеспечение — неверный термин
- Тестирование с возвратом
- Физическая сохранность
- Тестирование — средство обучения
- Независимость тестирующих групп
- Продолжительность развития
- Выводы
- Документирование
- Самодокументирование
- Структурированное словесное описание
- Документация для других целей
- Отслеживание связей
- Избыток документации
- Исключение блок-схем
- История проекта
- «Как» — это «что». Требование — это проект — уровни детализации
- Реальная ситуация
- Покупатель на крючке. Руководство по созданию продуктов, формирующих привычки
- Кто такой тест-менеджер
- Факторы выгоды
- Иерархия объектов в InterBase
- Кто сказал: «Яндекс»?
- Жизненные циклы продуктов
- Имена объектов длиной 68 символов
- 2.5. Разработка технического задания на проведение детального анализа рынка при работе над инновационным проектом. Основ...
- Модули констукторов заданий
- Факторы помощи
- Создание объектов Collection
- Директор по тестированию