Разработка модуля обработки данных физического эксперимента

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.12.2013
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

Ивановский государственный химико-технологический университет

Факультет химической техники и кибернетики

Кафедра информационных технологий

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту по специальности

Информационные системы и технологии

Тема: Разработка модуля обработки данных физического эксперимента

Студент Хоченков А.Е.

Курс 5 Группа 42

Руководитель: доц. Галиаскаров Э.Г.

Зав. кафедрой: проф. Бобков С.П.

РЕФЕРАТ

Пояснительная записка 46 с., 27 рис., 3 табл., 5 частей, 4 источников.

Перечень ключевых слов: энтальпия, сублимация, интенсивность, температура, МНК, невязка, зависимость.

Целью работы являлась разработка модуля АСНИ для обработки данных физического эксперимента.

Проведен объектно-ориентированный анализ предметной области. Исследован объект автоматизации.

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

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

Приложение реализовано в среде программирования Microsoft Visual Studio 2010 на языке C# версии 5.0.

СОДЕРЖАНИЕ

Введение

1. Формирование требований к модулю

1.1 Обследование объекта автоматизации

1.2 Формирование требований пользователя к модулю

2. Разработка концепции

3. Техническое задание

3.1 Общие положения

3.1.1 Наименование программы

3.1.2 Область применения

3.1.3 Объект, в котором используют программу

3.2 Назначение разработки

3.2.1 Назначение модуля

3.2.2 Цели модуля

3.3 Требования к программе

3.3.1 Требования к функциональным характеристикам

3.3.2 Требования к надежности

3.3.3 Условия эксплуатации

3.3.4 Требования к численности и квалификации персонала

3.3 Требования к составу и параметрам технических средств

3.4 Требования к информационной и программной совместимости

3.4.1 Требования к информационным структурам и методам решения

3.4.2 Требования к исходным кодам, языкам программирования

3.5 Требования к программной документации

3.6 Стадии и этапы разработки

3.7 Порядок контроля и приемки

4. Технический проект

4.1 Общее описание модуля

4.1.1 Назначение модуля

4.1.2 Перечень функций, реализуемых модулем

4.2 Описание модуля

4.2.1 Структура модуля

4.2.2 Описание функционирования системы и ее частей

4.3 Описание взаимосвязи модуля с другими системами

4.4 Описание информационного обеспечения модуля

4.4.1 Состав информационного обеспечения

4.4.2 Обоснование выбора носителей данных

4.4.3 Структура базы данных эксперимента.

4.4.4 Организация внемашинной информационной базы

4.5 Описание программного обеспечения

4.5.1 Структура программного обеспечения

4.5.2 Методы и средства разработки программного обеспечения.

4.5.3 Операционная система.

4.5.4 Средства, расширяющие возможности операционной системы.

4.6 Описание алгоритма

5. Рабочая документация

5.1 Руководство пользователя

5.1.1 Введение

5.2 Назначение и условия применения

5.2.1 Программные и аппаратные требования к системе

5.3 Подготовка к работе

5.3.1 Состав дистрибутива

5.3.2 Запуск системы

5.4 Контрольный пример.

Заключение

Список использованных источников

Министерство образования и науки Российской Федерации

Федеральное бюджетное государственное образовательное учреждение высшего профессионального образования

Ивановский государственный химико-технологический университет

Кафедра информационных технологий

УТВЕРЖДАЮ

Зав.кафедрой

_____________________

" " _____________ г.

Задание

на курсовой проект по специальности

студенту Хоченкову Алексею Евгеньевичу

Ф.И.О. полностью

1.Тема: Разработка модуля обработки данных физического эксперимента

2.Исходные данные: Результаты производственной практики, техническое задание на разработку системы

3.Содержание проекта (работы):

1) Требования к модулю

2) Концепция модуля;

3) Техническое задание;

4) Технический проект;

5) Рабочий проект;

4. Вопросы для специальной разработки

5. Руководитель работы

к.х.н., доц. Галиаскаров Э.Г

должность, Ф.И.О.

6. Консультанты: к.х.н. Жабанов Ю. А., к.т.н. с.н.с. Краснов А.В.

7. Дата выдачи задания 6 мая 2013 г.

8. Дата предоставления законченной работы 11 декабря 2013 г.

9. Руководитель

к.х.н., доц. Галиаскаров Э.Г

Ф.И.О., подпись

10. Студент

Хоченков А.Е.

Ф.И.О., подпись

Определения

Интенсивность - величина ионного тока (A), прямо зависящая от количества ионов данной массы.

Исследователь - сотрудник кафедры физики ИГХТУ или студент, занимающийся качественным и количественным анализом вещества методом масс-спектрометрии.

Масса - отношение массы иона к его заряду.

Сублимация -- переход вещества из твёрдого состояния сразу в газообразное, минуя жидкое

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

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

Обозначения и сокращения

I - интенсивность.

T - температура.

АСНИ - автоматизированная система научных исследований.

ИГХТУ - ивановский государственный химико-технологический университет.

ИТ - информационные технологии.

МНК - метод наименьших квадратов.

ТЗ - техническое задание.

Введение

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

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

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

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

1. Формирование требований к модулю

1.1 Обследование объекта автоматизации

Метод масс-спектрометрии используется для многих целей, в частности для идентификации веществ и определения их химического строения. Измеряя токи ионов можно определить термодинамические свойства веществ - парциальные давления, теплоты сублимации и т.д. Экспериментальный материал используется для получения и таких важных физических характеристик, как потенциалы ионизации и энергия разрыва связей. [1]

Эффузионный метод Кнудсена заключается в следующем: в эффузионную камеру загружается исследуемое вещество, которое нагревается вместе с камерой до определённой температуры [2]. При этом регистрируется поток вещества, истекающий из эффузионного отверстия. Можно взвешивать камеру до и после опыта. Такие измерения позволяют рассчитать давление пара внутри камеры.

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

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

В лаборатории кафедры физики ИГХТУ используется серийный масс-спектрометр МИ 1201, модифицированный для термодинамических исследований.

Рисунок 1 - Схема масс-спектрометра МИ 1201

Приведем здесь некоторые его характеристики:

- разрешающая способность при работе с газовым источником, измеренная

- на уровне 10% не менее 700;

- диапазон масс при ускоряющем напряжении 5000 В не менее 1..600 а.е.м.,

- а при ускоряющем напряжении 830 В не менее 10..3600 а.е.м.;

- чувствительность масс-спектрометра по аргону не менее 40 Кл/кг;

- порог чувствительности по аргону не более 0.00001%;

- рабочее давление в области анализатора не хуже 10-6 Па, а в области источника ионов не хуже 10-5 Па.

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

Расчет энтальпии сублимации производится исходя из второго закона термодинамики в соответствии с уравнением (1):

где - энтальпия реакции при стандартных условиях.

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

Например, для фазового перехода , константа равновесия реакции равна парциальному давлению Kp= p. Достаточно изучить температурную зависимость одного ионного тока А+ , чтобы по ней рассчитать теплоту сублимации.

Теплота сублимации может быть найдена из температурной зависимости отношения I(Х+)/I(А+), при условии, что энтальпия сублимации стандарта хорошо известна

(2)

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

Рисунок 2 - Масс-спектры насыщенного пара над образцом вещества

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

Эти результаты и являются входными данными, разрабатываемого модуля.

Следующим этапом является поиск зависимостей ln(I*T) от 1000/T, поэтому возникает необходимость в графическом отображении зависимости «ln(I*T) - T». Аппроксимацию дискретных значений требуется проводить линейным МНК. При этом значения температуры задаются в Кельвинах. Получаемая зависимость убывающая

Расчет энтальпии сублимации выполняется по формуле:

где R =8.31, является универсальной газовой постоянной, а k - найденный при аппроксимации линейным МНК член при x.

Рисунок 3 - точки зависимости ln(IT) от 1000/T и аппроксимирующая прямая

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

Допустим, что линейная зависимость описывается уравнением:

,

где k - коэффициент при x,

b - свободный член,

е - погрешность МНК

В этом случае, для набора из N измерений, формулы расчета коэффициентов примут вид:

При этом значение е находят как:

(7)

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

где y - искомое значение температуры,

х0 и х1 - соответственно значения ЭДС между которыми лежит полученное показание х,

y0 и y1 - найденные по таблице значения температуры для х0 и х1

1.2 Формирование требований пользователя к модулю

Расчет энтальпии сублимации относится ко вторичной обработке полученных данных.

Задачи, решение которых возлагается экспериментатором на разрабатываемый модуль:

- обработка результатов эксперимента МНК первого порядка;

- нахождение погрешности МНК;

- наглядное представление результатов обработки;

- визуальная локализация выбросов;

