Научная статья на тему 'Использование объектноориентированного подхода в разработке программного обеспечения системы тестирования'

Использование объектноориентированного подхода в разработке программного обеспечения системы тестирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
165
49
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Карасюк Владимир Васильевич, Сокольников Дмитрий Игоревич

Применение объектно-ориентированной парадигмы в практическом программировании дает возможность облегчить и упростить разработку законченных приложений. Эта тенденция характерна как для сложных программных комплексов, так и для относительно простых. В статье описан цикл разработки программы для психологического тестирования абитуриентов вузов. Программа разработана на макроязыке Visual Basic for Application (VBA), который встроен в электронные таблицы EXCEL.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Использование объектноориентированного подхода в разработке программного обеспечения системы тестирования»

лительных способностей у студентов. Это одно из удачных созданий учебно — проблемной ситуации. Степень мыслительной активности студентов возрастает благодаря логически поставленным демонстрациям, которые требуют в виде ответа не просто конкретных определений, а применения знаний, почерпнутых из теоретического курса для решения производственных задач. Это повышает психологическую напряженность студентов и содействует росту их мыслительной активности.

Стержнем демонстрации является выделение поисковой доминанты, которое завершает создание учебно-проблемной ситуации, так как оно означает качественный сдвиг от высшей психологической напряженности студентов (неизвестное и непонятное) к последовательной и активной их мыслительной деятельности по решению учебно — проблемной ситуации (начинается поиск правильного логического решения). Происходит логический переход от созданной учебно-проблемной ситуации к ее разрешению посредством последовательного рассмотрения всех аспектов, предлагаемых демонстрацией.

Разработанная в компьютерном учебнике познавательная задача или учебная проблема всегда предстает в виде вопроса к студенту. Восприняв и осознав его смысл, студент убеждается, что сразу решить задачу нелегко, но как определить подход к результату? Известно, что мыслить человек начинает тогда, когда возникает необходимость действия. С одной стороны, имеются определенные знания, с другой — новая задача, обладающая практической ценностью. Таким образом и возникает проблемная ситуация. Поскольку мелкие и однородные вопросы могут вызвать торможение восприятия, демонстрация представляет собой обоб-

УДК 681.3.06

ИСПОЛЬЗОВАНИЕ ОБЪЕКТНООРИЕНТИРОВАННОГО ПОДХОДА В РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМЫ ТЕСТИРОВАНИЯ

КАРАСЮК В. В, СОКОЛЬНИКОВ Д. И.

Применение объектно-ориентированной парадигмы в практическом программировании дает возможность облегчить и упростить разработку законченных приложений. Эта тенденция характерна как для сложных программных комплексов, так и для относительно простых. В статье описан цикл разработки программы для психологического тестирования абитуриентов вузов. Программа разработана на макроязыке Visual Basic for Application (VBA), который встроен в электронные таблицы EXCEL.

Объектно-ориентированный подход в программировании является методологией, обеспечивающей наиболее эффективную разработку программного обеспечения. Это естественное следствие эволюции технологии программирования и опирается она на понятия: структурность, модульность, локальность данных, абстрактные типы данных. Раз-

щенный и существенный вопрос, в котором выделены основные смысловые части. Можно определить основные критерии проблемности обучения при работе с компьютерным учебником. Это — методические приемы привлечения внимания студентов, последовательное разрешение проблемных ситуаций, методы активизации мыслительной деятельности студентов. Компьютерный учебник по материаловедению является действенным фактором активизации работы студентов над курсом и повышения эффективности обучения.

Поступила в редколлегию 12.05.98

Рецензент: д-р физ.-мат. наук, проф. Федоренко А. И.

Гладкий Иван Павлович, канд. техн. наук, профессор, проректор по учебной работе ХГАДТУ. Адрес: 310002, Украина, Харьков, ул. Петровского, 25, тел. 45-91-77.

Герасимова Лариса Николаевна, ведущий инженер вычислительного центра ХТУРЭ. Адрес: 310726, Украина, Харьков, пр. Ленина 14, тел. 40-96-47.

