- •Институт информационных технологий
- •Контрольная работа
- •2.1.1 Изучите теорию настоящей контрольной и стандарт iso/iec 9126-2.
- •2.1.3 Для заданного Вам варианта
- •2.1.5 Задайте некоторый заданный уровень интегрального показателя качества Вашей программы, превышающий на 5-10 % уровень, полученный при расчёте по пп. 2.1.3 и 2.1.4.
- •2.1.6 Сделайте вывод о том, как необходимо изменить параметры а и в для достижения заданного уровня интегрального показателя качества и какие работы надо выполнить для этого.
Министерство образования Республики Беларусь
Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Институт информационных технологий
Специальность Программное обеспечение информационных технологий
Контрольная работа
По курсу Надежность программного обеспечения
Вариант № 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;
}
}
}
}