- расчет значения энтальпии;

- сохранение результатов в виде таблицы excel.

2. Разработка концепции

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

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

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

Аналогом разрабатываемой АСНИ может считаться система, поставляемая с хромато-масс-спектрометрами Agilent, разработанной компанией HP, и поставляемой в комплекте с вышеозначенным оборудованием.

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

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

Как и практически любое хорошо спроектированное оконное приложение Win-Forms, разрабатываемый модуль должен будет иметь интуитивно понятный, максимально простой в обращении с пользователем графический интерфейс, полностью иллюстрирующий графическую зависимость ln(I*T) от обратной температуры.

Разрабатываемая система предполагает наличие на компьютерах конечного пользователя платформы .Net, что обусловлено выбором средств для разработки, а именно языка программирования C# версии 5.0

3. Техническое задание

3.1 Общие положения

3.1.1 Наименование программы

Модуль расчета энтальпии сублимации.

Данный модуль является частью АСНИ регистрации и обработки экспериментальных данных в исследованиях высокотемпературной масс-спектрометрии. И предназначен для получения численного значения энтальпии сублимации исследуемого вещества. Так же модуль предназначен для наглядного представления результатов обработки полученных данных.

3.1.2 Область применения

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

3.1.3 Объект, в котором используют программу

Модуль расчета энтальпии сублимации предполагается использовать в лаборатории кафедры физики ИГХТУ.

3.2 Назначение разработки

3.2.1 Назначение модуля

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

3.2.2 Цели модуля

- сокращение времени, затрачиваемого на обработку данных эксперимента высокотемпературной масс-спектрометрии;

- снижение трудоемкости обработки получаемых данных;

- повышение точности выходных результатов.

3.3 Требования к программе

3.3.1 Требования к функциональным характеристикам

3.3.1.1 Требования к составу выполняемых функций

Модуль расчета энтальпии должен выполнять следующие функции:

- расчет значения энтальпии сублимации;

- графическое отображение зависимости Ln(I*T) от 1000/T в виде точек на графике;

- графическое отображение полученной методом линейного МНК зависимости в виде прямой линии;

- расчет полученной в результате применения линейного МНК ошибки;

- автоматический перевод показаний температуры в единицы системы СИ.

3.3.1.2 Требования к организации входных данных

Входные данные программы должны быть организованны в виде вводимого в файла специального формата, соответствующего определенному шаблону и хранящего данные о массе, интенсивности, температуре ячейки и температуре нагрева ячейки для каждого из проводимых измерений. При этом порядок этих значений совпадает с порядком их перечисления в данном пункте ТЗ. Разделитель, используемый между значениями - «;». Значения для каждого нового измерения записываются в виде новой строки. Файлы указанного формата должны размещаться (храниться) на локальных или съемных носителях, отформатированных согласно требованиям операционной системы.

Допускается ввод данных, зарегистрированных в ходе эксперимента из БД с указанием ссылки на таблицу данных при помощи специальной формы.

Значения для показаний температур вводятся в систему в милливольтах, для интенсивности излучения в амперах.

Входные данные для перевода температуры хранятся в файле настроек вместе с исполняемым файлом модуля. Расширение файла - .dat

3.3.1.3 Требования к организации выходных данных

Выходные данные программы должны быть организованы в виде отчетов CSV, корректно поддерживаемых табличными редакторами excel и средой OriginLab. Файлы указанного формата должны храниться на локальных или съемных носителях, отформатированных согласно требованиям операционной системы. Отчеты формируются в режиме реального времени и передаются пользователю. При желании любой отчет можно сохранить отдельно от работы программы. В отчеты указанного формата записываются только данные пиковых значений, полученные и обработанные в ходе эксперимента, а так же значение энтальпии сублимации.

Выходные данные могут быть выгружены в БД по требованию пользователя через специальную форму. В этом случае в таблицу выгружаются значение энтальпии и наименование исследуемого вещества.

3.3.1.4 Требования к временным характеристикам

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

3.3.2 Требования к надежности

3.3.2.1 Требования к обеспечению надежного (устойчивого) функционирования программы

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

- организацией бесперебойного питания технических средств;

- выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. «Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;

- выполнением требований ГОСТ 51188-98. Защита информации.

- Испытания программных средств на наличие компьютерных вирусов;

- необходимым уровнем квалификации сотрудников профильных подразделений.

3.3.2.2 Время восстановления после отказа

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

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

