Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vysokourovnevye_metody_informatiki_i_programmir...doc
Скачиваний:
11
Добавлен:
16.11.2019
Размер:
202.75 Кб
Скачать

Высокоуровневые методы информатики и программирования.

Г.С. Иванова «Технологии программирования» (1-ый раздел)

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

Программа – последовательность команд компьютера, приводящая к решению задач.

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

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

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

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

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

Технология программирования включает:

  1. Указание последовательности выполнения технологических операций;

  2. Перечисление условий, при которых выполняется та или иная операция;

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

Технология также определяет способ описания проектируемой системы и моделей, используемой на конкретном этапе разработки.

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

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

  2. Структурный подход к программированию (60-70-е годы) – представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов ПО.

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

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

Практика показала, что структурный подход в сочетании с модульным программированием позволяет получить достаточно надежные программы, размер которых не превышает 100000 операторов. В противном случае резко возрастает вероятность ошибки за счет сложности отслеживания межмодульных интерфейсов. С некоторого времени отследить взаимное влияние модулей друг на друга не представляется возможным.

  1. Объектный подход к программированию (середина 80-х – конец 20 вв.).

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

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

  1. Снижение скорости работы программы за счет низкой скорости передачи сообщений;

  2. Необходимость ручного переписывания объекта при переходе на другой язык.

  1. Компонентный подход и CASE-технологии (с конца 20 в – по наше время) – предполагает построение программного обеспечения из отдельных компонентов – физически отдельно существующих частей программы, которые взаимодействуют между собой через стандартные двоичные интерфейсы. Объекты-компоненты в отличие от обычных объектов можно собирать в динамические библиотеки или использовать файл выполняемого типа, который можно распространять в двоичном виде без использования исходных текстов программ. Компонентный подход лежит в основе двух технологий:

  1. COM – разработчик – Microsoft, является дальнейшим развитием технологии OLE и определяет общую идею взаимодействия программ любых типов – библиотек, приложений, ОС и т.д. Она позволяет одной части ПО использовать функции и службы другой, независимо от того функционируют ли эти части в пределах одного процесса, в разных процессах на одном компьютере или на разных компьютерах при сетевом подключении. Данная технология строится на специальных объектах, одновременно способных реализовывать несколько интерфейсов, обеспечивающих доступ к своим полям и функциям.

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

Различают три типа серверов:

  1. Внутренний сервер – реализуется динамическими библиотеками, которые подключаются к приложению клиента и работают в одном с ним адресном пространстве (наиболее эффективный сервер, не требующий специальных средств).

  2. Локальный сервер – создается отдельным процессом (программой с расширением exe), который работает на одном компьютере с клиентом.

  3. Удаленный сервер - создается процессом, который создается на другом компьютере.

  1. CORBA – разработчик – OMG – реализует подход во многом аналогичный COM, но на базе собственных объектов и интерфейсов. Программное ядро данной технологии реализовано для всех основных аппаратных и программных платформ и поэтому данную технологию можно использовать для создания распределенного ПО в разнородной вычислительной среде. Взаимодействие между объектами клиента и сервера в данной технологии осуществляется с помощью специального посредника VisiBroker, а также других, адаптированных к конкретным программным системам продуктов.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]