🗊Презентация Технология программирования

Нажмите для полного просмотра!
Технология программирования, слайд №1Технология программирования, слайд №2Технология программирования, слайд №3Технология программирования, слайд №4Технология программирования, слайд №5Технология программирования, слайд №6Технология программирования, слайд №7Технология программирования, слайд №8Технология программирования, слайд №9Технология программирования, слайд №10Технология программирования, слайд №11Технология программирования, слайд №12Технология программирования, слайд №13Технология программирования, слайд №14Технология программирования, слайд №15Технология программирования, слайд №16Технология программирования, слайд №17Технология программирования, слайд №18Технология программирования, слайд №19Технология программирования, слайд №20Технология программирования, слайд №21Технология программирования, слайд №22Технология программирования, слайд №23Технология программирования, слайд №24Технология программирования, слайд №25Технология программирования, слайд №26Технология программирования, слайд №27Технология программирования, слайд №28

Содержание

Вы можете ознакомиться и скачать презентацию на тему Технология программирования. Доклад-сообщение содержит 28 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





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

Слайд 2





Основные этапы программирования как науки
1 этап - «Стихийное» программирование 
(до середины 60х годов XX века)
2 этап -  Структурный подход к программированию (60-70-е годы XX в.)
3 этап - Объектный подход к программированию 
(с середины 80-х до конца 90-х годов)
4 этап - Компонентный подход и CASE-технологии (с середины 90-х годов XX в. до наст. времени)
Описание слайда:
Основные этапы программирования как науки 1 этап - «Стихийное» программирование (до середины 60х годов XX века) 2 этап - Структурный подход к программированию (60-70-е годы XX в.) 3 этап - Объектный подход к программированию (с середины 80-х до конца 90-х годов) 4 этап - Компонентный подход и CASE-технологии (с середины 90-х годов XX в. до наст. времени)

Слайд 3





«Стихийное» программирование
- отсутствие технологий, программирование - искусство.
Программы простейшей структуры: состояли из программы на машинном языке и обрабатываемых ею данных:
 
.
Описание слайда:
«Стихийное» программирование - отсутствие технологий, программирование - искусство. Программы простейшей структуры: состояли из программы на машинном языке и обрабатываемых ею данных: .

Слайд 4





«Стихийное» программирование
Появление ассемблеров - вместо двоичных и 16-ричных кодов стали использоваться символические имена данных и мнемоники кодов операций → более «читаемые» программы
Создание ЯП высокого уровня (FORTRAN, ALGOL) упростило программирование вычислений, снизив уровень детализации операций. 
Это позволило увеличить сложность программ
Описание слайда:
«Стихийное» программирование Появление ассемблеров - вместо двоичных и 16-ричных кодов стали использоваться символические имена данных и мнемоники кодов операций → более «читаемые» программы Создание ЯП высокого уровня (FORTRAN, ALGOL) упростило программирование вычислений, снизив уровень детализации операций. Это позволило увеличить сложность программ

Слайд 5





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

Слайд 6





«Стихийное» программирование
Программа состояла из основной программы, области глобальных данных и набора п/п (библиотечных), выполняющих обработку всех данных или их части.
Слабое место - при ↑числа п/п возрастала вероятность искажения части глобальных данных какой-либо подпрограммой
Описание слайда:
«Стихийное» программирование Программа состояла из основной программы, области глобальных данных и набора п/п (библиотечных), выполняющих обработку всех данных или их части. Слабое место - при ↑числа п/п возрастала вероятность искажения части глобальных данных какой-либо подпрограммой

Слайд 7





«Стихийное» программирование
Для ↓количество таких ошибок - в п/п размещать локальные данные:
Описание слайда:
«Стихийное» программирование Для ↓количество таких ошибок - в п/п размещать локальные данные:

Слайд 8