Обеспечивается копиями (обеспечивается программой) необходимой информации и хранении дистрибутивов на отдельном компьютере (обеспечивается стороной-заказчиком).

3.3.3 Условия эксплуатации

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

3.3.4 Требования к численности и квалификации персонала

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

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

- задача поддержания работоспособности технических средств;

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

- задача установки (инсталляции) программы.

3.3 Требования к составу и параметрам технических средств

Техническое обеспечение системы должно максимально и наиболее эффективным образом использовать существующие в органах федерального агентства технические средства.

В состав комплекса должны следующие технические средства:

- сервер базы данных;

- ЭВМ экспериментатора.

Серверы БД должны быть объединены в отказоустойчивый кластер. Серверы приложений должны образовывать кластер с балансировкой нагрузки.

Серверы БД, серверы приложений и сервер системы формирования отчетности должны быть объединены одной локальной сетью, с пропускной способностью не менее 100 Мбит. Требования к техническим характеристикам серверов БД:

- процессор с тактовой частотой не менее 2 ГГц;

- объем оперативной памяти не менее 4 Гб;

- дисковая подсистема объемом не менее 500 Гб;

- сетевой адаптер с пропускной способностью не менее 100 Мбит/с.

Требования к техническим характеристикам ЭВМ экспериментатора:

- процессор с тактовой частотой не менее 1.5 ГГц;

- объем оперативной памяти не менее 2 Гб;

- дисковая подсистема объемом не менее 160 Гб;

- сетевой адаптер с пропускной способностью не менее 100 Мбит/с.

3.4 Требования к информационной и программной совместимости

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

Используемое при разработке программное обеспечение и библиотеки программных кодов должны иметь широкое распространение, быть общедоступными и использоваться в промышленных масштабах. Базовой программной платформой рабочей станции должна являться операционная система MS Windows с предустановленным фреймворком .Net версии 3.5 или выше, а так же драйвером MySQL Connector. В качестве платформы сервера базы данных используется операционная система Linux Debian.

3.4.1 Требования к информационным структурам и методам решения

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

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

- при работе с интерфейсом пользователь должен быть ориентирован на работу с клавиатурой и манипулятором графической информации «мышь»;

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

Отчеты, выводимые системой, должны содержать лишь интересующую пользователя информацию.

3.4.2 Требования к исходным кодам, языкам программирования

Исходные коды программы должны быть реализованы на языке C#. В качестве интегрированной среды разработки программы должна быть использована среда Microsoft Visual Studio 2012(локализованная, русская версия). Взаимодействие с СУБД и создание базы данных реализуется на языке SQL.

3.4.3 Требования к программным средствам, используемым модулем

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

Поскольку предусмотрено взаимодействие системы с СУБД MySQL необходимо обеспечить наличие драйвера «MySQL Connector» для безошибочной работы приложения.

Для чтения выгружаемых системой отчетов на компьютере конечного пользователя должны быть установлены табличный редактор Excel, версии не старее версии 2007 года, или пакет OriginLab.

3.5 Требования к программной документации

Нормативно-техническая документация системы должна содержать:

- Техническое задание на разработку информационной системы;

- Технический проект системы;

- Рабочий документ системы;

- Руководство администратора системы;

- Руководство разработчика системы;

- Руководство пользователя системы

3.5 Стадии и этапы разработки

Таблица 1 - Стадии и этапы разработки модуля

№ п/п

Наименование этапов дипломного проекта (работы)

Срок выполнения этапов проекта

(работы)

1.

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

06.05.2013

2.

Формирование требований к системе.

10.05.2013

3.

Разработка концепций системы.

18.05.2013

4.

Разработка технического задания

01.06.2013

5.

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

01.09.2013

8.

Завершение разработки проекта. Тестирование и приемосдаточные испытания решения. Оформление работы. Разработка демонстрационных материалов

01.11.2013

9.

Защита проекта

11.12.2013

3.6 Порядок контроля и приемки

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

4. технический проект

4.1 Общее описание модуля

4.1.1 Назначение модуля

Разрабатываемая система служит расчета энтальпии исследуемого вещества по данным, полученным методом масс-спектрометрии. Пользователями разрабатываемого модуля являются исследователи кафедры физики - специалисты в области масс- спектрометрии. Диаграмма вариантов использования для пользователя представлена на рисунке 4:

Рисунок 4 - ДВИ разрабатываемого модуля

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

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

