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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 19.12.2017
Размер файла 973,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

Кузнецов Максим Андреевич

магистрант, кафедра информатики, Санкт-Петербургский государственный экономический университет, г. Санкт-Петербург, Российская Федерация

Аннотация

программный обеспечение язык иерархия

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

Ключевые слова: информационные технологии, objective-c, swift, средства разработки, метод анализа иерархии

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

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

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

Цель исследования

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

Альтернативы исследования

В качестве системы для разработки будет рассматриваться операционная система MacOS, которая имеет ряд преимуществ перед аналогами. На данный момент при разработке под эту систему существует два альтернативных языка: Objective-C и Swift. Каждый обладает своими положительными и отрицательными качествами.

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

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

Такой же логике следует и Swift, язык, который пришел на смену Objective-C. Этот язык был создан компанией Apple для разработки их продуктов. Он имеет другой синтаксис, другие конструкции, другие правила. Это совершенно иной инструмент разработки, которому многие специалисты пророчат светлое будущее [7]. Данный язык разрабатывался в течение 4 лет одним из сотрудников Apple, чтобы быстро завоевать себе массу поклонников. На данный момент все силы Apple брошены на усовершенствование и развитие этого языка. Синтаксис, в отличие от Objective-C, был написан с нуля, а значит, теперь нет зависимости от развития C. Это совершенно новый инструмент разработки.

Критерии исследования

Попробуем выделить основные критерии, по которым будет производиться выбор языка программирования для разработки программы.

Читаемость языка. В отличие от Objective-C, Swift не построен на C. Поэтому у него отсутствуют специальные обозначения ключевых слов, чтобы отличаться от него. Вместо этого он может объединить все ключевые слова и удалить повторяющиеся символы перед каждым типом или связанным с объектом ключевым словом.

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

По мнению многих программистов JavaScript, Java, C# Swift является более читаемым, что облегчает работу с ним. Он имеет упрощенный синтаксис и грамматику. В результате Swift является совершенно новым, чистым и выразительным языком, более простым для понимания разработчиками.

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

В Swift это требование попросту отсутствует. Теперь файл-заголовок и файл реализации объединены в одном файле кода с расширением .swift.

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

Управление памятью. Программисту не приходится задумываться о памяти для цифровых объектов, которые он создает. Потому что автоматический подсчет ссылок (ARC) обрабатывает все управление памятью во время компиляции кода. Это происходит потому что ARC в Swift работает и на процессуальном и на объектно-ориентированном коде, и теперь не нужно контекстных переходов для программистов, даже если они пишут код, который рассчитан на более старые API[1]. Это является проблемой для текущей версии Objective-C.

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

Скорость работы. Удаление устаревших соглашений намного улучшило движок Swift. Многочисленные тестирования производительности кода указывают на то, что Apple всерьез занимается улучшением скорости работы приложений на Swift. В то время как скорость обработки данных на Objective-C осталась на прежнем уровне C.

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

Что касается Objective-C, то он дальнейшего развития не получает. Apple сконцентрировалась только на работе над Swift. Это стабильный продукт, от которого не приходится ожидать кардинальных изменений.

Поддержка динамических библиотек. Самое большое нововведение в Swift - это переход от статических библиотек, которые обновляются только при крупных обновлениях, к динамическим библиотекам, которые присоединяются к готовому приложению и получают развитие не с обновлением всего проекта, а с изменениями этих библиотек [2]. В Objective-C работа происходила только со статическими библиотеками, что увеличивало объем конечного приложения.

Ниже представлена сводная таблица 1:

Таблица 1 - Сводная таблица критериев и языков

Критерии

Читаем.

Поддерж.

Память

Докум.

Скор.

Законч.

Библиот.

Язык

Objective-C

2

2

2

1

2

1

2

Swift

1

1

1

2

1

2

1

Использование метода анализа иерархий Т.Саати в СППР Выбор при выборе языка программирования для разработки программы

Суть методики анализа иерархии? Т. Саати состоит в том, что в процессе попарного сравнения альтернатив выбирается наиболее оптимальная [5].