«Стихийное» программирование
В начале 60-х г XX в.
«кризис программирования»: 
фирмы, разрабатывающие сложное ПО, срывали сроки завершения проектов. 
Проект устаревал раньше, чем был готов к внедрению, увеличивалась его стоимость, многие проекты никогда не были завершены.
Описание слайда:
«Стихийное» программирование В начале 60-х г XX в. «кризис программирования»: фирмы, разрабатывающие сложное ПО, срывали сроки завершения проектов. Проект устаревал раньше, чем был готов к внедрению, увеличивалась его стоимость, многие проекты никогда не были завершены.

Слайд 9





«Стихийное» программирование
Объективная причина - несовершенство ТП.
Стихийно использовалась разработка «снизу-вверх»: вначале проектировали и реализовывали простые п/п, из них строили сложную программу. 
Без четких моделей описания и методов проектирования создание п/п – сложная задача, интерфейсы получались сложными, при сборке программы - ошибки согласования.
Исправление ошибок → изменение п/п → в п/п вносились новые ошибки, которые необходимо исправлять... 
В итоге процесс тестирования и отладки > 80% времени разработки или вообще не заканчивался.
Встал вопрос разработки технологии создания сложных программных продуктов, снижающей вероятность ошибок проектирования.
Описание слайда:
«Стихийное» программирование Объективная причина - несовершенство ТП. Стихийно использовалась разработка «снизу-вверх»: вначале проектировали и реализовывали простые п/п, из них строили сложную программу. Без четких моделей описания и методов проектирования создание п/п – сложная задача, интерфейсы получались сложными, при сборке программы - ошибки согласования. Исправление ошибок → изменение п/п → в п/п вносились новые ошибки, которые необходимо исправлять... В итоге процесс тестирования и отладки > 80% времени разработки или вообще не заканчивался. Встал вопрос разработки технологии создания сложных программных продуктов, снижающей вероятность ошибок проектирования.

Слайд 10





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

Слайд 11





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

Слайд 12





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

Слайд 13





Модульное программирование
выделение групп п/п с общими глобальными данными в отдельно компилируемые модули (библиотеки п/п): модуль графических ресурсов и др.
Описание слайда:
Модульное программирование выделение групп п/п с общими глобальными данными в отдельно компилируемые модули (библиотеки п/п): модуль графических ресурсов и др.

Слайд 14





Модульное программирование
Модульное программирование упростило разработку ПО несколькими программистами. Каждый мог разрабатывать свои модули независимо, обеспечивая взаимодействие модулей через межмодульные интерфейсы. Модули можно было использовать в других разработках, это повысило производительность труда программистов.
Практика показала, что структурный подход в сочетании с модульным программированием позволяет получать надежные программы размером до 100.000 операторов.
Узкое место - ошибка в интерфейсе выявляется только при выполнении п/п (из-за раздельной компиляции модулей). При ↑ размера программы возрастает сложность межмодульных интерфейсов
Для разработки ПО большого объема было предложено использовать объектный подход.
Описание слайда:
Модульное программирование Модульное программирование упростило разработку ПО несколькими программистами. Каждый мог разрабатывать свои модули независимо, обеспечивая взаимодействие модулей через межмодульные интерфейсы. Модули можно было использовать в других разработках, это повысило производительность труда программистов. Практика показала, что структурный подход в сочетании с модульным программированием позволяет получать надежные программы размером до 100.000 операторов. Узкое место - ошибка в интерфейсе выявляется только при выполнении п/п (из-за раздельной компиляции модулей). При ↑ размера программы возрастает сложность межмодульных интерфейсов Для разработки ПО большого объема было предложено использовать объектный подход.

Слайд 15





Объектный подход: 
Программа - совокупность О.

Каждый О - экземпляр класса.

Классы - иерархию с наследованием свойств.

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

Слайд 16





