2.1. Интеллектуальные возможности человека
При разработке ПС используются три интеллектуальные способности человека: перебор, абстракция, математическая индукция.
Перебор это последовательное переключение внимания с одного предмета на другой и узнавание искомого предмета. Способность перебора ограничена – в среднем человек уверенно перебирает в пределах 1000 предметов. На практике человеку приходиться иметь дело с большим числом предметов. Средством преодоления этой ограниченности является способность к абстракции, благодаря которой человек объединяет разные предметы или экземпляры в одно понятие, заменяя множество элементов одним элементом другого рода. Способность человека к математической индукции позволяет справляться с бесконечными последовательностями.
При разработке ПС человек имеет дело с системами. Под системой понимают совокупность взаимодействующих друг с другом элементов. ПС – система. Логически связанный набор программ – система. Любая отдельная программа – система. Понять систему это осмысленно перебрать все пути взаимодействия между ее элементами. Различают простые и сложные системы. Простая система – система, в которой человек уверенно перебирает все пути взаимодействия между ее элементами, а сложная система – система, в которой он этого сделать не может. Между простыми и сложными системами нет четкой границы, поэтому вводится их промежуточный класс. К нему относятся программы, о которых программисты говорят «в каждой отлаженной программе имеется хотя бы одна ошибка».
При разработке ПС не всегда есть уверенность, что знаешь обо всех связях между его элементами. Часто невозможно отследить все связи, а это порождает поле возможных ошибок. Сложность системы оценивают числом ее элементов или числом потенциальных путей взаимодействия между элементами, т.е. n! (n-факториалом), где n число элементов системы. Систему называют малой,
Оценка простых систем по числу элементов используется на практике. Так, для руководителя весьма желательно, чтобы в коллективе не было больше шести взаимодействующих между собой подчиненных. Важно следовать правилу: «все, что может быть сказано, должно быть сказано в шести пунктах или меньше». Этому правилу рекомендуется следовать при перечислении формулировок, взаимосвязанных высказываний, а также при разработке ПС.
- Введение в программирование и основы алгоритмизации
- 1.2. Понятие "правильной" программы
- 1.3. Надежность программного средства
- 1.4. Технология программирования как разработка надежных пс
- 1.5. Информатизация общества
- Тема 2 источники ошибок в программных средствах
- 2.1. Интеллектуальные возможности человека
- 2.2. Неправильный перевод как причина ошибок в пс
- 2.3. Модель перевода
- На каждом из этих шагов человек может совершить ошибку разной природы.
- 2.4. Основные пути борьбы с ошибками
- Тема 3 общие принципы разработки программных средств
- 3.1. Специфика разработки пс
- 3.2. Жизненный цикл пс
- 3.3. Понятие качества пс
- 3.4. Внешнего описания и его роль в обеспечении качества пс
- 3.5. Обеспечение надежности – основной мотив разработки пс
- 3.5. Борьба со сложностью систем и обеспечение точности перевода
- Тема 4 разработка структуры программы. Модульное и объектно-ориентированное программирование
- 4.1. Цель модульного программирования
- 4.2. Основные характеристики программного модуля
- 4.3. Методы разработки структуры программы
- 4.4. Объектно-ориентированное программирование
- 4.5. События и событийная модель
- Тема 5 Алгоритмизация и разработка программного модуля
- 5.1. Определение алгоритма
- Алгоритмизация - техника составления алгоритмов и программ для решения задач на эвм.
- 5.2. Изобразительные средства описания алгоритмов
- 5.3. Блок-схемы алгоритмов. Графические символы
- 5.4. Порядок разработки программного модуля
- 5.5. Структурное программирование
- 5.6. Пошаговая детализация и понятие о псевдокоде
- Тема 6 тестирование и отладка программного средства
- 6.1. Основные понятия
- 6.2. Принципы и виды отладки пс
- 6.3. Заповеди отладки пс
- 6.4. Автономная отладка пс
- Тема 7 Методы разработки алгоритмов
- 7.1. Метод частных целей
- 7.2. Метод подъема
- 7.3. Программирование с отходом назад
- Тема 8 Алгоритмы сортировки
- 8.1. Сортировка. Основные понятия
- 8.2. Пузырьковая сортировка
- 8.3. Сортировка с помощью дерева
- 8.4. Пирамидальная сортировка
- 8.5. Быстрая сортировка
- Тема 9 Алгоритмы поиска и перебора
- 9.1. Поиск. Основные понятия
- 9.2. Бинарный поиск
- 9.3. Поиск в сети
- Тема 10 Событийно-управляемое программирование на языке Visual Basic
- 10.1. Историческая справка
- 10.2. Основы Visual Basic
- Среда Windows: окна, события, сообщения
- Интерактивная разработка
- Интегрированная среда разработки
- 10.3. Формы и элементы управления
- Разработка и установка свойств формы
- События и методы формы
- Кнопки управления как основа выполнения действий
- 10.4. Элементы управления пользователя
- Флажки и переключатели
- Другие стандартные элементы управления
- 10.5. Фокус. Последовательность переходов. Меню Фокус
- Основы меню
- Контекстные меню
- Редактор меню
- Подсказки пользователю с помощью диалога
- Тема 11 Управление проектами
- 11.1. Работа с проектом и его структура
- 11.2. Работа с несколькими проектами
- 11.4. Установка параметров проекта
- 11.5. Дополнения и мастера
- Тема 12 Управляющие конструкции
- 12.1. Конструкции принятия решения (ветвление)
- 12.2. Циклы
- 12.3. Работа со структурами управления и досрочный выход из них
- Тема 13 Структура приложения. Техника написания кода
- 13.1. Структура приложения
- 13.2. Как работает событийное приложение
- 13.3. До начала кодирования
- 13.4. Техника написания кода
- 13.5. Автоматизация написания программы