- •Тема 1 Основные понятия и определения
- •Тема 3 Проектирование программных продуктов.
- •Основные группы методов
- •Эвристические методы
- •Метод итераций (последовательного приближения)
- •Метод декомпозиции
- •Метод контрольных вопросов
- •Тема 4 Структура и формат, статические и динамические данные.
- •Тема 5 Стандартизация программных продуктов
- •Стандартизация программных продуктов
- •Система качества пп
- •Тема 6 Модульное программирование
- •Тема 6 Модульное программирование
- •2. Минимизации количества передаваемых параметров
- •Тема 7 Эффективность и оптимизация программ
- •1. Эффективность и технологичность. Способы экономии памяти. Способы уменьшения времени выполнения
- •2. Правила оптимизации программ
- •Жертвуем памятью ради скорости
- •Жертвуем скоростью ради памяти
- •Логические правила
- •Составление процедур
- •Составление выражений
- •Тема 8 Требования и спецификация качества к программных продуктов
- •Тема 9 Защита программ
- •Тема 10 Инструментальные средства разработки программ
- •Тема 11 Коллективная разработка программных средств
- •1.1 Структура управления разработкой программных средств.
- •Тема 12 Объектный подход к разработке программных продуктов
- •Тема 13 Факторы надежности программных продуктов
- •Тема 14 Структурное программирование программных продуктов
- •Тема 15 Объектно-ориентированное программирование (ооп)
- •Тема 15 Объектно-ориентированное программирование (ооп)
- •Тема 16 Стиль программирования
- •Тема 16 Стиль программирования
- •Тема 17 Отладка, тестирование, сопровождение программ
- •2.Тестирование «белым ящиков»
- •6.Виды сопровождения и отладок пп.
- •Тема 18 Экономические аспекты создания и использования программных средств
- •Тема 20 Пакеты прикладных программ
- •Тема 21 Язык программирования Турбо-Пролог
- •Язык Пролог
- •Тема 22 Списки и структуры в Прологе.
- •Списки в Прологе
- •Тема 23 Работа с файлами и динамическими базами данных в Прологе
- •Работа с файлами
- •Работа с файлами
- •3.6.3. Динамические базы данных
Тема 3 Проектирование программных продуктов.
Методы проектирования ПП. Принципы проектирования ПП. Восходящее и нисходящее проектирование.
Проектирование — это практическая деятельность, целью которой является поиск новых решений, оформленных в виде комплекта документации. Процесс поиска представляет собой последовательность выполнения взаимообусловленных действий, процедур, которые, в свою очередь, подразумевают использование определенных методов. Сложность процесса проектирования (как и любой другой творческой деятельности), нестандартность проектных (жизненных) ситуаций вызывают необходимость знания различных методов и умения владеть ими.
Метод — это прием или способ действия с целью достижения желаемого результата. Его выбор зависит не только от вида решаемой задачи, но и индивидуальных черт разработчика (его характера, организации мышления, склонности к риску, способности принимать решения и нести за них ответственность и т. п.), условий его труда и оснащенности средствами оргтехники. Применение метода позволяет найти то или иное решение и, в итоге, выбрать окончательное. Решение, которое будет обладать отличными характеристиками и высокой эффективностью, часто называют сильным решением.
Основные группы методов
В процессе проектирования вид разрабатываемой системы (устройства, процесса, явления и т. д.) проходит развитие от первоначально нечётких словесных описаний, приведённых в техническом задании, до детальных чертежей и опытных образцов. Этот процесс сопровождается решением отдельных взаимосвязанных задач, применением тех или иных моделей. В зависимости от объёма и вида сведений о решаемой задаче методы можно подразделить на эвристические, экспериментальные и формализованные.
Эвристические методы оперируют понятиями и категориями (абстрактными, отвлеченными, конкретными). Формализованные — конкретными параметрами или их группами. Экспериментальные — физическими объектами и их характеристиками.
Обычно задачи с полностью формализованным решением перестают интересовать человека, их относят к разряду рутинных.
Поскольку экспериментальные и формализованные методы используются человеком, то в них в той или иной степени присутствует элемент эвристики. Человек может как усиливать эффективность решения благодаря творческому началу, так и вносить ошибки и искажать результаты (осознанно или неосознанно) в силу субъективности. Совместное использование в процессе проектирования формализованных и эвристических методов называют эвроритмом.
Эвристические методы
Эвристические методы основаны на подсознательном мышлении, не допускают алгоритмизации и характеризуются неосознанным (интуитивным) способом действий для достижения осознанных целей. Эвристические методы ещё называют методами инженерного (изобретательного) творчества.
Сейчас практически во всех преуспевающих фирмах, занятых созданием материальной и нематериальной (программы, методики) продукции, поиск новых идей и решений ведется с помощью тех или иных эвристических методов. А для современного инженера знание этих методов становится столь же необходимым, как и умение писать и читать. Даже журналисты, художники, бизнесмены и представители других профессий, кто остро нуждается в оригинальных идеях, активно используют такие методы.
Эвристические методы медленно, но постоянно совершенствуются и развиваются: от общих рекомендаций — к последовательности действий, далее — к алгоритмизованным методам и, наконец, к созданию искусственного интеллекта.
Краткое описание основных групп эвристических методов и наиболее характерных их представителей.