Вы находитесь на странице: 1из 43

Лекция 7

ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ
Технология программирования — совокупность
методов и средств, применяемых в процессе разработки
программного обеспечения.

Cреда программирования, или интегрированная среда


разработки IDE — Integrated Development Environment)
Среды общего назначения содержат набор
программных инструментов, поддерживающих
разработку программ на разных языках
программирования.
Языково-ориентированная инструментальная среда
программирования предназначена для поддержки
разработки программы на каком-либо одном языке
программирования
Интерпретирующие и компилирующие среды, помимо
текстового редактора, обеспечивают интерпретацию или
компиляцию программ на данном языке
программирования.

Синтаксически-управляемая среда программирования


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

В среде визуальной разработки наиболее


распространенные блоки программного кода
представлены в виде графических объектов.

Примеры визуальных сред программирования - системы


программирования Borland Delphi и Visual Basic
Система программирования представляет собой
интегрированную среду разработки программ, которая
содержит:

• редактор текста

• компилятор

• компоновщик

• загрузчик
Интегрированная среда разработки программ
позволяет:

• создавать и редактировать исходные тексты программ

• сохранять исходные тексты программ в файлах

• считывать файлы с диска

• осуществлять поиск и исправление ошибок (отладка)

• выполнять программу и просматривать результаты


выполнения
Разработка программ

Парадигмы программирования — это совокупность


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

императивное программирование

процедурное программирование

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

структурное программирование

декларативное программирование, к которому относят


логическое и функциональное программирование
Императивное программирование - описывает процесс
выполнения программы в виде инструкций, изменяющих
состояние исполнителя

Основным строительный блок – подпрограмма

Подпрограммы используются главным образом для целей


абстракции
Декларативное программирование — парадигма
программирования, в которой
задаётся спецификация решения задачи, то есть
описывается, что представляет собой проблема и
ожидаемый результат

Декларативные программы не используют понятия


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

В соответствии с парадигмой, любая программа, которая


строится без использования оператора goto, состоит из
трёх базовых управляющих конструкций:
последовательность, ветвление, цикл; кроме того,
используются подпрограммы. При этом разработка
программы ведётся пошагово, методом «сверху вниз».
Процедурное программирование — программирование
на императивном языке, при котором последовательно
выполняемые операторы можно собрать
в подпрограммы, то есть более крупные целостные
единицы кода, с помощью механизмов самого языка

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


выполнению операторов с целью преобразования
исходного состояния памяти, то есть значений исходных
данных, в заключительное, то есть в результаты. Таким
образом, с точки зрения программиста имеются
программа и память, причем первая последовательно
обновляет содержимое последней
Объектно-ориентированное программирование
(ООП) — методология программирования, основанная на
представлении программы в виде совокупности объектов,
каждый из которых является экземпляром
определённого класса, а классы образуют иерархию
наследования
История развития технологии программирования

1949 – машина EDSAC в Кембриджском университете


(Electronic Delay Storage Automatic Calculator)
История развития технологии программирования

1950-е годы:

Мощность компьютеров невелика

Научно-технические задачи

Интуитивная технология программирования

Зарождение концепции модульного программирования,


первых высокоуровневых языков
История развития технологии программирования

1960-е годы:

Развитие и широкое использование языков высокого


уровня (Алгол, Фортран, Кобол)

Развитие мультипрограммирования

Начало коллективной разработки


История развития технологии программирования

1970-е годы:

Развитие технологии нисходящей разработки и


структурного программирования, модульного
программирования

На основе нисходящего структурного программирования


была разработана технология коллективной разработки
больших программных комплексов
История развития технологии программирования

1980-е и 1990-е годы:

широкий охват человеческого общества международной


компьютерной сетью

Появление проблемы зашиты компьютерной информации


и передаваемых по сети сообщений

Развитие CASE-технологии (Computer-Aided Software


Engineering) разработки ПС и связанные с ними
формальные методы спецификации программ

Развитие технологии визуального программирования


История развития технологии программирования

1980-е и 1990-е годы:

широкий охват человеческого общества международной


компьютерной сетью

Появление проблемы зашиты компьютерной информации


и передаваемых по сети сообщений

Развитие CASE-технологии (Computer-Aided Software


Engineering) разработки ПС и связанные с ними
формальные методы спецификации программ

Развитие технологии визуального программирования


История развития технологии программирования

1991 год – технология OLE 1.0 (Object Linking and


Embedding). — технология связывания и внедрения
объектов в другие документы и объекты, разработанная
корпорацией Майкрософт

Технология DDE (Dynamic Data Exchange) - позволяюет


поддерживать связи с приложением, в котором был
создан объект

1993 год – технология OLE 2.0


История развития технологии программирования

1993 год – технология COM (Component Object Model) —


это технологический стандарт от компании Microsoft,
предназначенный для создания программного
обеспечения на основе взаимодействующих компонентов
объекта, каждый из которых может использоваться во
многих программах одновременно

Интерфейс. Компонент взаимодействует с другими


программами через COM-интерфейсы — наборы
абстрактных функций и свойств. Каждый COM-компонент
должен, как минимум, поддерживать стандартный
интерфейс «IUnknown», который предоставляет базовые
средства для работы с компонентом. Интерфейс
«IUnknown» включает в себя три метода: QueryInterface,
AddRef, Release.
История развития технологии программирования

