Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Сходство и отличия международных и отечественных стандартов языков программирования

Содержание:

Введение

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

Языки программирования строятся в соответствии с теми или иными базовыми моделями вычислений и парадигмами программирования.

Несмотря на то, что большая часть языков использует императивные модели вычислений, задаваемые фон-неймановской архитектурой компьютеров, разработаны и другие подходы. Существуют языки программирования, использующие стековые вычислительные модели, а также приемы функционального программирования, а также логического программирования, а также существуют языки, основанные на моделях вычислений, введённых советским математиком А. А. Марковым-младшим. В настоящее время активное развитие получают проблемно-ориентированные, декларативные и визуальные языки программирования.

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

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

Задачи работы:

- анализ требований к архитектуре языков программирования;

- классификация языков программирования;

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

- сравнительная характеристика рассмотренных стандартов.

Объект исследования: языки программирования.

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

Глава 1. Общая характеристика стандартов языков программирования

1.1 Общие требования к стандартизации языков программирования

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

Государственные стандарты регламентируют технологии развития программирования и представляют обязательные к использованию рекомендации по их соблюдению. Кроме государственных стандартов (ГОСТ), регламентирующих процесс разработки программ и архитектуру языков программирования, действуют отраслевые стандарты (ОСТ), стандарты предприятий (СТП).

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

Кроме вышеизложенных стандартов фактически используются стандарты де-факто. Установка многих стандартов де-факто производится ведущими компаниями-разработчиками программного обеспечения и производителями вычислительной техники. Стандарты де-факто разрабатываются на базе идей какой-то базовой разработки. Выгодно разрабатывать продукты в стиле, сходном с успешной реализацией программного продукта в сходной предметной области. Например, для пользователей, имеющих навыки работы с системой документооборота «Lotus», табличными и текстовыми процессорами, бухгалтерским ПО семейства «1С: Предприятие» разработку прикладных решений эффективно производить с соблюдением требований к интерфейсу, сходных с указанными системами. Обычно в качестве стандарта де-факто рассматриваются используемые операционные системы, трансляторы с языков программирования, системы организации файлов и средний уровень качества, который достигается по окончании процесса тестирования программ. Для конкретных разработчиков выгодно следование указанным стандартам.

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

Целью стандартизации является всеобщая унификация и взаимозаменяемость, что в некоторых случаях может создавать помехи развитию. При вводе нового стандарта, необходимо проводить учёт последствий ввода, особенно если данный стандарт - опережающий и разработан на перспективу. Если стандарт достаточно «узок» и тормозит развитие систем программирования, то необходимо проводить оценку возможностей его расширения. Повсеместно принято следующее отношение к стандартам: либо необходимо полное соответствие стандарту, либо разработка собственного стандарта. Наличие любого стандарта предполагает наличие дополнительных ограничений.

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

1.2. Описание основных характеристик языков программирования

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

В настоящее время существует около трёх тысяч языков программирования. Ежегодно их количество возрастает. Некоторые языки программирования используются только небольшим числом их разработчиков, другие языки становятся известными миллионам разработчиков. Профессиональные разработчики иногда используют в своей работе свыше десятка разнообразных языков программирования. Создатели языков по-разному трактуют понятие «язык программирования». Наиболее распространёнными утверждениями, признаваемыми большинством разработчиков, являются [10]:

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

Задачи: отличие языков программирования от естественных языков связано с тем, что они предназначены для передачи команд и закодированной информации от человека к компьютеру, при этом естественные языки используются при общении людей между собой. Необходимо обобщить определение «языки программирования» как метода, используемого для передачи команд, приказов, чётких руководств к действию; при этом человеческие языки используются также при обмене информацией.

Исполнение: языки программирования могут использовать наборы специальных конструкций при определении и манипулировании структурированными данными и управлением вычислительными процессами.

Рассмотрим общие характеристики языков программирования.

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

В распространенных языках программирования имеются возможности поддержки систем программирования, которые позволяют проводить создание программ, работающих в определенных операционных системах. Более современные системы программирования разрабатываются на языке Java, они позволяют проводить создание программ, вызываемых при просмотре Web-страниц в глобальной электронной сети Internet.

Особый класс систем программирования предполагает разработку приложений с клиент-серверной архитектурой. Данные системы позволяют быстро создавать информационные системы для подразделений и даже крупных предприятий. В них содержатся средства для создания пользовательских интерфейсов, описания процедур по обработке информации, заготовок для исполнения типовых действий, связанных с обработкой данных и т.д. Данные системы, как правило, позволяют работать с самыми различными форматами СУБД — Oracle, Microsoft SQL Server и др [4, c. 90].

Проведем описание формализованных языков, предназначенных для описания программ и алгоритмов решения задач на с использованием компьютерной техники. Языки программирования созданы искусственно, их синтаксические и семантические конструкции являются строго определенными. В силу этого, в них не допускаются свободные толкования выражений, что характерно для естественных языков. Существует разделение языков программирования на две категории: языки высокого уровня и языки низкого уровня [2, c.45].

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

Языки низкого уровня предназначены для определенного типа компьютеров и отражают его внутренние машинные коды.

Основными классами языков программирования являются [7]:

  • Функциональный;
  • Процедурный;
  • Стековый;
  • Векторный;
  • Декларативный;
  • Стеково-ориентированный;
  • Динамический;
  • Учебный;
  • Прототипный;
  • Объектно-ориентированный;
  • Рефлективный;
  • Параллельный;
  • Скриптовый;
  • Эзотерический.

Выводы по разделу

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

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

Глава 2. Характеристика стандартов языков программирования

2.1. Отечественные стандарты языков программирования

Проведем обзор отечественных стандартов языков программирования.

  1. ГОСТ 28397-89 (ИСО 2382-15-85) Языки программирования. Термины и определения

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

Термины, которые установлены в данном стандарте, являются обязательными для использования в документации и источниках всех видов, которые относятся к сфере работ в области стандартизации или используют результаты данных работ.

Данный стандарт должен использоваться совместно со стандартами ГОСТ 15971 и ГОСТ 20886.

  1. ГОСТ 20886-85

В данном стандарте устанавливаются требования, используемые в научных исследованиях, областях техники и производства. Описывается терминология и определения, основные понятия в области организации данных в системах обработки информации [14].

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

Каждому понятию ставится в соответствие единый стандартизованный термин. Использование терминов, являющихся синонимами стандартизованного термина запрещено [13].

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

  1. ГОСТ 19781-90. Обеспечение систем обработки информации

Специализированные ГОСТы для языков программирования [9]:

ГОСТ 27975-88 Язык программирования АЛГОЛ 68 расширенный

Данный стандарт распространен на программы, разработанные на языке программирования «Алгол 68 расширенный», его варианты.

ГОСТ 23057-78 Язык программирования Базисный Фортран

ГОСТ 27787-88 Язык программирования БЕЙСИК

ГОСТ 22558-89 Язык программирования Кобол

ГОСТ 23056-78 Язык программирования Фортран

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

2.2. Международные стандарты языков программирования

Для многих широко распространённых языков программирования созданы международные стандарты. Специальными организациями проводятся регулярные обновления и публикации спецификаций и формальные определения для соответствующих языков. В таких комитетах разрабатываются и модернизируются языки программирования и проводится решение вопросов, связанных с расширением или поддержкой уже существующих и новых языковых конструкций [8].

Основными стандартами языков программирования являются [3]:

  1. Частные стандарты, определяемые командами разработчиков языка программирования и имеющие на них авторские права.
  2. Согласительные стандарты, проводящие создание специальных организационных документов, которые основаны на соглашении всех заинтересованных участников. Данные стандарты являются способом по обеспечению единообразия различных языковых форм.
  3. Стандарты ANSI разработаны объединением американских промышленных и деловых групп, разрабатывающих торговые и коммуникационные стандарты.
  4. Стандарты IEEE разработаны международной некоммерческой ассоциацией специалистов в области техники, являющейся мировым лидером в области разработки стандартов в области радиоэлектроники и электротехники.

Одним из наиболее распространенных международных стандартов языков программирования является ANSI C.

Данный стандарт не относится непосредственно к UNIX. Но в силу того, что язык программирования C является базовым как для данного семейства, так и для других операционных систем, проведем анализ данного стандарта. Данный стандарт имеет название K&R.

Однако промышленный стандарт языка программирования С был выпущен в 1989 году ANSI и имел наименование X3. 159 – 1989.

Данный стандарт был разработан для совершенствования процесса переносимости разработанных на языке Си программ между различными типами операционных систем. Таким образом, в стандарте, кроме синтаксиса и семантики языка Си, имеются рекомендации по содержанию стандартной библиотеки. О наличии поддержки стандарта ANSI C говорит предопределенное символьное имя _STDC".

Основными версиями стандартов языка программирования Си являются: С89, С90, С99, С11, С++17.

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

