Разработка программного модуля

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.07.2016
Размер файла 68,2 K

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

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

- Экспорт набора шаблонов во внешний файл осуществляется по кнопке «Экспорт..». Набор шаблонов экспортируется в файл с расширением *.Templates.

2.3 Реализация проекта модуля загрузки

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

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

Для добавления возможности работать с новым форматом файла данных, необходимо выполнить этапы:

- Реализовать класс файла данных;

- Реализовать класс загрузчика данных;

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

Реализация класса файла данных.

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

Для реализации необходимо:

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

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

- При необходимости освобождения ресурсов следует переопределить virtual метод Dispose(disposing).

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

- Для добавления сообщений, предупреждений и ошибок в лог-файл загрузки, используйте свойство Logger.

Реализация класса загрузчика файла данных.

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

Для реализации необходимо:

- создать при необходимости public конструктор по умолчанию;

- если необходим выбор кодировки, то установить в конструкторе свойство NeedEncoding = true (по умолчанию false);

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

- реализовать абстрактный метод DetectFormat(fileName) для определения является ли заданный файл данного формата. Может возвращать одно из трех значений:

· Impossible - файл точно не может быть данного формата;

· Possible - файл может быть данного формата, но неоднозначно;

· Sure - Файл скорее всего содержит данные этого формата.

Желательно реализовать данный метод так, чтобы он работал как можно быстрее. Например, если у файла есть заголовок, по которому можно определить формат, то читать только его. Если такого заголовка нет, то по расширению файла. Кроме того, желательно, чтобы данный метод автоматически определялся и по «вторичным» файлам. Например, данные формата Kedr содержаться в файле geo, с которым связан файл acu. Формат должен определяться по любому из них;

- реализовать абстрактное свойствово Description - название формата, отображаемое пользователю;

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

- реализовать метод LoadData для загрузки объекта. В этом методе необходимо создать наблюдение(я) загрузить туда каналы, шкалу глубин и добавить созданные наблюдения в список Observations. Глубины каналов и шкала глубин наблюдения должны быть монотонными;

- для загрузки значений каналов следует использовать промежуточный класс CanalValues. После завершения загрузки преобразовать CanalValues в HugeArray и создать Canal в наблюдении, подставив для CanalValueSet созданный HugeArray;

- для установки хода загрузки в методе LoadData необходимо использовать методы:

· SetMaxProcessValue - устанавливает максимальное значение шагов загрузки;

· SetCurrentOperation - устанавливеат текущую операцию;

· IncrementProcessStatus - увеличивает ход загрузки на заданное число шагов;

· IsProcessCanceled - проверка прерван процесс загрузки пользователем или нет;

- для добавления сообщений, предупреждений и ошибок в лог-файл загрузки, используйте методы: AddError, AddWarning, AddContent.

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

Создаются 2 класса, 1 класс - ViewModel, 2 класс - View. ViewModel - наследуется от класса SelectUserDataViewModel.

- создается public конструктор с параметром-объектом DataFile;

- могут быть переопределены свойства:

· Title - название шага;

· IsShowed - показывать данный шаг пользователю или нет;

· IsValid - корректны введенные данные или нет (используется для возможности перехода к следующему шагу);

- для валидации данных может быть реализован интерфейс IDataErrorInfo;

- View - WPF класс наследуемый от UserControl. В качестве DataContext используется ViewModel.

- если необходимо реализовать несколько шагов, то создаются несколько классов наследников SelectUserDataViewModel. Первый шаг определяется атрибутом [FirstStep], устанавливаемым перед классом. Переход к следующему шагу определяется переписываемым методом Next(), в котором создается и возвращается новая SelectUserDataViewModel следующего шага, либо null;

- для добавления шага «настройки параметров двумерных каналов и выбора шаблона» не требуется создавать 2-ой класс View, так как он уже создан в DataLoad.Templates и называется Canal2DParametersPageView;

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

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

- TableElementViewModel содержит DataTable, который заполняется дополнительной информацией из файла.

- InfoElementViewModel содержит свойство InfoTable типа InfoTableViewModel. Данная таблица должна быть заполнена теми параметрами, которые можно будет выбирать для загрузки в наблюдение.

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

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

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

- Для отображения TableElementViewModel в View можно использовать DataGrid. В свойстве Context, которого содержится отображаемый TableElementViewModel;

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

- При создании InfoElementViewModel в него посылается список параметров, который будет автоматически заполнятся при изменении данного InfoElementViewModel. Необходимо в классе наследуемым от DataFile для данного формата создать свойство MyParameters типа DataFileParameters, которое будет содержать выбранные параметры, и использоваться его при создании InfoElementViewModel;

- Чтобы параметры из DataFile были загружены в наблюдение, нужно в классе наследуемым от FileLoader для данного формата, в методе LoadData после создания.

- Связка 2-х классов делается также в файле Themes\generic.xaml (см. рисунки 2.16. и 2.17.)

3. Эксплуатация ПО

Разработанный программный комплекс «Сжатие ГИС» предназначен для использования операторами каротажных станций и полевыми инженерами для подготовки и проверки полевых данных, сжатия исходных данных ГИС большого объема, автоматизации процессов формирования и считывания рапортов оператора, обмена данными, просмотра и редактирования исходных данных. Интерпретаторами КИП программный комплекс может использоваться для распаковки данных, переданных со скважины, автоматизации процессов формирования и считывания рапортов оператора, обмена данными [9].

Использование программного комплекса позволяет:

- наладить контроль качества первичных данных;

- передавать по медленным каналам данные ГИС большого объема;

- формировать единый бланк оператора и автоматизировать его заполнение;

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

Основные характеристики продукта:

