Файл: Международные и отечественные стандарты языков программирования. Сходство и отличия стандартов (Основные международные стандарты и их сопоставление с ГОСТ РФ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 12.03.2024

Просмотров: 14

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Диалоговые языки.

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

В настоящее время его применение снижается. Согласно данным за 2011-13 г.г.:

2011 год – Паскаль – 104, Си++ - 120, Бейсик – 1, Java – 0.

2012 год – Паскаль – 96, Си++ - 133, Бейсик – 1, Java – 6.

2013 год – Паскаль – 59, Си++ - 165,5, Бейсик – 0, Java - 5.

Очевидно, что происходит сокращение использования таких языков как Паскаль, Бейсик, и увеличивается использование Си++, Java.

Паскаль - высокоуровневый язык программирования общего назначения. Один из наиболее известных языков программирования, широко применяется в промышленном программировании, обучении программированию в высшей школе, является базой для большого числа других языков. Был создан Никлаусом Виртом в 1968/9 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Паскаль был создан как язык для обучения процедурному программированию. Название языку дано в честь выдающегося французского математика, физика, изобретателя первой в мире арифметической машины Блеза Паскаля.

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

Считается конкурентом Visual Studio и пока активно используется.

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

Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшей затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой использовались значительные расширения языка.

На основе языка Паскаль в конце 70-х годов был создан язык Ада, названный в честь одарённого математика Ады Лавлейс (Огасты Ады Байрон – дочери поэта Байрона). Именно она в 1843 году смогла объяснить миру возможности Аналитической машины Чарльза Бэббиджа. Язык Ада был разработан по заказу Министерства обороны США и первоначально предназначался для решения задач управления космическими полётами. Этот язык применяется в задачах управления бортовыми системами космических кораблей, системами обеспечения жизнедеятельности космонавтов в полёте, сложными техническими процессами.


Ада —структурный, модульный, объектно-ориентированный язык программирования, содержащий высокоуровневые средства программирования параллельных процессов. Синтаксис Ады унаследован от языков типа Algol или Паскаль, но расширен, а также сделан более строгим и логичным.

Си [C] - Многоцелевой язык программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на миниЭВМ и ПЭВМ. Является базовым языком операционной системы Unix, однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе - Turbo C (фирмы Borland), Microsoft C и Quick C (фирмы Microsoft ), а также Zortech C (фирмы Symantec). Многие из указанных версий обеспечивают также работу с Си и Си++.

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

· Си++ [C++] - Язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США).

· C# (C Sharp) – “ Си Шарп ”: объектно-ориентированный яык программирования, о разработке которого в 2000 г. объявила фирма Microsoft . По своему характеру он напоминает языки C++ и Java и предназначен для разработчиков программ, использующих языки C и С++ для того, чтобы они могли более эффективно создавать Интернет-приложения. Отмечается, что C # будет тесно интегрирован с языком XML

2. Стандарты языков программирования РФ и международные стандарты

2.1. Стандарты РФ

На стандарте программирования РФ основан, например Дракон - ГОСТ 19.701-90 Указанный стандарт относится к принципам составления блок схем и принятым в них обозначениям. и ISO 5807-85 фактически повторяет ГОСТ 19.701-90 и послужил для него основой.

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


ГОСТ Р ИСО/МЭК 12119-2000. (Информационная технология. Пакеты программ. Требования к качеству и тестирование). Стандарт устанавливает требования к пакетам программ, инструкции по испытанию пакета программ на соответствие его установленным требованиям и предназначен для пакетов программ, являющихся объектом продажи и поставки.

ГОСТ 28195:1989 (Оценка качества программных средств. Общие положения.)
Данным стандартом устанавливаются общие положения по оценке качества программных средств вычислительной техники, поставляемых через фонды алгоритмов и программ, номенклатура и применяемость показателей качества программных средств.

ГОСТ Р ИСО/МЭК 9126:1993. (Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению.) 
Настоящий стандарт определяет шесть характеристик, которые с минимальным дублированием описывают качество программного обеспечения. Данные характеристики образуют основу для дальнейшего уточнения и описания качества программного обеспечения.

ГОСТ Р ИСО/МЭК 12207:2000. Информационная технология. Процессы жизненного цикла программного обеспечения.

Базовые российские стандарты в области информационных технологий

ГОСТ Р ИСО/МЭК 12207:2000. Информационная технология. Процессы жизненного цикла программного обеспечения.

ГОСТ Р ИСО/МЭК ТО 15271-2002. Информационная технология. Руководство по применению ГОСТ Р ИСО/МЭК 12207 (Процессы жизненного цикла программных средств).

ГОСТ Р ИСО/МЭК 9126:1993. Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению.

ГОСТ Р ИСО/МЭК 12119-2000. Информационная технология. Пакеты программ. Требование к качеству и тестирование.

ГОСТ Р ИСО/МЭК ТО 9294:1993. Информационная технология. Руководство по управлению документированием программного обеспечения.

