- •Введение в программирование и основы алгоритмизации
- •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. Автоматизация написания программы
2.3. Модель перевода
Ч тобы понять природу ошибок рассмотрим самую общую модель перевода, изображенную на рис. 2. В ней отражен процесс перевода человеком информации из представления A в представление B. При этом он совершает четыре основных шага перевода: 1) получает информацию, содержащуюся в представлении A, с помощью читающего механизма R; 2) запоминает полученную информацию в памяти M; 3) выбирает из своей памяти преобразуемую информацию и информацию, описывающую процесс преобразования, выполняет перевод и посылает результат пишущему механизму W; 4) с помощью механизма W фиксирует представление B.
На каждом из этих шагов человек может совершить ошибку разной природы.
Во-первых, человек обладает способностью "читать между строк". Эта его особенность и способность, которая часто оказывается полезной, потому что позволяет ему понять текст, содержащий разного рода неточности или даже ошибки, в конечном итоге может стать причиной ошибки в ПС. Ошибка возникает в том случае, когда при чтении документа A человек пытается восстановить недостающую информацию, а необходимость в этом возникает довольно часто. При этом он видит то, что ожидает увидеть, а не то, что действительно имел в виду автор документа A. В такой ситуации оптимальным вариантом поведения является обращение к автору документа за разъяснениями.
Во-вторых, при запоминании информации человек осуществляет ее осмысливание и здесь важен его уровень подготовки и знание предметной области, к которой относится документ A. Если он поверхностно или неверно поймет содержание документа, то информация отложится в памяти в искаженном виде. Таким образом, сам процесс осмысления информации грешит ошибками.
В-третьих, забывчивость человека или неорганизованность его памяти может привести к тому, что он выберет из нее не всю преобразуемую информацию или не все правила перевода, в результате чего перевод будет осуществлен неверно. Это обычное явление и чаще всего происходит при большом объеме плохо организованной информации.
И, наконец, в-четвертых, известно извечное стремление человека как можно быстрее зафиксировать информацию, вопреки поговорке "семь раз измерь – один раз отрежь". Это естественное желание человека часто приводит к тому, что представление этой информации оказывается неточным, что и создает ситуации для последующей неоднозначной ее интерпретации.
2.4. Основные пути борьбы с ошибками
Учитывая рассмотренные особенности человеческой природы, играющие первостепенную роль при переводе, можно указать следующие пути борьбы с ошибками, вытекающих из этих особенностей:
сужение пространства перебора, или упрощение проектируемых систем,
обеспечение соответствующего уровня подготовки разработчика, что входит в функции менеджеров коллектива разработчиков,
обеспечение однозначности интерпретации представления информации,
контроль правильности перевода, включая и контроль однозначности интерпретации.
Тема 3 общие принципы разработки программных средств
3.1. Специфика разработки пс
Разработка ПС имеет ряд специфических особенностей.
Явное противоречие: неформальный характер требований к ПС в виде постановки задачи и понятие ошибки в нем, но формализованный, а, значит, формальный основной объект разработки программы. Таким образом, разработка программного средства содержит определенные этапы формализации, а переход от неформального описания задачи к формальному ее представлению на компьютере сугубо неформален.
Разработка ПС носит творческий характер, поскольку на каждом шаге разработки делается выбор, и принимаются соответствующие решения. Этот процесс не сводится к последовательности регламентированных действий. Разработка ПС ближе к процессу проектирования сложных устройств, чем к их массовому производству.
Продукт разработки является особенным. Он представляет собой совокупность текстов, т.е. статических объектов, а смысл (семантика) этих текстов выражается через процессы обработки данных и действия пользователей, запускающих эти процессы, т.е. является динамическим.
ПС при своем использовании не расходуется и не расходует используемых ресурсов, т.е. является виртуальным в отличие от физического продукта, создаваемого и используемого в процессах реального производства - потребляются ресурсы, и расходуется сам продукт.