Технологии программирования | страница 42



• В процессе выполнения проекта предусматриваются отдельные моменты времени, которые характеризуются законченным оформлением результатов всех работ, выполненных разработчиками до данного момента. Согласно ГОСТ возможны следующие стадии разработки: ТЗ; ЭП; ТП; РП; внедрение. Возможны также и нестандартные этапы и стадии. Набор этапов и стадий отражает результаты проектирования самого процесса проектирования.

• Модели играют важнейшую роль в проектировании программ. При построении моделей используется абстрагирование и декомпозиция.

• Каждая стадия проекта завершается утверждением программных документов. Документы включают описания (спецификации). Спецификации являются моделями. Спецификации делятся на внешние и внутренние.

• Рациональный выбор стандартных элементов ("кубиков") имеет два аспекта: удобство при повторном использовании и возможность осуществления синтеза из малых элементов более общих элементов.

• Имена, используемые в программах, должны соответствовать назначению, обладать узнаваемостью, обеспечивать запоминаемость, быть краткими, обладать уникальностью.

Контрольные вопросы

1. Дайте определение проектированию.

2. Что такое эвристика?

3. В чем состоит схожесть и различие алгоритма и эвроритма?

4. Что решает задача оптимизации разработки программ?

5. Назовите пять признаков сложной системы.

6. На чем основан частотный принцип разработки программ?

7. Какие виды анализа используются при системном подходе?

8. Что такое принцип совместимости?

9. Для чего необходима стандартизация проектирования и программирования?

10. Назовите основные этапы жизненного цикла программных изделий.

11. Назовите основные стадии и этапы разработки программ по ГОСТ 19.102-77.

12. В чем суть моделирования?

13. Какие типы абстракций вы знаете?

14. Что такое первичная функциональная спецификация?

15. Какие механизмы использования "кубиков" дали объектно-ориентированные языки программирования?

16. Что такое рефакторинг?

17. Зачем нужен рефакторинг имен?

18. Почему трудно определять идеальные имена?

Глава 2

ОПТИМИЗАЦИЯ ПРОГРАММНЫХ РАЗРАБОТОК

2.1. ВЫБОР ОПТИМАЛЬНОГО ВАРИАНТА ПРОЕКТНОГО РЕШЕНИЯ

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

Неизбежной платой за попытку получить решение в условиях неполной информации об объекте проектирования является возможность ошибочных решений. Поэтому в такой ситуации