Тарабанова Валентина Павловна, канд. техн. наук, доцент кафедры технологии металлов и материаловедения ХГАДТУ. Адрес: 310002, Украина, Харьков, ул. Петровского, 25, тел. 45-91-92.

Мовлян Аделаида Александровна, канд. техн. наук, доцент кафедры технологии металлов и материаловедения ХГАДТУ. Адрес: 310002, Украина, Харьков, ул. Петровского, 25, тел. 45-91-92.

Дьяченко Светлана Степановна, д-р техн. наук, профессор кафедры технологии металлов и материаловедения ХГАДТУ. Адрес: 310002, Украина, Харьков, ул. Петровского, 25, тел. 45-91-92.

Солнцев Леонард Александрович, канд. техн. наук, профессор кафедры технологии металлов и материаловедения ХГАДТУ. Адрес: 310002, Украина, Харьков, ул. Петровского, 25, тел. 45-91-92.

работники программного обеспечения получили в свое распоряжение концепции, с помощью которых выполняется структуризация задачи. (Элементы объектно-ориентированного подхода включены во многие системы программирования. Например, в табличном процессоре EXCEL 5.0 имеется встроенный макроязык, реализующий данную парадигму.) Исследование возможностей объектно-ориентированного подхода выполнено в процессе разработки программы тестирования абитуриентов при поступлении в вуз. Процесс тестирования состоит из четырех тестов. Программа предназначена для эксплуатации на IBM-совместимых машинах. За один сеанс обеспечивается тестирование до 20 абитуриентов. Каждый тест содержит детерминированный набор вопросов (около 20). В процессе тестирования используются задания, сформированные в виде текстовых вопросов и рисунков. Процедура тестирования реализована по стандартной схеме: к каждому вопросу или утверждению в тесте предлагается несколько вариантов ответов, каждый из которых имеет свой весовой коэффициент. По окончании тестирования подсчитывается сумма баллов по всем тестам, средний балл и выводится ведомость.

Данная задача может быть решена с использованием многих средств: Си, Паскаль, Бейсик, СУБД, электронные таблицы и др. На Си, Паскале или Бейсике сложнее создать удобный, оконный, кнопочный интерфейс. Delphi, Visual Basic, в принци-

142

РИ, 1998, № 2

пе, являются неплохим выбором для данной задачи, но эти пакеты требуют мощных ресурсов ПЭВМ. СУБД (ACCESS, PARADOX, FOXPRO) также могут использоваться для решения этой задачи, хотя и имеют несколько другую направленность.

Электронные таблицы EXCEL со встроенным интерпретатором макроязыка Visual Basic for Application имеют все необходимые средства для решения этой задачи. Рабочие листы таблиц используются как базы данных для хранения вопросов, ответов и их весовых коэффициентов. Отдельный лист выделен под ведомость результатов тестирования абитуриентов. Диалог с пользователем осуществляется с помощью диалоговых листов, которые содержат необходимые для этого управляющие элементы — переключатели, кнопки и др. В листах макросов содержится сама программа, которая управляет рабочими листами, диалогами и об-шим ходом тестирования на VBA [1].

Программы, написанные на VBA, разбиты на множество независимых модулей, которые имеют событийный способ управления: процедуры запускаются в строго определенный момент, после некоторого события, например: нажатия кнопки, щелчка мыши, запуска или окончания работы другой подпрограммы [2]. Следует отметить простоту создания высококачественного пользовательского интерфейса с помощью диалоговых окон, кнопок, переключателей и других элементов управления.

Реализация такого интерфейса с помощью традиционного языка программирования существенно увеличила бы сложность этой задачи. Но объектный способ программирования содержит в себе аспекты, к которым необходимо привыкнуть: программа не имеет линейной структуры, она представлена в виде отдельных процедур и объектов. Этим усложняется полное представление и понимание ее работы. Кроме того, работа программы зависит непосредственно от свойств объектов, задаваемых каждому объекту индивидуально. Таким образом, для полного понимания работы программы необходимо иметь в виду все процедуры, объекты и их свойства.

Принципы построения и работы программы

