Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функциональное описание форм




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

Разработка программного продукта

Рисунок 1- Логическая структура программного продукта

 

Описание титульной формы. При нажатии на кнопку «Кликните» выполняется следующий код:

procedure TForm4.BbackClick(Sender: TObject);

begin

form4.Hide;

Form1:=TForm1.Create(nil);

Form1.Show;

end;

Блок-схема данного кода представлена на рисунке 2.

Остальные переходы осуществляются аналогичным образом.

При нажатии на кнопку «Выход» выполняется код:

procedure TForm4.btn1Click(Sender: TObject);

begin

Application.Terminate;

end;

который выгружает программу из процессов.

Для открытия справки осуществляется клик на объекте мэин меню, с соответствующим названием.

procedure TForm4.N2Click(Sender: TObject);

begin

form6.Show;

p:=extractfilepath(Application.ExeName);

form6.WB1.Navigate(p+ 'hlp\Справка1.htm');

end;

 

end.

 

Рисунок 2 – Блок-схема процедуры нажатия на кнопку «Кликните»

Процедура, приведенная выше, описывает действие, при клике мыши по кнопке «кликните» (sButton1) на титульной форме. Данная форма закрывается (Form4.Hide;), а окно регистрации (form1.Show;). при этом остальные формы закрыты. Последующие переходы выполняться также.

procedure TForm1.Button1Click(Sender: TObject);

var f:TextFile;

begin

if (edtf.text='') and (edtn.text='') and (edtgr.text='') then

ShowMessage('Заполните поля!')

else

begin

form1.Hide;

Form2:=TForm2.Create(nil);

Form2.Show;

end;

Рисунок 3- Блок-схема «Учетная запись» переход для преподавателя

Данное действие позволяет проверить ввел ли пользователь свои регистрационные данные. Если пользователь не ввел свои регистрационные данные, то пройти тест будет невозможно.

AssignFile(f,'da.txt');

Append(f);

writeln(f,fm);

.................

CloseFile(f);

Приведенный код выше позволяет вписать данные водимые пользователем в файл с расширением (.txt).

Рисунок 5-Блок-схема «Регистрация» проверка данных в файл

Данное действие позволяет проверить есть ли такая группа вводимая пользователем в файле (da.txt).

if c=1 then

begin

Append(f);

writeln(f,r);

end;

CloseFile(f);

Рисунок 6-Блок-схема «Регистрация» запись данных в файл

Если нет то она записывается в файл (da.txt).

Первый вопрос находится на форме и выводится в момент её загрузки автоматически.

b:=b+1;

case a of

1:begin

if rb2.Checked then v:=v+2;

rb1.Checked:=FALSE;

..................................

lbl26.Visible:=FALSE;

lbl2.caption:='Какую систему стандартов разработала международная организация по стандартизации?';

lbl24.Caption:='ISO 9001';

lbl25.Caption:='CMM-SEI';

b:=b+1;

lbl23.Caption:=lbl23.Caption+' '+Inttostr(b)+',';

end;

Процедура, приведенная выше, содержит в себе оператор case который считает нажатия кнопки «ОК», находящийся на форме «Тестирование», с помощью переменной a, при каждом нажатии клавиши на кнопку a:=a+1, на форму загружается следующий вопрос. Строка кода. if rb2.Checked then b:=b+2 проверяет выбор правильного ответа и прибавляет 2 балл с помощью переменной v, если выбран правильный вариант ответа, в данном случае это rb3. Строка кода lbl2.caption:='Какую систему стандартов разработала международная организация по стандартизации?'; меняет текст на новый вопрос.

Строка кода rb1.checked:=false; очищает выбранный ответ в компоненте

radiobutton1, остальные элементы radiobutton очищаются аналогично на всех вопросах с выбором одного ответа.

После того как загрузятся вопросы с выбором нескольких вариантов ответа, условием проверяется правильный ответ предыдущего вопроса, при истинном условии баллы увеличиваются на 2. Далее скрываются (делаются невидимыми) элементы radiobutton (radiobutton1.visible:=false;), а элементы CheckBox делаются видимыми (CheckBox1.visible:=true;), аналогично прописывается код для остальных элементов radiobutton и CheckBox. Строка кода CheckBox1.checked:=false; очищает выбранные ответы, при переходе к следующему вопросу. CheckBox2-6 очищаются аналогично.

21:begin

label1.Caption:='Управление требованиями представляет собой:';

rb3.Visible:=false;

edt1.Visible:=False;

chk1.Visible:=True;

chk2.Visible:=True;

chk3.Visible:=True;

chk1.Caption:='систематический подход к выявлению,'+#13#10+' организации одокументированию требований к программному продукту;';

chk2.Caption:='процесс, устанавливающий соглашение между заказчиками и разработчиками '+#13#10+' относительно изменения требований к программному продукту;';

chk3.Caption:='протоколы совещаний и интервью с заказчиками';

if (chk1.Checked=True) and (chk2.Checked=True)

then b:=b+6; //Счетчик правильных ответов '+#13#10+'

end;

При правильном ответе все выбранные элемента прибавляют 2 бала, а если не правильно ответил пользователь тогда вычитается 2бала.

9:begin

chk1.Checked:=FALSE;

...................................

chk1.Visible:=FALSE;

...................................

lbl1.Caption:= 'Установить соответствие';

lbl2.caption:= 'Соотнесите основные уровни зрелости организации согласно модели:';

lbl3.Visible:=True;

..............................

edt1.Visible:=True;

end;

На этот вопрос добавила label и edit.Компоненты этого вопроса изначально были скрыты. Ненужные компоненты скрываются. Во всем коде изменяется только условие для правильного ответа.

11:begin

edt6.Visible:=False;

................................

lbl10.Visible:=False;

...............................

lbl18.Visible:=True;

edt12.Visible:=True;

lbl1.Caption:='……..';

lbl18.Caption:='программного обеспечения (ПО) - период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.';

end;

Это нужно для того чтобы программа понимала все символы. Иначе бал не будет засчитан.

13:begin

lbl18.Visible:=False;

edt14.Visible:=False;

edt15.Visible:=True;

.................................

lbl2.Visible:=True;

..................................

lbl1.Caption:='Проставить по порядку этапы П.П.';

lbl2.Caption:='ЭТАПЫ РАБОТЫ П.П.';

end;

На форме «тест» будет представлен сам тест, в котором необходимо ответить на вопросы. Вопросы будут представлены в виде:

1. выбор 1 варианта ответа

2. выбор нескольких вариантов ответа

3. ответ последствием ввода слова

4. выбрать соответствие

procedure TForm2.bNextClick(Sender: TObject);

begin

a:=a+1;

case a of

0:begin

IF rb2.checked then b:=b+2;

label1.Caption:='Относится ли управление требованиями к работам, техническая поддержка'+#13#10+ 'которых требует больших финансовых затрат?';

rb3.Visible:=False;

rb1.Caption:='да';

rb2.caption:='нет';

……………………..

18:begin

if edt1.text='требованиями' then b:=b+4;

lbl8.Caption:=IntToStr(b);

label1.Caption:='Условие или характеристика, '+#13#10+'которой должен удовлетворять программный продукт - ___________';

rb4.Visible:=False;

edt1.Visible:=true;

rb1.Checked:=False;

edt1.Text:='';

end;

………….

22:begin

if (chk1.Checked=True) and (chk2.Checked=True)

then b:=b+6;

lbl8.Caption:=IntToStr(b);

label1.Caption:='Какие цели преследует управление требованиями?';

rb3.Visible:=false;

rb1.Visible:=False;

edt1.Visible:=False;

chk1.Visible:=True;

chk1.Caption:='достижение соглашения с заказчиком и пользователями о том, что программный продукт должен делать;';

chk2.Caption:='улучшение понимания требований к программному продукту со стороны разработчиков;';

chk3.Caption:='выявление семантических и синтаксических ошибок;';

chk4.Caption:='определение базиса для планирования;';

end;

…………………………

27:begin

if (edt2.text='2') and (edt3.text='1') then b:=b+8;

lbl8.Caption:=IntToStr(b);

label1.Caption:='Поставьте виды требований в соответствие их назначению:';

rb3.Visible:=false;

edt1.Visible:=False;

chk1.Visible:=False;

img2.Visible:=False;

edt2.Visible:=True;

edt3.Visible:=True;

lbl2.Visible:=True;

lbl3.Visible:=True;

edt4.Visible:=True;

edt5.Visible:=True;

edt6.Visible:=True;

edt2.Text:='';

edt3.Text:='';

edt4.Text:='';

edt5.Text:='';

edt6.Text:='';

lbl4.Visible:=True;

lbl5.Visible:=True;

lbl6.Visible:=True;

Image1.Visible:=True;

end;

…..

End.

 

Форма «Тестирование» запись результата в файл.

procedure TForm5.FormCreate(Sender: TObject);

begin

lbl21.Caption:='45';

x:=45;

end;

begin

application.termenate;

if b<70 then

i:=2;

.........................

Form4.Hide;

.........................

form6.show;

form7.hide;

Form6.lbl1.Caption:=FloatToStr(i);

AssignFile(f,'da.txt');

Append(fm);

writeln(f,i);

writeln(f,g);

CloseFile(f);

Form6.lbl5.Caption:=Form3.sedit1.Text;

............................

end;

end;

end.

Описание программного кода в форме «Введите пароль».

procedure TForm4.sButton1Click(Sender: TObject);

begin

if edt1.Text<>'mostwanted3992-96' then

begin

MessageBox('Неверный пароль',);

exit;

end

Else

Begin

Form4.Hide;

..................

form6.hide;

form7.show;

end;

end;

Рисунок 9-Блок-схема «Введите пароль» проверка пaроля

На этой форме можно вводить буквы и числа в edt1. Если пароль введен не верно выводиться сообщение «неверный пароль». Если пароль введен верно то открывается форма «список протестированных студентов».

procedure TForm7.FormCreate(Sender: TObject);

begin

Strngrd1.Cells[0,0]:='Фамилия';

................................................

Strngrd2.Cells[0,0]:='Фамилия';

................................................

AssignFile(f,'da.txt');

Reset(F);

n:=0;

while not(Eof(f)) do

begin

Readln(f,Fm);

......................

if c='5' then n:=n+1;

.............................

with Strngrd1 do

begin

Cells[0,RowCount-1]:=Fm;

.........................................

RowCount:=RowCount+1;

end;

end;

CloseFile(f);

AssignFile(f,'da.txt');

Reset(k);

while not Eof(k) do

begin

ReadLn(f, oc);

cbb1.Items.Add(h);

end;

CloseFile(k);

Strngrd1.RowCount:=Strngrd1.RowCount-1;

.........................................................................

end;

Рисунок 10-Блок-схема «список протестированных студентов» запись данных из файла в таблицу.

procedure TForm7.btn1Click(Sender: TObject);

begin

AssignFile(f,'da.txt');

Reset(F);

strngrd2.RowCount:=2;

while not(Eof(f))do

begin

Readln(f,fm);

.........................

if (fm=edt1.text)or (a=cbb1.Text) then

with strngrd2 do

begin

Cells[0,RowCount-1]:=Fm;

............................................

RowCount:=RowCount+1;

end;

end;

CloseFile(f);

Strngrd1.RowCount:=Strngrd2.RowCount-1;

end;

Рисунок 11-Блок-схема «список проверенных студентов» сортировка данных




Поделиться с друзьями:


Дата добавления: 2015-06-28; Просмотров: 1211; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.064 сек.