Добавлен: 04.07.2023
Просмотров: 516
Скачиваний: 8
СОДЕРЖАНИЕ
1.Понятие технологии программирования.
2.Состав и назначение инструментария технологии программирования
2.1 Инструментарий технологии программирования
Основные алгоритмические структуры.
Понятие исполнителя алгоритма.
Методы технологии программирования.
Термины методов технологии программирования.
Объектно-ориентированное программирование
Введение
Изобретение языка программирования высшего уровня позволило нам общаться с машиной, похоже, даже понимать её. Действительно, если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Такие языки могут по праву носить имя «высочайших». Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами, и в этот момент, где-нибудь горбится молодой, никем не признанный специалист и разрабатывает новейшую систему искусственного интеллекта, которая наконец-то позволит человеку, с помощью своих машинных языков, вести диалог с компьютером на «ТЫ».
Цель курсовой работы: изучение методов современного программирования. Формирование представления об основных понятиях и подходах технологии программирования, приемах обеспечения технологичности программных продуктов, разработке пользовательских интерфейсов, тестирование программных продуктов, отладке программного обеспечения.
Задачи курсовой работы:
- Рассмотреть виды технологии программирования.
- представить основную информацию о методах современного программирования.
- Проанализировать преимущества/ недостатки рассмотренных методов современного программирования.
1.Понятие технологии программирования.
Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:
- указание последовательности выполнения технологических операций;
- перечисление условий, при которых выполняется та или иная операция;
- описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п. (рис.1)
Рис.1. Структура описания технологической операции
Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы, точнее модели, используемой на конкретном этапе разработки.
Различают технологии, используемые на конкретных этапах разработки или для решения отдельных задач этих этапов, и технологии, охватывающие несколько этапов или весь процесс разработки. В основе первых, как правило, лежит ограниченно применимый метод, позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый метод или подход (парадигма), определяющий совокупность методов, используемых на разных этапах разработки, или методологию. [1]
Исторически в развитии программирования можно выделить несколько принципиально отличающихся методологий.
Изначально понятие технологии как таковой — это 60-е годы прошлого столетия — это период «стихийного» программирования. В этот период отсутствовало понятие структуры программы, типов данных и т.д. Вследствие этого код получался запутанным, противоречивым. Программирование тех лет считалось искусством. Конец 60-х — кризис в программирование.
Выход из этого кризиса — переход к структурной парадигме программирования. Структурный подход к программированию представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения. В основе структурного подхода лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших подпрограмм. С появлением других принципов декомпозиции (объектного, логического и т.д.) данный способ получил название процедурной декомпозиции.
Другим базовым принципом структурного программирования является использование при составлении программ только базовых алгоритмических структур, запрет на использование оператора GOTO.[2]
Структурный подход требовал представления задачи в виде иерархии подзадач простейшей структуры. Проектирование осуществлялось «сверху-вниз» и подразумевало реализацию общей идеи, обеспечивая проработку интерфейсов подпрограмм. Одновременно вводились ограничения на конструкции алгоритмов, рекомендовались формальные модели их описания, а также специальный метод проектирования алгоритмов — метод пошаговой детализации.
Поддержка принципов структурного программирования была заложена в основу так называемых процедурных языков программирования. Как правило, они включали основные «структурные» операторы передачи управления, поддерживали вложение подпрограмм, локализацию и ограничение области «видимости» данных. Среди наиболее известных языков этой группы стоит назвать PL/1, ALGOL-68, Pascal, С.
2.Состав и назначение инструментария технологии программирования
Инструментарий технологии программирования – это совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов. Пользователями этого класса программного обеспечения являются системные и прикладные программисты.
2.1 Инструментарий технологии программирования
Инструментарий технологии программирования делится на два больших класса инструментальных средств:
- Инструментальные средства для создания отдельных приложений (программ):
- Локальные средства (языки программирования, системы программирования, инструментальные среды пользователя);
- Интегрированные среды разработки программ – среды, основное назначение которых – повышение производительности труда программистов за счет автоматизации создания кодов программ, обеспечивающих интерфейс пользователя графического типа, а также автоматизации разработки запросов и отчетов (например, Delphi).
- Инструментальные средства для создания информационных систем и технологий (CASE- технология) – средства, поддерживающие полный цикл проектирования сложной информационной системы или технологии от исследования объекта автоматизации до оформления проектной и прочей документации на информационную систему или технологию. Они позволяют вести коллективную работу над проектом за счет возможности работы в локальной сети, экспорта – импорта любых фрагментов проекта, организации управления проектом.
2.2 Языки программирования
- Машинно-ориентированные (язык С) – объединяет идеи ассемблера и алгоритмического языка. Программы компактны и работают очень быстро.
- Универсальные (Turbo Pascal, Basic, Fortran) - приближены максимально, насколько это возможно, к естественному английскому языку: название каждой команды – английское слово; -Функциональные. Применяются, как правило, для машинного моделирования той или иной проблематики. Имеют в составе:
- проблемно-ориентированные (GPSS) - моделируют систему с помощью последовательности событий. Применяются, в частности, при проектировании вычислительных комплексов;
- бъектно-ориентированные (Forth) - имеют встроенные средства для моделирования новых объектов программирования;
- логико-ориентированные (Prolog) - отдельно описываются правила предметной области, по которым затем выводятся новые факты. [5]
Системы программирования включают:
- Интегрированную среду разработчика программы. Основное назначение инструментария данного вида – повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложений для архитектуры клиент-сервер, запросов и отчетов;
- Транслятор – программу, переводящую исходный текст во внутреннее представление компьютера;
- Отладчик – программу для трассировки и анализа выполнения прикладных программ. Позволяет отслеживать выполнение программы в пооператорном режиме, идентифицировать место и вид ошибок в программе, наблюдают за изменением значений переменных, выражений и т.д.;
- Компоновщик – программа для подготовки прикладной программы к работе в конкретных адресах основной памяти компьютера;
- справочные системы.[3]
Инструментальная среда пользователя – это специальные программные средства, встроенные в пакет прикладных программ:
1. Библиотеки функций, процедур, объектов и методов обработки;
2. Макрокоманды;
3. Программные модули-вставки;
4. Конструкторы экранных форм и отчетов;
5. Языки запросов высокого уровня;
6. Клавишные макросы;
7. Языковые макросы;
8. Генераторы приложений;
9. Языки манипулирования данными;[2]
Основные алгоритмические структуры.
Понятие алгоритма
Алгоритмом называется точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи. В роли исполнителей алгоритмов могут выступать люди, роботы, компьютеры. Последовательность действий, которую необходимо выполнить над исходными данными, чтобы достичь поставленной цели, так же принято считать алгоритмом.
Можно утверждать, что алгоритмы – это способ фиксации и передачи знаний, накопленных человечеством, это богатство культуры, науки и техники. Роль алгоритмов в жизни человека весьма многогранна и не сводится только к обработке информации. Однако в процессе обработки информации алгоритмы играют первостепенную роль. Алгоритмы обладают важнейшим качеством – исполнение одного того же алгоритма в одних и тех же условиях различными людьми (в общем случае – исполнителями), как правило, приводит к одинаковым результатам. Следовательно, можно утверждать, что алгоритма обладают (точнее, должны обладать) некоторыми свойствами, которые обеспечивают этот эффект.[6]
Используются различные способы записи алгоритмов. Широко распространен словесный способ записи: это записи рецептов приготовления различных блюд в кулинарной книге, инструкции по использованию технических устройств, правила правописания и многие другие. Наглядно представляется алгоритм языком блок-схем. Компьютер «понимает» только алгоритмы, которые заданы в виде двоичных машинных кодов. Однако этот «естественный» для компьютеров, обладающий всеми свойствами способ записи алгоритмов, очень сложен для использования человеком. Поэтому в информатике применяется ряд специальных способов, языков задания, записи алгоритмов. Которые, во-первых, призваны обеспечить соответствие алгоритма всем необходимым требованиям, во-вторых, приспособлены для их использования как человеком, так и – после специальной обработки – компьютером. Такие искусственные языки, использующие для записи алгоритмов и обеспечивающие им наличие всех необходимых свойств, называются алгоритмическими языками.
Понятие исполнителя алгоритма.
Понятие исполнителя невозможно определить с помощью какой-либо формализации. Исполнителем может быть человек, группа людей, робот, станок, компьютер, язык программирования и т.д. Важнейшим свойством, характеризующим любого из этих исполнителей, является то, что исполнитель умеет выполнять некоторые команды. Так, исполнитель-человек умеет выполнять такие команды как «встать», «сесть», «включить компьютер» и т.д., а исполнитель-язык программирования Бейсик - команды PRINT, END, LIST и другие аналогичные. Вся совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя (СКИ).
На рис.2. рассмотрен исполнитель-робот, работа которого состоит в собственном перемещении по рабочему полю (квадрату произвольного размера, разделенному на клетки) и перемещении объектов, в начальный момент времени находящихся на «складе» (правая верхняя клетка).[4]
Рис.2 Исполнитель-робот.
Одно из принципиальных обстоятельств состоит в том, что исполнитель не вникает в смысл того, что он делает, но получает необходимый результат. В таком случае говорят, что исполнитель действует формально, т.е. отвлекается от содержания поставленной задачи и только строго выполняет некоторые правила, инструкции.