Используемая в программе информация содержится в рабочих листах: “Вопросы1” ... “Вопро-сы4”. Итоговая ведомость тестирования по группе абитуриентов расположена на листе “Ответы”.

Для диалога с пользователем применяется 5 диалоговых листов: “Диалогі”, “Диалог2”, “ДиалогЗ”, “ДиалогЗб”, “Диалог4”. Задания, в которых использовались рисунки, выполнены с помощью элементов рисования и вынесены на отдельный диалоговый лист “ДиалогЗб”.

Текст программы разделен на процедуры и находится в модулях. “Модульї” содержит основную процедуру с названием auto_open, что обеспечивает ее автоматический запуск при открытии файла. Кроме этого, “Модульї” содержит вспомогательные процедуры. Ниже описан алгоритм его работы.

1. Скрывает приложение (для того, чтобы в случае прерывания выполнения макросов программа оставалась недоступной).

2. Проверяет количество записей в ведомости и при превышении 20 выдает предупреждающее сообщение.

3. Запускает тестирование, активизируя диалоговое окно “Приветствие” (см. Диалоговое окно “Приветствие”).

4. Подготавливает строку в ведомости для последующего ввода данных о результатах тестирования нового абитуриента (заносит формулы для расчета общей суммы баллов, а также среднего балла по всем тестам).

5. Активизирует диалоговое окно “ Регистрация” (см. Диалоговое окно “Регистрация”).

6. Сбрасывает счетчики номеров вопросов.

7. Подготавливает диалоговый лист “Диалогі” для запуска.

8. Активизирует “Диалогі”.

9. Выполняет действия 7 и 8 для каждого теста.

10. Вызывает диалоговое окно “Завершение”.

11. Переходит в начало процедуры для тестирования следующего абитуриента.

Исходный текст процедуры auto_open: *

Option Explicit

Public qvn As Integer Описание переменных

Public qt As Integer

Sub auto_open()

Application.Visible = False Скрытие приложения

qt = 0

If Worksheets(“OTBeTbi”).Range(“a31”).Value <> “” Then MsgBox (“База данных заполнена и для дальнейшего использования требуется ее очищение, в противном случае распечатка ведомости не будет помешаться в стандартный бланк.”) While qt = 0

DialogSheets(“Приветствие”).Show If qt = 1 Then

Application.Visible = True Sheets(“Ответы”).Select Exit Sub End If qvn = 0

Sheets(“Олветы”).Select Подготовка строки для

ActiveSheet.Range(“2:2”).Select Selection.Insert Shift:=xlDown Rows(“2:2”).RowHeight = 16 Range(“A2:I2”).Select With Selection.Borders(xlLeft)

.Weight = xlThin

.ColorIndex = xlAutomatic End With

Selection. BorderAround Weight: =xlThin,

ColorIndex: =xlAutomatic

ActiveSheet.Range(“h2”).Formula = “=D2+E2+F2+G2” ActiveSheet.Range(“i2”).Formula = “=h2/4” DialogSheets(“Регистрация”).Show Запуск диалога

“Регистрация”

Sheets(“Диалог”).DrawmgObjects(“Отвег 1”).Value = xlOn СлВопрос Подготовка и запуск первого теста

DialogSheets(“Диалог”).Show

... Аналогично для 2, 3 и 4 тестов

Wend

Application.Visible = True End Sub

Пример данного модуля иллюстрирует способ вызова диалоговых окон.

* Любая процедура начинается оператором SUB <Название> (<Параметры>) и завершается ENDSUB. Если для работы процедуры не требуется передавать данные, то круглые скобки остаются пустыми. В русифицированной версии EXCEL допускаются русские имена процедур.

внесения данных абитуриента

Формирование

обрамления

РИ, 1998, № 2

14З

Кроме этого, “Модульї” содержит дополнительные процедуры:

Sub кнпВыход_ЩелкнутьО Обеспечивает выход в Excel

Dim pas As String

pas = InputBox(prompt:-’Для выхода в EXCEL введите

пароль, в противном случае вы не получите доступа.”) If pas = “ИИ” Then qt = 1 Sheets(“Приветствие”).Hide

End Sub

Sub Очистить() Очищает ведомость

Rows(“2:16000”).Delete Range(“a2”). Select

ActiveSheet.DrawingObjects(“Text 6”).Select Selection.Top = 160 Selection.Height = -27

End Sub

Sub Печатать() Распечатывает ведомость

Sheets(“Ответы”).PrinЮut Copies:=1

End Sub

В приведенных модулях использовано много стандартных процедур и функций из библиотеки VBA. Доступ к ним выполняется как к объектам, т.е. обращение записывается следующим образом: Объект. Метод.

Диалоговое окно “Приветствие” содержит вводный текст, объясняющий, как пользоваться программой тестирования для абитуриента. Имеет две кнопки: “Начать тест” и “Выход”. При нажатии кнопки “Выход” вызывается процедура запроса пароля, и при правильном ответе допускается выход в EXCEL.

Диалоговое окно “Регистрация” предназначено для ввода фамилии, имени, отчества.

Имеет три поля ввода и клавишу “Продолжить”. При щелчке на этой клавише вызывается процедура, которая копирует данные из полей ввода в колонки рабочего листа “Ответы”. При этом проверяется, все ли данные введены. Если обнаруживается пустое поле, то выдается предупреждающее сообщение, и пользователя возвращают в диалоговое окно “Регистрация” для заполнения пропущенных полей.

Программа для обработки диалогового окна “Регистрация” также содержится в модуле “Модульї”:

Sub регистрация()

Dim var As String Описание переменных

DialogSheets(“Регистрация”).Activate Открытие диалога

регистрация

ActiveSheetDrawingObjects(“пвФамилия”).Select var = Selection.Characters.Text If var = “” Then

MsgBox “Необходимо ввести вашу фамилию”

Exit Sub

End If

Worksheets(“Ответы”).Range(‘X2”).Value = var ActiveSheet.DrawingObjects(“пвИмя”).Select Проверка:

var = Selection.Characters.Text вся ли информа-

If var = “” Then ция введена

MsgBox “Необходимо ввести ваше имя”

Exit Sub End If

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Worksheets(“Ответы”).Range(“B2”).Value = var ActiveSheetDrawingObjects(“пвОтчество”).Select var = Selection.Characters.Text If var = “” Then

MsgBox “Необходимо ввести ваше отчество”

Exit Sub

End If

Worksheets(“Ответы”).Range(“C2”).Value = var ActiveSheetDrawingObjects(“пвФамилия”).Select Selection.Characters.Text = “” Очищение полей ввода ActiveSheetDrawingObjects(“пвИмя”).Select Selection.Characters.Text = “” ActiveSheetDrawingObjects(“пвОтчество”).Select Selection.Characters.Text = “” DialogSheets(“Регистрация”).ffide End Sub

Окно первого теста содержит метку вопроса (поле, в котором формируется вопрос), три переключателя, которые предназначены для выбора ответов на вопросы, кнопку “Следующий вопрос”.

При нажатии кнопки “Следующий вопрос” вызывается макрос, который проверяет, был ли выбран какой-либо ответ. При положительном результате он засчитывает определенное количество баллов, считывает следующий вопрос с листа “Вопросы” и заносит его на лист диалога:

Option Explicit Sub СлВопрос()

Dim qv As String Dim an1 As String Dim an2 As String Dim an3 As String Static ves1 As Integer Static ves2 As Integer Static ves3 As Integer If qvn = 0 Then ves1 = 0: ves2 = 0 : ves3 = 0

End If

Описание переменных как

Static обеспечивает им сохранение значений при окончании работы (обнуление переменных для повторного запуска)

If Sheets(“Диалог”).DrawingObjects(“Ответ 1”).Value = xlOff

And

Sheets(“Диалог”).DmwingObjects(“Ответ 2”).Value = xlOff

And

Sheets(“Диалог”).DrawingObjects(“Ответ 3”).Value = xlOff

Then

MsgBox “Необходимо выбрать какой-нибудь ответ”

(проверка,

Exit Sub был ли выбран

End If какой-нибудь ответ)

If Shee1s(“Диалог”).DrawingObjec1s(“Ответ 1”).Value = xlOn Then

Sheets(“Ответы”).Range(“d2”).Value = Sheets(“Ответы”).Range(“d2”).Value + ves1 (зачет баллов в

соответствии с весовыми коэффициентами) If Sheets(“Диалог”).DrawingObjects(“Ответ 2”).Value = xlOn

Then

Sheets(“Ответы”).Range(“d2”).Value = Sheets(“Ответы”).Range(“d2”).Value + ves2 If Sheets(“Диалог”).DrawingObjects(“Ответ 3”).Value = xlOn

Then

Sheets(“Ответы”).Range(“d2”).Value = Sheets(“Ответы”).Range(“d2”).Value + ves3 If Sheets(“Вопросы”).Range(“A” & qvn + 1).Value = “”

Then

Sheets(“Диалог”).Hide (проверка на окончание вопросов)

Exit Sub End If

qvn = qvn + 1

qv = Sheets(“Вопросы”).Range(“A” & qvn).Value an1 = Sheets(“Вопросы”).Range(“b” & qvn).Value ves1 = Sheets(“Вопросы”).Range(“c” & qvn).Value an2 = Sheets(“Вопросы”).Range(“d” & qvn).Value ves2 = Sheets(“Вопросы”).Range(“e” & qvn).Value an3 = Sheets(“Вопросы”).Range(“f’ & qvn).Value ves3 = Sheets(“Вопросы”).Range(“g” & qvn).Value

144

РИ, 1998, № 2

Sheets(“,Диалог”).Activate ActiveSheetDrawingObjects(“MrBonpoc”).Select Selection.Characters.Text = qv ActiveSheet.DrawingObjects(“OiBer 1”).Select (перенос Selection.Characters.Text = an1 вопросов на

Selection.Value = xlOff диалоговый лист)

ActiveSheet.DrawingObjects(“OTBeT 2”).Select Selection.Characters.Text = an2 Selection.Value = xlOff

ActiveSheet.DrawingObjects(“OTBeT 3”).Select Selection.Characters.Text = an3 Selection.Value = xlOff End Sub

Диалоговое окно второго теста по дизайну несколько отличается от остальных. В нем содержится метка для задания утверждения. А для выбора ответов используются кнопки “Да” и “Нет” вместо переключателей. По нажатию кнопки происходит зачет ответа и автоматический переход на следующий вопрос:

Пример вопроса третьего теста

Sub Кнопка247_Щелкнуть()

If Sheets(“Диалог3б”).DrawingObjects(“пр1_1”).Value = xlOff

Option Explicit

Sub кнцДа_Щелкнуть() Запускається при ответе "Да"

Dim ves As Integer

ves = Sheets(“Вопросы2”).Range(“B” & qvn).Value Sheets(“Oтвeты”).Range(“e2”).Value = Sheets(“Oтвeты”).Range(“e2”).Value + ves слВопрос2 End Sub

Sub кнпНет_Щелкнуть() Запускаеться при ответе "Нет"

Dim ves As Integer

ves = Sheets(“Вопросы2”).Range(“C” & qvn).Value Sheets(“Oтвeты”).Range(“e2”).Value = Sheets(“Oтвeты”).Range(“e2”).Value + ves слВопрос2 End Sub Sub слВопрос2()

Dim qv As String

If Sheets(“Вопросы2”).Range(“A” & qvn + ).Value = “”

Then

Sheets(“Диалог2”).Hide (проверка на окончание вопросов)

Exit Sub End If

qvn = qvn + 1

qv = Sheets(“Вопросы2”).Range(“A” & qvn).Value DialogSheets(“Диалог2”).Activate ActiveSheetDrawingObjec1s(“мгВопрос2”). Select (переход Selection.Characters.Text = qv к следующему вопросу) End Sub

Диалоговое окно третьего теста “ДиалогЗ” аналогично окну “ДиалогІ”, вызывает соответствующие макросы для третьего теста. Окно “ДиалогЗб” вызывается после закрытия окна “ДиалогЗ”. В “Ди-алогеЗб” рисунки сгруппированы в блоки, каждый блок имеет по 3 переключателя для выбора ответа и пользователь должен определить закономерность в последовательности рисунков и выбрать следующий рисунок в каждом блоке (рисунок).

