Концепция современных технологий программирования”





Скачать 250.68 Kb.
НазваниеКонцепция современных технологий программирования”
страница3/4
Дата публикации22.05.2015
Размер250.68 Kb.
ТипДокументы
100-bal.ru > Информатика > Документы
1   2   3   4

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




3.1 Структурное программирование

В 1965 г. итальянцы Бом и Джакопини предложили использовать в качестве базовых алгоритмических элементов следование, ветвление и цикл. Почти в то же время к аналогичным выводам пришел голландский ученый Э. Дийкстра, заложивший основы структурного программирования. В 1970-х гг. эта методология оформилась, и корпорация IBM сообщила о применении в разработке программного обеспечения «Усовершенствованных методов программирования», одним из компонентов которых являлась технология нисходящего структурного программирования (структурного программирования), основу которого составляет следующее:

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

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

• программа разрабатывается поэтапно, на каждом этапе реша­ется ограниченное число точно поставленных задач.

Обычно при составлении схемы алгоритма процесс вычисления идет сверху вниз, возвращаясь назад только в циклах, что позволяет анализировать алгоритм как обычный текст, т.е. сверху вниз. Если технологию разработки алгоритмов «сверху - вниз» совместить с использованием только структурных схем, то получится новая технология, которая называется структурным программированием сверху – вниз (нисходящим), идея которого заключается в том, что структура программы должна отражать структуру решаемой задачи, чтобы алгоритм решения был ясно виден из исходного текста. Для этого надо иметь средства для создания программы не только с помощью трех простых операторов (следование, ветвление и цикл), но и с помощью средств, более точно отражающих конкретную структуру алгоритма. С этой целью в программирование введено понятие подпрограммы — набора операторов, выполняющих нужное действие и не зависящих от других частей исходного кода. Программа разбивается на множество мелких подпрограмм, каждая из которых выполняет одно из действий, предусмотренных исходным зада­нием. Комбинируя эти подпрограммы, удается формировать итоговый алгоритм уже не из простых операторов, а из законченных блоков кода, имеющих опреде­ленную смысловую нагрузку, причем обращаться к таким блокам можно по назва­ниям. Получается, что подпрограммы — это новые операторы или операции языка, определяемые программистом.

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

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

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

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

3.2 Событийно-ориентированное программирование

С активным распространением системы Windows и появлением визуальных RAD-сред широкую популярность приобрел событийный подход к созданию программ — событийно-ориентированное программирование.

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

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

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

3.3 Модульное программирование

Данная технология заключается в следующем:

• функциональная декомпозиция (разбиение) задачи на самостоятельные подзадачи — модули, связанные только входными и выходными данными;

• модуль представляет собой «черный ящик», позволяющий разрабатывать части программ одного проекта на разных язы­ках программирования, а затем с помощью компоновочных средств объединять их в единый загрузочный модуль;

• должно быть ясное понимание назначения всех модулей зада­чи и их оптимального сочетания;

• с помощью комментариев должно описываться назначение всех переменных модуля.

3.4 Объектно-ориентированное программирование.

Развитие идей структурного и событийного программирования существенно подняло производительность труда программистов и позволило в разумные сроки (несколько месяцев) создавать приложения объемом в сотни тысяч строк. На смену им в начале 1990-х гг. пришло объектно-ориентированное программирование (ООП). Его можно рассматривать как модульное программирование нового уровня, когда вместо механического объединения процедур и данных главным становится их смысловая связь. Объект рассматривается как логическая единица, которая содержит данные и правила (методы) их обработки. Объектно-ориентированный язык создает «программное окружение» в виде множества независимых объектов, каждый из которых отличается своими свойствами и способами взаимодействия с другими объектами. Программист задает совокупность операций, описывая структуру обмена сообщениями между объектами. Как правило, он «не заглядывает» внутрь объектов, но при необходимости может изменять элементы внутри объектов или формировать новые.

Реальные объекты окружающего мира обладают тремя базовыми характеристиками: они имеют набор свойств, способны разными методами изменять эти свойства и реагировать на события, возникающие как в окружающем мире, так и внутри самого объекта. Именно в таком виде в языках программирования и реализовано понятие объекта как совокупности свойств (структур данных, характерных для этого объекта), методов их обработки (подпрограмм изменения свойств) и событий, на которые данный объект может реагировать и которые приводят, как правило, к изменению свойств объекта.

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

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

