Материал: Контрольная работа

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Министерство образования Республики Беларусь

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

Институт информационных технологий

Специальность Программное обеспечение информационных технологий

Контрольная работа

По курсу Надежность программного обеспечения

Вариант № 13

Студент-заочник 2 курса

Группы № 781074

ФИО Красносельская Полина Юрьевна

Адрес Могилевская обл., г. Бобруйск, ул. Урицкого, 71/30

Тел. +375259550391

Минск, 2019

Подзадание 2.1

Ва-ри-ант

Условный

№ метрики по таблице 1

Название метрики

Число метрик в варианте

13

105

Адаптируемость окружения системного программного обеспечения (адаптируемость к операционной системе, сетевому программному обеспечению и связанному прикладному программному обеспечению) [System software environmental adaptability (adaptability to OS, network software and cooperated application software)]

3

106

Степень простоты установки [Ease of installation]

107

Легкость повтора процесса установки

[Ease of setup retry]

2.1.1 Изучите теорию настоящей контрольной и стандарт iso/iec 9126-2.

2.1.2 Вспомните о любой написанной Вами когда-либо программе или её фрагменте (далее – Ваша программа). Запишите текст или фрагмент текста программы с комментариями, скриншотами и кратким описанием (что она делает).

Фрагмент программы «Быки и коровы» - логическая игра, позволяющая отгадывать числа, задуманные другим игроком. Правила игры: каждый из противников задумывает четырехзначное число, все цифры которого различны. Необходимо разгадать задуманное число. Противники по очереди называют друг другу числа и сообщают о количестве «быков» и «коров» («бык» - цифра есть в записи задуманного числа и стоит в той же позиции, что и в задуманном числе, «корова» - цифра есть в записи задуманного числа, но не стоит в той же позиции, что и в задуманном числе). Очевидно, что число отгадано в том случае, если имеет 4 «быка».

void __fastcall TForm4::Image3Click(TObject *Sender) // угадывание чисел первым игроком

{

Image9->Picture->Bitmap->FreeImage();

Image10->Picture->Bitmap->FreeImage();

Image11->Picture->Bitmap->FreeImage();

Image12->Picture->Bitmap->FreeImage();

int b=0,k=0,i,j,kk=0;

kk=Edit3->Text.Length();

if (kk<4) // если вводят число из меньшего количества цифр, чем 4, то на экран выводится сообщение об ошибке

Application->MessageBox("Введите четырехзначное число!","Ошибка");

Else // если введено четырехзначное число, то разбиваем его на 4 цифры

{

c=Edit3->Text.ToInt();

cc[0]=c/1000;

cc[1]=c/100%10;

cc[2]=c%100/10;

cc[3]=c%10;

if (cc[0]==cc[1] || cc[1]==cc[2] || cc[2]==cc[3] || cc[3]==cc[0] || cc[0]==cc[2] || cc[1]==cc[3]) // если какие-то цифры в числе повторяются, то на экран выводится сообщение об ошибке

Application->MessageBox("Цифры не должны повторяться!","Ошибка");

else if (cc[0]==0) // если число начинается с нуля, то на экран выводится сообщение об ошибке

Application->MessageBox("Число не может начинаться с нуля!","Ошибка");

Else // если введено корректное число, то сравниваем его с задуманным

{

for(i=0; i<4; i++)

for(j=0; j<4; j++)

if(bb[i]==cc[j])

{

if(i==j)

b++;

else if(i!=j)

k++;

}

if (b==3 && k==0) // выводим на экран изображения быков и коров в зависимости от количества совпадений

{

ListBox1->Items->Add(Edit3->Text+" 3 быка 0 коров");

Image5->Picture->LoadFromFile("byk.ico");

Image6->Picture->LoadFromFile("byk.ico");

Image7->Picture->LoadFromFile("byk.ico");

}

else if (b==2 && k==0)

{

ListBox1->Items->Add(Edit3->Text+" 2 быка 0 коров");

Image5->Picture->LoadFromFile("byk.ico");

Image6->Picture->LoadFromFile("byk.ico");

}

else if (b==1 && k==0)

{

ListBox1->Items->Add(Edit3->Text+" 1 бык 0 коров");

Image5->Picture->LoadFromFile("byk.ico");

}

else if (b==2 && k==2)

{

ListBox1->Items->Add(Edit3->Text+" 2 быка 2 коровы");

Image5->Picture->LoadFromFile("byk.ico");

Image6->Picture->LoadFromFile("byk.ico");

Image7->Picture->LoadFromFile("korova.ico");

Image8->Picture->LoadFromFile("korova.ico");

}

else if (b==2 && k==1)

{

ListBox1->Items->Add(Edit3->Text+" 2 быка 1 корова");

Image5->Picture->LoadFromFile("byk.ico");

Image6->Picture->LoadFromFile("byk.ico");

Image7->Picture->LoadFromFile("korova.ico");

}

else if (b==1 && k==3)

{

ListBox1->Items->Add(Edit3->Text+" 1 бык 3 коровы");

Image5->Picture->LoadFromFile("byk.ico");

Image6->Picture->LoadFromFile("korova.ico");

Image7->Picture->LoadFromFile("korova.ico");

Image8->Picture->LoadFromFile("korova.ico");

}

else if (b==1 && k==2)

{

ListBox1->Items->Add(Edit3->Text+" 1 бык 2 коровы");

Image5->Picture->LoadFromFile("byk.ico");

Image6->Picture->LoadFromFile("korova.ico");

Image7->Picture->LoadFromFile("korova.ico");

}

else if (b==1 && k==1)

{

ListBox1->Items->Add(Edit3->Text+" 1 бык 1 корова");

Image5->Picture->LoadFromFile("byk.ico");

Image6->Picture->LoadFromFile("korova.ico");

}

else if (b==0 && k==4)

{

ListBox1->Items->Add(Edit3->Text+" 0 быков 4 коровы");

Image5->Picture->LoadFromFile("korova.ico");

Image6->Picture->LoadFromFile("korova.ico");

Image7->Picture->LoadFromFile("korova.ico");

Image8->Picture->LoadFromFile("korova.ico");

}

else if (b==0 && k==3)

{

ListBox1->Items->Add(Edit3->Text+" 0 быков 3 коровы");

Image5->Picture->LoadFromFile("korova.ico");

Image6->Picture->LoadFromFile("korova.ico");

Image7->Picture->LoadFromFile("korova.ico");

}

else if (b==0 && k==2)

{

ListBox1->Items->Add(Edit3->Text+" 0 быков 2 коровы");

Image5->Picture->LoadFromFile("korova.ico");

Image6->Picture->LoadFromFile("korova.ico");

}

else if (b==0 && k==1)

{

ListBox1->Items->Add(Edit3->Text+" 0 быков 1 корова");

Image5->Picture->LoadFromFile("korova.ico");

}

else if (b==0 && k==0)

ListBox1->Items->Add(Edit3->Text+" 0 быков 0 коров");

if (b==4 && k==0) // если угадано 4 цифры в нужных позициях, то на экран выводится сообщение о победе и начинается новая игра

{

ListBox1->Items->Add(Edit3->Text+" 4 быка 0 коров");

Image5->Picture->LoadFromFile("byk.ico");

Image6->Picture->LoadFromFile("byk.ico");

Image7->Picture->LoadFromFile("byk.ico");

Image8->Picture->LoadFromFile("byk.ico");

Application->MessageBox("Игрок 1 победил!","Победа");

s1=s1+1;

Label3->Caption="Ход игрока 1";

Label4->Caption="Введите загадываемое число";

ListBox1->Clear();

ListBox2->Clear();

Label8->Caption=s1;

Edit3->Visible=false;

Edit2->Color=clWhite;

Edit4->Visible=false;

Image3->Visible=false;

Image4->Visible=false;

Edit1->Visible=true;

Edit1->Text="";

Edit1->Color=clGreen;

Edit1->Font->Color=clYellow;

Image2->Visible=true;

Image2->Enabled=true;

Edit2->Visible=true;

Edit2->Text="";

Edit2->Enabled=false;

Image1->Visible=true;

Image1->Enabled=false;

Image5->Picture->Bitmap->FreeImage();

Image6->Picture->Bitmap->FreeImage();

Image7->Picture->Bitmap->FreeImage();

Image8->Picture->Bitmap->FreeImage();

}

Else // если число не угадано полностью, то ход переходит ко второму игроку

{

Label3->Caption="Ход игрока 2";

Label4->Caption="Какое число загадал игрок 1?";

Edit3->Text="";

Edit3->Enabled=false;

Edit3->Color=clWhite;

Edit3->Font->Color=clBlack;

Edit4->Enabled=true;

Edit4->Color=clGreen;

Edit4->Font->Color=clYellow;

Image3->Enabled=false;

Image4->Enabled=true;

}

}

}

}