1996 год технология DCOM (Distributed COM —


распределённая COM). DCOM позволяет COM-
компонентам взаимодействовать друг с другом по сети

1996 год – переименование OLE в ActiveX

1997 год - MTS (Microsoft Transaction Server)


Транзакция — это одна атомарная операция

MSMQ - Microsoft Message Query.


Программа создает сообщение для другого приложения и
пересылает его в очередь сообщений

OLE+ = COM + MTS + MSMQ


История развития технологии программирования

Проблемы СОМ-технологии:

1. Развитая инфраструктура приложений

2. Клиент и сервер СОМ взаимодействуют на расстоянии

3. Утечка памяти

.NET Framework — среда периода выполнения,


облегчающая написание кода в сжатые сроки и
модификацию этого кода
История развития технологии программирования

Принципы .NET Framework:

«управляемый код» (Managed Code)


работает в среде CLR (Common Language Runtime),
которая поддерживает более богатый набор служб, чем
обычная операционная система

Создано специальное средство разработки ПО —


Vstudio.NET
История развития технологии программирования

Характеристики .NET Framework:

1. Поддержка сборки мусора

2. Поддержка управления версиями

3. Реализация безопасности доступа к коду

4. Поддержка бесшовного взаимодействия с СОМ-


объектами
Microsoft .NET, платформа Microsoft XML веб-сервисов
состоят из:

• программной платформы для создания .NET-модулей;

• программной модели и инструментов для создания и


интеграции XML;

• набора программируемых XML веб-сервисов


Модульное программирование - для обеспечения
технологичности разрабатываемого программного
обеспечения

Модуль характеризуют:

• один вход и один выход

• функциональная завершенность

• логическая независимость

• слабые информационные связи с другими


программными модулями

• размер и сложность программного элемента


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

• Размер модуля

• Прочность модуля

• Сцепление с другими модулями

• Рутинность модуля
Размер модуля измеряется числом содержащихся в нем
операторов
Прочность модуля — это мера его внутренних связей.

Самой слабой степенью прочности обладает модуль,


прочный по совпадению

Функционально прочный модуль — это модуль,


реализующий одну какую-либо определенную функцию

Высшей степенью прочности обладает информационно-


прочный модуль
Сцепление модуля — это мера его зависимости по
способу передачи данных от других модулей

Виды сцепления модулей:

• по данным

• по образцу

• по управлению

• по внешним ссылкам

• по общей области данных

• по содержимому
Связность модулей — мера прочности соединения
функциональных и информационных объектов внутри
одного модуля

Виды связности:

• функциональная
• последовательная
• информационная (коммуникативная)
• процедурная
• временная
• логическая;
• случайная
Методы разработки при модульном
программировании

Метод восходящей разработки

Сначала строится древовидная модульная структура


программы. Затем поочередно проектируются и
разрабатываются модули программы, начиная с модулей
самого нижнего уровня, затем предыдущего уровня и т. д.
Методы разработки при модульном
программировании

Метод нисходящей разработки

Сначала строится модульная структура программы в


виде дерева. Затем проектируются и реализуются модули
программы, начиная с модуля самого верхнего уровня —
головного, далее разрабатываются модули уровнем ниже
и т. д.
Конструктивный подход
Модификация нисходящей разработки
Модульная древовидная структура программы
формируется в процессе программирования модуля
Архитектурный подход

Модификация восходящей разработки

Модульная древовидная структура программы


формируется в процессе программирования модуля
Нисходящая реализация -
каждый запрограммированный модуль тестируется сразу
же, до перехода к программированию другого модуля

Целенаправленная конструктивная реализация -


реализуются сначала модули, необходимые для самого
простого рабочего варианта программы, остальные
модули заменяются их имитаторами
Объектно-ориентированное программирование
(ООП)

Создатели ООП — выдающиеся норвежские ученые


К.Нюгор (Cristen Nygaard) и Оле-Йохан Даль (Ole-Johan
Dahl). Разработали первый объектно-ориентированный
язык Simula I, позже Simula 67.

Впоследствии были созданы другие ООЯ: Смолток


(19X0), Си++ (1985), Eiffel (1986). Object Pascal (1986) и
Delphi (1995), Oberon-2 (1991), Java (1991), Visual Basic
(1991) и многие другие
Особенности ООП

Основная идея ООП заключается в том, что следует


создавать программные структуры, поведение и
взаимодействие которых имитирует поведение и
взаимодействие объектов реального мира

Основные понятия:
• объекты — особые программные структуры,
объединяющие данные и алгоритмы их обработки;
• инкапсуляция — сокрытие подробностей
функционирования объектов;
• наследование — «сокращенный» способ создания
новых классов;
• полиморфизм — возможность применения нескольких
реализаций одной функции.
Отладка программы — это деятельность, направленная
на обнаружение и исправление ошибок в программе

Тестирование программы — это процесс выполнения


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

Документирование программы:

• документы управления разработкой ПС


• документы, входящие в состав ПС

Вам также может понравиться