КАТЕГОРИИ: Архитектура-(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; Просмотров: 1242; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |