'

ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ

Понравилась презентация – покажи это...





Слайд 0

ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ Глава 1


Слайд 1

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


Слайд 2

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


Слайд 3

Структура описания технической операции Методические материалы инструкции, нормативы и стандарты критерии оценки результатов Исходные данные в стандартном представлении (документы, рабочие материалы, результаты предыдущей операции) Результаты в стандартном представлении Исполнители, программные и технические средства Рис. 1.1


Слайд 4

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


Слайд 5

Основные этапы развития программирования, как науки Первые программы имели простейшую структуру. Они состояли из собственно программы на машинном языке и обрабатываемых ею данных. I этап – «Стихийное» программирование.


Слайд 6

Основные этапы развития программирования, как науки Появление ассемблеров позволило вместо двоичных или 16-ричных кодов использовать символические имена данных и мнемоники кодов операций. I этап – «Стихийное» программирование. С появлением языков программирования высокого уровня, таких, как FORTRAN и ALGOL, снизился уровень детализации операций. Революционным было появление в языках средств, позволяющих оперировать подпрограммами.


Слайд 7

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


Слайд 8

Основные этапы развития программирования, как науки Использовалась разработка «снизу-вверх» - подход, при котором вначале проектировали и реализовывали сравнительно простые подпрограммы, из которых затем пытались построить сложную программу. I этап – «Стихийное» программирование.


Слайд 9

Основные этапы развития программирования, как науки Структурный подход к программированию – это совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения. В его основе лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших (до 40 - 50 операторов) подпрограмм. С появлением других принципов декомпозиции (объектного, логического и т. д.) данный способ получил название процедурной декомпозиции. II этап – Структурный подход к программированию. Процедурные языки программирования включают основные «структурные» операторы передачи управления, поддерживают вложение подпрограмм, локализацию и ограничение области «видимости» данных. Наиболее известные языки этой группы: PL/1, ALGOL-68, Pascal, С. Дальнейший рост сложности и размеров разрабатываемого программного обеспечения потребовал развития структурирования данных. Модульное программирование – это выделение групп подпрограмм, использующих одни и те же глобальные данные в отдельно компилируемые модули (библиотеки подпрограмм).


Слайд 10

Основные этапы развития программирования, как науки Технологию модульного программирования поддерживают современные версии языков Pascal и С (С++), языки Ада и Modula. II этап – Структурный подход к программированию. Структурный подход в сочетании с модульным программированием позволяет получать достаточно надежные программы, размер которых не превышает 100 000 операторов. Для разработки программного обеспечения большого объема было предложено использовать объектный подход.


Слайд 11

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


Слайд 12

Архитектура программы при объектно-ориентированном программировании


Слайд 13

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


Слайд 14

Основные этапы развития программирования, как науки Среды, поддерживающие визуальное программирование: Delphi С++ Builder Visual С++. III этап – Объектный подход к программированию. Результатом визуального проектирования является заготовка будущей программы, в которую уже внесены соответствующие коды.


Слайд 15

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


Слайд 16

Основные этапы развития программирования, как науки Компонентный подход предполагает построение программного обеспечения из отдельных компонентов физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы. IV этап – Компонентный подход и CASE-технологии. Компонентный подход лежит в основе технологий, разработанных на базе COM, и технологии создания распределенных приложений CORBA.


Слайд 17

Основные этапы развития программирования, как науки Технология СОМ определяет общую парадигму взаимодействия программ любых типов: библиотек, приложений, операционной системы. IV этап – Компонентный подход и CASE-технологии.


Слайд 18

Основные этапы развития программирования, как науки Объекты СОМ: IV этап – Компонентный подход и CASE-технологии. Классы СОМ: - включают поля и методы; - могут реализовывать несколько интерфейсов. поддерживают наследование интерфейсов, но не поддерживают наследования реализации.


Слайд 19

Основные этапы развития программирования, как науки Типы серверов: внутренний сервер; локальный сервер; удаленный сервер. IV этап – Компонентный подход и CASE-технологии. Взаимодействие клиента и сервера обеспечивается базовыми механизмами СОМ или DCOM. При использовании локальных и удаленных серверов в адресном пространстве клиента создается proxy-объект - заместитель объекта СОМ, а в адресном пространстве сервера СОМ - заглушка, соответствующая клиенту.


Слайд 20

Основные этапы развития программирования, как науки OLE-automation - технология создания программируемых приложений, обеспечивающая программируемый доступ к внутренним службам этих приложений. Виды компонентных технологий: ActiveX - технология, построенная на базе OLE-automation, предназначена для создания программного обеспечения как сосредоточенного на одном компьютере, так и распределенного в сети. Диспинтерфейс (dispinterface) - специальный интерфейс, облегчающий вызов функций объекта.


Слайд 21

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


Слайд 22

Основные этапы развития программирования, как науки MTS (Microsoft Transaction Server - сервер управления транзакциями) технология, обеспечивающая безопасность и стабильную работу распределенных приложений при больших объемах передаваемых данных. MIDAS (Multitier Distributed Application Server - сервер многозвенных распределенных приложений) - технология, организующая доступ к данным разных компьютеров с учетом балансировки нагрузки сети. Виды компонентных технологий: Технология CORBA реализует подход, аналогичный СОМ, на базе объектов и интерфейсов CORBA. Эту технологию можно использовать для создания распределенного программного обеспечения в гетерогенной (разнородной) вычислительной среде.


Слайд 23

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


Слайд 24

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


Слайд 25

1.2. Проблемы разработки сложных программных систем. Использование языков низкого уровня приводит к ранней детализации операций в процессе создания программного обеспечения и увеличивает объем описаний разрабатываемых продуктов. Отсутствие удовлетворительных средств формального описания поведения дискретных систем. Коллективная разработка. Работая в коллективе обеспечивается целостность проекта.


Слайд 26

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


Слайд 27

1.3. Блочно - иерархический подход к созданию сложных систем Большинство сложных систем имеет иерархическую внутреннюю структуру. Это связано с тем, что обычно связи элементов сложных систем различны как по типу, так и по силе, что и позволяет рассматривать эти системы как некоторую совокупность взаимозависимых подсистем.


Слайд 28

1.3. Блочно - иерархический подход к созданию сложных систем Каждую подсистему можно разделить на подсистемы. Иерархия «целое-часть» - это типы подсистем по-разному скомбинированные и организованные. Иерархия «простое-сложное» - это когда любая функционирующая система является результатом развития более простой системы.


Слайд 29

1.3. Блочно - иерархический подход к созданию сложных систем Части объектов блочно-иерархического подхода: Процесс разбиения сложного объекта на сравнительно независимые части получил название – декомпозиции. Пошаговая детализация – при создании очень сложных объектов процесс декомпозиции выполняется многократно. Пошаговая детализация


Слайд 30

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


Слайд 31

1.3. Блочно - иерархический подход к созданию сложных систем В основе блочно-иерархического подхода лежат декомпозиция и иерархическое упорядочение. Принципы блочно-иерархического подхода: непротиворечивость; полнота; формализация; повторяемость; локальная оптимизация.


Слайд 32

1.3. Блочно - иерархический подход к созданию сложных систем Совокупность языков моделей, постановок задач, методов описаний некоторого иерархического уровня принято называть уровнем проектирования. Различные взгляды на объект проектирования принято называть аспектами проектирования.


Слайд 33

1.3. Блочно - иерархический подход к созданию сложных систем Использование блочно - иерархического подхода: упрощает проверку работоспособности, как системы в целом, так и отдельных блоков; обеспечивает возможность модернизации систем. Структурный подход учитывает только свойства иерархии «целое-часть», а объектный - использует еще и свойства иерархии «простое-сложное».


×

HTML:





Ссылка: