ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ презентация

Содержание

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

Слайд 1ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ
Глава 1


Слайд 2Технология программирования. Основные понятия и подходы.
Программирование — сравнительно

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

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

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

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

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

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

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


Слайд 4Структура описания технической операции

Методические материалы инструкции, нормативы

и стандарты критерии оценки результатов

Исходные данные в стандартном представлении (документы, рабочие материалы, результаты предыдущей операции)

Результаты в стандартном представлении

Исполнители, программные и технические средства

Рис. 1.1


Слайд 5Виды технологий программирования:
Технологии, используемые на конкретных этапах разработки или для решения

отдельных задач этих этапов.

Технологии, охватывающие несколько этапов или весь процесс разработки.


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

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


Слайд 6Основные этапы развития программирования, как науки
Первые программы имели

простейшую структуру. Они состояли из собственно программы на машинном языке и обрабатываемых ею данных.

I этап – «Стихийное» программирование.



Слайд 7Основные этапы развития программирования, как науки
Появление ассемблеров позволило вместо двоичных или

16-ричных кодов использовать символические имена данных и мнемоники кодов операций.

I этап – «Стихийное» программирование.

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

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


Слайд 8Основные этапы развития программирования, как науки
Типичная программа того времени состояла из


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

I этап – «Стихийное» программирование.


Слайд 9Основные этапы развития программирования, как науки
Использовалась разработка «снизу-вверх» - подход, при

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

I этап – «Стихийное» программирование.


Слайд 10Основные этапы развития программирования, как науки
Структурный подход к программированию – это

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

II этап – Структурный подход к программированию.

Процедурные языки программирования включают основные «структурные» операторы передачи управления, поддерживают вложение подпрограмм, локализацию и ограничение области «видимости» данных. Наиболее известные языки этой группы:
PL/1,
ALGOL-68,
Pascal,
С.

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

Модульное программирование – это выделение групп подпрограмм, использующих одни и те же глобальные данные в отдельно компилируемые модули (библиотеки подпрограмм).


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

языков Pascal и С (С++), языки Ада и Modula.

II этап – Структурный подход к программированию.

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

Для разработки программного обеспечения большого объема было предложено использовать объектный подход.


Слайд 12Основные этапы развития программирования, как науки
Объектно-ориентированное программирование – это технология создания

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

III этап – Объектный подход к программированию.


Слайд 13Архитектура программы при объектно-ориентированном программировании


Слайд 14Основные этапы развития программирования, как науки
Основным достоинством объектно-ориентированного программирования по сравнению

с модульным программированием является «более естественная» декомпозиция программного обеспечения.

III этап – Объектный подход к программированию.

Это приводит к более полной локализации данных и интегрированию их с подпрограммами обработки.

Объектный подход предлагает новые способы организации программ, основанные на механизмах:
наследования,
полиморфизма,
композиции,
наполнения.


Слайд 15Основные этапы развития программирования, как науки
Среды, поддерживающие визуальное программирование:
Delphi
С++ Builder


Visual С++.

III этап – Объектный подход к программированию.

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


Слайд 16Основные этапы развития программирования, как науки
Недостатки объектного подхода к программированию:
отсутствие стандартов

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

III этап – Объектный подход к программированию.


Слайд 17Основные этапы развития программирования, как науки
Компонентный подход предполагает построение программного обеспечения

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

IV этап – Компонентный подход и CASE-технологии.

Компонентный подход лежит в основе технологий, разработанных на базе COM, и технологии создания распределенных приложений CORBA.


Слайд 18Основные этапы развития программирования, как науки
Технология СОМ определяет общую парадигму взаимодействия

программ любых типов:
библиотек,
приложений,
операционной системы.

IV этап – Компонентный подход и CASE-технологии.


Слайд 19Основные этапы развития программирования, как науки
Объекты СОМ:
IV этап – Компонентный

подход и CASE-технологии.

Классы СОМ:

- включают поля и методы;

- могут реализовывать несколько
интерфейсов.