Рассматриваемая задача представлена в виде иерархической структуры выбора инструментов для разработки мобильного приложения «Цель > Критерии > Альтернативы» на рисунке 1.

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

Суждения исследования

В соответствии со шкалой субъективных суждении? сравнения критериев выделяются наиболее значимые и важные критерии, составляется список суждении?.

Таблица 2 - Шкала субъективных суждений сравнения критериев

Значение

Определение

1

A и B одинаково важны

3

А незначительно важнее, чем B

5

A значительно важнее B

7

A явно важнее B

9

A по своей значительности абсолютно превосходит B

2, 4, 6, 8

Промежуточные значения

Можно выделить следующие субъективные суждения:

Читаемость значительно превосходит поддержку и абсолютно превосходит память;

Скорость существенно превосходит читаемость и библиотеки;

Законченность умеренно превосходит читаемость, скорость и поддержку;

Память значительно превосходит поддержку;

Документация умеренно превосходит поддержку и память;

Скорость умеренно превосходит поддержку, память и документацию;

Поддержка существенно превосходит библиотеки;

Память умеренно превосходит законченность и библиотеки;

Читаемость умеренно превосходит документацию и библиотеки;

Документация существенно превосходит библиотеки;

Законченность значительно превосходит библиотеки и документацию.

2. Матрицы попарных сравнений

Матрицы попарных сравнений были составлены при помощи программного продукта СППР Выбор[6], там же были определены значения следующих показателей:

собственного значения матриц (л),

индекса согласованности (ИС),

отношения согласованности (ОС).

Представим матрицу сравнений критериев выбора инструментов для разработки мобильного приложения - рисунок 2. Матрицы попарных сравнений альтернатив инструментов для разработки мобильного приложения по всем критериям представлены на рисунках 3-9.

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

Рис. 3. Матрица попарных сравнений альтернатив языков по читаемости

Рис. 4. Матрица попарных сравнений альтернатив языков по поддержке

Рис. 5. Матрица попарных сравнений альтернатив языков по управлению памятью

Рис. 6. Матрица попарных сравнений альтернатив языков по документации

Рис. 7. Матрица попарных сравнений альтернатив языков по скорости работы

Рис. 8. Матрица попарных сравнений альтернатив языков по законченности

Рис. 9. Матрица попарных сравнений альтернатив языков по поддержке динамических библиотек

Рис. 10. Результат вычислений в виде круговой диаграммы

В итоге мы получили результат вычислений в виде диаграммы рис. 10, из которой видно, что для разработки оптимальным вариантом, удовлетворяющим всем критериям выбора, является язык программирования Swift с комбинированным весовым коэффициентом равным 0,397.

Список литературы

1. Вандад Нахавандипур. iOS. Разработка приложений для iPhone, iPad и iPod. СПб.: Питер, 2013. -- 864 с.

2. Дж. Конвэй, А. Хиллегасс. Программирование под iOS. Для профессионалов. СПб.: Питер, 2013. -- 608 с.

3. Граничин О. Н., Кияев В. И. Информационные технологии и системы в современном менеджменте. СПб.: Изд-во СПбГУ-ВВМ, 2014. -- 897 с.

4. Гусева Д.В., Витовтов В.А., Кириленко Т.А. Перспективы применения метода анализа иерархий при совершении спортивных ставок // Nauka-rastudent.ru. - 2016. - № 02 (26) / [Электронный ресурс] - Режим доступа. - URL: http://nauka-rastudent.ru/26/3218/

5. Саати Т. Принятие решении?. Метод анализа иерархии?. М.: Радио и связь. 1993. - 278 с.

6. Система поддержки принятия решении? (СППР) "Выбор" [электронныи? ресурс]. URL: http://www.ciritas.ru/product.php?id=10

7. SwiftBook Справочник языка Swift, [Электронный ресурс] - Режим доступа. - URL: http:// http://swiftbook.ru/

Размещено на Allbest.ru

...

