Разработка модуля обработки данных физического эксперимента
Формирование требований к модулю обработки данных физического эксперимента. Объект, в котором используют программу. Требования к исходным кодам, языкам программирования. Функции, реализуемые модулем. Средства, расширяющие возможности операционной системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.12.2013 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Входными данными для расчета является массив значений, полученных из файла оговоренного выше формата. При этом каждый элемент массива - есть объект уровня dto, вида, указанного на рисунке 20:
Рисунок 20 - объект Data.dto
Входной массив объектов передается фабрике процессов в виде динамического списка, реализующего интерфейс IList<Data>.
Полученный список значений непригоден для вычислений, так как содержит не абсолютные показатели, а относительные значения интенсивности, полученные из-за специфики измерительного прибора. Поэтому следующим этапом является поиск «нулевого» значения в массиве данных и приведению всего списка значений к абсолютным показателям. Стоит заметить, что подтверждение найденного значение (хотя это и не отражено на рисунке 21) производит пользователь и в случае, если найденный программно показатель его не устраивает - задает базис в ручную.
Поиск базисного значения в программе реализован методом полного перебора, с применением коллекции интерфейса IDictionary. (Более подробно см. рис. 5)
После того, как значение базиса было найдено - оно вычитается из значений интенсивностей для всех объектов, составляющих коллекцию IList<Data>, таким образом образовывая новую рабочую коллекцию этого же типа.
Именно к этой коллекции применяется перевод температуры из показаний, считанных с термопары к единицам системы СИ при помощи таблицы и формулы линейной интерполяции (8).
Так как в общем случае поиск энтальпии может осуществляться не для единственного пика, то в системе предусматривается поиск пиков (подробнее см рис. 6) В дальнейшем применительно к этому алгоритму речь будет вестись о скомпонованных для каждого из пиков значения. Сложность реализации этой задачи позволяет решить конструкция :
IDictionary<int, IList<object>> … = new Dictionary<int, IList<object>>();
В данном случае ключом словаря будет являться масса молекулы/иона.
Дальнейшие расчеты производятся для определения коэффициентов линейного МНК и описываются формулами (5) и (6), кроме того, хотя, это и не показано на рисунке 21 (в целях экономии места), рассчитывают значения невязки для каждого из пиков по формуле (7).
Значение энтальпии рассчитывается по формуле (3).
Протокол взаимодействия классов контроллера и модели описывает диаграмма на рисунке 21:
Рисунок 21 - протокол взаимодействия для поиска значения энтальпии
При этом в данной диаграмме не показано взаимодействия контроллера и представления, однако, легко догадаться, что значения базиса - выводятся юзеру сразу же, как только они были получены, для подтверждения верности расчетов и иллюстрируются гистограммой. А значения энтальпии и погрешностей выводятся по завершению вычислений этих величин. При этом пользователь получает отображения зависимостей.
5. Рабочая документация
5.1 Руководство пользователя
5.1.1 Введение
5.1.1.1 Область применения
Областью применения модуля являются высокотемпературные масспектрометрические исследования, производимые на масспектрометрах МИ-1201 и АПДМ-1 с использованием разработанной АСНИ для этих приборов.
5.1.1.2 Краткое описание возможностей
- Разработанный модуль предоставляет пользователю следующие возможности:
- расчет энтальпии сублимации;
- сохранение данных эксперимента в виде отчета для дальнейшего использования в качестве справочника
5.1.1.3 Уровень подготовки пользователя
Пользователь системы должен:
- уметь работать с приложениями-windows, предоставляющим графический интерфейс пользователя;
- обладать знаниями в рассматриваемой предметной области;
Администратор системы должен:
- иметь навыки работы с операционной системой Debian Linux;
- иметь представление об устройстве системы;
- уметь пользоваться программным обеспечением, используемым в системе;
- уметь пользоваться программным обеспечением и скриптами, предназначенными для установки и конфигурирования (настройки) системы.
- иметь навыки работы с операционной системой Microsoft Windows XP;
5.1.1.4 Перечень эксплуатационной документации
В состав эксплуатационной документации входит:
- настоящая рабочая документация к системе;
- рабочая документация к программному обеспечению, обеспечивающему функционирование системы
- Debian Linux 6.0 x86;
- СУБД MySQL 5.3;
- .Net Framework;
- Windows XP.
5.2 Назначение и условия применения
5.2.1 Программные и аппаратные требования к системе
Требования к аппаратному обеспечению сервера системы:
- процессор с тактовой частотой не менее 2 ГГц;
- объем оперативной памяти не менее 4 Гб;
- дисковая подсистема объемом не менее 500 Гб;
- сетевой адаптер с пропускной способностью не менее 100 Мбит/с.
Требования к программному обеспечению сервера системы:
- операционная система Debian Linux x86 версии 6.0;
- СУБД MySQL версии 5.3;
Требования к техническим характеристикам ЭВМ экспериментатора:
- процессор с тактовой частотой не менее 2 ГГц;
- объем оперативной памяти не менее 2 Гб;
- дисковая подсистема объемом не менее 160 Гб;
- сетевой адаптер с пропускной способностью не менее 100 Мбит/с.
Требования к программному обеспечению сервера системы:
- операционная система Windows 7;
- .Net Framework версии 3.5 или выше.
5.3 Подготовка к работе
5.3.1 Состав дистрибутива
В состав дистрибутива системы входят:
- программные компоненты системы;
- SQL-скрипт создания базы данных системы;
- дистрибутив операционной системы Debian Linux 6.0 x86;
- дистрибутив СУБД MySQL версии 5.3;
- дистрибутив платформы .Net Framework 3.5;
- конфигурационный файл СУБД MySQL;
- конфигурационный файл компонентов системы;
- настоящая рабочая документация системы;
5.3.2 Запуск системы
Для запуска функционирования системы необходимо:
- установить на сервер БД операционную систему Debian Linux 6.0 x86;
- обеспечить к каждому из серверов доступ по протоколу tcp/ip;
- установить на сервер баз данных СУБД MySQL 5.3. Допускается установка как с диска с дистрибутивом, так и из специального сетевого репозитория операционной системы;
- установить на ЭВМ экспериментатора платформу Microsoft .Net Framework;
- установить на ЭВМ экспериментатора программное обеспечение, разработанное в ходе текущей работы;
- после успешно проделанных действий запустить разработанное программное обеспечение на компьютере экспериментатора для тестирования.
5.4 Контрольный пример
Для корректной работы приложения, как уже неоднократно говорилось выше, необходим файл с данными, снятыми при помощи системы регистрации и первичной обработки данных. Внешний вид содержимого файла можно увидеть на рисунке 22:
Рисунок 22 - содержимое файла зарегистрированных значений
Этот файл загружается пользователем в систему при помощи кнопки верхнего меню «Загрузить данные». Процесс выбора загрузки показан на рисунке 23:
Рисунок 23- Выбор варианта загрузки
В этом же диалоговом окне модуль позволяет пользователю выбрать вариант загрузки из БД, либо ввести данные вручную. Форма ввода данных вручную показана на рисунке 24, а форма создания соединения с БД предлагает пользователю заполнить 4 поля: имя сервера, название БД , дату эксперимента и название исследованного вещества.
Рисунок 24 - внешний вид форму ручного ввода результатов эксперимента
При вводе точек для ручного расчета экспериментатор выбирает количество узлов измерения и вводит температуру, интенсивность и массу соответствующего измерения.
После ввода данных в память модуля пользователь получает возможность для поиска базового значения для интенсивности. Главное окно программы при этом отображает гистограмму для каждого из значений интенсивности. По нажатию кнопки «рассчитать» модуль производит расчеты и выводит полученное значение экспериментатору, раскадровка экранных форм для этого процесса показана на рисунках 25 и 26:
Рисунок 25 - вывод гистограммы значений
Рисунок 26 - вывод значения базиса
После этих манипуляций пользователь может принять значение базиса, или ввести свое в соответствующее поле и выбрать количество рассматриваемых пиков. Запуск расчета энтальпии производится по нажатию на кнопку «запустить расчет». Результатом являются:
- вывод серии точек, полученных при обработке измеренных значений в соответствующую область;
- вывод прямой, построенной при помощи аппроксимации МНК в соответствующую область;
- вывод значения энтальпии сублимации в соответствующее поле;
- вывод суммарной невязки в соответствующем поле.
Вид модуля, завершившую свою работу представлен на рисунке 27:
Рисунок 27 - результат работы модуля
Сохранение результатов по требованию пользователя возможно только при успешно завершенных модулем расчетах. Для реализации этого требования необходимо нажать кнопку «сохранить результаты» верхнего меню приложения, выбирается хранилище данных и если в качестве хранилища выбран файл - указывается место, где он должен быть создан. В случае же если выбрана база данных эксперимента пользователю необходимо указать некоторые дополнительные параметры:
- название исследуемого вещества;
- дату опыта.
После производства этих действий происходит сохранение информации.
Заключение
В ходе выполнения курсового проекта был спроектирован и разработан модуль обработки данных физического эксперимента высокотемпературной масс-спекторметрии. Основной задачей модуля является расчет значения энтальпии сублимации по данным, полученным в ходе эксперимента. Расчет проводился с использованием линейного метода наименьших квадратов.
Разработка модуля осуществлялась с использованием GRASP - общих образцов распределения обязанностей и архитектурного шаблона MVC на основе объектно-ориентированного подхода к программированию и проектированию.
Важность, разработанного модуля, заключается в выполняемых им функция, которые позволяют снизить затраты времени экспериментатора, понизить трудоемкость обработки эксперимента, а так же повышают качество получаемых расчетов и выходных данных.
Список использованных источников
1. Сидоров, Л. Н. Масс-спектральные термодинамические исследования / Л. Н. Сидоров, М. В. Коробов, Л. В. Журавлева. - М.: Изд-во Моск. ун-та, - 1985 г. - 208c.
2. Шлыков, С.А. Масс-спектрометр на службе у физиков и химиков / Шлыков С.А. Соросовский образовательный журнал - 2001. -Т.7. - № 7. - С. 60 - 65
3. Фомичев, Н.И. Автоматизированные системы научных исследований/ Фомичев Н.И, Учеб. Пособие. Ярославский государственный университет - 2001 г. - 112с.
4. Маклафлин Б. Объектно-ориентированный анализ и проектирование / Б.Маклафлин, Г. Поллайс, Д. Уэст. -М: Питер, - 2013 г. - 602с.
Приложение А. «Фрагмент программного кода, разработанного программного обеспечения»
using System;
using System.Collections.Generic;
using Entalpy.dto;
using Entalpy.Model;
namespace Entalpy.Controller
{
public class ProcessFactory
{
/// <summary>
/// Чтение данных из файла
/// </summary>
/// <param name="path">путь к файлу</param>
/// <returns> Список с данными для гистограммы</returns>
public static IList<Data> ReadData(string path)
{
IDataReader DataReader = new DataReader();
IList<Data> MyData = DataReader.ReadData(path);
return MyData;
}
/// <summary>
/// Нахождение линии базиса
/// </summary>
/// <param name="Data">Данные эксперимента</param>
/// <returns> значение базиса</returns>
public static double GetBasis(IList<Data> Data)
{
IBasisSetter BasisSetter = new BasisSetter();
double basis = BasisSetter.GetBasis(Data);
return basis;
}
public static IDictionary<double,int> GetGistogram(IList<Data> Data)
{
IBasisSetter basisSetter = new BasisSetter();
return basisSetter.GetGistogramData(Data);
}
/// <summary>
/// Возвращает данные эксперимента приведенные к базисному
/// значению
/// </summary>
/// <param name="Data">Данные эксперимента</param>
/// <returns>Приведенные к базису данные.</returns>
private static IList<Data> GetNewData(IList<Data> Data)
{
IBasisSetter BasisSetter = new BasisSetter();
return BasisSetter.GetNewData(Data);
}
public static IDictionary<double, double> GetRelation(IList<Data> Data)
{
IDataPreparer DataPreparer = new DataPreparer();
return DataPreparer.GetRelation(GetNewData(Data));
}
public static double GetEntalpy(IDictionary<double, double> results)
{
IDataPreparer DataPreparer = new DataPreparer();
double[] constant = DataPreparer.GetLeastSquaresConstants(results);
IEntalpyCalculator calc = new EntalpyCalculator();
return calc.EntalpyGet(constant[0]);
}
public static IDictionary<double, double> GetLeastSquaresPoints(IDictionary<double, double> results)
{
IDataPreparer DataPreparer = new DataPreparer();
return DataPreparer.GetLeastSquaresPoints(results);
}
public static double GetDelta(IDictionary<double, double> points, IDictionary<double, double> result)
{
IDataPreparer DataPreparer = new DataPreparer();
return DataPreparer.GetDelta(points, result);
}
}
}
using System;
namespace Entalpy.Model
{
public class EntalpyCalculator : IEntalpyCalculator
{
const double R = 8.31;
public double EntalpyGet(double c)
{
return c * R;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using Entalpy.dto;
namespace Entalpy.Model
{
public class BasisSetter : IBasisSetter
{
public double GetBasis(IList<Data> Data)
{
IDictionary<double, int> Gis = GetGistogramData(Data);
int maxEntriesCount = Gis.Max((pair) => { return pair.Value; });
double basis = Gis.First((kpair) => { return kpair.Value == maxEntriesCount; }).Key;
return basis;
}
public IDictionary<double, int> GetGistogramData(IList<Data> Data)
{
IDictionary<double, int> Gis = new Dictionary<double, int>();
foreach (var D in Data)
{
if (Gis.ContainsKey(D.Intensity))
{
Gis[D.Intensity]++;
}
else
{
Gis.Add(D.Intensity, 1);
}
}
return Gis;
}
public IList<Data> GetNewData(IList<Data> Data)
{
double Basis = GetBasis(Data);
foreach (Data d in Data)
{
d.Intensity -= Basis;
}
return Data;
}
}
}
Размещено на Allbest.ru
...Подобные документы
Требования к обеспечению надежного функционирования программы. Отказы из-за некорректных действий пользователей системы. Требования к исходным кодам и языкам программирования, к программным средствам, используемым программой. Алгоритм получения данных.
дипломная работа [1,5 M], добавлен 22.11.2015Определение иерархии системы управления и контроля, а также структуры АСКУЭ. Разработка программного модуля обработки данных счётчиков электроэнергии. Определение технико-экономической актуальности, необходимости и возможности модернизации системы.
дипломная работа [1,0 M], добавлен 20.05.2017Освоение методов манипуляции параметрами SVG изображений при помощи JavaScript и возможности по анимации в современных браузерах. Интерфейс и структура модуля визуализации данных. Определение аномальных данных и их определение, реализованные типы.
курсовая работа [1,7 M], добавлен 20.05.2014Разработка сайта, предназначенного для купли-продажи средств передвижения. Характеристика объекта программирования. Требования к исходным текстам и языкам программирования. Интерфейс информационной системы. Проект модуля управления записями о товаре.
курсовая работа [35,7 K], добавлен 30.01.2016Описание формата и структуры входных и выходных файлов. Выбор языка программирования и Perl модуля для генерации документов в формате pdf. Валидация почтового адреса. Процесс создания алгоритма обработки данных. Структура штрихкодового идентификатора.
дипломная работа [1,6 M], добавлен 04.11.2015Понятие синтаксического анализа. Программный продукт для обработки данных строкового типа. Построение сканера текстов с использованием утилиты flex, синтаксического анализатора с помощью утилиты bison. Грамматика языка программирования обработки строк.
курсовая работа [261,7 K], добавлен 29.10.2012Рассмотрение различных дистрибутивов операционной системы. Изучение протоколов обмена данными и форматов физического хранения данных. Разработка дистрибутива на основе операционной системы Linux для функционирования в составе сетевого хранилища StarNAS.
курсовая работа [1,6 M], добавлен 05.11.2015Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие. Средства, расширяющие возможности операционной системы. Руководство пользователя. Функции "Учет пациентов". Ввод в действие, методика испытаний.
дипломная работа [2,2 M], добавлен 29.07.2016Требования к разрабатываемой программе и к выполняемым ею функциям. Алгоритмы взаимодействия с реестром, поиска, открытия, чтения и удаления ключа. Запросы к исходным кодам и языкам программирования. Проведение экономических расчетов и охрана труда.
дипломная работа [6,5 M], добавлен 10.10.2011Основные классифицирующие признаки системы управления базами данных. Модель данных, вид программы и характер ее использования. Средства программирования для профессиональных разработчиков. Организация центров обработки данных в компьютерных сетях.
презентация [6,8 K], добавлен 14.10.2013Разработка программы для визуализации результатов статистической обработки экспериментальных данных. График, визуализирующей зависимость температуры физического объекта от времени, регистрируемой датчиками на протяжении фиксированного промежутка времени.
курсовая работа [1,8 M], добавлен 18.09.2014Разработка модуля для вычисления значения функции, который впоследствии подключается к программе ввода исходных данных с контролем допусимого значения в таблицу. Проектирование модуля для работы со строками и для обработки массивов текстовой информации.
курсовая работа [17,8 K], добавлен 24.09.2010Постановка задачи для модуля 1С. Бухгалтерия 3.0. Анализ существующих разработок в области интегрирования данных. Информационное обеспечение модуля "Связь 1С Предприятия 8.2. с "Казначейством". Программное и технологическое обеспечение данного модуля.
курсовая работа [1,5 M], добавлен 10.06.2013Особенности обработки информации в компании. Основные модели данных: иерархическая, сетевая, реляционная. Выбор подходящей системы управления базами данных. Microsoft Access как интерактивная, реляционная СУБД для операционной системы MS Windows.
статья [14,7 K], добавлен 22.02.2016Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.
лекция [169,7 K], добавлен 19.08.2013Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.
презентация [17,1 K], добавлен 19.08.2013Система компьютерной обработки данных для сбора, систематизации, статистической обработки, анализа результатов учебного процесса за четверть, полугодие, год. Модуль обработки данных о качестве обучения, итогов успеваемости и данных о движении учащихся.
реферат [22,5 K], добавлен 05.02.2011Краткая характеристика PI System и контура управления tic-104. Анализ и планирование требований к модулю tic-104. Проектирование модуля tic-104. Внедрение модуля в приложение PI ProcessBook. Доступ к данным временных рядов PI. Модульная база данных.
курсовая работа [38,1 K], добавлен 09.05.2011Разработка структурной схемы системы. Выбор и обоснование не указанных в задании элементов. Анализ временных параметров системы. Разработка файла конфигурации для системы сбора-обработки данных на языке AHDL. Моделирование цифровой части системы.
курсовая работа [1,1 M], добавлен 26.10.2014Уровни архитектуры IP-телефонии. Особенности передачи речевой информации по IP–сетям. Влияние операционной системы. Количество передаваемых в пакете кадров. Взаимодействие модулей УШ и модуля протокола RTP. Информация конфигурации и контроля модуля УШ.
отчет по практике [128,4 K], добавлен 22.07.2012