Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП(4к2с).docx
Скачиваний:
45
Добавлен:
24.08.2019
Размер:
102.61 Кб
Скачать

Общие сведения о технологии программирования

Характерные особенности технологии программирования

1950-1960гг – развитие концепции модульного программировании

1960-1970гг – развитие методологии и технологии программирования

1970-1980гг – развитие информационных систем и БД

1980-1990гг – развитие пользовательских интерфейсов

1990г-наше время – международная компьютерная сеть

Оценка статистической сложности программы

Оценка статистической сложности проводится по нескольким показателям:

  1. Показатель статистической сложности. Определяется двумя способами:

    1. Метод непосредственного подсчета числа операторов и операндов:

N=N1+N2, где N1 – общее количество операций и операторов в программе, N2 – общее количество операндов в программе.

    1. С помощью уравнения длины:

N=n1*log2n1+n2*log2n2, где n1 – количество типов операторов (операции), n2 – количество различных операндов.

  1. Объем программы:

V=N*log2n [бит], где N – длина программы, n – длина полного словаря (операций и операндов)

  1. Уровень качества программирования:

L=(n1*/n1)*(n2/N2); L=(2/n1)*(n2/N2)

n2 – количество операндов

n1* - минимальное возможное количество операндов (n1*=2)

  1. Уровень языка программирования:

Λ=L2V

  1. Трудозатраты на проектирование программы:

a’ – Коэффициент, учитывающий стоимость проектирования одной команды в уникальной программе.

u – Показатель неавтоматизированной технологии при ручной работе равной нулю.

0≤р≤1

Понятие корректности программы

К

Корректность комплексов программ

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

Корректность текстов программ:

- синтаксическая

- семантическая

Корректность программных модулей:

- структурная

- функциональная:

Детерминированная

Стокастическая

Корректность данных:

- структурная

- конкретных значений

Корректность групп и комплексов программ:

- структурная и межмодульных связей

- функциональная:

Детерминированная

Стокастическая

Динамическая

Задача 1: составить программу для вычисления a=b/c-d, при вводе трех чисел b,c,d. После чего найти сумму пяти введенных элементов массива. Предусмотреть правильность ввода переменных. По составленной программе определить длину программы, объем программы, рассчитать уровень качества, уровень языка, оценку трудозатрат на разработку программы

Решение:

Program primer1;

Label m;

Var a,b,c,d,s:real;

x:array[1..5] of real;

i:integer

begin

m:

writeln(‘Введите три числа: ‘);

readln(b,c,d);

if c=0 then

begin

writeln(‘Деление на ноль запрещено!’);

goto m;

end

else

begin

a:=b/c-d;

writeln(‘a=b/c-d = ‘,a:10:2);

end;

writeln(‘Введите 5 элементов массива: ‘);

for i:=1 to 5 do

begin

readln(x[i]);

s:=s+x[i];

end;

writeln(‘Сумма элементов массива’,s:10:2);

end.

Расчет показателей:

Тип операторов

Операнды

Название

i

F1,j

В теле программы

i

F2,j

Readln

1

2

A

1

2

Writeln

2

5

B

2

2

For..to..do

3

1

C

3

3

If..then..else

4

1

D

4

2

Goto

5

1

S

5

3

:=

6

3

X

6

2

+

7

1

I

7

3

-

8

1

label

8

2

/

9

1

=

10

1

Begin..end

11

4

ИТОГО:

11

21

ИТОГО:

8

19

n1

N1

n2

N2

Расчет параметров:

Длина программы равна:

  1. Методом непосредственного подсчета

N=N1+N2=21+19=40 – реальная оценка сложности

N1- общее количество операций и операторов в программе, N2 – общее количество операндов в программе

  1. Определение длины программы аналитическим путем (с помощью уравнения длины)

N=n1log2n1+n2log2n2=11*log211+8*log28=11*ln11/ln2+8*3=11*2.3978/0.6931+24=38.0548+24=62.054

n1 – количество типов операторов (операций)

n2 – количество различных операндов

Объем программы:

V=N*log2n [бит]

N – длина программы, n – длина полного словаря (операций и операндов)

n=n1+n2=11+8=19

V=40*log219=40*ln19/ln2=169.91

Уровень качества программирования:

L=(n1*/n1)*(n2/N2); L=(2/n1)*(n2/N2)

n1 – количество операндов (11)

n2 – количество операндов (8)

n1*- min возможное количество операндов (2)

L=(2/11)*(8/19)=0.0765

Уровень языка программирования:

Λ=L2V=0.07652*169.91=0.996

Оценка трудозатрат на разработку программы:

n1=11

n2=8

N1=21

N2=19

n=n1+n2=19

N=N1=N2=40

Трудозатраты определяются по формуле:

Сп=3*(165.669*lg165.693*(1-e-0.2*39)*2-3)/(39*sqrt(1-0))=2.84