Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИП. Уманский.docx
Скачиваний:
11
Добавлен:
21.11.2019
Размер:
41.58 Кб
Скачать

Тема 1 Основные направления технологий программирования

Иванова С.Г. Объектно-ориентированное программирование. Основы программирования.

Программные продукты и их основные характеристики

Программирование – сфера действий (процесс), направленный на создание заданной программы. Может рассматриваться двояко: как наука и как искусство.

Программа – последовательность команд компьютера, приводящая к решению задач. Они предназначены для машинной реализации задач, требующих решения в какой-либо области человеческой деятельности.

Программный продукт – комплекс взаимосвязанных программ, предназначенных для реализации определенной сложной задачи массового спроса.

Задача – некоторая проблема, подлежащая решению с помощью средств вычислительной техники.

Приложение – программная реализация задачи, запущенная на компьютере.

Специальное математическое программное обеспечение (СМПО) – составляет основу современных сложных программных систем. Высшей формой СМПО являются комплексы задач и математических моделей различного назначения логически и информационно увязанные между собой.

Программное обеспечение (ПО) – программные продукты и техническая документация к ним.

Технологии программирования. Основные этапы

Технология программирования представляет собой набор технологических инструкций, включающих:

  1. Указание последовательности выполнения указанных действий

  2. Перечисление условий, при которых выполняются те или иные технологические действий.

  3. Описание самих операций, где для каждой определяются исходные данные, результаты, а также документы, регламентирующие выполнение этой операции (инструкции, нормативы, стандарты, критерии и методы оценок…)

Базовые этапы развития технологий программирования:

  1. Стихийное программирование – период от момента появления первых ЭВМ до середины 60-х годов. Программирование было искусством, так как информационные технологии практически отсутствовали. На начальном этапе программы представляли собой моно структуры, включающие как исходные данные, так и программу обработки в одном программном теле. Появление языков высокого уровня позволило снизить детализацию программ за счет введения символьных операторов и снова расширить границы размерности. Революционным стало появление средств, работающих с подпрограммами, которые можно было многократно использовать в других приложениях, написанных на этом же языке. Увеличились скорость и качество разработки. Слабым местом такой архитектуры является ярко выраженная возможность случайного изменения исходных данных одной из подпрограмм, что приведет к возникновению системной ошибки. Для устранения недостатка впервые был предложен подход, основанный на локализации исходных данных. Это позволило в массовом порядке ввести параллельную разработку программ несколькими программистами. Исходные данные стали глобальными исходными данными (ИД → ГИД).

  2. Структурный подход к программированию – 60-70-е годы. Представляет собой совокупность рекомендуемых технологических приемов охватывающих выполнение всех этапов разработки ПО. В основе подхода лежит принципе декомпозиции (деления на части) сложных систем с целью их последующей реализации в виде отдельных небольших подпрограмм. Подход требует представления задачи в виде иерархии подзадач простейшей структуры. Проектирование осуществлялось сверху вниз и обеспечивало реализацию общей идеи и проработку интерфейсов подпрограмм. Одновременно вводились ограничения на конструкцию алгоритмов, рекомендовались формальные модели их описания, вводился специальных метод их проектирования – метод пошаговой детализации. Появляются языки структурного программирования, в основе которых лежит принцип поддержки трех основных типов алгоритмов, структурировании с использованием подпрограмм, локализация и ограничение видимости данных. В них была реализована концепция применения модулей, обеспечивающая восстановление прямых меж модульных связей, повышение уровня защищенности глобальных и локальных данных и сокращение количества внутренних связей. Модульное программирование предполагает выделение групп подпрограмм, использующих одни и те же исходные данные в отдельно компилируемые модули. Связи между модулями осуществляются через специальный интерфейс, доступный всем, а вот доступ к внутреннему содержанию модуля невозможен. Впервые появляется идея закрытого программного кода (авторская защита). Данный подход существенно упростил разработку ПО несколькими программистами. Каждый из них разрабатывал свой модуль самостоятельно, обеспечивая их взаимодействие через заранее оговоренный интерфейс. Это позволяло использовать созданные модули в различных задачах, не зная их внутреннего кода реализации. Практика показала, что данных подход позволяет получать достаточно надежные программы размером не более ста тысяч операторов. Основным недостатком является сложность выявления ошибок межмодульных связей, т.к. это возможно только на этапе окончательной сборки. При увеличении размера программы возрастает количество межмодульных связей. И с некоторого момента предусмотреть взаимовлияние модулей друг на друга становится практически невозможным.

  3. Объектный подход к программированию – середина 80-х до начала нашего века. Объектно-ориентированное программирование (ООП) определяется как технология создания сложного программного обеспечения, основанная на представлении программ в виде совокупности объектов, каждый их которых является экземпляром определенного класса, а классы образуют иерархию с наследованием свойств. Взаимодействие объектов между собой осуществляется путем передачи сообщений.

Лекция 2

Тема 1

Объектно-ориентированное программирование