Реферат: Авторское выполнение научных работ на заказ. Контроль плагиата, скидки, гарантии, прямое общение с
diplomrus.ru - Авторское выполнение научных работ на заказ. Контроль плагиата, скидки, гарантии, прямое общение с автором.
Оглавление
Оглавление…………………………………………………………….1
Введение…………………………………………………………………4
ГЛАВА 1. Тенденции развития компьютерных систем сбора и математической обработки ЭКГ……………….9
Съем ЭКГ данных………………………………………….10
Фильтрация ЭКГ…………………………………………...13
Выделение и измерение параметров ЭКГ………………..18
Интерпретация и классификация ЭКГ……………………21
Сжатие ЭКГ данных………………………………………..23
Глава 2. Основные принципы и методы объектно-ориентированного программирования…………………25
Проблемы при решении сложных задач…………………...25
Объектный подход…………………………………………..26
Объектно-ориентированное проектирование……………..29
Объектно-ориентированный анализ……………………….29
Способы программирования и компоненты объектного подхода………………………………………………………30
Применения объектного подхода………………………….37
Глава 3. Разработка программы реализации программных фильтров для определения моментов подачи импульсов дефибриляции…………………………38
Программа, управляемая событиями……………………....38
Главное окно приложения………………………………….42
Загрузка файла………………………………………………43
Окно просмотра ЭКГ диаграмм……………………………45
Класс Filters.............................................................................50
Реализация таймера. ...............................................................57
Реализация QRS детектора....................................................59
Глава 4. Расчет затрат на создание программного продукта…………………………………………………………………61
Введение……………………………………………………..61
Составляющие затрат на разработку программ Kр……….63
Затраты на непосредственную разработку КП …………..64
Затраты на изготовление опытного образца как продукции производственно-технического назначения………………68
Затраты на технологию и программные средства автоматизации разработки КП. ……………………………68
Затраты на ЭВМ, используемые для автоматизации разработки данной программы…………………………….69
Расчет затрат на разработку комплекса……………………69
Исходные данные…………………………………………...69
Коэффициенты изменения трудоемкости…………………69
Расчет непосредственных затрат на разработку…………..70
Выводы……………………………………………………....71
^ Глава 5. Производственно – Экологическая безопасность при разработке программных
фильтров………………………………………………………………….73
Введение……………………………………………………...73
Анализ показателей утомления и условий труда………….74
Комплекс мероприятий, направленных на уменьшение утомляемости при работе за компьютером………………..77
Электромагнитное излучение………………………………78
Электрическая опасность…………………………………...79
Нерациональное освещение………………………………...80
Посторонние шумы………………………………………….81
Микроклимат………………………………………………...81
Психофизиологические факторы…………………………..82
Планирование рабочего места……………………………..82
Расчет воздухообмена………………………………………83
Экологическая безопасность……………………………….86
Выводы………………………………………………………86
ЗАКЛЮЧЕНИЕ…………………………………………………………….87
БИБЛИОГРАФИЯ…………………………………………………………88
Введение
В настоящее время развитие компьютерной индустрии затронуло разработки и исследования практически во всех отраслях современной науки. Компьютеры из года в год становятся неотъемлемой частью и обыденной жизни населения. Постепенное наращивание качества, надежности и производимости компьютерного оборудования заставляет разработчиков электронных приборов все чаще и чаще использовать в своих нововведениях микропроцессоры ведущих фирм производителей. Естественно такая ситуация не могла не затронуть медицинскую промышленность. Во всех областях медицины исследования на высоком научном уровне немыслимы без применения современных средств программного обеспечения. Сейчас ЭВМ применяют практически на всех этапах медицинского обследования: в профилактике, диагностике и терапии заболеваний.
Основной задачей современной медицины является предупреждение заболеваний на ранних стадиях развития. Для этого разрабатывается различная диагностическая аппаратура, которая по сути своей является информационно-измерительной системой.
Заболевания сердца – одна из наиболее важных проблем медицины сегодняшнего дня. Современные исследования сердца не могут обойтись без компьютерной техники. Выделяют две основные области исследований, в которых используются компьютеры: моделирование сердца человека и обработка данных кардиологических исследований.
Первая – моделирование сердца человека – осуществляется с целью более глубокого проникновения в сущность функционирования и строения этого органа. Очевидно, что в отсутствие компьютерного обеспечения проблема моделирования едва ли может быть решена.
Вторая область – анализ данных кардиологических исследований. Цель таких работ – постановка диагноза, составление прогноза и лечение. В некоторых случаях обработка кардиологических параметров возможна и вручную, тем не менее автоматический расчет их с помощью компьютера дает большие преимущества и требует меньше усилий. Наиболее важные преимущества автоматической обработки данных состоят в следующем:
- обработка данных осуществляется по одной схеме,
- результаты представляются в стандартном виде,
- можно использовать стандартную терминологию.
Некоторые же показатели просто не могут быть получены путем ручной обработки, и в этих случаях преимущества компьютера совершенно очевидны.
Различные типы данных, получаемые наиболее распространенными современными диагностическими методами в кардиологии представлены на рисунке 1. При обработке таких данных компьютеры выполняют следующие задачи: ввод данных, хранение, поиск, переработка и выдача информации. Переработка информации в свою очередь подразделяется на следующие подзадачи: фильтрация, распознавание образов, измерение параметров и интерпретация данных.
^ Рис. 1. Категории объективных кардиологических данных.
Актуальная проблема сегодняшнего дня – надежность и доступность
кардиографических аппаратов. Со временем микроконтроллеры ведущих фирм производителей стали дешевле и соответственно более доступны для внедрения в портативные аппараты диагностики сердца. Здесь все большая и большая нагрузка ложится на программное обеспечение, постепенно вытесняя из приборов ранее аппаратно реализуемые функции.
Подбор методов фильтрации и тестирование программных фильтров, разработанные в рамках данного дипломного проекта, удобно проводить отдельно, используя вспомогательные программы разработанные на персональной ЭВМ.
Наиболее распространенным и в полной мере функциональным языком программирования на сегодняшний момент является язык С++, объединяющий в себе возможности стандартизированного языка С и объектно – ориентированного подхода.
В последнее время широкое распространение получила объектно - ориентированная модель разработки программного обеспечения. Основная идея программирования при таком подходе состоит в разработке классов приложения для определения новых типов, манипулировать которыми так же просто, как и встроенными. Создавая новые типы для описания предметной области, С++ помогает программисту писать более легкие для понимания приложения. Классы позволяют отделить детали, касающиеся реализации нового типа, от определения интерфейса и операций, предоставляемых пользователю. При этом уделяется меньшее внимание мелочам, делающим программирование таким утомительным занятием. Значимые для прикладной программы типы можно реализовывать один раз, после чего использовать повторно [9]. Средства, обеспечивающие инкапсуляцию данных и функций, необходимых для реализации типа, помогают значительно упростить последующее сопровождение и развитие прикладной программы. Существует механизм, именуемый наследованием, который вводит возможность включать во вновь разрабатываемый класс общие свойства присущие ранее разработанному классу предку. Например, в трехмерной компьютерной графике классы OrthographicCamera (ортогональная камера) и PerspectiveCamera(перспективная камера) обычно являются производными от базового Camera. Каждый производный от него класс лишь реализует отличия от общей камеры, предоставляя альтернативный код для унаследования функций членов либо вводя альтернативные члены.
Таким образом используя программные модули, разработанные ранее и обладающие нужным набором функций разработчик может добиться максимальной эффективности работы своих модулей в совокупности с ранее разработанными, как правило поставляемыми вместе с интегрированной средой разработки.
Самой распространенной и наиболее емкой средой разработки сегодня является Microsoft Visual C++. В наши дни Visual C++ лидирует среди продуктов для программирования в среде Windows. Visual C++ - это инструмент для программирования в среде Widnows, обладающий поистине фантастическими возможностями. Более того, многие разработчики считают Visual C++ самой мощной из всех программ такого класса. На самом деле Visual C++ представляет собой целый набор из множества инструментов, собранных в одном динамическом пакете, готовом к немедленной работе. Сначала программы для Windows приходилось писать на языке С, а не на С++, и получались они большими и сложными. Даже вывод на экран пустого окна требовал примерно пяти страниц сложного невразумительного кода. Язык С++ позволяет хранить большую часть программного кода внутри самостоятельных объектов, а это сокращает объем больших программ. Помимо этого, фирма Microsoft разработала библиотеку Microsoft Foundation Classes. MFC – замечательный пакет, состоящий из заранее написанного и готового к работе кода. Например, вместо того чтобы самостоятельно писать программу для работы с новым окном, можно просто воспользоваться классом cWnd из MFC, который выполнит всю работу за вас [2]. Возможности, предоставляемые библиотекой классов MFC позволяют конструировать элементы пользовательского интерфейса, легко работать со стандартными типами данных языка С, разрабатывать классы, производные от библиотечных с добавлением новых функциональных возможностей, разрабатывать собственные классы с последующим развитием их функциональности.
^ Глава 1. Тенденции развития компьютерных систем сбора и математической обработки ЭКГ
Электрокардиологический метод – метод регистрации и анализа биоэлектрических процессов человека и животных нашел весьма широкое применение в клинической практике, физиологическом эксперименте, авиационной и космической медицине, исследованиях по физиологии труда и спорта. Столь широкое применение электрокардиологического метода объясняется тем, что он позволяет получить ценную информацию о деятельностей тканей, органов и систем. Электрическое возбуждение распространяется в определенном направлении и последовательности, создавая на поверхности тела электрическое поле. Поскольку электропроводные свойства тканей неоднородны, электрическое поле ассиметрично с разностью потенциалов между отдельными участками тела. Это свойство положено в основу метода электрокардиографии, который регистрирует разность потенциалов путем различных отведений от поверхности тела, что достигается с помощью приборов – электрокардиографов [1].
^ Для приобретения полной версии работы перейдите по ссылке.
1 – РР – интервал; 2 – PR – сегмент; 3 – ST – сегмент;
4 – Р – комплекс; 5 – QRS – комплекс; 6 – QT – интервал;
7 – PR – интервал; 8 – RR – интервал; 9 – Т - комплекс
^ Рис. 1.4. Сердечный цикл и его характерные элементы
Характерные элементы ЭКГ, которые необходимо распознать - это комплексы, сегменты (расстояние между зубцами) и интервалы. К параметрам ЭКГ, подлежащим измерению, относятся высота зубцов и длительность комплексов, а также величина сегментов и интервалов. Таким образом, необходимо выполнять два типа измерений: временные и амплитудные. В настоящее время существует несколько методик распознавания элементов ЭКГ. Одной из групп таких методик является группа структурных методов, основывающихся на априорном знании характеристик определяемого элемента ЭКГ. Обычно алгоритмы, принадлежащие к этой группе, являются эвристическими. Естественно, что характеристики одних и тех же элементов ЭКГ могут меняться от цикла к циклу. Структурные методы пытаются найти такие структурные особенности элемента ЭКГ, которые практически не изменяются от цикла к циклу, применяя для этого специальным образом подобранные фильтры, пороговые детекторы. Дополнительно также производится анализ длительностей комплексов, процедура фильтрации ложных пиков и т.д. Фактически основной работой, положившей начало этой группе алгоритмов, была [16], от которой в настоящее время получено множество производных методик, адаптированных для определения различных элементов ЭКГ. К другой группе методик принадлежат алгоритмы, основывающиеся на принципе сравнения искомого элемента ЭКГ с неким полученным специальным образом шаблоном. Такой шаблон обычно получается путем усреднения выровненных элементов, определенных ручным способом. Далее, исходя из доверительной вероятности определения, определяется максимальное среднеквадратичное отклонение, при котором классифицируемый элемент все еще принадлежит к группе шаблона. Фактически осуществляется потоковый просмотр исходного сигнала при использовании определенного окна и, если выделенный сегмент не выходит за границы максимального СКО, то он считается распознанным как элемент, принадлежащий группе шаблона. Самым важным моментом является выбор максимально допустимого СКО от оригинала, так как слишком большое СКО приведет к неверному принятию некорректных комплексов, а слишком малое - к потере реальных.
И, наконец, третьей группой методик анализа являются синтаксические алгоритмы, также известные как лингвистические или грамматические). Исходный анализируемый сигнал разлагается в определенную последовательность примитивов, определяются специальные правила (грамматики), порождающие то или иной элемент ЭКГ из множества примитивов. Для определения и классификации комплексов применяются конечные автоматы, распознающие наличие той или иной грамматики в ЭКГ .
В заключении следует отметь, что обычно все вышеописанные методики применяются в комплексе, что значительно более эффективно, чем использовать только один конкретный метод в отдельности.
^ Интерпретация и классификация ЭКГ
Результаты выявления элементов ЭКГ и измерения их параметров используются для интерпретации с целью постановки правильного диагноза. В настоящее время известны две основные категории алгоритмов, применяемых в различных системах автоматической диагностики. К первой категории относятся алгоритмы, моделирующие логику врача-диагноста — детерминистический. Естественно, в них используются признаки заболеваний, диагностическая значимость которых установлена всем предшествующим опытом медицины. Применительно к задачам электрокардиографии это связано, в частности, с обязательным использованием параметров медицинского описания электрокардиограммы. Данные тестируют по установленным критериям и получают набор непротиворечивых заключений по ЭКГ. Стоит заметить, что сегодня универсальный комплекс таких критериев отсутствует. Алгоритмы второй категории, как правило, основаны на методах многомерного статистического анализа и теории вероятностей. При этом отказываются не только от медицинской логики, но и от принятых в медицине обозначений элементов электрокардиограммы и способов измерений.
Обе названные категории алгоритмов имеют свои достоинства и недостатки. Безусловное достоинство медицинских алгоритмов - в возможности их быстрой реализации. Это определяется тем, что они концентрируют опыт диагностики, накопленный в медицине, и не требуют предварительных обучающих выборок. Предел диагностических возможностей таких алгоритмов ограничивается современным уровнем развития медицины, а качество конкретных алгоритмов компетентностью лиц, их составляющих.
^ Для приобретения полной версии работы перейдите по ссылке.
Сжатие ЭКГ данных
Большинство современных программных ЭКГ системы обладают возможностью сжатия данных. Такая возможность необходима для организации эффективного хранения данных, передачи больших объемов данных через Internet. Некоторые методы сжатия даже включены в стандарты обмена ЭКГ данными [18].
В целом, компрессия данных осуществляется за счет уменьшения избыточности ЭКГ. Все основные методы сжатия данных могут разделены на 2 группы: сжатие с потерями данных и без потерь. Под сжатием с потерями подразумевается то, что исходный сигнал может быть восстановлен только с заведомо известной степенью точности. Методы сжатия с потерями используют стандартные методы кодирования избыточности, применяемые для сжатия произвольных данных. Эти методики обычно используют особенности ЭКГ сигнала: периодичность, наличие участков практически постоянного потенциала. Чтобы извлечь из этого пользу, сигнал зачастую дифференцируется, генерируется усредненный шаблон периодического участка(обычно QRS комплекс), который вычитается из сигнала на каждом периоде. Все это делается для того, чтобы впоследствии как можно эффективнее применить операцию кодирования без потери информации. Сжатие с потерями обычно происходит по стандартной схеме. Вначале используется некоторое дискретное преобразование сигнала, полученные коэффициенты дополнительно квантуются и далее применятся стандартная процедура сжатия квантованных коэффициентов без потерь. В настоящее время в качестве дискретных преобразований широко применяются дискретное преобразование Фурье (ДПФ), дискретное косинусное преобразование, преобразование Карунена-Леве, а также вейвлет-преобразование. [19]. Следует заметить, что единственный шаг кодирования, на котором осуществляется потеря данных, - это процедура квантования.
Эффективность компрессии определяется коэффициентом сжатия, который обычно тем больше, чем выше величина потерь данных, и чем больше время, затраченное на кодирование информации. Величину, характеризующую потерю данных, обычно выражают в терминах среднеквадратичного отклонения, представленного в процентах:
Итак, в этой главе был проведен обзор функциональных возможностей систем сбора и математической обработки ЭКГ информации и основных методик ЭКГ, применяемых в настоящее время в клинической практике. Все методики ЭКГ – анализа, за исключением этапа интерпретации и классификации ЭКГ, описанные в этом разделе так или иначе используются при построении программы, предлагаемой на рассмотрение.
Перейдем теперь к рассмотрению основных принципов построения и использования предлагаемой нами программы тестирования и оптимизации программных фильтров для определения моменты подачи импульса в дефибрилляторе ДФР-2.
^ Глава 2. Основные принципы и методы объектно-ориентированного программирования
Проблемы при решении сложных задач
Проблемы, которые мы пытаемся решить с помощью разрабатываемого программного обеспечения, часто неизбежно содержат сложные элементы, к которым предъявляется множество различных, нередко противоположных требований.
Основная задача разработчиков состоит в создании иллюзии простоты, защищающей пользователей от сложности описываемого предмета или процесса. Размер программы отнюдь не входит в число ее достоинств. Внутри прикладной программы могут существовать сотни, и даже тысячи переменных. Как же мы можем изменить эту ситуацию? Для этого необходимо изучить структуру сложных систем. Если объединить понятия структуры классов и структуры объектов со всеми признаками сложных систем, то получим, что практически все сложные системы можно представить одной канонической формой, представленной ниже на рис. 2.1.
Для приобретения полной версии работы перейдите по ссылке.
объекты
Рис. 4.1. Каноническая форма сложной декомпозиции.
В самом деле, правильная декомпозиция непосредственно определяет сложность, присущую программной системе, обеспечивая разделение пространства состояний системы. На рис. 2.2 мы разделили подсистему, выбрав в качестве критерия декомпозиции принадлежность ее элементов к различным абстракциям данной предметной области.
Для приобретения полной версии работы перейдите по ссылке.
Рис. 2.2. Объектно-ориентированная декомпозиция.
^ Объектный подход
В основе объектно-ориентированного проектирования (ООП) лежит объектный подход. Основными принципами являются: абстрагирование, ограничение доступа, модульность, иерархичность, типизация, параллелизм и устойчивость. Эти принципы не новы, однако, именно в объектном подходе они объединены для решения общей задачи.
Объектно-ориентированное проектирование принципиально отличается от традиционных подходов структурного проектирования, так как подразумевает другой подход к процессу декомпозиции, а получаемый программный продукт по архитектуре в значительной степени выходит за рамки традиционных представлений.
Начиная с FORTRAN II и позднее, для решения задач программирования на более высоком уровне стали возникать новые существенные механизмы структурирования. Это привело к реализации механизма раздельной компиляции модулей, которые были чем-то большим, чем случайный набор данных и подпрограмм.
^ Для приобретения полной версии работы перейдите по ссылке.
Рис. 2.3. Архитектура языков программирования третьего поколения.
Объектный подход может быть осуществлен на более высоких уровнях абстракций. Группы абстракций в больших системах могут представляться в виде многослойной структуры. Группы объектов существуют на каждом уровне и тесно взаимодействуют между собой. Внутри каждой группы мы видим то же взаимодействие.
Рис. 2.4. Архитектура программных систем большой сложности на основе объектных и объектно-ориентированных языков программирования.
Методы структурного проектирования имели своей целью упростить процесс разработки сложных систем, на основе алгоритмического подхода. Методы объектно-ориентированного проектирования созданы в свою очередь для помощи разработчикам, использующим мощные выразительные средства объектного и объектно-ориентированного программирования, основанного на описании классов и объектов. Смысл такого подхода состоит в том, что он позволяет применить объектную ориентацию для решения всего круга проблем, связанных со сложными системами.
Объектно-ориентированное программирование (ООП) - это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию на принципах наследуемости.
В данном определении можно выделить три части:
-ООП использует в качестве элементов конструкции объекты, а не алгоритмы.
-Каждый объект является реализацией какого-либо определенного класса.
-Классы организованы иерархически.
Программа будет объектно-ориентированной только при соблюдении этих трех требований.
^ Объектно-ориентированное проектирование
Методы программирования подразумевают правильное эффективное использование механизмов языков программирования. Методы проектирования, напротив, основное внимание направляют на структурирование сложных систем.
Определим объектно-ориентированное структурирование следующим образом:
Объектно-ориентированное структурирование (ООС)– это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления как логической и физической, так статической и динамической моделей проектируемой системы.
В данном определении содержатся две важные части:
-OOС ведет к объектно-ориентированной декомпозиции
-Используется многообразие представления моделей, отражающих логическую и физическую системы.
^ Объектно-ориентированный анализ
Объектно-ориентированный анализ (ООА) направлен на создание моделей, более близких к реальности, с использованием объектно-ориентированного подхода; это методология, при которой требования формируются на основе понятий классов и объектов, составляющих словарь предметной области.
На результатах ООА формируются модели, на которых основывается ООС; ООС в свою очередь создает основу для окончательной реализации системы с использованием методологии ООП.
^ Способы программирования и компоненты объектного подхода
Каждый стиль программирования имеет свою концептуальную основу, требует различного подхода к решаемой задаче. Для объектно-ориентированного стиля концептуальная основа состоит в объектном подходе. Этому подходу соответствуют четыре главных элемента:
-абстрагирование
-ограничение доступа
-модульность
-иерархия
Эти элементы являются главными в том смысле, что без любого из них подход не будет объектно-ориентированным. Кроме главных имеются еще три дополнительных элементов:
-типизация
-параллелизм
-устойчивость
Эти элементы являются полезными, но не обязательными в объектном подходе.
Рассмотрим эти элементы более подробно.
Абстрагирование
Абстрагирование является одним из главных способов, используемых для решения сложных задач. По одному из определений это упрощенное описание или изложение системы, при котором одни свойства и детали выделяются, а другие опускаются. Хорошей является такая абстракция, при которой подчеркиваются существенные для рассмотрения и использования детали, и опускаются те, которые на данный момент несущественны или отвлекают внимание.
Определение абстракции: Абстракция – это такие существенные характеристики некоторого объекта, которые отличают его от всех других видов объектов и, таким образом четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа.
Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности поведения от деталей их осуществления. Полезным является еще один принцип, называемым принципом наименьшей выразительности, по которому абстракция должна охватывать лишь самую суть объекта, не больше, но и не меньше.
Существует целый спектр абстракций, начиная с объектов, которые приблизительно соответствуют сущности предметной области, кончая объектами, не имеющими реальных аналогий в жизни:
-Абстракция сущности объекта - объект представляет собой модель существенных сторон предметной области.
-Абстракция поведения – объект состоит из обобщенного множества операций, каждая из которых выполняет определенную функцию
-Абстрагирование в виде виртуальной машины – объект объединяет группы операций виртуальной машины, которые используются либо для управления объектом, либо соответствуют функциям нижнего уровня
Произвольная абстракция – объект включает в себя набор независимых по отношению друг к другу операций
Наиболее интересны для нас абстракции сущности объектов, так как они соответствуют словарю предметной области.
Все абстракции обладают как статическими, так и динамическими свойствами. Например, объект-файл требует определенного объема памяти, имеет имя и содержание. Эти атрибуты являются статическими. Конкретные значения каждого из перечисленных свойств являются динамическими, изменяющимися в процессе использования объекта: файл можно изменять свои размеры, имя и содержимое.
^ Ограничение доступа
Созданию абстракции какого-либо объекта должны предшествовать определенные решения о способе ее реализации. Выбранный способ реализации должен быть скрыт и защищен для большинства объектов-пользователей (обращающихся к данной абстракции). Ограничение доступа позволяет вносить в программу изменения, сохраняя ее надежность и минимизируя затраты на этот процесс.
Абстрагирование и ограничение доступа являются взаимодополняющими операциями: абстрагирование фокусирует внимание на внешних особенностях объекта, а ограничение доступа – или иначе защита информации – не позволяет объектам пользователям различать внутреннее устройство объекта. Практически, в описании класса существуют две части: интерфейс и реализация. Интерфейс отражает внешнее проявление объекта, создавая абстракцию поведения всех объектов данного класса. Внутренняя реализация описывает механизмы достижения желаемого поведения объекта. Принцип такого различения интерфейса и реализации соответствует разделению по сути: в интерфейсной части собрано все, что касается взаимодействия данного объекта с любыми другими объектами; реализация скрывает от других объектов все детали, не имеющие отношения к процессу взаимодействия объектов.
^ Для приобретения полной версии работы перейдите по ссылке.
Наступление события обозначается поступлением сообщения. Все сообщения Windows имеют стандартные имена, многие из которых начинаются с префикса WM_ (Windows Message). Например, WM_PAINT именует сообщение о том, что необходимо перерисовать содержимое окна того приложения, которое получило это сообщение. Идентификатор сообщения WM_PAINT – это символьная константа, обозначающая некое число.
Рассмотрим такой пример. Пользователь приложения нажимает клавишу на клавиатуре, а система вырабатывает сообщение об этом событии. Вы знаете, что Windows обеспечивает поддержку клавиатуры, не зависящую от типа устройства (device – independent support). Для каждого типа клавиатуры она устанавливает соответствующий драйвер, то есть специальную программу, которая служит посредником между клавиатурой и операционной системой. Клавиатурная поддержка Windows не зависит также от языка общения с системой. Это достигается использованием специальной клавиатурной раскладки (layout), которую пользователь выбрал в данный момент. Каждой клавише присвоено уникальное значение – идентификатор клавиши, зависящий от типа устройства и называемый скан – кодом. Когда пользователь вводит символ, то клавиатура генерирует два скан кода: один – когда он нажимает клавишу, и другой – когда отпускает. Скан коды с клавиатуры поступают в клавиатурный драйвер, который, используя текущую раскладку, транслирует их и преобразует в сообщения.
Клавиатурный драйвер интерпретирует скан – код и преобразует его в определяемый Windows код виртуальной клавиши (virtual - key code), не зависящий от типа устройства и идентифицирующий функциональный смысл клавиши. После этого преобразования скан - кода драйвер создает сообщение, в которое включается: скан – код, виртуальный код и другая информация о нажатии клавиши, и помещает его в очередь системных сообщений. Windows выбирает сообщение из этой очереди и посылает его в очередь сообщений соответствующего потока (thread). В конце концов цикл выборки сообщений данного потока передает его соответствующей оконной процедуре для обработки. Модель вызова с клавиатуры в системе Windows представлена на рис. 3.1.
Рис. 3.1 Схема генерации и движения сообщений Windows.
Рассмотренная модель выработки и прохождения сообщений поможет вам понять структуру, принятую во всех Windows – приложениях. Последние два блока в рассмотренной схеме определяют особенности строения любого Windows – приложения. Простейшее приложение состоит как минимум из двух функций:
- функция WinMain (имя зарезервировано), которая содержит цикл выборки сообщений и выполняется первой в любом приложении;
- оконная процедура, которую вызывает система, направляя ей соответствующие сообщения.
Имя оконной процедуры выбирается произвольно. Система Windows регистрирует это имя, связывая его с вашим приложением. Также безусловно нужно отметить, что хотя в приложениях на основе MFC трудно увидеть функцию WinMain или оконную процедуру, они там присутствуют, но скрыты от программиста разработчиками среды Visual Studio.
^ Главное окно приложения.
На рис. 3.2 приведено главное окно приложения. Через набор управляющих элементов производится управление основной программой.
Элементы управления:
Кнопка “Загрузить файл” – реализует загрузку оцифрованного и упакованного файла ЭКГ диаграммы (рис. 2), хранящегося на диске и отображает распакованные данные в окне просмотра (рис. 3).
Кнопка “Выход” – выйти из приложения.
Комбинированное поле фильтров – Выбор фильтра для последующего отображения в окне просмотра.
Флажок переключатель ”Фильтр пробка” – установка режима фильтрации сетевой наводки (игнорирует выбор фильтра в комбинированном поле).
Флажок переключатель “Дифференциатор” – устанавливает режим определения подачи импульсов дефибриляции.
Комбинированное поле отведений – Выбор номера отведения для отображения в окне просмотра.
Кнопка “применить” – устанавливает режим отображения отфильтрованного сигнала в окне просмотра (работает после загрузки файла).
^ Для приобретения полной версии работы перейдите по ссылке.
Рис. 3.2 Главное окно приложения.
Загрузка файла.
Прежде чем на экране появится второе окно с данными баз ЭКГ, в прогГлава 4. Расчет затрат на создание программного продукта
Введение
Цель составления любых программ состоит в получении определенных результатов в процессе эксплуатации и оценивается эффективностью программного средства. Поводом для создания рассматриваемого пакета программ послужила необходимость обеспечения входного и межоперационного контроля над физическими параметрами полупроводниковых микросхем, а также повышения точности этого контроля на этапе исследования п/п пластины. Уточним применяемое далее понятие эффективности процесса разработки программного средства. Выбор адекватных показателей эффективности программных средств зависит от их назначения, области применения, а также от ряда характеристик программ, проявляющихся при их применении. Поэтому, для выбора технических решений могут использоваться различные критерии. Целесообразно подразумевать под эффективностью процесса разработки минимум затрат на разработку программ при заданной экономической эффективности применения и качества программных средств. Минимизация затрат на обеспечение жизненного цикла комплекта программ (далее КП) в некоторой степени эквивалентны максимизации разности эффекта и затрат, если предположить, что экономический эффект от применения программ зафиксирован и стабилен. Затраты в жизненном цикле ПО определяются не только этапом разработки, но и этапами эксплуатации и сопровождения, причем затраты на этих этапах могут значительно превосходить затраты на этапе проектирования и разработки и характеризуются своими особыми закономерностями. Обычно, критерии качества изделий используются в совокупности, с разных сторон отражающей основные характеристики функционирования объекта. Тем не менее, во многих случаях доминирует экономический эффект, который наиболее прост, и обобщенно принято описывать суммарным доходом Э от использования изделия в течение его жизненного цикла продолжительностью Тж. В первом приближении это разность между полной идеальной экономической эффективностью программы Эо и суммарными потерями и затратами K, снижающими предельный доход за вес
еще рефераты
Еще работы по разное
Реферат по разное
Аннотации дисциплин учебного плана направления
18 Сентября 2013
Реферат по разное
«О состоянии окружающей природной среды на территории городского округа город Уфа Республики Башкортостан в 2010 году»
18 Сентября 2013
Реферат по разное
Программный комплекс генераторов индивидуальных заданий к практическим занятиям Программный комплекс генераторов индивидуальных заданий к расчетно-графическим работам
18 Сентября 2013
Реферат по разное
Нп «сибирская ассоциация консультантов»
18 Сентября 2013