Скачать презентацию Методология и технология программирования План 1 2 Скачать презентацию Методология и технология программирования План 1 2

4 методы программирования.pptx

  • Количество слайдов: 60

Методология и технология программирования Методология и технология программирования

План: 1. 2. 3. 4. 5. 6. 7. 8. 9. Программа Программный продукт Программный План: 1. 2. 3. 4. 5. 6. 7. 8. 9. Программа Программный продукт Программный комплекс Жизненный цикл Методология Технология Программирование Технология программирования Методы программирования

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

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

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

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

Жизненный цикл программного средства • Жизненный цикл включает все процессы создания и использования ПС Жизненный цикл программного средства • Жизненный цикл включает все процессы создания и использования ПС (software process). Различают следующие стадии жизненного цикла ПС: • разработку ПС, • производство программных изделий • эксплуатацию ПС.

Технология • Под технологией вообще понимается совокупность методов обработки, изготовления, изменения состояния, свойств, формы Технология • Под технологией вообще понимается совокупность методов обработки, изготовления, изменения состояния, свойств, формы сырья, материала или полуфабриката в процессе производства, а также научное описание способов производства. • Применительно к программированию технологию можно определить, как совокупность процессов создания, сопровождения и применения ПП. • Технология программирования изучает технологические процессы и порядок их прохождения – стадии (с использованием знаний, методов и средств). ! Любая технология программирования базируется на некоторой методологии разработки программ.

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

Методология • Методология реализуется в методах. • Ме тод (от др. греч. путь исследования Методология • Методология реализуется в методах. • Ме тод (от др. греч. путь исследования или познания) — систематизированная совокупность шагов, действий, которые необходимо предпринять, чтобы решить определённую задачу или достичь определённой цели.

Методы • Метод в математике — синоним способа, алгоритма решения задачи, достижения цели. • Методы • Метод в математике — синоним способа, алгоритма решения задачи, достижения цели. • Метод в объектно-ориентированном программировании — процедура или функция, принадлежащая какому-то классу или объекту. • В программной инженерии метод — технический способ построения программного обеспечения. Ср. с методологией. • Метод в информатике — единый обобщённый способ решения задач определённого класса.

Методология • Под методом понимают совокупность приемов и операций практического и теоретического освоения деятельности. Методология • Под методом понимают совокупность приемов и операций практического и теоретического освоения деятельности. • В программировании широкую известность приобрели методы: структурного, функционального, модульного, объектноориентированного программирования и некоторые другие методы.

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

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

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

Технологии удобно характеризовать в двух измерениях: Вертикальном— Горизонтальном— (представляющем процессы) стадии) Технологии удобно характеризовать в двух измерениях: Вертикальном— Горизонтальном— (представляющем процессы) стадии)

 • Процесс — совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные. Процессы • Процесс — совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные. Процессы состоят из набора действий, а каждое действие из набора задач. Вертикальное измерение отражает статические аспекты процессов и оперирует такими понятиями, как: • рабочие процессы, • действия, • задачи, • результаты деятельности и • исполнители.

 • Стадия — часть действий по созданию программного обеспечения, ограниченная некоторыми временными рамками • Стадия — часть действий по созданию программного обеспечения, ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта, определяемого заданными для данной стадии требованиями. Стадии состоят из этапов, которые обычно имеют итерационный характер. Иногда стадии объединяют в более крупные временные рамки, называемые фазами. Горизонтальное измерение представляет время, отражает динамические аспекты процессов и оперирует такими понятиями, как: • фазы, • стадии, • этапы, • итерации и • контрольные точки.

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

Методы программирования • Императивное – Модульное – Структурное • Логическое • Функциональное • Метод Методы программирования • Императивное – Модульное – Структурное • Логическое • Функциональное • Метод объектно - ориентированного программирования (ООП)

Императивное программирование • Императивное программирование — это исторически первая методология программирования, которой пользовался каждый Императивное программирование • Императивное программирование — это исторически первая методология программирования, которой пользовался каждый программист, программирующий на любом из «массовых» языков программирования – Basic, Pascal, C.

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

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

Императивное программирование • Императивные языки программирования противопоставляются функциональным и логическим языкам программирования. • Функциональные Императивное программирование • Императивные языки программирования противопоставляются функциональным и логическим языкам программирования. • Функциональные языки, например, Haskell, не представляют собой последовательность инструкций и не имеют глобального состояния. • Логические языки программирования, такие как Prolog, обычно определяют что надо вычислить, а не как это надо делать.

Методы и концепции • Метод изменения состояний — заключается в последовательном изменении состояний. Метод Методы и концепции • Метод изменения состояний — заключается в последовательном изменении состояний. Метод поддерживается концепцией алгоритма. • Метод управления потоком исполнения — заключается в пошаговом контроле управления. Метод поддерживается концепцией потока исполнения.

Императивные языки программирования. • Императивные языки программирования манипулируют данными в пошаговом режиме, используя последовательные Императивные языки программирования. • Императивные языки программирования манипулируют данными в пошаговом режиме, используя последовательные инструкции и применяя их к разнообразным данным. • Считается, что первым алгоритмическим языком программирования был язык Plankalkuel (от plan calculus), разработанный в 1945— 1946 годах Конрадом Цузе (Konrad Zuse).

 • Большинство императивных языков программирования было создано в конце 50 -х — середине • Большинство императивных языков программирования было создано в конце 50 -х — середине 70 -х годов XX века. • Однако в 80 -х и 90 -х годах прошлого века- период увлечения новыми парадигмами, и императивных языков в это время практически не появлялось.

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

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

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

Модульное программирование • Модульное программирование — это такой способ программирования, при котором вся программа Модульное программирование • Модульное программирование — это такой способ программирования, при котором вся программа разбивается на группу компонентов, называемых модулями, причем каждый из них имеет свой контролируемый размер, четкое назначение и детально проработанный интерфейс с внешней средой. • Единственная альтернатива модульности — монолитная программа, что, конечно, неудобно. • Таким образом, наиболее интересный вопрос при изучении модульности — определение критерия разбиения на модули.

Концепции модульного программирования. В основе модульного программирования лежат три основных концепции: 1. Принцип утаивания Концепции модульного программирования. В основе модульного программирования лежат три основных концепции: 1. Принцип утаивания информации 2. Аксиома модульности 3. Сборочное программирование

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

2. Аксиома модульности Коуэна. Модуль — независимая программная единица, служащая для выполнения некоторой определенной 2. Аксиома модульности Коуэна. Модуль — независимая программная единица, служащая для выполнения некоторой определенной функции программы и для связи с остальной частью программы.

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

3. Сборочное программирование Цейтина. Модули — это программные кирпичи, из которых строится программа. Существуют 3. Сборочное программирование Цейтина. Модули — это программные кирпичи, из которых строится программа. Существуют три основные предпосылки к модульному программированию: • стремление к выделению независимой единицы программного знания. В идеальном случае всякая идея (алгоритм) должна быть оформлена в виде модуля; • потребность организационного расчленения крупных разработок; • возможность параллельного исполнения модулей (в контексте параллельного программирования).

Определения модуля и его примеры. • Модуль — это совокупность команд, к которым можно Определения модуля и его примеры. • Модуль — это совокупность команд, к которым можно обратиться по имени. • Модуль — это совокупность операторов программы, имеющая граничные элементы и идентификатор (возможно агрегатный).

Разновидности модулей. 1) Разновидности модулей. 1) "Маленькие" (функциональные) модули, реализующие, как правило, одну какую-либо определенную функцию. Основным и простейшим модулем практически во всех языках программирования является процедура или функция. 2) "Средние" (информационные) модули, реализующие, как правило, несколько операций или функций над одной и той же структурой данных (информационным объектом), которая считается неизвестной вне этого модуля. Примеры "средних" модулей в языках программирования: a)задачи в языке программирования Ada; b)кластер в языке программирования CLU; c)классы в языках программирования C++ и Java. 3) "Большие” (логические) модули, объединяющие набор "средних" или "маленьких" модулей. Примеры "больших" модулей в языках программирования: a)модуль в языке программирования Modula-2; b)пакеты в языках программирования Ada и Java.

Структурное программирование. • В начале эры программирования работа программиста ничем не регламентировалась. • Решаемые Структурное программирование. • В начале эры программирования работа программиста ничем не регламентировалась. • Решаемые задачи не отличались размахом и масштабностью, использовались в основном машинноориентированные языки и близкие к ним язык типа Ассемблера, разрабатываемые программы редко достигали значительных размеров, не ставились жесткие ограничения на время их разработки. • По мере развития программирования появились задачи, для решения которых определялись ограниченные сроки все более сложных задач с привлечением групп программистов. • И как следствие, разработчики столкнулись с тем, что методы, пригодные для разработки небольших задач, не могут быть использованы при разработке больших проектов в силу сложности последних.