При определении подпрограмм, принадлежащих конкретному классу, его методов, в заголовке подпрограммы перед ее названием явно указывается, к какому классу она принадлежит.

Класс — это тип данных, такой же, как любой другой базовый или сложный тип. На его основе можно описывать конкретные объекты (экземпляры классов).

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

Идея использования программных объектов исследовалась в течение ряда лет разными учеными. Одним из первых языков этого типа считают Simula-67. А в 1972 г. появился язык Smoltalk, разработанный Аланом Кеем, утвердивший статус ООП.

На современном этапе развиваются инструментальные среды и системы визуального программирования для создания программ на языках высокого уровня: (Turbo Pascal, Delphi, Visual Basic, C++Builder и др.).

3.5 Компонентного программирования (КП)

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

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

Фирма Microsoft создала технологии для распределенной разра­ботки распределенных систем, такие как COM (Component Object Model), COM+, NET. Разработаны и другие технологии: CORBA (консорциума OMG), JAVA (компании Sun Microsystem) и др.


1   2   3   4

Похожие:

Концепция современных технологий программирования” iconРабочая программа по дисциплине с 3 «Технологии и методы программирования»
Цель преподавания дисциплины: Целью изучения дисциплины «Технологии и методы программирования» является изучение современных технологий...
Концепция современных технологий программирования” iconСписок современных образовательных технологий, рекомендуемых к освоению педагогам края
Концепция школьной научно-практической конференции учащихся «Наука и творчество»
Концепция современных технологий программирования” iconПрограмма по формированию навыков безопасного поведения на дорогах...
Предметом изучения дисциплины являются теоретические и практические основы современных технологий программирования на языке высокого...
Концепция современных технологий программирования” iconРазвитие языков программирования
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования....
Концепция современных технологий программирования” iconРабочая программа дисциплины «программирование и алгоритмизация»
Автоматизация технологических процессов и производств”, с основами алгоритмизации, основными понятиями программирования, несколькими...
Концепция современных технологий программирования” iconНоу впо институт государственного управления, права и инновационных...
Введение. Алгоритм. Программа. Язык программирования Паскаль. Техника безопасности
Концепция современных технологий программирования” iconТема урока: среда программирования qbasic цели урока
Программы пишут программисты на разных языках программирования. Одним из языков программирования является язык qbasic
Концепция современных технологий программирования” iconКонцепция Web 0 5 Wikipedia 5 Блоги 5 BitTorrent и P2P 6 Last fm...
В этой работе будет дан обзор современных тенденций во Всемирной Сети и информационном пространстве и приведены примеры их влияния...
Концепция современных технологий программирования” iconИспользование современных образовательных технологий в деятельности...
Использование современных образовательных технологий в деятельности учителя физики
Концепция современных технологий программирования” iconРабочая программа по дисциплине «Использование современных информационных...
Астью которой является профессиональная компетентность. Предлагаемый учебно-методический комплекс дисциплины «Использование современных...
Концепция современных технологий программирования” iconРоссийской федерации
В результате изучения дисциплины «Обзор языков программирования» студенты должны владеть основными технологическими и методическими...
Концепция современных технологий программирования” iconЯзыки программирования высокого уровня в основной школе
В прошлом году нам предложили два новых языка программирования Scratch lego mindstorms. В нашем лицее мы преподавали и то, и другое....
Концепция современных технологий программирования” iconДоклад заместителя директора по увр н. В. Белей на тему: «Методические...
«Методические приемы современных педагогических технологий в работе с одаренными детьми»
Концепция современных технологий программирования” iconРабочая программа дисциплины «использование современных информационных...
«использование современных информационных и коммуникационных технологий в учебном процессе»
Концепция современных технологий программирования” iconПрограмма по формированию навыков безопасного поведения на дорогах...
«Языки программирования» позволяет посредством формирования начальных навыков программирования подготовить платформу для изучения...
Концепция современных технологий программирования” iconКонцепция политехнического образования в современных условиях
Полное название образовательного учреждения: мкоу «Шайковская сош №2» Кировского района Калужской области


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск