на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Дипломная работа: Использование ЭВМ в кардиологии


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

Достоинством немедицинских диагностических алгоритмов является то, что они могут использовать любые параметры описания электрокардиограммы. Благодаря этому им оказываются доступны резервы информации, которые в клинической практике остаются неиспользованными. Недостатком этих алгоритмов является неудобность их обучения. Это представляет существенные трудности, так как связано с подбором хорошо исследованных больных с заболеваниями, различать которые должен научиться автомат. Тем не менее, алгоритмы второй категории считаются более перспективными, так доступная им новая информация даст возможность сделать диагностику более эффективной. В настоящее время ведутся активные работы в разных странах мира в области разработки алгоритмов классификации ЭКГ. Основными направлениями работ является применение нейронных сетей, методов частотно-временного преобразования (вейвлет-анализ) и многое другое.

Сжатие ЭКГ данных

Большинство современных программных ЭКГ системы обладают возможностью сжатия данных. Такая возможность необходима для организации эффективного хранения данных, передачи больших объемов данных через Internet. Некоторые методы сжатия даже включены в стандарты обмена ЭКГ данными [18].

В целом, компрессия данных осуществляется за счет уменьшения избыточности ЭКГ. Все основные методы сжатия данных могут разделены на 2 группы: сжатие с потерями данных и без потерь. Под сжатием с потерями подразумевается то, что исходный сигнал может быть восстановлен только с заведомо известной степенью точности. Методы сжатия с потерями используют стандартные методы кодирования избыточности, применяемые для сжатия произвольных данных. Эти методики обычно используют особенности ЭКГ сигнала: периодичность, наличие участков практически постоянного потенциала. Чтобы извлечь из этого пользу, сигнал зачастую дифференцируется, генерируется усредненный шаблон периодического участка(обычно QRS комплекс), который вычитается из сигнала на каждом периоде. Все это делается для того, чтобы впоследствии как можно эффективнее применить операцию кодирования без потери информации. Сжатие с потерями обычно происходит по стандартной схеме. Вначале используется некоторое дискретное преобразование сигнала, полученные коэффициенты дополнительно квантуются и далее применятся стандартная процедура сжатия квантованных коэффициентов без потерь. В настоящее время в качестве дискретных преобразований широко применяются дискретное преобразование Фурье (ДПФ), дискретное косинусное преобразование, преобразование Карунена-Леве, а также вейвлет-преобразование. [19]. Следует заметить, что единственный шаг кодирования, на котором осуществляется потеря данных, - это процедура квантования.

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

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

Перейдем теперь к рассмотрению основных принципов построения и использования предлагаемой нами программы тестирования и оптимизации программных фильтров для определения моменты подачи импульса в дефибрилляторе ДФР-2.

 

Глава 2. Основные принципы и методы объектно-ориентированного программирования

Проблемы при решении сложных задач

Проблемы, которые мы пытаемся решить с помощью разрабатываемого программного обеспечения, часто неизбежно содержат сложные элементы, к которым предъявляется множество различных, нередко противоположных требований.

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

Рис. 4.1. Каноническая форма сложной декомпозиции.

В самом деле, правильная декомпозиция непосредственно определяет сложность, присущую программной системе, обеспечивая разделение пространства состояний системы. На рис. 2.2 мы разделили подсистему, выбрав в качестве критерия декомпозиции принадлежность ее элементов к различным абстракциям данной предметной области.


Рис. 2.2. Объектно-ориентированная декомпозиция.

Объектный подход

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

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

Начиная с FORTRAN II и позднее, для решения задач программирования на более высоком уровне стали возникать новые существенные механизмы структурирования. Это привело к реализации механизма раздельной компиляции модулей, которые были чем-то большим, чем случайный набор данных и подпрограмм.


Рис. 2.3. Архитектура языков программирования третьего поколения.

Объектный подход может быть осуществлен на более высоких уровнях абстракций. Группы абстракций в больших системах могут представляться в виде многослойной структуры. Группы объектов существуют на каждом уровне и тесно взаимодействуют между собой. Внутри каждой группы мы видим то же взаимодействие.

Рис. 2.4. Архитектура программных систем большой сложности на основе объектных и объектно-ориентированных языков программирования.


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

Объектно-ориентированное программирование (ООП) - это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию на принципах наследуемости.

В данном определении можно выделить три части:

-ООП использует в качестве элементов конструкции объекты, а не алгоритмы.

-Каждый объект является реализацией какого-либо определенного класса.

-Классы организованы иерархически.

Программа будет объектно-ориентированной только при соблюдении этих трех требований.

Объектно-ориентированное проектирование

Методы программирования подразумевают правильное эффективное использование механизмов языков программирования. Методы проектирования, напротив, основное внимание направляют на структурирование сложных систем.

Определим объектно-ориентированное структурирование следующим образом:

Объектно-ориентированное структурирование (ООС)– это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления как логической и физической, так статической и динамической моделей проектируемой системы.

В данном определении содержатся две важные части:

-OOС ведет к объектно-ориентированной декомпозиции

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

Объектно-ориентированный анализ

Объектно-ориентированный анализ (ООА) направлен на создание моделей, более близких к реальности, с использованием объектно-ориентированного подхода; это методология, при которой требования формируются на основе понятий классов и объектов, составляющих словарь предметной области.

На результатах ООА формируются модели, на которых основывается ООС; ООС в свою очередь создает основу для окончательной реализации системы с использованием методологии ООП.

Способы программирования и компоненты объектного подхода

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

-абстрагирование

-ограничение доступа

-модульность

-иерархия

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

-типизация

-параллелизм

-устойчивость

Эти элементы являются полезными, но не обязательными в объектном подходе.

Рассмотрим эти элементы более подробно.

Абстрагирование

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

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

Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности поведения от деталей их осуществления. Полезным является еще один принцип, называемым принципом наименьшей выразительности, по которому абстракция должна охватывать лишь самую суть объекта, не больше, но и не меньше.

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

-Абстракция сущности объекта - объект представляет собой модель существенных сторон предметной области.

-Абстракция поведения – объект состоит из обобщенного множества операций, каждая из которых выполняет определенную функцию

-Абстрагирование в виде виртуальной машины – объект объединяет группы операций виртуальной машины, которые используются либо для управления объектом, либо соответствуют функциям нижнего уровня

Произвольная абстракция – объект включает в себя набор независимых по отношению друг к другу операций

Наиболее интересны для нас абстракции сущности объектов, так как они соответствуют словарю предметной области.

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

Ограничение доступа

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

Абстрагирование и ограничение доступа являются взаимодополняющими операциями: абстрагирование фокусирует внимание на внешних особенностях объекта, а ограничение доступа – или иначе защита информации – не позволяет объектам пользователям различать внутреннее устройство объекта. Практически, в описании класса существуют две части: интерфейс и реализация. Интерфейс отражает внешнее проявление объекта, создавая абстракцию поведения всех объектов данного класса. Внутренняя реализация описывает механизмы достижения желаемого поведения объекта. Принцип такого различения интерфейса и реализации соответствует разделению по сути: в интерфейсной части собрано все, что касается взаимодействия данного объекта с любыми другими объектами; реализация скрывает от других объектов все детали, не имеющие отношения к процессу взаимодействия объектов.

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

В языке С ++ элементы объекта могут быть общедоступны, обособлены или защищены. Общедоступная часть “видима” для всех объектов, обособленная “скрыта” от других объектов, а защищенная “скрыта” от всех объектов.

Модульность

Разделение программы на фрагменты позволяет частично уменьшить ее сложность. Однако гораздо важнее тот факт, что разделение программы улучшает проработку ее частей. Это свойство особенно полезно, когда программа состоит из огромного количества классов. Итак,

Модульность – это разделение программы на отдельно компилируемые фрагменты, имеющие между собой средства сообщения.

В большинстве языков ведется разделение интерфейсной части и реализации. Таким образом, модульность и ограничение доступа идут неразрывно друг от друга. В традиционном структурном проектировании модульность связывается прежде всего с логической группировкой подпрограмм на основе принципов взаимной связи и общей логики. В объектно-ориентированном программировании ситуация несколько иная: необходимо физически разделить классы и объекты, составляющие логическую структуру проекта и явно отличающиеся от подпрограмм. Программист должен находить баланс между двумя противоположными тенденциями: стремлением ограничить доступ к данным и необходимости обеспечения видимости тех или других абстракций в нескольких модулях. Доступ к данным из другого модуля должен осуществляться только через процедуры данного модуля.

Модульность – это свойство системы, связанное с возможностью декомпозиции ее на ряд тесно связанных модулей.