Кнопка “Нажмите, когда закончите” вызывает программу, которая проверяет, было ли выбрано по одному ответу в каждом блоке. Если это так, то к сумме результатов третьего теста, в случае правильного ответа, прибавляется сумма баллов, пропорциональная количеству правильных ответов. Диалоговое окно третьего теста обрабатывается модулем “ТестЗМодуль”. В нем содержится две процедуры: для обработки первой части теста и второй:

And

Sheets(“Диалог3б”).DrawmgObjects(“пр1_2”).Value = xlOff And

Sheets(“Диалог3б”).DrawingObjects(“пр1_3”).Value = xlOff Or

Sheets(“Диалог3б”).DrawingObjects(“пр2_1”).Value = xlOff And

Sheets(“Диалог3б”).DrawingObjects(“пр2_2”).Value = xlOff And

Sheets(“Диалог3б”).DrawmgObjects(“пр2_3”).Value = xlOff Or

...... аналогично для остальных переключателей

Then

MsgBox (“В каждом блоке необходимо выбрать какой-нибудь рисунок из трех предложенных. Попробуйте еще раз”)

Exit Sub End If

If Sheets(“Диалог3б”).DrawingObjects(“пр1_1”).Value = xlOn Then Sheets(“Oтвeты”).Range(“F2”).Value = Sheets(“Oтвeты”).Range(“F2”).Value + 4 (подсчет баллов)

... аналогично для других блоков

Shee1s(“Диалог3б”).DrawingObjec1s(“пр1_1”).Value = xlOff

... (очищение выбраных ответов)

Sheets(“Диалог3б”).Hide

End Sub

Диалоговое окно четвертого теста предназначено для последнего, четвертого теста, содержит метку вопроса, четыре переключателя, кнопку для вызова следующего вопроса. Макросы, обрабатывающие четвертый тест, аналогичны предыдущим. Диалоговое окно “Завершение” сообщает об окончании тестирования. Клавиша “Конец теста” заканчивает тестирование и запускает программу с начала.

В программе предусмотрены блокировки некоторых некорректных действий (например, попытка перехода к следующему вопросу без ответа на текущий вопрос и др.).К сожалению, не удалось блокировать закрытие диалоговых окон и прерывание выполнения макросов при нажатии клавиши “ESC”.

Выводы. Программа работает в соответствии с заданием на разработку, хотя с точки зрения разработчиков она имеет особенности, налагаемые средой программирования: тексты вопросов в диалоговых листах содержатся в метках, а длина метки не может превышать 256 символов; длина вопроса ограничена

РИ, І998, № 2

І45

одной строкой, а также некоторые другие, менее значимые.

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

Обращает на себя внимание линейная структура модулей, что является залогом надежной работы программы. В целом, проделав описанную работу по созданию программы, можно сделать вывод о возможности эффективного использования Excel 5.0 и встроенного языка VBA для нетрадиционного приложения. Для примененной технологии характерна несложность программирования приложения с использованием объектно-ориентированного подхода, прозрачность логической структуры, наглядность и прогнозируемость процесса отладки, а также несложность сопровождения и модернизации.

Литература: 1. Каратыгин С. А., Тихонов А. Ф, Долголап-тев В. Г. Электронный Офис. Т. 1. М.: Восточная книжная компания, 1997. С.431-579 2. Бунин Э. Excel Visual Basic для приложений. М.: Бином. 1996. 325 с.

Поступила в редколлегию 14.05.98 Рецензент: д-р техн. наук, проф. Загарий Г.И. Карасюк Владимир Васильевич, канд. техн. наук, доцент кафедры информатики и вычислительной техники Национальной юридической академии Украины им. Я.Мудрого. Научные интересы: базы данных, электронные таблицы, объектно-ориентированный подход, распределенные вычисления. Адрес: 310143, Украина, Харьков-143, ул. Б. Кольцевая, 136, кв. 88, тел. 14-56-08.

Сокольников Дмитрий Игоревич, студент Харьковского института экономики рыночных отношений и менеджмента. Научные интересы: СУБД, экспертные системы, искусственный интеллект. Адрес: 310180, Украина, Харьков, ул. О. Яроша, 7, кв.16, тел. 32-47-07.

УДК 616-07:537.311.6

ЛОКАЛЬНА ЕЛЕКТРИЧНА ІМПЕДАНСНА ТОМОГРАФІЯ ДЛЯ МЕДИЧНОЇ ДІАГНОСТИКИ

МЕЛЬНИК Р.А.

У статті розглянуто переваги методу електричної імпедансної томографії з точки зору медичної діагностики та проблеми, пов’язані з його практичним використанням. Для підвищення точності методу запропоновано варіант локальної імпедансної томографії.

Вступ

Метод електричної імпедансної томографії (ЕІТ) не є новим. Він був запропонований в кінці 70-х — на початку 80-х років і на даний час знаходиться на стадії експериментальних досліджень, де вже досягнуто певних успіхів. При електричній імпе-дансній томографії шукають розподіл питомого електричного опору або питомої електричної провідності всередині біологічного об’єкта, причому як вхідні дані використовують значення струму і напруги, виміряні на поверхні об’єкта. В цьому полягає ідея методу.

Застосування ЕІТ в медичній діагностиці базується на двох основних принципах: 1) велике відношення (до 200:1) опорів різних типів тканин у людському організмі; 2) часто значна різниця між опором нормальної і патологічної тканини [4]. Зростаючий інтерес до даного методу з боку лікарів пояснюється тим, що, на відміну від існуючих •гомографічних методів, електрична імпедансна томографія дає змогу одержати нову і деколи унікальну інформацію про внутрішню структуру досліджуваного об’єкта. Крім того, вона має переваги, дуже важливі з точки зору медицини.

На даний час існують і успішно використовуються три основних типи діагностичних гомографічних систем: Х-променеві, ультразвукові та_ на основі ядерного магнітного резонансу (ЯМР). їм властивий ряд недоліків:

1) шкідливість для пацієнта та обслуговуючого персоналу (особливо Х-променевої та ЯМР-томог-рафії); неможливість частої повторюваності досліджень і тривалого контролю стану пацієнта;

2) складність, великі габарити та немобільність обладнання;

3) дороговизна обладнання;

4) низька продуктивність роботи в результаті невисокої швидкодії механічних елементів сканування; неможливість проведення діагностичної томографії в реальному масштабі часу;

5) у випадку ультразвукової томографії — недостатня чутливість приладів внаслідок сильного згасання і розсіяння ультразвуку в біологічних тканинах.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Вказані недоліки обмежують застосування методів Х-променевої, ЯМР та ультразвукової томографії. На противагу їм електрична імпедансна томографія завдяки своїм характерним особливостям видається дуже «привабливим» методом для медичної діагностики. Перелічимо її переваги:

1) неінвазивність та екологічність; можливість частої повторюваності гомографічних досліджень і довготривалого контролю за станом пацієнта;

2) простота обладнання, його невеликі розміри, можливість виконання у переносному вигляді;

3) дешевизна обладнання, низька вартість проведення досліджень;

4) висока продуктивність роботи ЕІТ-систем, швидкодія яких обмежується лише швидкодією електронних пристроїв; можливість діагностування органів та систем людини в їх динаміці; можливість проведення досліджень не тільки в двовимірному, але і в тривимірному випадку.

1. Опис методу

Типова система для електричної імпедансної томографії складається з двох основних частин: апаратної — системи відбору даних — і програмної — системи для реконструкції зображення. Перша здійснює відбір даних від досліджуваного об’єкта, забезпечуючи задану точність вимірювань, швидкість отримання даних та методику (стратегію) відбору. За одержаними даними знаходять розподіл опору або провідності всередині об’єкта. (Найчастіше в імпедансних гомографічних системах вимірюють

РИ, 1998, № 2

146

i Надоели баннеры? Вы всегда можете отключить рекламу.