Етап вибору мови програмування
Рассмотрим пример выбора языка программирования с помощью процедуры попарного сравнения альтернатив. После попарного сравнения заполняется матрица, где в i-й строке и j-м столбце стоит сравнительная оценка альтернатив i и j, полученная по следующему правилу: альтернативы равнозначны — оценка «0»; альтернатива j лучше альтернативы i — оценка «1»; альтернатива j хуже альтернативы i — оценка «-1… Читати ще >
Етап вибору мови програмування (реферат, курсова, диплом, контрольна)
На стадии разработки и утверждения ТЗ важным моментом является выбор языка программирования. Решение этой задачи может быть очень легким, если отталкиваться от наличия того или иного транслятора и умения программировать на некотором языке. Сегодня существует большой выбор разнообразных языков программирования, среди которых можно назвать: С, C#, C++, Java, Lisp, Perl, Ruby, Haskell, Lisp, Delphi, Common, Erlang, Python и др. Если в распоряжении пользователя имеется несколько языков программирования и программных пакетов, и нужно согласно ТЗ обосновать выбор некоторого языка, то необходимо учитывать множество факторов:
- · возможности языка программирования;
- · назначение разрабатываемого ПП;
- · доступность программных пакетов (редактора, транслятора, компилятора, отладчика): свободное или лицензионное распространение;
- · простоту написания программ и понятность языка программирования для широкого круга пользователей;
- · простоту компиляции программ и установки их на различные компьютеры пользователей;
- · долговременность использования ПП (временная или постоянная);
- · возможность расширения, наращивания функционала;
- · число пользователей (возможность единоличного использования или передачи/продажи третьим лицам);
- · необходимость работы в режиме реального времени;
- · необходимую скорость работы ПП, его вычислительных и диалоговых компонентов (если таковые имеются) и их соотношение;
- · предполагаемый размер программы (нужно ли минимизировать размер памяти, которую занимает программа во время работы);
- · требования к структуре/архитектуре ПП (необходимость модульного проектирования, использование архитектуры клиент/сервер и т. д.);
- · возможность сопряжения разрабатываемого софта с другими приложениями (пакетами или программами), включая приложения, составленные на нескольких языках программирования;
- · основные типы данных и их структур и массивов, которыми придется оперировать (целые, строковые, действительные, списки, таблицы и др.);
- · характер и уровень использования периферийных средств (монитора, клавиатуры и др.), необходимость в специальном программировании некоторых функций, чтобы работать с периферийными устройствами;
- · целесообразность и возможность применения имеющихся стандартных библиотек подпрограмм, процедур, функций;
- · соответствие и необходимость интеграции между языками программирования и системами баз данных, возможности управления базами данных;
- · необходимость отслеживания, отображения, управления текущим состоянием технических средств;
- · парадигму языка программирования (стиль написания программ): императивное, объектно-ориентированное, функциональное, декларативное, рефлексивное программирование;
- · вид типизациинабор операций, множество значений, применяемых к объектам в языках программирования, а также способ хранения объектов: статический, динамический и автоматический; компилируемость или интерпретируемость кода;
- · управление памятью — поддержку автоматической или ручной «сборки мусора» (освобождения более не нужной памяти);
- · стандартизацию;
- · переносимость кода на различные аппаратные платформы или операционные системы;
- · сложность освоения и скорость разработки;
- · скорость исполнения;
- · возможности сетевого взаимодействия;
- · поддержку многопоточности;
- · стоимость решения.
Число критериев для выбора языка программирования велико, а число альтернатив гораздо меньше. Поэтому выбор языка программирования целесообразно проводить на основе или групповых экспертных процедур, или индивидуальных методов поддержки принятия решений, допускающих использование численных и лингвистических критериев. Наиболее приемлемыми являются метод ранжирования альтернатив, использующий процедуры непосредственного назначения ранга (метод ранга), или парных сравнений, а также метод минимального расстояния.
Рассмотрим пример выбора языка программирования с помощью процедуры попарного сравнения альтернатив. После попарного сравнения заполняется матрица, где в i-й строке и j-м столбце стоит сравнительная оценка альтернатив i и j, полученная по следующему правилу: альтернативы равнозначны — оценка «0»; альтернатива j лучше альтернативы i — оценка «1»; альтернатива j хуже альтернативы i — оценка «-1». Допустим, трем экспертам требуется проанализировать семь возможных языков программирования. Получены три оценочные матрицы.
Суммарная экспертная оценка альтернатив Альтернативы Ранг.
Складываем полученные матрицы и в результирующей матрице проводим суммирование элементов по строкам, вычисляя предпочтительность альтернатив (их ранг). Наиболее предпочтительной является альтернатива (язык программирования) с максимальным рангом 8.