Создание программного средства

3.1 Описание классов, атрибутов и методов

 

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

Для разработки программного средства, реализуемого в ходе данного дипломного проекта, выбран язык программирования C#. Выбор был обусловлен несколькими факторами:

1. единые средства API для разработки программ на разных языках;

2. простота стыковки разноязыковых модулей;

3. многие классов, реализующие различные алгоритмы, сокращают время

разработки программы и повышают ее надежность;

4. установка программ под.NET не требует программ-инсталляторов,

делается простое копирование программы в нужную папку. Как следствие, при установке не вносятся ни какие записи в реестр Windows, поэтому после удаления таких программ в реестре не остается «мусор».

Так как наше приложение будет иметь сложную математику (особенно на этапе верификации), то был сделан выбор интегрировать MATLAB модули в программу. MATLAB является отличным средством для решения, но слаб в создании полноценного пользовательского приложения (можно воспользоваться инструментами GUI MATLAB'a, но не в нашем случае). Основные преимущества MATLAB, выгодно выделяющие ее среди существующих ныне математических систем и пакетов (MathCad, Mathe- matica и др.), заключаются в следующем:

1. Система MATLAB специально создана для проведения именно

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

2. Язык программирования системы MATLAB очень прост, близок к

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

3. В отличие от большинства математических систем, MATLAB

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

4. Очень удобна возможность, как составлять, собственные отдельные

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

5. Последние версии MATLAB позволяют легко интегрировать ее с

текстовым редактором Word, что дает возможность использовать при составлении текстовых документов вычислительные и графические средства MATLAB;

6. Возможности системы огромны, а по скорости выполнения задач она

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

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

Так как планшет является специфическим устройством ввода, в.Net не существует встроенной поддержки работы с ним.

Для обеспечения единого интерфейса взаимодействия приложений и разнообразных по функциональности графических планшетов была разработана спецификация WinTab [9]. В рамках этой спецификации описывается система, предоставляющая API для взаимодействия с устройством. Центральным компонентом системы является библиотека wintab32.dll, которая с одной стороны предоставляет пользователю набор стандартных функций, а с другой взаимодействует со специфическим драйвером устройства. Эта библиотека устанавливается в систему вместе с драйверами графического планшета.

В рамках этой спецификации приложение манипулирует специальными объектами – контекстами оцифровки (или просто контекстами), которые чем-то схожи с контекстами устройства GDI. Контексты используются для установки размеров области ввода приложения, масштабирования области ввода и управления событиями. Для создания контекста приложение передает библиотеке дескриптор окна и параметры контекста, библиотека создает контекст и связывает его с этим окном. После этого окно начинает получать сообщения windows, которые содержат информацию о событиях, связанных с вводом графического планшета. Приложение обрабатывает эти события и вызывает функции WinTab для получения пакетов с данными от графического планшета. Формат пакета настраивается в зависимости от потребностей приложения.

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

Программа будет представлена только в виде клиентской части. Интерфейс пользователя должен:

- отображать подпись пользователя в специально отведенном окне;

- показывать данные о введеной подписи (координаты и давление);

- позволять сохранить данные о подписи, а так же ID пользователя, кто ее ввел;

- позволять верифицировать подпись и аутентифицировать пользователя.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: