RSS    

   Курсовая работа: Разработка вспомогательной системной программы в системе программирования Delphi с использованием средств WinApi

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 Если не удалось считать Partition Table Должно появиться сообщение о том , что не возможно считать Partition Table

Вывод сообщения:

«Не удалось считать Partition Table»

2 Происходить считывание элемента массива , который имеет номер отличающийся от 1 и от 16. Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }» Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }»
3 Считывание элемента массива , который имеет номер 1 в строке таблицы Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }» Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }»
4 Считывание элемента, который имеет последний номер в строке (16) Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }» Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }»
5 Считывание данных из массива. При прохождении этого пути проверяется заполнение верхней строчки таблицы номерами от 0 до F. Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }» Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }»
6 Считывание данных из массива. Когда элемент имеет номер 16 в строке, а последующий элемент имеет номер 1 в след. строке. Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }» Вывод данных, например: «Начало раздела диска{Головка: 255 Сектор: 255 Цилиндр: 15 }»

Дополнительный тест

Тестирование алгоритма работы потока, который также относится к основному заданию курсового проекта.

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;

пути

Исходные данные Ожидаемые результаты Реальные результаты
1 Не удалось отобразить файл на адресное пространство в потоке. Должно появиться сообщение : не удалось отобразить данные на адресное пространство потока

Вывод сообщения:

«Не отобразить файл на адресное пространство»

2 Ввод данных в поле сообщения и однократное нажатие на кнопку «отправить» Вывод сообщения «отправить» в поле истории переписки. Сообщение введённое в поле сообщений «отправить» появилось в поле истории переписки.
3 Ввод сообщения в поле сообщений и нажатие на кнопку «отправить» с последующим повторение этих действий Вывод сообщения «отправить» в поле истории переписки. Сообщение введённое в поле сообщений «отправить» появилось в поле истории переписки.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.