![]() |
|
|
Курсовая работа: Разработка вспомогательной системной программы в системе программирования Delphi с использованием средств WinApi1инициализация. 2Memo2.Clear; 3If.ReadSectors(hMBRDrive,0,1,@buffer,DiscGeometry.BytesPerSector)= DiscGeometry.BytesPerSector then begin 4for i:= 1 to 16 do 5Grid2.Cells[i,0]:=intToHex((i-1),1); 6i:=1; j:=1; k:=1; 7while k<=DiscGeometry.BytesPerSector do begin 8if i=1 then 9Grid2.Cells[0,j]:=IntToHex(((j-1)*16+(i-1)),3); 10Grid2.Cells[i,j]:=IntToHex(Buffer[k],2); inc(k); inc(i); 11if i>16 then begin 12 i:=1; j:=j+1; Grid2.RowCount:= Grid2.RowCount+1; 13 end; 14end; begin 15{Линейный блок расшифровки значений полученных в буфере после чтения сектора} 16end else 17ShowMessage('Не удалось считать блок PartitionTable'); 18end; Рисунок 4.4 – Потоковый граф обработчика события «С3» (кнопка «Считать PartitionTable ») Цикломатическая сложность потокового графа: 1) V(G) = 6 регионов; 2) V(G) = 22 дуга - 18 узлов + 2 = 6; 3) V(G) = 5 предикатных узлов +1 = 6. Путь 1:1-2-17-18; Путь 2:1-2-3-4-5-6-7-8-10-11-13-14-15-16-18; Путь 3:1-2-3-4-5-6-7-8-9-10-11-13-14-15-16-18; Путь 4: 1-2-3-4-5-6-7-8-10-11-12-13-14-15-16-18; Путь 5: 1-2-3-4-5-4-5-6-7-8-9-10-11-13-14-15-16-18; Путь 6: 1-2-3-4-5-4-5-6-7-8-10-11-12-13-14-7-8-9-10-11-13-14-15-16-18;
Дополнительный тест Тестирование алгоритма работы потока, который также относится к основному заданию курсового проекта. 1инициализация. 2while (not terminated) do begin 3 WaitForSingleObject(Form1.HEvent, INFINITE); 4 ResetEvent(Form1.HEvent); 5 try // резерв. память в потоке для этотой проекции 6PBaseAdress:=MapViewOfFile(Form1.HFileSender, FILE_MAP_READ,0,0,65536); 7 if (PBaseAdress = nil) then begin 8 CloseHandle(Form1.HFileSender); st:='не удалось отобразить файл на адресное пространство'; Application.MessageBox(st,'Сообщение...',MB_OK); form1.BitBtn2.Visible:=false; form1.Button1.Visible:=false; 9 exit; 10end; 11 nlineSize:=integer(PBaseAdress^); SetLength(TextString,nlineSize); CopyMemory(PChar(TextString),Pointer(Integer(PBaseAdress)+4),nlineSize); Form1.Memo1.Text:=Form1.Memo1.Text+'---------'+#13#10; Form1.Memo1.Text:=Form1.Memo1.Text+TextString+#13#10; sendmessage(Form1.memo1.handle, em_linescroll, 0, Form1.memo1.lines.count-1); UnmapViewOfFile(PBaseAdress); finally 12end; 13end; Рисунок 4.5 – Потоковый граф обработчика потока(данный обработчик выполняется постоянно после запуска программы и если не была нажата кнопка «отсоединится при работе программы») Цикломатическая сложность потокового графа: 1) V(G) = 3 регионов; 2) V(G) = 14 дуг - 13 узлов + 2 = 3; 3) V(G) = 2 предикатных узлов +1 = 3. Путь 1:1-2-3-4-5-6-7-8-9-13; Путь 2:1-2-3-4-5-6-7-10-11-12-13; Путь 3:1-2-3-4-5-6-7-8-9-10-11-12-2-3-4-5-6-7-10-11-12-13;
3.6.2 Тестирование методом черного ящика 1) Тестирование процедуры, выполняющей запись данных в проецируемый файл (Рисунок 4.6. ). (Этап выполнения программы 2 «Событие 1»). Предусловие : Текст сообщения должен быть обязательно введён. Постусловие: Если проекция файла создана, и объект типа поток сработал нормально, то вывод текста сообщения в поле истории переписки. Рисунок 4.6 – Дерево разбиений для события «Событие1» (первое задание)
2) Тестирование процедуры выполняющей создание дескрипторов носителя с которым ведётся работа (Рисунок 4.7). (Этап выполнения программы 3 , событие С1). Предусловие: Программа должна быть запущена от имени администратора. Постусловие: 1 Должен быть выбран присутствующий носитель. 2 Если дескрипторы файлов успешно созданы и данные прочитаны в буфер, то- вывод информации в таблицы. Рисунок 4.7 Дерево разбиений для процедуры, выполняющей создание дескрипторов носителя(Этап выполнения программы 3 события C1).
3)Тестирование процедуры, выполняющей считывание блока параметров Bios (Рисунок 4.8). |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |