Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tekhnologii_Programmirovania_-_Otvety.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.19 Mб
Скачать
  1. Основные понятия и определения курса «Технологии программирования» (алгоритм, программа, программирование в узком и широком смысле, информация, данные, технология, технологическая операция, технология программирования).

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

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

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

Программирование (в узком смысле) – процесс кодирования и отладки программы в рамках реального проекта.

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

Информация1) сведения об окружающем мире и протекающих в нем процессах;

2) сообщения, осведомляющие о положении дел, о состоянии чего-либо (Ожегов).

Информация – это информация, а не энергия и не материя (Винер).

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

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

- указание последовательности технологических операций;

- перечисление условий, при которых выполняется та или иная операция;

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

Технологическая операция:

  1. Составные части технологии программирования (тп). Отличие тп от методологии программирования и программной инженерии.

Любая технология имеет две стороны:

- принципиальную (внутреннюю);

- организационно-производственную (внешнюю).

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

Методология программирования – совокупность механизмов, применяемых в процессе разработки программного обеспечения и объединенных одним общим философским подходом.

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

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

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

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

  1. Технологии программирования: этапы развития и базовые методологии программирования. Отличие методологии структурного проектирования программных систем от методологии объектно-ориентированного проектирования.

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

В 60-е годы стали развиваться процедурные ЯВУ, в которых применялся механизм подпрограмм. С появлением прерываний появилась концепция процедурного программирования.

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

Также в 60-е гг. впервые появилась концепция структурного программирования, однако разработка по-прежнему велось согласно идеологии «снизу-вверх».

В 70-е годы с появлением ЭВМ 3-го поколения возникла необходимость поддержки коллективной разработки. Из-за концепции «снизу-вверх» случился кризис программирования: компания срывали сроки выполнения заказов, а то и вовсе не выполняли их.

В новых языках программирования (Clu, Pascal, Modula-2) появились средства абстрагирования типов для структурирования данных.

В этот период базовой методологией было структурное программирование (но уже «сверху-вниз»). Также развивалось модульное программирование, которое предполагает объединение нескольких подпрограмм, использующих одни и те же данные, в отдельно компилируемые модули, связи между которыми устанавливались через специальный интерфейс, а доступ к реализации регулировался механизмами импорта-экспорта путем соответствующих деклараций (рисунок 6).

Именно в модульном программировании впервые применены механизмы инкапсуляции и импорта-экспорта, ставшие основой для ООП.

В 80-е годы ввиду широкого распространения ПК возникла методология объектно-ориентированного программирования, центральным понятием которой стал класс объектов.

Основными принципами (парадигмами) ООП являются:

- инкапсуляция – объединение в классе данных (свойств) и методов (процедур обработки), сокрытие отдельных деталей внутреннего устройства классов от внешних по отношению к нему объектов или пользователей;

- наследование – возможность вывода нового класса из старого с частичным изменением свойств и методов;

- полиморфизм – определение свойств и методов объекта по контексту (полиморфизм подразумевает отделение идеи «что делать» от ее воплощения внутри иерархии класса объектов «как делать»).

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

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

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

- создаются различные инструментальные среды разработки и сопровождения ПС.

В середине 80-х появилась концепция автоматизированной разработки ПО (CASE).

В 90-е годы стали широко использоваться CASE-технологии, бурно развивались среды визуального программирования и СУБД.

Основной концепцией стала методология объектно-ориентированного анализа и проектирования (ООАП) (основа – понятие предметной области).

В этот период стало широко использоваться понятие ЖЦ.

В середине 90-х на смену ООАП пришла методология системного анализа и системного моделирования.

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

С появлением сети Интернет появилась необходимость в распределенной обработке и хранении данных. Также появилась необходимость и возможность создания ПС, работающих на разных платформах.

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

Компонентный подход лежит в основе технологий, разработанных на базе COM (Component Object Model – компонентная модель объектов) и технологии создания распределенных приложений CORBA (Common Object Request Broker Architecture – общая архитектура с посредником обработки запросов объектов).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]