Приведем краткое описание актуального стандарта программирования С++17.

  • Реализованы новые методы вставки для операторов std::map и std::unordered_map;
  • Реализована система унифицированного доступа к размеру контейнеров std::size();
  • Реализован набор библиотек файловой системы, основанный на boost::filesystem;
  • Разработаны параллельные версии алгоритмов типа STL;
  • Введен набор некоторых математических функций;
  • Проведено расширение большой части экспериментальной библиотеки TS I.
  • Введены требования к новому синтаксису для распаковки пар, кортежей и прочих типов, проведена реализация команд std::get. Например: auto x = std::make_tuple(4,6,7); auto [a,b,c] = x;
  • Разработаны алгоритмы инициализации переменных в конструкции в if и switch. Например: if(auto a = getA(); a.isValid()) {}
  • Реализован сервис автоматического вывода аргументов шаблона класса; также введена поддержка ручного указания правил вывода.

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

В стандарте введены запреты нескольких редких возможностей, имеющихся в стандартной библиотеке:

  • allocator<void> — вследствие невостребованности;
  • удаление части функций allocator — из-за дублирования allocator_traits;
  • raw_storage_iterator — не производит вызов конструкторов и потому имеет ограничение по сфере использования;
  • get_temporary_buffer — ввиду наличия ошибок реализации алгоритмов;
  • is_literal_type — ввиду неэффективности использования в обобщённом коде, введен термин литерального типа;
  • iterator — ввиду неэффективности использования при написании итераторов;
  • codecvt — из-за ошибок в использовании, замещен специализированными библиотеками;
  • shared_ptr::unique() — вследствие ненадёжности при работе многопоточной среде.

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

Выводы по разделу

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

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

Глава 3. Сравнение отечественных и международных стандартов языков программирования

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

G:\стандарты.png

Рисунок 1 - Перечень стандартов языков программирования

Международный стандарт ISO/IEC/IEEE 16326:2009 «Системы и разработка программного обеспечения. Процессы жизненного цикла. Управление проектом» уточняет и дополняет положения международного стандарта ISO/IEC 12207-99 в части технологии управления проектами. Перечень рекомендаций данного стандарта [19]:

  • определение общих рекомендаций разработки ПО по использованию работ процесса разработки;
  • возможность использования в процессе разработки для каждого из процессов;
  • определение ключевых вопросов, относящихся к проекту в целом;
  • описание инструкций в части определения и описания общепризнанных подмножеств языков программирования. Общее признание предполагает, что описанные знания и опыт использованы во многих проектах имеется единодушное признание их значимости и полезности;
  • ISO 10006 в части рекомендаций по реализации основных концепций, элементов и опыта применения систем качества, влияющих на практику разработки программ [17].

ГОСТ 34.003-90 «Автоматизированные системы. Термины и определения» [16]. В данном стандарте установлены термины и определения в области проектирования автоматизированных систем (АС) и распространены на системы, используемые в различных областях деятельности (связанных с управлением, исследованием, проектированием и т.п., включая их сочетание), содержанием которых является обработка данных [18].

ГОСТ Р ИСО/МЭК 9126-93 «Характеристики качества и руководства по их применению» [2]. В настоящем стандарте определяются характеристики, которые с минимальным дублированием описывают качественные характеристики программного обеспечения. Указанные характеристики служат основой для дальнейшего уточнения и описания качественных характеристик программного обеспечения. Стандарт описывает использование качественных характеристик для оценки разработанного программного обеспечения. В данном стандарте не определяются подхарактеристики (комплексные показатели) и параметры, а также методы измерений, ранжирования и оценивания. Указанный стандарт определяет качественные характеристики по стандарту ИСО 8402. Определения характеристик и соответствующая модель процесса оценки качества, приведенные в настоящем стандарте, применимы тогда, когда определены требования для программной продукции и оценивается её качество в процессе жизненного цикла. Эти характеристики могут применяться к любому виду программного обеспечения, включая программы ЭВМ и данные, входящие в программно-технические средства (встроенные программы). Настоящий стандарт предназначен для характеристик, связанных с приобретением, разработкой, эксплуатацией, поддержкой, сопровождением или проверкой программного обеспечения.

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

1. Наличие функциональных возможностей

2. Характеристики надежности.

3. Удобство пользовательского интерфейса

4. Параметры эффективности (Efficiences).

5. Возможности сопровождения.

6. Наличие сервисов мобильности.

В рамках данного стандарта оценка качества должна производиться применительно ко всем работам, связанным с использованием языков программирования в процессе планирования качественных показателей ПС, осуществлении контроля качества в процессе разработки, проведения проверки эффективности модификации ПС в рамках сопровождения. Стандартом ГОСТ 28195–99 рекомендован метод оценки обобщенного качества программного обеспечения, основанный на иерархической модели качества.

ГОСТ 28195–99 предлагается следующая терминология для показателей качества разработки с помощью языков программирования на уровнях [10]:

  • уровень 1 – качественные факторы;
  • уровень 2 – качественные критерии;
  • уровень 3 - метрики;
  • уровень 4 – описание оценочных элементов или единичных показателей.

Вывод по разделу

Рассмотрев российские и международные стандарты языков прогрммирования были сделны выводы:

- российские ГОСТ - стандарты, регламентирующие процесс разработки программ с использованием языков программирования, разработаны на основе стандартов IEEE, ISO;

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

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

Заключение

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

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

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

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

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

Список использованных источников

  1. Егоров А. Н., Крупенина Н. В. Языки программирования: [учебное пособие] / А. Н. Егоров, Н. В. Крупенина. - Санкт-Петербург : ГУМРФ, 2014. - 240 с
  2. Ключко В.И. Теория языков программирования и методы трансляции : учебное пособие / В. И. Ключко, А.В. Власенко, Н.В. Кушнир, А.В. Кушнир. - Краснодар : КубГТУ, 2014. - 147 с.
  3. Гагарина, Л.Г. Стандарты разработки программного обеспечения: Учебное пособие / Е.Л. Румянцева, В.В. Слюсарь; Под ред. Л.Г. Гагариной. - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 256 с.
  4. Затонский, А.В. Информационные технологии: разработка информационных моделей и систем: Учеб. пос. / А.В.Затонский - М.: ИЦ РИОР: НИЦ ИНФРА-М, 2014 - 344с.
  5. Карпузова, В.И. Информационные технологии в менеджменте: Учебное пособие / В.И. Карпузова, Э.Н. Скрипченко, К.В. Чернышева, Н.В. Карпузова. - 2-e изд., доп. - М.: Вузовский учебник: НИЦ ИНФРА-М, 2014.
  6. Черников, Б.В. Информационные технологии управления: Учебник / Б.В. Черников. - 2-e изд., перераб. и доп. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2014. - 368 с.
  7. Кетков Ю. Л. Введение в языки программирования C и C++ [Электронный ресурс] / Кетков Ю. Л.,. - 2-е изд. - 2016. - 291 с
  8. Дадян, Э.Г. Современные базы данных. Часть 2: практические задания: Учебно-методическое пособие / Дадян Э.Г. - М.:НИЦ ИНФРА-М, 2017. - 68 с
  9. Гвоздева, В.А. Базы и банки данных [Электронный ресурс] / В.А. Гвоздева. - М.: Альтаир-МГАВТ, 2015, - 76 с.
  10. Хлесткин А. Ю., Солодов А. Г., Коваленко Т. А. Машинно-зависимые языки программирования : учебное пособие / Хлесткин А.Ю., Солодов А.Г., Коваленко Т.А. - Самара, 2016. - 123 с.
  11. Колдаев, В.Д. Структуры и алгоритмы обработки данных: Учебное пособие / В.Д. Колдаев. - М.: ИЦ РИОР: НИЦ ИНФРА-М, 2014. - 296 с.
  12. Коннолли Т., Бегг К. Базы данных: проектирование, реализация и сопровождение: теория и практика. - Москва: Вильямс, 2017. - 1439 с.
  13. Зайцев А.В. Информационные системы в профессиональной деятельности [Электронный ресурс]: Учебное пособие. - М.: РАП, 2013. - 180 с.
  14. Коряковский А.В. Информационные системы предприятия: Учебное пособие. - М.: НИЦ ИНФРА-М, 2016. - 283 с.
  15. Титоренко Г.А. Информационные системы в экономике/ 2-е изд. - М.: ЮНИТИ-ДАНА, 2015. - 463 с.
  16. Боровская Е.В. Программирование в среде Delphi - 3-е изд., (эл.) - М.: БИНОМ. ЛЗ, 2015. - 241 с.
  17. Медведев М.А. Разработка информационных систем. Учебное пособие. - М.:Флинта, Изд-во Урал. ун-та, 2017. - 64 с.
  18. Шипулин Л. В., Сазонова Н. С. Базы данных: учебное пособие. - Челябинск : ЮУрГУ, 2016. - 96 с.
  19. Гриффитс Д., Гриффитс Д. Изучаем программирование на С : [перевод с английского] / Дэвид Гриффитс, Дон Гриффитс. - Москва : Эксмо, 2016. - 621 с.
  20. Кауфман В.Ш. Языки программирования. Концепции и принципы [Электронный ресурс] / В.Ш. Кауфман. - Саратов : Профобразование, 2017. - 464 c