Структурный подход к программированию • Изначально понятие технологии как таковой — это 60 -е Структурный подход к программированию • Изначально понятие технологии как таковой — это 60 -е годы прошлого столетия — это период "стихийного" программирования. • В этот период отсутствовало понятие структуры программы, типов данных и т. д. • Вследствие этого код получался запутанным, противоречивым. • Программирование тех лет считалось искусством. • ! Конец 60 -х — кризис в программирование. • Выход из этого кризиса — переход к структурной парадигме программирования. • Структурный подход к программированию представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения. • В основе структурного подхода лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших подпрограмм. • С появлением других принципов декомпозиции (объектного, логического и т. д. ) данный способ получил название процедурной декомпозиции.

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

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

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

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

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

Структурное программирование • В соответствии с данной методологией любая программа представляет собой структуру, построенную Структурное программирование • В соответствии с данной методологией любая программа представляет собой структуру, построенную из трёх типов базовых конструкций: – последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы; – ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия; – цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

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

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

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

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

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

Функциональное программирование - это парадигма программирования, в которой выполнение программы представляет собой вычисление некоторого Функциональное программирование - это парадигма программирования, в которой выполнение программы представляет собой вычисление некоторого выражения, описывающего применение функций (в математическом понимании) ко входным данным. ! ФП - подразумевает использование функций и только их. В отличие от традиционного подхода к программированию (императивное программирование), где выполнение программы рассматривается как последовательная смена состояний в памяти компьютера (т. е. изменение значений переменных), в функциональном программировании нет понятия переменной и присваивания, функция не имеет явного внутреннего состояния, а оперирует только над входными данными. Из-за этого отсутствуют побочные эффекты, программа становится более простой в отладке, а также допускает более естественное распараллеливание на многоядерных процессорах. В последнее время программные системы становятся всё сложнее. Возникает потребность в параллельном программировании, которое при использовании императивного подхода является очень сложной задачей. Из-за этого интерес к функциональному программированию быстро растёт, и оно начинает всё больше использоваться в индустрии разработки ПО. • В частности, Майкрософт включила язык функционального программирования F# в состав Visual Studio 2010. Много функциональных возможностей вошло в язык C#. • Функциональное программирование возможно изучать на базе Visual Studio и F#.

Логическое программирование - это способ создания программ, которые помогают нам что-то выяснить на основе Логическое программирование - это способ создания программ, которые помогают нам что-то выяснить на основе тех фактов, которые мы имеем. • Его особенность заключается в том, что мы не говорим компьютеру, как он должен что-то делать. • Компьютер должен сам это понять. • Мы только пишем правила, по которым он должен это понять. • У него есть объекты, есть отношения между ними – он должен их сопоставить. • Последовательность прочтения идет строго в том порядке, в котором мы их написали – сверху вниз. • Так же, у нас нет ограничения на количество утверждений в программе.

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

Логическое программирование • Декларативные (declaration - объявление, заявление) языки – это языки программирования, в Логическое программирование • Декларативные (declaration - объявление, заявление) языки – это языки программирования, в которых операторы представляют собой высказывания об отношениях между объектами некоторого предметного поля. Высказывания могут быть двух видов: 1) факт - задает отношение между конкретными объектами; 2) правило - опосредованно задает отношение между объектами, заменяя их переменными и требуя выполнения некоторых условий. Таким образом, программа на декларативном языке, по сути, представляет собой совокупность фактов и правил, а работа с программой заключается в формулировке вопроса, ответ на который ищется самой системой программирования в процессе перебора с подстановками значений на множестве фактов и правил. Программисту нет необходимости разрабатывать алгоритм перебора этим занимается сама система программирования. Последовательность выполнения операторов программы детерминирована совокупностью фактов, правил и вопросов, сформулированных программистом. Наиболее известным языком декларативного программирования является Пролог.

Метод объектно-ориентированного программирования. Метод объектно-ориентированного программирования.

 • Метод структурного программирования оказался эффективен при написании программ «ограниченной сложности» . • • Метод структурного программирования оказался эффективен при написании программ «ограниченной сложности» . • Однако с возрастанием сложности реализуемых программных проектов и, соответственно, объема кода создаваемых программ, возможности метода структурного программирования оказались недостаточными.

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

! Объектно-ориентированные программы называют «программами, управляемыми от событий» , в отличие от традиционных программ, ! Объектно-ориентированные программы называют «программами, управляемыми от событий» , в отличие от традиционных программ, называемых «программам, управляемыми от данных» .

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