Подобные документы

  • Решение задач нелинейного программирования различными методами для проведения анализа поведения этих методов на выбранных математических моделях. Компьютерная реализация выбранных задач нелинейного программирования в среде пакетов Excel и Matlab.

    дипломная работа [2,9 M], добавлен 25.01.2013

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

    курсовая работа [400,6 K], добавлен 10.11.2016

  • Цели и задачи дисциплины "Технология программирования". Программные средства ПК. Состав системы программирования и элементы языка. Введение в систему программирования и операторы языка Си. Организация работы с файлами. Особенности программирования на С++.

    методичка [126,3 K], добавлен 07.12.2011

  • Основные концепции языков программирования, механизмы типизации данных. Описание языков программирования и методов трансляции. Конечные автоматы и преобразователи. Общие методы синтаксического анализа. Формальные методы описания языкового перевода.

    курс лекций [5,5 M], добавлен 04.12.2013

  • Оптимизационная задача линейного программирования. Виды задач линейного программирования. Принятие решений на основе количественной информации об относительной важности критериев. Выбор средств разработки. Программный комплекс векторной оптимизации.

    дипломная работа [1,3 M], добавлен 27.03.2013

  • Ознакомление с ситуацией распространения на рынке языков программирования. Определение плюсов и минусов Pascal, C++, VBA. Сравнение и анализ синтаксиса программ на основе одной задачи. Выявление лучшего языка для освоения первоначальных навыков.

    курсовая работа [1022,0 K], добавлен 13.10.2014

  • Ознакомление с методами анализа популярности языков программирования. Рассмотрение логической модели базы данных дистанционного практикума. Разработка листинга скрипта создания таблицы-справочника. Анализ статистики по применению языков программирования.

    диссертация [1,4 M], добавлен 10.07.2017

  • Рассмотрение общих сведений и уровней языков программирования. Ознакомление с историей развития, использования языков программирования. Обзор достоинств и недостатков таких языков как Ассемблер, Паскаль, Си, Си++, Фортран, Кобол, Бейсик, SQL, HTML, Java.

    курсовая работа [759,5 K], добавлен 04.11.2014

  • История развития языков программирования; создание и распространение языка С++; новый подход к разработке объектно-ориентированного программного обеспечения. Применение моделирования предметных областей для структуризации их информационных отражений.

    реферат [29,1 K], добавлен 06.12.2010

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

    курсовая работа [19,5 K], добавлен 19.05.2011

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

    курсовая работа [415,8 K], добавлен 08.09.2013

  • Этапы развития языков программирования. Способы решения системы линейных алгебраических уравнений методом Крамера, рассмотрение особенностей. Анализ языка программирования С++. С # как прямой потомок двух самых успешных в мире компьютерных языков.

    курсовая работа [770,2 K], добавлен 27.01.2013

  • Функции и основные компоненты систем программирования. Средства создания программ. Трансляторы языков программирования. Принципы и фазы работы компилятора, трансформация языка программирования в машинный код. Механизм преобразования интерпретатора.

    презентация [3,3 M], добавлен 07.02.2012

  • Изучение общей структуры языка программирования Delphi: главные и дополнительные составные части среды программирования. Синтаксис и семантика языка программирования Delphi: алфавит языка, элементарные конструкции, переменные, константы и операторы.

    курсовая работа [738,1 K], добавлен 17.05.2010

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

    презентация [873,4 K], добавлен 23.01.2013

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

    презентация [396,3 K], добавлен 12.11.2012

  • Понятия языка программирования, разновидности и характеристика языков. Исторический обзор их создания и применения. Классификация, примеры использования. Характеристики языков программирования с точки зрения элементов объектной модели, их популярность.

    реферат [463,6 K], добавлен 07.09.2009

  • Характеристика объектно-ориентированного, процедурного, функционального программирования. Выбор языка программирования для создания программного обеспечения для управления справочником "Спортсмены". Алгоритм работы приложения, пользовательский интерфейс.

    курсовая работа [1,6 M], добавлен 23.02.2016

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

    дипломная работа [770,2 K], добавлен 12.09.2015

  • Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.

    курсовая работа [407,4 K], добавлен 21.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.