Технология программирования и основные этапы ее развития По дисциплине: Технологии разработки программных продуктов

Автор работы: Пользователь скрыл имя, 24 Октября 2011 в 11:23, курсовая работа

Краткое описание

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

Содержание работы

Введение 3
«Стихийное» программирование 5
2. Структурный подход к программированию (60-70-е годы ХХ в) 7
3. Объектный подход к программированию (с середины 80-х до конца 90-х годов XX в.) 9
4. Компонентный подход и CASE-технологии (с середины 90-х годов XX в. до нашего времени) 11
Техническое задание 16
Практическая часть 17
Заключение 36
Литература 37

Содержимое работы - 1 файл

Куросовая работа.doc

— 906.50 Кб (Скачать файл)

Государственное Образовательное Учреждение

Среднего  Профессионального Образования

"Уральский  политехнический колледж"

г. Нягани 
 
 
 
 

                      
 

                                                Курсовая работа 

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

По дисциплине: Технологии разработки программных продуктов 
 
 
 
 
 
 

                                     

                   Выполнил  студент: 3 курса

                   Группы  НоП-302

                   Устюгов Артем Владимирович

                   Проверил:

                   __________Юдина  Ирина Игоревна 

           
 
 
 
 
 
 

                                                   г. Нягань 2011

   СОДЕРЖАНИЕ 

Введение             3

  1. «Стихийное» программирование           5

2. Структурный подход к программированию (60-70-е годы ХХ в)     7

3. Объектный подход к программированию (с середины 80-х до конца 90-х годов XX в.)          9

4. Компонентный подход и CASE-технологии (с середины 90-х годов XX в. до нашего времени) 11

Техническое  задание 16

Практическая  часть                     17

Заключение                      36

Литература                       37 
 
 
 
 

 

ВВЕДЕНИЕ 

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

 

ТЕХНОЛОГИЯ  ПРОГРАММИРОВАНИЯ И  ОСНОВНЫЕ ЭТАПЫ ЕЕ РАЗВИТИЯ 

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

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

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

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

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

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

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

1. «СТИХИЙНОЕ» ПРОГРАММИРОВАНИЕ 

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

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

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

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

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

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

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

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

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

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

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

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

             
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2. СТРУКТУРНЫЙ ПОДХОД К

       ПРОГРАММИРОВАНИЮ (60-70-Е ГОДЫ ХХ В) 

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

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

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

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

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

       Модульное программирование предполагает выделение  групп подпрограмм, использующих одни и те же глобальные данные в отдельно компилируемые модули (библиотеки подпрограмм), например, модуль графических ресурсов, модуль подпрограмм вывода на принтер. Связи между модулями при использовании данной технологии осуществляются через специальный интерфейс, в то время как доступ к реализации модуля (телам подпрограмм и некоторым «внутренним» переменным) запрещен. Эту технологию поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula.

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

Информация о работе Технология программирования и основные этапы ее развития По дисциплине: Технологии разработки программных продуктов