Перейти к основному содержимому

Конструирование ПО — чек-лист

Разработчику Студенту
Теория данных (раздел 3)

Доступ к данным — Основы БД, SQL, конфигурации. Карта — о разделе.

Проверьте себя по разделу "Конструирование ПО". Ответы — в статьях Конструирование ПО — понятие, жизненный цикл, стандартыТестирование на стадии конструирования и связанных главах энциклопедии.


Понятие и жизненный цикл

  1. Чем конструирование отличается от проектирования и от системного тестирования?
  2. Какие артефакты типичны для стадии конструирования?
  3. Что описывает ISO/IEC 12207 в контексте реализации?
  4. Как в Scrum конструирование встроено в спринт (DoD, инкремент)?

Модульность, связность, сцепление

  1. Дайте определения связности (cohesion) и сцепления (coupling).
  2. Назовите типы связности от лучшего к худшему (минимум три).
  3. Чем сцепление по данным лучше сцепления по содержимому?
  4. Что такое цикломатическая сложность и зачем она конструктору?
  5. Чем модульность отличается от "много файлов в репозитории"?

Модели жизненного цикла

  1. В чём суть каскадной (Waterfall) модели для этапа кодирования?
  2. Чем инкремент отличается от итерации?
  3. Какие фазы RAD и когда RAD уместен?
  4. Из чего состоит один виток спиральной модели Боэма?
  5. Чем CBSE как модель ЖЦ отличается от компонентной архитектуры (REP/CCP/CRP)?

Планирование

  1. Что такое критический путь в CPM?
  2. Что означают O, M, P в PERT и как считается ожидаемое время?
  3. Зачем нужен Planning Poker и чем он отличается от оценки в человеко-часах?
  4. Что такое резерв времени (float) у некритической задачи?

Языки и качество

  1. Какие классы языков используются на стадии конструирования (минимум четыре)?
  2. Зачем OpenAPI на этапе реализации backend?
  3. Чем DSL полезен и когда он избыточен?
  4. Как TDD связан с конструированием в XP?

Дополнительные вопросы

  1. Что такое ТКПО и из чего она состоит?
  2. Назовите шкалу СС для типов связности (минимум 4 уровня с числами).
  3. Назовите шкалу СЦ для типов сцепления.
  4. Сформулируйте два закона Myers о тестировании.
  5. Чем инкрементная стратегия (12207.2) отличается от эволюционной?
  6. Какие четыре стадии RUP и где в них массовое конструирование?
  7. Перечислите пять методов оценки длительности из PMBoK.

Связь с энциклопедией

  1. Где в энциклопедии читать про Scrum и Kanban подробнее?
  2. Где — про unit-тесты и пирамиду тестирования?
  3. Где — про SOLID и GRASP?

Краткие ориентиры для ответов

1–4: Понятие и ЖЦ

1. Проектирование — структура; конструирование — код и сборка; системное тестирование — продукт целиком по требованиям. 2. Код, unit/integration-тесты, скрипты сборки, конфиг, lock-файлы. 3. Процессы ЖЦ, в т.ч. реализация, интеграция, traceability. 4. Основная работа спринта; DoD включает код + тесты; инкремент поставляем.

5–9: Модульность

5. Cohesion — внутри модуля; coupling — между модулями. 6. Функциональная → … → случайная (см. §2). 7. По данным — через DTO/интерфейс; по содержимому — лезем во внутренности. 8. McCabe — число путей; сигнал для тестов и сложности. 9. Модульность — границы и заменяемость, не счётчик файлов.

10–14: Модели ЖЦ

10. Кодирование после проекта; большой блок; изменения дороги. 11. Инкремент — новая функция продукта; итерация — очередной цикл работ. 12. Business/data/process modeling → generation → turnover; UI-критичные MVP. 13. Цели → риски → разработка/тест → план витка. 14. CBSE — процесс поставки; REP/CCP/CRP — упаковка в репозитории (Принципы компонентно-ориентированной архитектуры).

15–18: Планирование

15. Самая длинная цепочка без float; задержка сдвигает проект. 16. Optimistic, Most likely, Pessimistic; TE = (O+4M+P)/6. 17. Относительная оценка сложности в команде; не заменяет часы, но задаёт приоритет через velocity. 18. Запас некритической задачи.

19–25: Языки и энциклопедия

19. Программирования, проектирования, спецификации, конфигурации (+ DSL). 20. Contract-first, mocks, contract tests. 21. Правила предметной области; избыточен для одного редкого правила. 22. Тест → код → refactor на стадии конструирования. 23. 7-03. 24. 7-05/120, §6. 25. Принципы проектирования, Паттерны проектирования.

26–32: Дополнительные вопросы

26. Технология конструирования ПО — методы, средства, процедуры; CASE. 27. Функциональная 10 … по совпадению 0 — см. §2. 28. По данным 1 … по содержимому 9. 29. Все ошибки не найти; исчерпывающий вход невозможен. 30. Инкремент — все требования в начале; эволюционная — уточняются. 31. Inception, Elaboration, Construction, Transition. 32. Экспертная, по аналогам, параметрическая, три точки, резервы — §4.


Если на большинство вопросов отвечаете уверенно — базовый уровень по конструированию ПО можно считать закрытым. Спорные пункты — повод перечитать соответствующую статью, а не зубрить определения в отрыве от практики.