Объектный подход
Достоинство ООП - «более естественная» декомпозиция ПО , это облегчает разработку → более полная локализация данных → возможность вести независимую разработку отдельных частей (объектов) программы. 
Объектный подход - новые способы организации программ на механизмах наследования, полиморфизма, инкапсуляции, композиции, что позволяет конструировать сложные объекты из простых. 
В результате - ↑ показатель повторного использования кодов, возможность создания библиотек классов.
Описание слайда:
Объектный подход Достоинство ООП - «более естественная» декомпозиция ПО , это облегчает разработку → более полная локализация данных → возможность вести независимую разработку отдельных частей (объектов) программы. Объектный подход - новые способы организации программ на механизмах наследования, полиморфизма, инкапсуляции, композиции, что позволяет конструировать сложные объекты из простых. В результате - ↑ показатель повторного использования кодов, возможность создания библиотек классов.

Слайд 17





Объектный подход
Развитие ООП: созданы визуальные среды:  Delphi, C++ Builder, Visual C++  для проектирования интерфейсов. Результат - заготовка программы, в которую уже внесены коды.
Недостатки ООП в конкретных реализациях ЯП:
нет стандартов компоновки результатов компиляции объектов в единое целое → необходимость разработки ПО с использованием одного языка ЯП и компилятора → необходимо наличие исходных кодов библиотек классов;
изменение реализации одного программного О связано с перекомпиляцией модуля и перекомпоновкой всего ПО.
Сохраняется зависимость модулей от адресов, полей, методов, структур и форматов данных. Модули взаимодействуют между собой. Связи модулей нельзя разорвать, но можно стандартизировать их взаимодействие - на этом основан
 компонентный подход к программированию.
Описание слайда:
Объектный подход Развитие ООП: созданы визуальные среды: Delphi, C++ Builder, Visual C++ для проектирования интерфейсов. Результат - заготовка программы, в которую уже внесены коды. Недостатки ООП в конкретных реализациях ЯП: нет стандартов компоновки результатов компиляции объектов в единое целое → необходимость разработки ПО с использованием одного языка ЯП и компилятора → необходимо наличие исходных кодов библиотек классов; изменение реализации одного программного О связано с перекомпиляцией модуля и перекомпоновкой всего ПО. Сохраняется зависимость модулей от адресов, полей, методов, структур и форматов данных. Модули взаимодействуют между собой. Связи модулей нельзя разорвать, но можно стандартизировать их взаимодействие - на этом основан компонентный подход к программированию.

Слайд 18





Компонентный подход
построение ПО из компонентов – физически отдельных частей ПО, взаимодействие - через стандартизованные двоичные интерфейсы. 
Объекты-компоненты можно собрать в динамически вызываемые библиотеки (DLL), исполняемые файлы, распространять в двоичном виде без исходных текстов, использовать в ЯП, поддерживающем технологию. 
Рынок объектов - реальность, в Internet – множество компонентов →  возможность создания программ, состоящих из повторно использованных частей.
Компонентный подход - в основе COM-технологий (Component Object Model), и технологии создания распределенных приложений CORBA (Common Object Request Broker Architecture).
Технологии используют сходные принципы и различаются лишь особенностями их реализации.
Описание слайда:
Компонентный подход построение ПО из компонентов – физически отдельных частей ПО, взаимодействие - через стандартизованные двоичные интерфейсы. Объекты-компоненты можно собрать в динамически вызываемые библиотеки (DLL), исполняемые файлы, распространять в двоичном виде без исходных текстов, использовать в ЯП, поддерживающем технологию. Рынок объектов - реальность, в Internet – множество компонентов → возможность создания программ, состоящих из повторно использованных частей. Компонентный подход - в основе COM-технологий (Component Object Model), и технологии создания распределенных приложений CORBA (Common Object Request Broker Architecture). Технологии используют сходные принципы и различаются лишь особенностями их реализации.

Слайд 19





Компонентный подход
DCOM (Distributed COM) – распределенная СОМ для передачи вызовов между ПК -
Описание слайда:
Компонентный подход DCOM (Distributed COM) – распределенная СОМ для передачи вызовов между ПК -

Слайд 20