Иерархия.

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

Иерархия – это ранжированная или упорядоченная система абстракций.

Основными видами иерархических структур применительно к сложным системам являются структура классов (иерархия по номенклатуре) и структура объектов (иерархия по составу).

Важным элементом объектно-ориентированных систем и основным видом иерархии по номенклатуре является упоминавшаяся выше концепция наследования. Наследование означает такое соотношение между классами, когда один класс использует структурную или функциональную часть одного или нескольких других классов (простое и множественное наследование). Иными словами, наследование – такая иерархия абстракций, в которой подклассы наследуют строение от одного или нескольких суперклассов.

Принципы абстрагирования, ограничения доступа и иерархии конкурируют между собой. Данфорт и Томлисон утверждают: “Абстрагирование данных состоит в установлении жестких границ, защищающих состояние и функции объекта; принцип наследования требует открыть доступ и к состоянию, и к функциям объекта для производных объектов”. Для любого класса обычно существуют два вида объектов пользователей: объекты, которые используют операции данного класса для доступа к его элементам, и объекты-подклассы, полученные наследованием данного класса.

Различные языки программирования по-разному реализуют механизмы наследования и ограничения доступа, наиболее гибким в этом отношении является С++. В нем интерфейсная часть класса может быть разделена на три части: обособленную – видимую только для самого класса, защищенную – видимую также для подклассов; общедоступную – видимую для всех. В ряде случаев наследование носит множественный характер.

Типизация.

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

Типизация – это ограничение, накладываемое на класс объектов и препятствующее взаимозамене различных классов (или сильно сужающее возможность такой взаимозамены). Типизация позволяет выполнять описание абстракций таким образом, что реализуется поддержка проектных решений на уровне языка программирования.

Параллелизм.

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

Объект является основой, которая объединяет две концепции: каждый объект (как абстракция реальности) может представлять собой отдельный канал управления (абстракцию процесса). Такой объект называется активным. Для систем, построенных на основе OOD, реальность может быть представлена как совокупность взаимодействующих объектов, часть которых является активной и выступает в роли узлов независимых действий.

Параллелизм – свойство объектов находиться в активном, либо пассивном состоянии.

Устойчивость.

Устойчивость – понятие, связанное не только с временем существования данных. В OODB сохраняется не только состояние объекта, но и способ интерпретации класса любой другой программы должен быть определен однозначно. Из этого можно понять всю сложность управления базой данных в процессе ее наращивания, в частности при изменении классов объектов. Рассмотрим только устойчивость объектов во времени.

Устойчивость – свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и (или) в пространстве (перемещение объекта из адресного пространства, в котором он был создан).

Применения объектного подхода

Объектный подход создает множество существенных удобств, которые при других условиях не могут быть обеспечены. Наиболее важным является то, что объектный подход позволяет создавать системы, которые воплощают пять атрибутов хорошо структурированных сложных систем. Кроме того, можно назвать еще пять преимуществ, которые связаны с применением объектного подхода.

 

Глава 3. Разработка программы реализации программных фильтров для определения моментов подачи импульсов дефибриляции

Программа, управляемая событиями

Известно, что приложения для Windows можно разрабатывать как с использованием библиотеки классов MFC, так и без нее. Использование всей мощи MFC, конечно, облегчает процесс разработки приложений, однако каждому разработчику необходимо иметь представление о структуре и принципах функционирования традиционного Windows – приложения, созданного с помощью функций API (Application Programming Interface). Это утверждение объясняется тем, что каркас приложения MFC содержит внутри себя структуру традиционного Windows – приложения. Кроме того, многие методы классов MFC содержат, инкапсулируют, вызовы API – функций. В состав API входят не только функции (более 2000), но и множество структур, более 700 сообщений, макросы и интерфейсы. Цель этой главы – показать традиционную структуру Windows – приложения, созданного на основе классов MFC .

Основной чертой всех Windows – приложений является то, что они поддерживают оконный интерфейс, используя при этом множество стандартных элементов управления (кнопки, линейки, шкалы, списки и т. д.). Эти элементы поддерживаются с помощью динамических библиотек (DLL), которые являются частью операционной системы. Именно поэтому элементы доступны любым приложениям, и даже самое первое приложение будет иметь почти такой же облик, как и любое другое.

Страницы: 1, 2, 3, 4


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.