поддерживают наследование интерфейсов, но не поддерживают наследования реализации.


Слайд 20Основные этапы развития программирования, как науки
Типы серверов:
внутренний сервер;
локальный сервер;
удаленный сервер.
IV этап

– Компонентный подход и CASE-технологии.

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


Слайд 21Основные этапы развития программирования, как науки
OLE-automation - технология создания программируемых приложений,

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

Виды компонентных технологий:

ActiveX - технология, построенная на базе OLE-automation, предназначена для создания программного обеспечения как сосредоточенного на одном компьютере, так и распределенного в сети.

Диспинтерфейс (dispinterface) - специальный интерфейс, облегчающий вызов функций объекта.


Слайд 22Основные этапы развития программирования, как науки
быстрое написание программного кода;
открытость и мобильность;
возможность

написания приложений;
большое количество уже существующих бесплатных программных элементов ActiveX;
Стандартность.

Преимущества технологии ActiveX:


Слайд 23Основные этапы развития программирования, как науки
MTS (Microsoft Transaction Server - сервер

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

MIDAS (Multitier Distributed Application Server - сервер многозвенных распределенных приложений) - технология, организующая доступ к данным разных компьютеров с учетом балансировки нагрузки сети.

Виды компонентных технологий:

Технология CORBA реализует подход, аналогичный СОМ, на базе объектов и интерфейсов CORBA. Эту технологию можно использовать для создания распределенного программного обеспечения в гетерогенной (разнородной) вычислительной среде.


Слайд 241.2. Проблемы разработки сложных программных систем.
Логическая сложность решаемых задач.
Факторы, увеличивающие

сложность разработки программных систем:

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

отсутствие удовлетворительных средств описания поведения дискретных систем с большим числом состояний при недетерминированной последовательности входных воздействий;

коллективная разработка;

необходимость увеличения степени повторяемости кодов.


Слайд 251.2. Проблемы разработки сложных программных систем.
Факторы, обуславливающие сложность определения требований к

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

Сложность определения требований к программным системам.


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

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

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

Коллективная разработка.

Работая в коллективе обеспечивается целостность проекта.


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

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

Необходимость увеличения степени повторяемости кодов.


Слайд 281.3. Блочно - иерархический подход к созданию сложных систем
Большинство сложных систем

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

Слайд 291.3. Блочно - иерархический подход к созданию сложных систем
Каждую подсистему можно

разделить на подсистемы.

Иерархия «целое-часть» - это типы подсистем по-разному скомбинированные и организованные.

Иерархия «простое-сложное» - это когда любая функционирующая система является результатом развития более простой системы.

Слайд 301.3. Блочно - иерархический подход к созданию сложных систем
Части объектов блочно-иерархического

подхода:
Процесс разбиения сложного объекта на сравнительно независимые части получил название – декомпозиции.
Пошаговая детализация – при создании очень сложных объектов процесс декомпозиции выполняется многократно.

Пошаговая детализация


Слайд 311.3. Блочно - иерархический подход к созданию сложных систем
Результат декомпозиции обычно

представляют в виде схемы иерархии.

Чем больше блок, тем более абстрактным должно быть его описание.


Слайд 321.3. Блочно - иерархический подход к созданию сложных систем
В основе блочно-иерархического

подхода лежат декомпозиция и иерархическое упорядочение.
Принципы блочно-иерархического подхода:
непротиворечивость;
полнота;
формализация;
повторяемость;
локальная оптимизация.


Слайд 331.3. Блочно - иерархический подход к созданию сложных систем
Совокупность языков моделей,

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

Различные взгляды на объект проектирования принято называть аспектами проектирования.

Слайд 341.3. Блочно - иерархический подход к созданию сложных систем
Использование блочно -

иерархического подхода:
упрощает проверку работоспособности, как системы в целом, так и отдельных блоков;
обеспечивает возможность модернизации систем.
Структурный подход учитывает только свойства иерархии «целое-часть», а объектный - использует еще и свойства иерархии «простое-сложное».

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика