Читаем Технологии программирования полностью

Таким образом, в теории программирования проблема "кубиков" остается важнейшей проблемой, поэтапное решение которой уже позволило создавать самые большие по количеству составных частей искусственные системы — программы. Второй аспект проблемы "кубиков" — удешевление программных разработок за счет повторного использования во все новых программах частей, созданных в предшествующих разработках. Если есть "кубики", то в технологии программирования необходимо включить методы, облегчающие синтез цельных систем из отдельных "кубиков".

ВЫВОДЫ

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

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

• При разработке программного обеспечения следует использовать следующие общие принципы: частотный; модульности; функциональной избирательности; генерируемости; функциональной избыточности; "по умолчанию".

• Одной из важнейших составляющих успешного проектирования является системный подход, предусматривающий всестороннее исследование сложного объекта.

• При создании и развитии ПО рекомендуется применять следующие общесистемные принципы: включения; системного единства; развития; комплексности; информационного единства; совместимости; инвариантности.

• В программировании существуют различные парадигмы, приводящие к разным подходам при написании программ: процедурно-ориентированный; объектно-ориентированный; логически-ориентированный; ориентированный на правила; ориентированный на ограничения; параллельное программирование, а также многие другие.

• Необходимо помнить, что проектирование неотъемлемо от различных стандартов (ГОСТ, ANSI, проекта) и их следует соблюдать как при оформлении документации, так и для унификации вашего проекта.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Глава 2

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

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

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

Перейти на страницу:

Похожие книги

Искусство обмана
Искусство обмана

Книга The Art of Deception – «Искусство обмана» – доказывает, насколько мы все уязвимы. В современном мире, где безопасность подчас выходит на первый план, на защиту компьютерных сетей и информации тратятся огромные деньги. Деньги тратятся на технологии безопасности. Эта книга объясняет, как просто бывает перехитрить всех защитников и обойти технологическую оборону, как работают социоинженеры и как отразить нападение с их стороны Кевин Митник и его соавтор, Бил Саймон рассказывают множество историй, которые раскрывают секреты социальной инженерии. Авторы дают практические советы по защите от атак, по обеспечению корпоративной безопасности и снижению информационной угрозы «Искусство обмана» не только демонстрирует, насколько опасна и вредоносна социоинженерия, но поможет разработать собственную программу тренинга по безопасности для сотрудников компании.

Кевин Митник , Вильям Л Саймон

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

Прочтя эту книгу, вы узнаете, что представляет собой BIOS, какие типы BIOS существуют, как получить доступ к BIOS и обновлять ее. Кроме того, в издании рассказано о неполадках в работе BIOS, которые приводят, например, к тому, что ваш компьютер не загружается, или к возникновению ошибок в BIOS. Что делать в этот случае? Как устранить проблему? В книге рассказывается об этом и даже приводится описание загрузки BIOS во флэш-память.Также вы научитесь использовать различные функции BIOS, узнаете, как оптимизировать их с целью улучшения производительности и надежности системы. Вы поймете, почему рекомендуемые установки являются оптимальными.После прочтения книги вы сможете оптимизировать BIOS не хуже профессионала!Книга предназначена для всех пользователей компьютера – как начинающих, которые хотят научиться правильно и грамотно настроить свою машину, используя возможности BIOS, так и профессионалов, для которых книга окажется полезным справочником по всему многообразию настроек BIOS. Перевод: А. Осипов

Адриан Вонг

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Книги по IT
Первые шаги с Windows 7. Руководство для начинающих
Первые шаги с Windows 7. Руководство для начинающих

Просто и понятно для начинающих пользователей описана операционная система Windows 7 и ее новые возможности. Рассказано, как установить Windows 7 (в том числе на нетбук), как полностью использовать новые возможности графического интерфейса, как работать с файлами и стандартными программами. Отдельное внимание уделено вопросам работы в Интернете: настройке доступа, описанию популярных программ для работы в Интернете, обеспечению безопасности. Подробно рассмотрены мультимедиапрограммы Windows Media, Windows Media Center, DVD-студия Windows, прожиг CD/DVD средствами операционной системы. Даны практические рекомендации использования системы восстановления Windows 7, позволяющей в большинстве случаев обойтись без переустановки операционной системы в случае ее сбоя.Прилагаемый компакт-диск содержит видеокурс по основам работы в Windows 7.

Денис Николаевич Колисниченко , Денис Н. Колисниченко

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT