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

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

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

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

Добавлен: 26.06.2023

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

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

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

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

2.6. Способы построения критериев эффективности

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

Выделение главного показателя. [17]Из совокупности частных показателей A1, A2, ..., An выделяется один, например A1, который принимается за главный. На остальные показатели накладываются ограничения:

Ai ≤ Aiдоп (i = 2, 3, ..., n),

где Aiдоп — допустимое значение i-го показателя. Например, если в качестве A1 выбирается легкость создания программ W (Writability), а на показатели надежности P и стоимости S накладываются ограничения, то критерий эффективности ЯП принимает вид:

W → max, P ≤ Pдоп, S ≤ Sдоп.

Способ последовательных уступок. Все частные показатели нумеруются в порядке их важности: наиболее существенным считается показатель A1, а наименее важным — An. Находится минимальное значение показателя A1 — min A1 (если нужно найти максимум, то достаточно изменить знак показателя). Затем делается «уступка» первому показателю ∆A1, и получается ограничение min A1 + ∆ A1.

На втором шаге отыскивается min A2 при ограничении A1 ≤ min A1 + ∆ A1. После этого выбирается «уступка» для A2: min A2 + ∆ A2. На третьем шаге отыскивается min A3 при ограничениях A1 ≤ min A1 + ∆ A1; A2 ≤ min A2 + ∆ A2 и т. д. На последнем шаге ищут min An при ограничениях

A1 ≤ min A1 + ∆ A1;

A2 ≤ min A2 + ∆ A2;

. . ..

An–1 ≤ min An–1 + ∆ An–1.

Полученный на этом шаге вариант языка программирования и значения его показателей A1, A2, ..., An считаются окончательными. Недостатком данного способа (критерия) является неоднозначность выбора ∆Ai.

Отношение частных показателей[18]. В этом случае критерий эффективности получают в виде

(1.1.)


или в виде

(1.2.)

где Ai (i = 1, 2, ..., n) — частные показатели, для которых желательно увеличение численных значений, а Bi (i = 1, 2, ..., m) — частные показатели, численные значения которых нужно уменьшить. В частном случае критерий может быть представлен в виде

(1.3.)

Возможной формой выражения (1.3) является критерий цены создания программы

(1.4.)

где S — стоимость, W — легкость создания программы ЯП. Формула критерия K4 характеризует затраты стоимости, приходящиеся на единицу легкости создания программы.

Аддитивная форма[19]. Критерий эффективности имеет вид

(1.5.)

где α1, α2, ..., αn — положительные и отрицательные весовые коэффициенты частных показателей. Положительные коэффициенты ставятся при тех показателях, которые желательно максимизировать, а отрицательные — при тех, которые желательно минимизировать.

Весовые коэффициенты могут быть определены методом экспертных оценок. Обычно они удовлетворяют условиям

(1.6.)

Основной недостаток критерия заключается в возможности взаимной компенсации частных показателей.

Мультипликативная форма. Критерий эффективности имеет вид

(1.7.)

где, в частном случае, коэффициенты αi полагают равными единице.

От мультипликативной формы можно перейти к аддитивной, используя выражение:

(1.8.)

Критерий K6 имеет тот же недостаток, что и критерий K5.

Максиминная форма. Критерий эффективности описывается выражением:

(1.9.)

Здесь реализована идея равномерного повышения уровня всех показателей за счет максимального «подтягивания» наихудшего из показателей (имеющего минимальное значение).

У максиминного критерия нет того недостатка, который присущ мультипликативному и аддитивному критериям.

2.7. Нормализация частных показателей

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


Использование отклонения частного показателя от максимального.

(1.10.)

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

(1.11.)

(1.12.)

Формула (1.11) применяется тогда, когда уменьшение Ai приводит к увеличению (улучшению) значения аддитивной формулы критерия. Выражение (1.12) используется, когда к увеличению значения аддитивной формулы критерия при- водит увеличение Ai .

Учет приоритета частных показателей

Необходимость в учете приоритетов возникает в случае, когда частные показатели имеют различную степень важности. [21]

Приоритет частных показателей задается с помощью ряда приоритета I, вектора приоритета (b1, ..., bq, ..., bn) и вектора весовых коэффициентов (α1, α2, ..., αn).

Ряд приоритета представляет собой упорядоченное множество индексов частных показателей I = (1, 2, …, n). Он отражает чисто качественные отношения доминирования показателей, а именно отношения следующего типа: показатель A1 важнее показателя A2, а показатель A2 важнее показателя A3 и т. д.

Элемент bq вектора приоритета показывает, во сколько раз показатель Aq важнее показателя Aq+1 (здесь Aq — показатель, которому отведен номер q в ряду приоритета). Если Aq и Aq+1 имеют одинаковый ранг, то bq = 1.

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

Зависимость, позволяющая по известным значениям bi определить величину αq, имеет вид:

Знание весовых коэффициентов позволяет учесть приоритет частных показателей.

    1. Деловая структура

