Добавлен: 11.03.2024
Просмотров: 4
Скачиваний: 0
Содержание:
ВВЕДЕНИЕ
Компьютерные технологии сначала развивались постепенно, и это достаточно сложно представить, учитывая современные темпы развития общества. Тем не менее, все новшества, которые сегодня являются неотъемлемой частью жизни человечества, были изобретены, улучшены и внедрены не за один день. К таким технологиям также относятся и персональные компьютеры, и смартфоны, и другие современные гаджеты. Их использование было бы невозможно, если бы в свое время не был изобретен пользовательский интерфейс. Соответственно, менялись и развивались и другие аспекты информационных и компьютерных технологий, и сегодня мы можем структурировать историю развития программирования и рассматривать ее в упорядоченном виде.
Следует отметить, что развитие программирования в России и в мире происходило по-разному, но, в то же время, началось примерно одновременно – в 50х годах прошлого века. Рассматривающееся первоначально как средство оптимизации различных военных и промышленных задач, программирование развивалось и распространяло сферы своего влияния.
Следовательно, цель работы – рассмотрение истории развития программирования в России. Для достижения данной цели следует выполнить следующие задачи:
- охарактеризовать основные понятия программирования;
- рассмотреть этапы программирования;
- описать историю развития программирования в мире;
- изучить историю развития программирования в России.
Объект работы – процесс программирования, в предмет – история развития программирования в России.
Теоретической и методологической основой для работы являются результаты изысканий известных авторов, исследующих проблему программирования и в частности – его развития в России. Это работы таких авторов как Васильев П. П., Зыков С. В., Ишкова Э. А. Павловская Т. А. и др.
Структура работы состоит из следующих элементов:
- введение;
- 1 глава: два параграфа;
- 2 глава: два параграфа;
- заключение;
- список использованных источников.
Общий объем – 26 страниц.
1. Понятие программирования
1.1 Основные понятия программирования
Перед углублением в историю программирования рассмотрим его основные понятия.
Программирование представляет собой особый раздел информатики, который изучает методы и приемы составления программ для компьютеров. Также под программированием понимают процесс подготовки задачи к решению ее на компьютере.
Программа – это последовательность команд, понятных компьютеру. Запись программы осуществляется в виде последовательности символов, в частности – символов кириллицы и, в первую очередь, – латиницы. Также в качестве символов используются знаки пунктуации и различных вычислительных операций.
В числе основных свойств программ можно выделить следующие:
- выполнимость. Представляет собой возможность выполнения программы на определенном типе компьютеров;
- мобильность. Мобильность подразумевает наличие возможности переноса программы на другой тип компьютеров;
- корректность. Корректность программы представляет собой верность результатов, которые получаются при помощи данной программы;
- эффективность. Является свойством программы, характеризующимся такими показателями как оперативность выполнения при низких ресурсных затратах компьютера [15].
К программам предъявляются следующие требования:
- минимальные требования к компьютеру, на котором работает программа – низкое потребление ресурсов компьютера;
- доступность и «читаемость» входных и выходных данных и простота программы;
- минимальное время создания программы и простота ее изменения;
- минимальное время работы программы, минимум занимаемой памяти и минимум использованных в программе операторов [15].
В ключе данного исследования также целесообразно рассмотреть такое понятие как язык программирования, представляющий собой специализированный язык, созданный для записи программ для компьютеров и других вычислительных устройств. Язык программирования есть совокупность средств и правил представления алгоритма в виде, который будет приемлем для вычислительного средства.
Сегодня выделяют следующие типы языков программирования:
- машинные;
- машинно-ориентированные;
- алгоритмические;
- логические;
- функциональные;
- учебные;
- инструментальные;
- диалоговые;
- графические и т.д. [9]
Рассмотрим некоторые категории, общие для всех языков программирования.
Оператор представляет собой выражение, которое обозначает и описывает определенную операцию.
Система программирования – это набор средств ввода, редактирования, трансляции и выполнения программ на ЭВМ.
Транслятор представляет собой специализированную совокупность программ, которые обеспечивают перевод программы в понятный для вычислительного средства вид.
Компилятор представляет собой специфическую модификацию транслятора, которая обеспечивает перевод программы в понятный для вычислительного средства вид без ее выполнения. Иначе говоря, компиляторы призваны осуществлять проверку, «пробу» программы.
Также есть еще одна разновидность транслятора – это интерпретатор. Данное средство обеспечивает перевод каждой конструкции алгоритмического языка в машинные команды и одновременное выполнение этой конструкции в вычислительном средстве. Каждый язык/система программирования обладает своим транслятором, компилятором и интерпретатором [9].
Одно из основных понятий программирования – алгоритм. Алгоритм представляет собой описание последовательности операций. Данная последовательность направлена на решение определенной задачи, которая стоит перед программированием. Основным свойством алгоритма считается дискретность. Каждый алгоритм реализуется в виде последовательности операций.
Операция представляет собой действие, ограниченное по времени, которое выполняется над определенными объектами – операндами. Следовательно, операнды представляют собой объекты, которые принимают участие в выполнении операции. В то время как оператор является описанием операции. Любой алгоритм состоит из операторов [3].
1.2 Этапы программирования
Профессиональное программирование подразумевает, что результатом труда, – программным продуктом, – будет пользоваться определенный круг людей, пользователей. На этапе разработки программы, в которой может участвовать группа людей, пользователей представляет Заказчик.
Для выполнения задачи создания и эксплуатации программного обеспечения ее разбивают на определенные этапы:
1. Постановка задачи.
2. Составление алгоритма.
3. Составление и ввод программы.
4. Отладка и тестирование программы.
5. Сопровождение программного продукта [20].
Создание любой программы начинается с постановки задачи. Изначально задача ставится в терминах некоторой предметной области, и необходимо перевести ее в понятия и выражения, более близкие к программированию. Поскольку программист первоначально редко досконально разбирается в предметной области, а Заказчик – в программировании, то постановка задачи может стать весьма непростым итерационным процессом.
Постановка задачи заканчивается созданием технического задания, а затем и внешней спецификации программы, которая включает в себя:
1. Описание исходных данных и результатов (виды, представление, точность, ограничения и т.п.).
2. Описание задачи, реализуемой программой.
3. Способ обращения к программе.
4. Описание возможных особых и аварийных ситуаций и ошибок пользователя. На этом этапе программа рассматривается как «черный ящик», для которого определяется выполняемая им функция, входные и выходные данные. Каким образом достигается выполнение функций, здесь не указывается.
На втором этапе разрабатываются алгоритмы, задаваемые спецификациями, и формируется (проектируется) общая структура программ [3]. Здесь обычно применяется технология нисходящего проектирования с использованием метода пошаговой детализации. То есть сначала составляется укрупненный алгоритм в самом общем виде.
Затем уточняются шаги (блоки) с более подробным описанием. На этом этапе описания производятся на языке, понятном человеку, используя определенную форму записи алгоритма. В программировании широко используется графическая форма записи в виде блок–схем или граф–схем.
Третий этап как раз и является непосредственно программированием на языке, понятном ЭВМ. По своей сути третий этап является продолжением второго, так как программа тоже есть форма записи алгоритма с максимальной степенью детализации, – программная.
Четвертый этап подразумевает устранение всех ошибок и недопониманий, возникших на предыдущих этапах. Человеку свойственно ошибаться, поэтому четвертому этапу уделяется много внимания. Существуют самые разнообразные методы и рекомендации по тестированию и отладке. Необходимо различать эти два понятия.
Тестирование представляет собой процесс, посредством которого проверяется правильность функционирования программы и соответствие всем проектным спецификациям. В частности, для этих целей создается набор тестов.
Отладка – процесс исправления ошибок в программе. Так, при отладке исправляются синтаксические ошибки, алгоритмические, ошибки, обнаруженные при тестировании и другие.
Пятый этап наступает, когда программный продукт сдан в эксплуатацию (или начались его продажи). Здесь так же возможно обнаружение не найденных на этапе тестирования ошибок, – их необходимо локализовать и исправить. Кроме этого, возможно изменение свойств программы для удобства эксплуатации: элементов интерфейса, некоторых функций и т.д. Казалось бы, пятый этап самый простой. Но ему отводится самая большая часть затрат времени и средств: до половины и более. Все эти этапы разработки и сопровождения программного продукта, включая завершение поддержки эксплуатации, составляют жизненный цикл программы [3].
Возможно и другое деление на этапы [1] с приблизительным делением по времени реализации, как указано на рис. 1:
1. Анализ требований.
2. Определение спецификаций.
3. Проектирование.
4. Кодирование.
5. Автономное тестирование.
6. Комплексное тестирование.
Рис. 1 Распределение этапов программирования
Временные затраты на реализацию этапов цикла разработки программного обеспечения (за исключением этапа эксплуатации и сопровождения) [1] На последний же этап эксплуатации и сопровождения объемных программных продуктов отводится более половины времени: до 67% от общего времени жизненного цикла.
Классическим называется следующий набор технологических этапов (процессов) [11]:
1. Возникновение и исследование идеи
2. Управление
3. Анализ требований
4. Проектирование
5. Программирование
6. Тестирование и отладка
7. Ввод в действие
8. Эксплуатация и сопровождение
9. Завершение эксплуатации
Процессы жизненного цикла программного обеспечения определены международным стандартом ISO 12207 [ISO/IEC 12207:1995] и делятся на три группы (без привязки ко времени) [7]:
Основные процессы:
- приобретение,
- поставка,
- разработка,
- эксплуатация,
- сопровождение. ·
Вспомогательные процессы:
- документирование,
- управление конфигурацией,
- обеспечение качества,
- верификация,
- аттестация,
- совместная оценка,
- аудит,
- разрешение проблем. ·
Организационные процессы:
- управление,
- создание инфраструктуры,
- усовершенствование,
- обучение.
В первой главе работы рассмотрены основные понятия и категории, на которых основывается программирование вне зависимости от выбранного языка, типа и платформы разрабатываемого программного продукта. Определено, что на настоящий момент развития науки, выделены некоторые универсальные категории, которые являются универсальными для всех языков программирования. В частности, это такие понятия как алгоритм, транслятор, операция и т.д.
Кроме того, в данной главе были рассмотрены различные подходы к выделению этапов программирования. Этапы программирования также формировались на протяжении определенного времени и переживали различные изменения. Причем изменения эти вызваны различными факторами, среди которых, в первую очередь, сам процесс развития и усложнения технологий. В связи с этим на сегодняшний день сформировалось несколько подходов к выделению этапов программирования. На практике наиболее подходящий порядок разработки программы выбирается сообразно целям программирования и ожидаемым результатам.