На рисунке 5 представлена диаграмма деятельности, иллюстрирующая процесс обработки показаний интенсивности, а именно поиск нуля при обработке «плавающих» показаний:

Рисунок 5 - Поиск "плавающего" ноля для значений интенсивности

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

Процесс поиска необходимого числа пиков, которое задается экспериментатором вручную после визуального осмотра полученного масс-спектра осуществляется через создание одномерного массива, содержащего в себе «ключевые» элементы для однозначного определения пика. В этом случае, ключом выступает значение отношения массы к заряду. Иллюстрация этого процесса представлена на диаграмме деятельности - рисунок 6:

Рисунок 6 - Компоновка списка показаний для пиков

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

Рисунок 7 - ДП для процесса поиска аппроксимированных значений функции

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

При этом в рамках рассматриваемого модуля осуществляется попытка использования архитектурного решения Model-View-Controller с тонким контроллером, где всю реализацию бизнес-логики предполагается передать т.н. модели.

Из этого следует, что класса «Фабрика процессов» - есть класс уровня контроллера. Если точнее - единственный, статический класс уровня контроллер. А классы, предназначенные для чтения, подготовки данных, а так же расчета энтальпии сублимации являются классами уровня модели. Подробнее данные понятия будут раскрыты в пункте «Описание системы»

Рисунок 8 - ДП расчета энтальпии сублимации

4.1.2 Перечень функций, реализуемых модулем

Модуль расчета энтальпии должен выполнять следующие функции:

- расчет значения энтальпии сублимации;

- графическое отображение зависимости Ln(I*T) от 1000/T в виде точек на графике;

- графическое отображение полученной методом линейного МНК зависимость в виде прямой линии;

- расчет полученной в результате применения линейного МНК ошибки;

4.2 Описание модуля

4.2.1 Структура модуля

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

Функциональные модули системы логически распределены по программным уровням абстракции системы, что делает архитектуру системы слоистой, каждый слой содержит соответствующие функциональные модули, необходимые для осуществления его функционирования. Таким образом, архитектура системы разработана в соответствии со стандартной Трехуровневой архитектурой программного обеспечения, состоящей из следующих логических программных уровней: «Уровень представления», «Уровень бизнес-логики», «Уровень данных». Такой подход к организации программной архитектуры делает разработанную систему:

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

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

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

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

Рисунок 9 - диаграмма компонентов модуля

Стоит, однако, отметить невозможность реализации классического решения MVC в приложениях Windows Forms. Классическое представление указывает разработчикам, что представление изолированно от знаний о контроллере, в то время как контроллер производит управление представлением и моделью. Однако если речь заходит о приложениях WF, то необходимо осознавать, что внедрение в них подобной архитектуры не закладывалось изначально. Речь стоит скорее вести о событийно-ориентированном программировании, когда большую часть времени система ожидает отклика от пользователя. И обрабатывает отклик внутри графической оболочки, которое мы принимаем с этой оговоркой как «представление». Именно такая архитектура подразумевается в этой работе как «MVC». Решение этой проблемы может лежать в плоскости использования сторонних продуктов.

В соответствии с разработанной архитектурой система состоит из следующих уровней:

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

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

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

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

4.2.2 Описание функционирования системы и ее частей

4.2.2.1 Графический интерфейс пользователя

Данный компонент системы реализует графический пользовательский интерфейс для обеспечения взаимодействия пользователя с системой. Средства взаимодействия пользователя с поисковой системой реализуются средствами .Net Framework, за счет обертки средств WIN32 API в управляемом коде. Таким образом, приложение является событийно управляемым приложением Windows. События обрабатываются кодом, написанным на языке программирования высокого уровня C#.

Внешний вид главного окна приложения представлен на рисунке

Рисунок 10 - внешний вид главного окна приложения

В состав главной формы входят следующие компоненты:

- область отображения графической зависимости ln(I*T) от 1000/T, которая включает в себя инструменты для рисования точек, полученных в результате обработки результата эксперимента и инструмента для рисования аппроксимирующей прямой;

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

- область для отображения, найденного базового значения, предоставляющая возможность редактирования определяемого значения;

- область, предоставляющей пользователю возможность выбрать количество обрабатываемых пиков. Значение по умолчанию - «1»;

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

- область, отображающую набор значений погрешности МНК для каждого пика;

- кнопки «Рассчитать» для запуска расчета базового значения;

- кнопки «Принять» для подтверждения рассчитанного или введенного базового значения;

- кнопки «Установить» для управления количеством обрабатываемых пиков;

- кнопки «Запустить расчет» для запуска расчета энтальпии

4.2.2.2 Контроллер

Контроллер обеспечивает управление подсистемами внутри модуля. Данный компонент системы должен быть представлен одним классом - «фабрикой процессов», и обладать методами доступными для вызова из уровня представления без создания объекта уровня Контроллера.

4.2.2.3 Модель

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

Реализуемые компонентом интерфейсы:

IDataReader - содержит методы для чтения данных из файла с разделителями, а так же перегрузку метода для чтения данных из БД. В первом случае определяет местонахождения фала по указанному абсолютному пути, во втором однозначно определяет базу данных по указанным имени сервера и имени БД. Общая структура интерфейса показана на рисунке 11:

Рисунок 11 - структура интерфейса IDataReader

IDataWriter - как следует из названия, содержит методы для записи данных в БД и метод для сохранения данных в отчет. Общий вид показан на рисунке 12:

Рисунок 12 - структура интерфейса IDataWriter

IBasisSetter - предназначен для предоставления доступа к методам поиска ноля и обработки исходных данных таким образом, чтобы привести их к значениям на основе найденного показания ноля. Общий вид показан на рисунке 13:

Рисунок 13 - структура интерфейса IBasisSetter

IEntalpyCalculator - интерфейс, предоставляющий доступ к методам расчета значения энтальпии сублимации. Общий вид показан на рисунке 14:

Рисунок 14 - Вид интерфейса IEntalpyCalculator

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

Рисунок 15 - структура интерфейса IDataPreparer

4.3 Описание взаимосвязи модуля с другими системами

В текущей версии модуля реализована связь с СУБД MySQL версии 5.3. Независимо от метода размещения СУБД связь с этой системой осуществляется по протоколу, регламентированному в документации к СУБД. Связь системы с СУБД осуществляется при помощи реализованных на уровне данных системы интерфейсов доступа к базам данных. В результате взаимодействия системы с СУБД вторая возвращает метаинформацию запрашиваемых документов.

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

4.4 Описание информационного обеспечения модуля

4.4.1 Состав информационного обеспечения

В состав информационного обеспечения системы входят:

- файл конфигурации системы. Предназначен для хранения настроек БД;

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

- файлы результатов эксперимента;

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

4.4.2 Обоснование выбора носителей данных

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

4.4.3 Структура базы данных эксперимента

База данных эксперимента предназначена для структурированного хранения данных о проводимых в лаборатории экспериментов. Логическая модель базы данных представлена на рисунке 16:

Рисунок 16 - логическая схема БД

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

Физическая модель базы данных приведена на рисунке 17:

Рисунок 17 - физическая схема базы данных

Таблица 2 - Поля таблицы Experiment

Имя поля в таблице

Значение

Описание

ExperimentId

Код эксперимента

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

experimenter

Имя экспериментатора

Содержит имя исследователя, проводившего эксперимент

experimentDate

Дата эксперимента

Содержит дату проведения эксперимента

substance

Вещество

Содержит название (краткое или полное) исследуемого вещества

Entalpy

Энтальпия сублимации

Содержит значение энтальпии сублимации

Таблица 3 - Поля таблицы Result

Имя поля в таблице

Значение

Описание

ExperimentId

Идентификатор эксперимента

Внешний ключ, связывающий результат с экспериментом

ResultId

Идентификатор результата

Суррогатный ключ, обуславливающий уникальность записи

Intensity

Интенсивность

Значение интенсивности для точки

Mass

Масса

Значение массы для точки

Temperature

Температура ячейки

Значение температуры ячейки для точки

Heating

Температура печи

Значение температуры печи

4.4.4 Организация внемашинной информационной базы

В качестве внемашинной информационной базы выступает:

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

- рабочая документация разработчика системы;

Данное информационное обеспечение представляет собой коллекцию соответствующих документов в электронном (Microsoft Office Word Document 2003 (*.doc)) и распечатанном бумажном на листах А4 форматах, хранящуюся у администратора системы или ответственного лица.

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

Для контроля качества и актуальности документации системы назначается ответственное лицо. В настоящий момент таковым является разработчик системы.

4.5 Описание программного обеспечения

4.5.1 Структура программного обеспечения

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

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

Для доступа к данным используются фасадные классы. Для хранения данных в runtime режиме используются коллекции классов-хранилищ. Структура такого класса представлена следующим программным кодом:

public class Data

{

public double Intensity { get; set; }

public double Mass { get; set; }

public double Temperature { get; set; }

public double Heating { get; set; }

}

Уровень контроллера представлен классом - фабрикой процессов (рисунок 18):

Рисунок 18 - класс фабрика процессов

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

Диаграмма классов уровня модели представлена на рисунке 19:

Рисунок 19 - ДК уровня модели

Класс BasisSetter - используется для поиска нулевого значения - точки отсчета интенсивности в измеренных данных.

Класс DataPreparer - реализует бизнес-логику подготовки данных: приведение к точке отсчета массива данных, перевода температуры в единицы СИ, а так же выполняет поиск констант МНК и невязок.

Класс EntalpyCalculator - рассчитывает значение энтальпии сублимации по найденной константе МНК.

Класс DataReader - считывает данные из файла с разделителем и БД

Класс DataWriter - предназначен для записи полученных данных в отчеты и сохранении данных в базе.

4.5.2 Методы и средства разработки программного обеспечения

В процессе разработки системы использовались:

- язык программирования C#;

- Microsoft Visual Studio 2010 - интегрированная среда разработки для языка C#;

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

- унифицированный язык моделирования UML - описание и документирование архитектуры и методов функционирования системы;

- MagicDraw UML Personal Edition 17.0 - описание и документирование архитектуры и методов функционирования системы;

- Sparx System Enterprise Architect 8.0 - описание и документирование архитектуры и методов функционирования системы;

- Embarcadero ER/Studio 8.0.3 - проектирование модели данных и генерация ее реляционной схемы;

- CA ERwin Data Modeler r7.3- проектирование модели данных и генерация ее реляционной схемы;

- MySQL .Net Connector - API-интерфейсы СУБД MySQL для платформы .Net;

4.5.3 Операционная система

4.5.3.1 Операционная система сервера баз данных

Операционной системой, используемой для обеспечения выполнения всех функций сервера базы данных является Debian GNU/Linux 6.0 Squeeze i386. Данный выбор обусловлен:

- высокой надежностью данной операционной системы;

- свободным распространением данной операционной системы в соответствии с лицензией GNU GPL;

- открытыми стандартами данной операционной системы;

Установка и конфигурированное данной операционной системы должна производиться в соответствии с:

- пользовательской документацией Debian GNU/Linux ;

- параметрами функционирования системы, приведенными в приложении к настоящему документу;

4.5.3.2 Операционная система ЭВМ экспериментатора

В качестве операционной системы, используемой на компьютере исследователя была выбрана ОС семейства Windows - Windows XP. Так как именно эта операционная система удовлетворяет всем критериям предъявляемым модуля к ОС. Немаловажным является факт простоты установки на эту операционную систему фреймворка .net версии 3.5 и старше без которого функционирование модуля невозможно.

4.5.4 Средства, расширяющие возможности операционной системы

4.5.4.1 Система управления базами данных MySQL

Кроссплатформенная свободно распространяемая система управления базами данных.

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

Установка и конфигурирование системы управления базами данных MySQL производится в соответствии с:

- пользовательской документацией к СУБД MySQL;

- параметрами функционирования системы, приведенными в приложении к Настоящему Документу;

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

4.5.4.2 Платформа .NET Framework

.NET Framework -- программная платформа, выпущенная компанией Microsoft. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.

Программа для .NET Framework, написанная на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для .NET промежуточный байт-код. В терминах .NET получается сборка/ Затем код либо исполняется виртуальной машиной Common Language Runtime либо транслируется утилитой NGen.exe в исполняемый код для конкретного целевого процессора. Использование виртуальной машины предпочтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае использования виртуальной машины CLR, встроенный в неё JIT-компилятор «на лету» преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамической компиляции позволяет достигнуть высокого уровня быстродействия. Виртуальная машина CLR также сама заботится о базовой безопасности, управлении памятью и системе исключений, избавляя разработчика от части работы.

В разработанной системе применяется с целью:

- обеспечения функционирования компонентов системы, реализованных с использованием языка программирования C#;

Установка и конфигурирование .Net Framework производится в соответствии с:

- спецификацией Common Language Infrastructure

- параметрами функционирования системы, приведенными в приложении к настоящему документу.

Данное программное обеспечение должно обеспечивать выполнение CS-файлов системы.

4.6 Описание алгоритма

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

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.