Задачи этой структуры, называемые бизнес-задачами, ориентированы на учет поступления заказов, управление ресурсами и персоналом, деловое планирование, анализ риска и оценку возможных вариантов, а также начисление зарплаты. [22]Бизнес-программы обеспечивали считывание больших объемов данных, собранных за длительный период времени, и сохраняли их на магнитных лентах и дисках, а также формировали новые данные, обновляемые в результате небольших преобразований. Языки бизнес-программирования нацеливались на генерацию отчетов со сложной структурой, точные способы описания и хранения десятичных чисел и символьных данных, а также на арифметические действия с десятичными числами. Для этих задач был разработан язык Cobol, который и сейчас широко используется. Разработчики этого языка приложили немало усилий для реализации корректной обработки данных. В наши дни основным языком бизнес-программирования по-прежнему считается Cobol, хотя иногда применяют и другие языки (например, C, C++). Однако позицию языков при обработке деловой информации сильно потеснили электронные таблицы, придуманные для персональных компьютеров. Если раньше на создание обычной программы делового планирования уходило несколько месяцев, то теперь аналитик может за несколько часов сформировать много электронных таблиц, решающих аналогичные задачи. Дополнительным инструментом деловой обработки стали языки четвертого поколения 4GL (Fourth Generation Languages). Языки 4GL — это непроцедурные языки, специализированные под конкретные задачи обработки деловой информации и рассматривающие программу как спецификацию требуемого результата, а не как спецификацию действий, приводящих к достижению этого результата. Поддерживающая язык 4GL среда переводит спецификацию результата в машин- но-выполнимую программу. Языки 4GL обеспечивают быстрое создание оконного интерфейса и простой доступ к содержимому базы данных, генерацию графических входных форм-бланков и выходных отчетов.


В деловой структуре используются электронные таблицы. Электронные таблицы – интерактивная система обработки информации упорядоченной в виде с поименованными строками и столбцами. Прототипам современных электронных таблиц послужило разработанная в 1979 г. специалистами США программа Visual Calc.[23] В настоящее время наиболее часто используются электронныетаблицы OpenOffice.org Calc, MS Excel.

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

3. Системная область

Все задачи системной области связаны с созданием и развитием операционных систем для компьютеров — системным программным обеспечением (ПО). Понятно, что системное ПО широко используется, имеет доступ ко всем функциональным возможностям и ресурсам аппаратуры и должно эффективно функционировать. Как следствие, применяемые языки программирования должны обеспечивать быстрое выполнение программ и взаимодействие с аппаратными средствами. [24]

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

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

Еще один язык — Ada — тоже проектировался для применения в системной области, однако из-за ряда субъективных и объективных причин не получил здесь статуса основного языка. Он востребован в системах аэрокосмического и военного назначения.

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


Инструментальные средства предназначены для поддержки ряда базовых информационных технологий конечного пользователя. Краткие характеристики некоторых из базовых (элементарных) информационных технологий, связанных в основном с обработкой документов, приведены в таблице 3

Тип технологии

Входная информация

Выходная информация

Пример программных средств

«Чистые технологии» - обработка одного типа данных

1

Обработка текстов

Текст
.txt, .doc, .rtf., .pdf

-

Lexicon, Word, Adobe Acrobat

2

Обработка таблиц

Таблица .xsl, .dbf

-

Access, Excel, Foxpro

3

Обработка изображений

Картинка

.pix, .pcx, .bmp, .gif

-

Paint, Photoshop

4

Обработка звукового сигнала

Оцифрованный звук

.wav, .mp3

-

Magix 4 in One

5

Обработка видео

Видеосигнал

.avi, .mpg, .dat, .vob

-

Adobe Premier, Pinnacle Studio

«Смешанные технологии» - преобразование типов данных

6

Распознавание образов

Картинка

.pix, .pcx, .bmp, .gif

Текст

.txt, .doc,

.rtf., .pdf

FineReader

7

Распознавание голоса

Оцифрованный звук

.wav, .mp3

Текст

.txt, .doc,

.rtf., .pdf

«Змей Горыныч» (Dragon Dictate)

8

Чтение текста

Текст

.txt, .doc, .rtf., .pdf

Оцифрованный звук

.wav, .mp3

Govorilka, Speak & Mail

Таблица 3. Основные информационные технологии[25]

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

    1. Применение в научной области

Первые компьютеры, появившиеся в середине XX века, изначально создавались для научных целей. Задачи из этой области сводились к решению различных математических уравнений. К ним относились задачи численного анализа, решения дифференциальных и интегральных уравнений и задачи статистики. Обычно научные программы обрабатывают простые структуры данных и производят большое количество арифметических вычислений, выполняемых над числами с плавающей точкой. Наиболее часто употребляются такие структуры, как массивы и матрицы; из управляющих структур чаще других используются циклы со счетчиком и условные операторы. Языки «научного» программирования разрабатывались именно для удовлетворения таких потребностей. Здесь всегда доминировал Fortran, поскольку его синтаксис был очень близок к математическому языку ученых. Язык Algol 60 и большинство его потомков также предназначались для подобных целей, хотя могли применяться и в других родственных областях. Однако для научных вычислений особо важна эффективность, а ни один из созданных языков не оказался лучше языка Fortran. В XXI веке Fortran по-прежнему не сдает своих позиций, однако языки Java и C++ достаточно успешно конкурируют с его современной версией — Fortran 2008.[26]