Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Эволюция технологий программирования. Структурное программирование. Объектно-ориентированное программирование. (ТП)




Эволюция технологий программирования.

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

Языки этого поколения (Фортран, Алгол, PL/1) являются процедурными и поддерживают процедурный стиль программирования.

Ключевые понятия процедурного программирования – понятия структуры данных, оператора и процедуры (функции) как основной семантической единицы программы. Данные, объединенные в структуры, обрабатываются различными процедурами, а совокупности семантически связанных между собой процедур объединяются в программные модули.

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

С помощью таких языков решались в основном вычислительные задачи. Основными пользователями ЭВМ были физики, математики и инженеры.

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

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

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

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

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

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

Структурное программирова­ние- это первая законченная методология программирования. Структурное программирование оказало огромное влияние на раз­витие программирования. Этот метод применялся очень широко в практическом программировании и по сей день не поте­рял своего значения для определенного класса задач.

Структурный подход базируется на двух основополагающих принципах:

1 - это использование процедурных языков про­граммирования (Алгол, Паскаль, СИ);

2 - это последовательная декомпозиция ал­горитма решения задачи сверху вниз.

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

После этого начинается последовательное разложение всей за­дачи на более простые действия.

Основные положения объектной модели

Рассмотрим 3 компонента ОО подхода:

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

Здесь можно выделить 3 части:

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

каждый объект является экземпляром какого- то определенного класса;

классы организованы иерархически.

Программам будет объектно-ориентированной только при соблюдении всех 3 требований.

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

Здесь содержатся 2 важные части:

ОО проектирование основывается на объектно-ориентированной декомпозиции;

Многообразие приемов представления моделей.

3 - ОО анализ – это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области. ООА направлен на создание моделей реальной действительности с использованием ОО подхода.

 







Дата добавления: 2015-04-19; просмотров: 1020. Нарушение авторских прав


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2019 год . (0.002 сек.) русская версия | украинская версия