ГОСТ Р ИСО 9127:1994. Системы обработки информации. Документация пользователя и информация на упаковке для потребительских программных пакетов.

ГОСТ Р ИСО/МЭК 15910-2002. Информационная технология. Процесс создания документации пользователя программного средства.

ГОСТ Р ИСО/МЭК 15408-1-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 1. Введение и общая модель.

ГОСТ Р ИСО/МЭК 15408-3-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 3. Требования доверия к безопасности.


ГОСТ Р ИСО/МЭК 14764-2002. Информационная технология. Сопровождение программных средств.

ГОСТ Р ИСО/МЭК 15026-2002. Информационная технология. Уровни целостности систем и программных средств.

ГОСТ Р ИСО/МЭК ТО 12182-2002. Информационная технология. Классификация программных средств.

ГОСТ 28195:1989. Оценка качества программных средств. Общие положения

Основной и очевидной особенностью является синхронизация всех указанных стандартов ГОСТ с ISO/IES.

Например, стандарт ГОСТ Р ИСО/МЭК ТО 15271-2002. Информационная технология. Руководство по применению ГОСТ Р ИСО/МЭК 12207 (Процессы жизненного цикла программных средств) содержит обязательные элементы, например, область применения, типичные для стандартов РФ и СССР. В то же время, истолкование значений служебных частей речи ( глаголов shall, should) явно позаимствовано из принципов составления стандартов ISO и ANSI. Детально составлен план Выходных результатов основных процессов ЖЦ (Таблица .1). В конце каждого из сценариев указаны его преимущества и недостатки.

При рассмотрении стандартов СССР , например ГОСТ 22558-89 Язык программирования Кобол очевидно, что его объём (811 стр.) превышает большинство современных стандартов как РФ так и международных, что очевидно связано с особенностями машинно-ориентированного программирования. Стандарт содержит условия об устаревших элементах языка. Стандарт ГОСТ 23057-78 можно отнести к наиболее лаконичным и по подходу напоминающим спецификацию, показанную на рис. 3. Таким образом, часть внутренних стандартов РФ, относящихся к отдельным языкам программирования фактически является спецификациями в понимании современных международных спецификациях и выполняет аналогичную функцию.

2.2. Основные международные стандарты и их сопоставление с ГОСТ РФ.

В качестве основных международных стандартов здесь рассмотрены в основном стандарты ANSI. Они также синхронизированы с ISO/IEC так как США является членом этих организаций. Часть этих стандартов, относящихся к современным языкам, является достаточно объёмными, например Programming languages — C++ webstore.ansi.org/preview-pages/ISO/preview_ISO+IEC+14882-2017.pdf содержит более 1600 страниц с подробным описанием операторов, символов, выражений, классов, шаблонов контейнеров, алгоритмов и библиотек. Два приложения стандарта посвящены вопросам совместимости.


Среди более общих стандартов ISO/IEC TR 24772:2010 - INFORMATION TECHNOLOGY -PROGRAMMING LANGUAGES - GUIDANCE TO AVOIDING VULNERABILITIES IN PROGRAMMING LANGUAGES THROUGH LANGUAGE SELECTION AND USE посвященный избеганию уязвимостей /Vulnerabilities/ при выборе и применении языка программирования в качестве аналога в РФ: НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ Информационная технология

МЕТОДЫ И СРЕДСТВА ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ

Детализация анализа уязвимостей программного обеспечения в соответствии с ГОСТ Р ИСО/МЭК 15408 и ГОСТ Р ИСО/МЭК 18045 , разработанный ООО "Центр безопасности информации"  [http://docs.cntd.ru/document/1200159380]

и ISO/IEC TR 10176:2003 Information Technology - Guidelines For The Preparation Of Programming Language Standards содержащий помимо прочего – рекомендации по выбору процессора, достаточности определений, использовании словарей. Отметим, что общие стандарты значительно короче их аналогов составленных для отдельных языков.

ISO/IEC TR 24733:2011

Information Technology - Programming Languages, Their Environments And System Software Interfaces - Extensions For The Programming Language C++ To Support Decimal Vulnerabilities nm &Floating-Point Arithmetic

составлены для определённого языка.

Со стандартом РФ может быть сопоставлен следующий документ:

ISO/TR 9547:1988 Programming Language Processors - Test Methods - Guidelines For Their Development And Acceptability,

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

Проект стандарта C++, составленный Аккредитованным комитетом по стандартам США, входящим в American National Standards Institute, включает описание большинства команд и подробные определения. Описание организации памяти в стандарте C++ показано на рис. 3. Всего стандарт содержит 27 глав и неограниченное количество пунктов подпунктов. Синтаксис описан в приложении А, допустимое количество команд, условий и параметров в в приложении B, совместимость, перспективы применения и универсальные символы в 3-х последующих приложениях.

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

Рис. 4. Сведения о разработчике и версии спецификации Java

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