- загрузка данных ГИС из различных полевых форматов;

- просмотр загруженных данных в графическом виде;

- оценка качества полевого материала с выдачей заключения;

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

- формирование и заполнение бланка оператора;

- экспорт данных в различные форматы обмена данных;

- быстрое сжатие и распаковка полевого материала;

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

- сжатие и распаковка данных ГИС большого объема (сотни мегабайт);

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

На сегодняшний день многие российские геофизические компании уже являются пользователями программы «Сжатие ГИС».

Вот неполный список компаний, использующих программный комплекс «Сжатие ГИС» в своей работе:

- ОАО "Башнефтегеофизика";

- РУП ПО "Беларуснефть" УПГР;

- Петровское УГР, г.Волгоград;

- ООО "Геомен", г.Пермь;

- ЗАО "Геофиск", г.Тюмень;

- АО "Казпромгеофизика", Казахстан;

- ОАО "Когалымнефтегеофизика";

- АО "Компания ГИС", Казахстан;

- ОАО "Краснодарнефтегеофизика";

- «Атыраупромгеофизика», Казахстан;

- ЗАО «Красноярнефтегеофизика», г. Покачи;

- ООО «Новик», г. Пермь;

- ОАО «Сибнефть-Ноябрьскнефтегазгеофизика»;

- ООО «Оренбурггеофизика»;

- ООО «Оренбургнефтегеофизика»;

- ОАО «Пермнефтегеофизика»;

- ЗАО «Пермский ИТЦ "Геофизика"»;

- ЗАО «Поморнефтегазгеофизика»;

- Трест «Сургутнефтегеофизика»;

- ОАО «Татнефтегеофизика»;

- ООО НК "Топливно-энергетические ресурсы", г. Ижевск;

- ОАО «Тюменьпромгеофизика»;

- ООО «Удмуртнефтегеофизика»;

- Ухтинская ГЭ, ОАО "Ухтанефтегазгеология";

- ООО «Юганскнефтегазгеофизика»;

- «ЯмалГИС-сервис».

Как видно из этого списка данное ПО востребовано не только в России, но и в ближнем зарубежье.

Так как в геофизике много различных стандартов и форматов представления данных, то модуль загрузки каротажных данных для программы «сжатие ГИС» был разработан таким образом, чтобы можно было дополнять его впоследствии новыми загрузчиками. Каждый загрузчик предназначен для загрузки определенного формата данных.

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

- ГИС-АКЦ.

- Геофит.

- Кедр.

- МИД-К.

- ЭМДСТ-МП.

- DLIS.

- Express4.

- LAS.

- LIS.

- WinLog.

Если у пользователя появляется потребность работать с каким-либо другим форматом данных, или появляется новый прибор, записывающий в новый формат данных, который был не известен до этого, то он может обратиться к разработчикам с просьбой о расширении возможностей модуля загрузки. В этом случае по просьбе пользователей компанией ФХС-ПНГ будет в кратчайшие сроки реализован загрузчик для этого нового формата, а также выпущено обновление, которое будет доступно всем клиентам оформившим поддержку для ПО «Сжатие ГИС».

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

Заключение

программа каротажный загрузка файл

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

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

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

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

Библиографический список

1. Голдсмит. А. Беспроводные коммуникации. Основы теории и технологии беспроводной связи. М.: Техносфера. 2011 - 904 с.

2. Головин Б.А., Головин К.Б., Калинникова М.В. Учебное пособие по геофизическим исследованиям скважин. Саратов: Саратовский ГУ, 2005.

3. Горбачев. Ю.И. Геофизическое исследование скважин. М.: Недра, 1990 - 398 с.

4. Митин А.Н. Информационная культура // Научно-практический экономико-правовой журнал «Бизнес, менеджмент и право» [Электронный ресурс] [Режим доступа: http://www.bmpravo.ru/show_stat.php?stat=94] [Проверено: 04.06.2014].

5. Попов И.В. Технология GPRS (General Packet Radio Service) // Библиофонд [Электронный ресурс] [Режим доступа: http://www.bibliofond.ru/view.aspx?id=67567] [Проверено: 28.04.2014].

6. Предприятие ФХС-ПНГ. Правила по написанию руководства пользователя. Пермь: 2013 - 2 с.

7. Сайт Все о Hi-Tech [Электронный ресурс] [Режим доступа: http://all-ht.ru/inf/systems/net_wireless_overview.html] [Проверено: 28.04.2014].

8. Сайт компании Microsoft. Введение в WPF // MSDN [Электронный ресурс] [Режим доступа: http://msdn.microsoft.com/ru-ru/library/aa970268(v=vs.110).aspx] [Проверено: 03.06.2014].

9. Сайт компании ФXC-ПНГ [Электронный ресурс] [Режим доступа: http://www.fxc-png.ru/] [Проверено: 04.06.2014].

10. Сайт международной компании спутниковой связи Inmarsat [Электронный ресурс] [Режим доступа: http://www.inmarsat.com] [Проверено: 06.06.2014].

11. Сайт сотового оператора Билайн [Электронный ресурс] [Режим доступа: http://3g.beeline.ru/3g/map.wbp] [Проверено: 28.04.2014].

12. Сковородников. И.Г. Геофизические исследования скважин: Курс лекций. Екатеринбург: Уральская государственная горно-геологическая академия, 2003 - 294 с.

13. Хмелевской. В. К. Геофизические методы исследования земной коры. Часть 1. Дубна: Международный университет природы, общества и человека, 1997.

14. ЯКОВЛЕВ. А.Н. Введение в вейвлет-преобразования: Учебное пособие. Новосибирск: НГТУ, 2003 - 104 с.

Размещено на Allbest.ru

...

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

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