Компонентный подход
Описание слайда:
Компонентный подход

Слайд 21





Компонентный подход
Описание слайда:
Компонентный подход

Слайд 22





CASE - технологии
Особенность современного этапа развития ТП - создание и внедрение автоматизированных технологий разработки и сопровождения программного обеспечения - CASE-технологий (Computer-Aided Software/System Engineering).
 Без средств автоматизации разработка сложного ПО невозможна: человек не в состоянии фиксировать все детали, необходимые при разработке ПО. 
Существуют CASE-технологии, поддерживающие структурный, объектный и компонентный подходы к программированию.
Описание слайда:
CASE - технологии Особенность современного этапа развития ТП - создание и внедрение автоматизированных технологий разработки и сопровождения программного обеспечения - CASE-технологий (Computer-Aided Software/System Engineering). Без средств автоматизации разработка сложного ПО невозможна: человек не в состоянии фиксировать все детали, необходимые при разработке ПО. Существуют CASE-технологии, поддерживающие структурный, объектный и компонентный подходы к программированию.

Слайд 23





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

Слайд 24





Блочно-иерархический подход к созданию сложных систем
В сложных системах - иерархическая внутренняя структура: связи элементов различны по типу и по силе, 
система - совокупность взаимозависимых подсистем. 
Внутренние связи элементов подсистем сильнее связей  между подсистемами. 
Подсистемы разделяют на подсистемы и т.д. до нижнего «элементарного» уровня, где система состоит из немногих типов подсистем, по-разному организованных. 
Иерархии такого типа - «целое-часть».

Поведение системы сложнее поведения отдельных частей, особенности системы обусловлены отношениями между ее частями, а не частями как таковыми.
Описание слайда:
Блочно-иерархический подход к созданию сложных систем В сложных системах - иерархическая внутренняя структура: связи элементов различны по типу и по силе, система - совокупность взаимозависимых подсистем. Внутренние связи элементов подсистем сильнее связей между подсистемами. Подсистемы разделяют на подсистемы и т.д. до нижнего «элементарного» уровня, где система состоит из немногих типов подсистем, по-разному организованных. Иерархии такого типа - «целое-часть». Поведение системы сложнее поведения отдельных частей, особенности системы обусловлены отношениями между ее частями, а не частями как таковыми.

Слайд 25





Блочно-иерархический подход к созданию сложных систем
.
Описание слайда:
Блочно-иерархический подход к созданию сложных систем .

Слайд 26





Блочно-иерархический подход к созданию сложных систем
.
Описание слайда:
Блочно-иерархический подход к созданию сложных систем .

Слайд 27





Блочно-иерархический подход к созданию сложных систем
.
Описание слайда:
Блочно-иерархический подход к созданию сложных систем .

Слайд 28





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

Другие принципы:
непротиворечивость - контроль согласованности элементов;
полнота - контроль на присутствие лишних элементов;
формализация – строгость методического подхода;
повторяемость – выделение одинаковых блоков;
локальная оптимизация – в пределах уровня иерархии.
Совокупность языков моделей, постановок задач, методов описаний иерархического уровня - уровень проектирования.
Блочно-иерархический подход:
упрощает проверку работоспособности системы и блоков;
обеспечивает возможность модернизации систем.
Описание слайда:
Блочно-иерархический подход к созданию сложных систем В основе блочно-иерархического подхода - декомпозиция и иерархическое упорядочение. Другие принципы: непротиворечивость - контроль согласованности элементов; полнота - контроль на присутствие лишних элементов; формализация – строгость методического подхода; повторяемость – выделение одинаковых блоков; локальная оптимизация – в пределах уровня иерархии. Совокупность языков моделей, постановок задач, методов описаний иерархического уровня - уровень проектирования. Блочно-иерархический подход: упрощает проверку работоспособности системы и блоков; обеспечивает возможность модернизации систем.



Похожие презентации
Mypresentation.ru
Загрузить презентацию