2.1.3 Для заданного Вам варианта

а) подберите исходные данные для оценки качества Вашей программы по тем метрикам, которые указаны в Вашем варианте;

б) поясните, как Вы выбрали исходные данные (из каких соображений);

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

а) Исходные данные для оценки величины метрики 105 «Адаптируемость окружения системного программного обеспечения (адаптируемость к операционной системе, сетевому программному обеспечению и связанному прикладному программному обеспечению)»:

A = Количество рабочих функций, в которых задачи не были завершены или завершены с недостаточной результативностью, чтобы удовлетворить соответствующим уровням в течение рабочих испытаний совместно с работающим системным программным обеспечением или параллельным прикладным программным обеспечением = 3

B = Общее число функций, которые были протестированы = 10

Исходные данные для оценки величины метрики 106 «Степень простоты установки»:

A = Число успешных случаев изменения пользователем операцию установки по своему удобству = 5

B = Общие число попыток пользователя изменить операцию установки по своему удобству = 5

Исходные данные для оценки величины метрики 107 «Легкость повтора процесса установки»:

A = Число случаев, когда пользователю не удается повторить установку в процессе действия по установке = 0

B = Общее число случаев, когда пользователь пытается повторить установку в процессе действия по установке = 5

б) Из столбца «Источники входных данных для измерения» стандарта ISO/IEC 9126-2R выбираем стадию жизненного цикла ПП, на котором будем проводить оценку – эксплуатация (для всех 3 метрик). Анализируем отчет об эксплуатации ПП (считаем, что этот отчет у нас имеется). По отчету находим исходные данные.

Для метрики 105 «Адаптируемость окружения системного программного обеспечения (адаптируемость к операционной системе, сетевому программному обеспечению и связанному прикладному программному обеспечению)»: например, было протестировано 10 функций, из которых 3 были завершены с недостаточной результативностью, выявленной в процессе тестирования.

Для метрики 106 «Степень простоты установки»: например, программу пытались установить 5 раз разные пользователи, и все 5 раз установка произошла успешно.

Для метрики 107 «Легкость повтора процесса установки»: например, программу повторно пытались установить 5 раз, и ни разу не произошло проблем с установкой.

в) Оценим величину метрики 105 «Адаптируемость окружения системного программного обеспечения (адаптируемость к операционной системе, сетевому программному обеспечению и связанному прикладному программному обеспечению)». Анализируем столбец «Измерение, формула и расчет элементов данных» и столбец «Интерпретация измеренного значения» стандарта ISO/IEC 9126-2R. Из анализа следует, что чем меньше функций, в которых задачи не были завершены или завершены с недостаточной результативностью, тем лучше. Следовательно, расчёт значения метрики Х надо вести по формуле

X = 1 – A / B = 1 – 3/10 = 1 – 0,3 = 0,7

Полученная оценка Х = 0,7 предоставляет собой точку в диапазоне предпочтительных величин (0<=X<=1, чем больше, тем лучше).

Оценим величину метрики 106 «Степень простоты установки». Анализируем столбец «Измерение, формула и расчет элементов данных» и столбец «Интерпретация измеренного значения» стандарта ISO/IEC 9126-2R. Из анализа следует, что чем больше число успешных случаев установки, тем лучше. Следовательно, расчёт значения метрики Х надо вести по формуле

X = A / B = 5/5 = 1

Полученная оценка Х = 1 предоставляет собой точку в диапазоне предпочтительных величин (0<=X<=1, чем ближе к 1.0, тем лучше).

Источник: https://studfile.net/preview/14574557/