Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Первое поколение).pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

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

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

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

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

Данные принципы являются важными, но не обязательными.

Алан Кей, создатель первого объектно-ориентированного языка программирования Smalltalk выделял несколько ключевых положений в определении ООП:

  • все является объектом;
  • любые вычисления реализуются за счет взаимодействия объектов друг с другом. При этом один объект запрашивает выполнение какого-либо действия у другого объекта при помощи отправки сообщений. Сообщение представляет собой запрос на выполнение действия, который сопровождается списком аргументов, необходимых для реализации данного действия;
  • любой объект обладает собственной независимой памятью, состоящей из других объектов;
  • любой объект является экземпляром класса, выражая общие свойства данного класса;
  • класс определяет функциональные возможности объекта. Следовательно, все объекты, принадлежащие одному классу, способны выполнять одни и те же действия;
  • классы представляют собой древовидную структуру с общим корнем. Данная структура называется иерархией наследования. Поведение и память отдельных экземпляров автоматически доступны любым экземплярам, расположенным на нижележащих уровнях иерархии [11].

3. КРИТЕРИИ ВЫБОРА СРЕДЫ И ЯЗЫКА РАЗРАБОТКИ

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

Благодатских В.А. выделяет три больших группы факторов, которые влияют на то, как программные средства, а именно язык и среда разработки, были способны удовлетворять потребности потребителей:

  • функциональные: степень реализации полноты и удобства функций для пользователя;
  • административные: организационная структура;
  • программно-архитектурные: процесс разработки программного средства, выбранные методы и инструменты, а также сама архитектура программного средства [2].

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

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


Основными критериями сред разработки являются:

  • функциональность - способность выполнять те функции, которые удовлетворяют заданные или предполагаемые потребности потребителей;
  • надежность - выполнение заданных функций в определенных условиях без сбоев в работе;
  • эффективность - это отношение уровня услуг к объему используемых ресурсов;
  • легкость применения - степень минимизации усилий, необходимых прикладывать пользователя для подготовки исходных данных, применению программного средства, а также оценке результатов;
  • сопровождаемость - характеристики, позволяющие вносить изменения для устранения возможных ошибок и модернизации программного средства в соответствии с меняющимися запросами потребителей.;
  • мобильность - способность перемещаться из одной среды в другую [5].

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

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

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

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

P( t ) = P(T ≥ t ),

где Т –случайное время работы объекта до отказа;


t –заданная наработка.

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

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

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

Однако наличие тех или иных критерием программы упирается в конечном счете в пользователя или заказчика. В зависимости от требований заказчика, специфики его компании, конечный продукт получается абсолютно уникальным. Не всегда его требования могут вообще быть реализованы. Велика цена ошибки, когда разработчик не понял пожелания заказчика и конечного пользователя. В том числе заказчик может менять свои требования уже в процессе разработки программы. Это формулирует еще одно требование уже непосредственно к разработке программы - она должна происходить в сотрудничестве с пользователем/заказчиком. В тоже время Кознов Д.В. подчеркивает, требования как таковые - это всегда некая абстракция. Однако они всегда представлены в виде некоторой формальной представленности, что помогает разработчикам и пользователям легче понимать друг друга [16].

ЗАКЛЮЧЕНИЕ

В рамках выполнения данной работы рассмотрена тема «Классификация языков программирования».


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

На протяжении всего развития языков программирования четко выделяется ряд тенденций, постоянно сменяющих друг друга и оказывающих влияние на технологии:

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

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

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

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

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

Дальнейшим развитием модулей стало появление объектно-ориентированной технологии.

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

  • функциональные;
  • модульные;
  • объектно-ориентированные.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Берг О.Ю. Метрики оценки качества программного обеспечения // Труды международного симпозиума надежность и качество. - Пенза: Пензенский государственный университет, 2005. - Т.1. - С. 321-322.
  2. Благодатских В.А. Стандартизация разработки программных средств / Благодатских В.А., Волнин В.А., Поскакалов К.Ф. - М.: Финансы и статистика, 2005. - 288 с.
  3. Валова О.В. Программная инженерия. - Чита: Читинский гос. ун-т, 2009. - 175 с.
  4. Захарова А.А. Информатика и программирование: программные средства реализации информационных процессов / А.А. Захарова, Е.В. Молнина, Т.Ю. Черныева. – Томск: Изд-во ТПУ, 2013. – 318 с.
  5. Звездин С.В. Проблемы измерения качества программного кода // Вестник Южно-Уральского государственного университета. Серия: Компьютерные технологии, управление, радиоэлектроника. - 2010. - № 2. - С. 62-66.
  6. Иванова Г.С. Технология программирования. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2014. – 56 с.
  7. Кознов Д.В. Введение в программную инженерию. - М.: Национальный открытый университет «Интуит», 2016. - 307 с.
  8. Константайн Л., Локвуд Л. Разработка программного обеспечения. - СПб: Питер, 2004. - 592 с.
  9. Липаев В.В. Качество программных средств. - М.: Янус-К, 2002. - 400 с.
  10. Макарова Н.В. Основы программирования. - М.: КНОРУС, 2016. - 454 с.
  11. Мухортов В.В. Объектно-ориентированное программирование, анализ и дизайн / В.В. Мухортов, В.Ю. Рылов. – Новосибирск: Изд-во ООО «Новософт», 2012. – 108 с.
  12. Назаров С.В., Белоусова С.Н., Бессонова И.А., Гиляревский Р.С., Гудыно Л.П. Введение в программные системы и их разработку. - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2012. - 456 с.
  13. Назаров С.В. Архитектуры и проектирование программных систем. - М.: ИНФРА-М, 2013. - 413 с.
  14. Новиков Ф.А. Технологические подходы к разработке программного обеспечения. – СПб.: Изд-во ИТМО, 2014. -137 с.
  15. Соловьев С.В. Технология разработки прикладного программного обеспечения / С.В. Соловьев, Л.С. Гринкруг, Р.И. Цой. – М.: БИНОМ, 2012. – 321 с.
  16. Степович-Цветкова Г.С. Стандарты качества компьютерных программ // Наука сегодня. Сборник научных трудов по материалам VII международной научно-практической конференции: в 4 частях. Научный центр «Диспут». - Вологда: ООО «Маркер», 2015. - С. 96-97.