Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Технологии и парадигмы программирования




ОБЩЕСИСТЕМНЫЕ ПРИНЦИПЫ СОЗДАНИЯ ПРОГРАММ

При создании и развитии ПО рекомендуется применять следующие общесистемные принципы:

принцип включения, который предусматривает, что требования к созданию, функционированию и развитию ПО определяются со стороны более сложной, включающей его в себя системы;

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

принцип развития, который предусматривает в ПО возмож­ность его наращивания и совершенствования компонентов и свя­зей между ними;

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

принцип информационного единства, то есть во всех подсис­темах, средствах обеспечения и компонентах ПО используются единые термины, символы, условные обозначения и способы пред­ставления;

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

принцип инвариантности определяет инвариантность подсис­тем и компонентов ПО к обрабатываемой информации, то есть яв­ляются универсальными или типовыми.

Технологии программирования - это апробированные стратегии создания программ, которые излагаются в виде методик с информационными фондами, описаниями проектных процедур и проектных операций. Существуют технология структурного про­граммирования, технология проектирования программ с рациональ­ной структурой данных, технология объектно-ориентированного программирования, технология визуального программирования.

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

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

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

Оператор_1:

Оператор_2:

...

Обычно при первом знакомстве с концепциями программиро­вания люди сталкиваются именно с этой моделью, и многие широ­ко распространенные языки поддерживают именно ее (например, С, C++, FORTRAN, ALGOL, PL/I, Pascal, Ada, Smalltalk и COBOL).

Аппликативная парадигма. Представляет собой дру­гой взгляд на вычисления, производимые с помощью языка про­граммирования. В основу этой парадигмы положено рассмотрение функции, которую выполняет программа. Здесь не рассматривается последовательность состояний, через которые должна пройти вы­числительная машина. Вопрос ставится по-другому: какую функ­цию необходимо применить к начальному состоянию машины (пу­тем выбора начального набора переменных и комбинирования их определенным образом), чтобы получить желаемый результат?

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

Функция_n (... функция_2 (функция_1 (данные))...)

Такую модель поддерживают такие языки как ML и LISP.

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

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

разрешающее условие_1 —> действие_1 разрешающее условие_2 —> действие__2

разрешающее условие_n —> действие _n

Иногда правила записываются в виде «действие if разрешаю­щее условие», когда выполняемое действие записывается слева.

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

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




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 1510; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.