Разработка программного модуля
Разработка программного обеспечения, позволяющего преобразовать каротажные данные. Создание модуля загрузки для программы сжатия. Способы передачи данных. Разработка моделей бизнес-процессов. Проектирование модуля загрузки. Определение формата файла.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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
...Подобные документы
Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Структурная диаграмма программного модуля. Разработка схемы программного модуля и пользовательского интерфейса. Реализация программного модуля: код программы; описание использованных операторов и функций. Вид пользовательской формы с заполненной матрицей.
курсовая работа [215,3 K], добавлен 01.09.2010Создание программного модуля, выполненного на языке программирования VBA (Visual Basic for Applications) и позволяющего во введенном массиве символов удалить все повторные вхождения этих символов. Разработка пользовательского интерфейса. Код программы.
курсовая работа [317,4 K], добавлен 11.10.2012Моделирование предметной области. Состав программного модуля. Разработка логической структуры единой базы данных банковской информационной системы "БИС". Создание экранных форм для ввода и корректировки информации. Разработка интерфейса пользователя.
курсовая работа [1,8 M], добавлен 17.05.2016Разработка программного модуля, позволяющего создать с помощью шаблона класса "бинарное дерево" картотеку абонентов, содержащую сведенья о телефонах и их владельцах. Выбор технологии, языка и среды программирования. Выбор стратегии тестирования программы.
курсовая работа [1,1 M], добавлен 11.12.2010Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Анализ предметной области. Средства и технологии разработки программного обеспечения. Требования к аппаратным и операционным ресурсам. Создание навигационного меню. Структура данных таблиц. Разработка интерфейса модуля. Сортировка и фильтрация данных.
дипломная работа [3,7 M], добавлен 12.05.2018Структурная диаграмма программного модуля. Нахождение суммы элементов, находящихся над главной диагональю. Реализация программного модуля: код программы; описание использованных операторов и функций. Особенности тестирования программного модуля.
курсовая работа [146,6 K], добавлен 01.09.2010Основы метода Монте-Карло и его применение. Разработка и тестирование программного модуля для ПК BRAND, позволяющего строить двумерные и трехмерные изображения для сложных геометрических объектов для обеспечения контроля за качеством сборки конструкций.
дипломная работа [5,2 M], добавлен 10.10.2015Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.
курсовая работа [484,7 K], добавлен 29.03.2017Сравнительный анализ технологий тестирования. Разработка программного модуля "Интеллектуальная обучающая система для широкого перечня курсов". Обоснование необходимости и важности этапа отладки в процессе разработки данного программного обеспечения.
дипломная работа [101,2 K], добавлен 17.06.2011Разработка концептуальной модели базы данных. Реализация алгоритмов и разработка управляющей программы. Разработка структуры системы управления данными. Методика проведения и результаты тестирования. Функционирование разработанного программного модуля.
курсовая работа [550,5 K], добавлен 08.06.2023Постановка задачи для модуля 1С. Бухгалтерия 3.0. Анализ существующих разработок в области интегрирования данных. Информационное обеспечение модуля "Связь 1С Предприятия 8.2. с "Казначейством". Программное и технологическое обеспечение данного модуля.
курсовая работа [1,5 M], добавлен 10.06.2013Разработка программного модуля "органайзер", позволяющего вести телефонную книгу, книгу записей, а так же работать с фильтрами и отчетами по данным. Характеристика используемой ЭВМ, ОС и языка программирования. Описание переменных, процедур и функций.
курсовая работа [1,5 M], добавлен 25.12.2012Разработка СУБД - программного модуля для систематизации, хранения и обработки сведений о работниках лаборатории. Технологический процесс машинной реализации задачи, составление алгоритма, описание переменных процедур и функций. Листинг программы.
курсовая работа [1,7 M], добавлен 11.01.2013Проектирование модуля регистрации документов. Анализ предметной области, спецификация требований. Построение диаграммы прецедентов Анализ архитектуры модуля в "OpenText Content Server 16.2". Разработка программы регистрации документов, ее тестирование.
дипломная работа [1,9 M], добавлен 25.08.2017Проектирование базы данных, информационной подсистемы PLC-Tester, модуля тестирования и web-приложения. Разработка логической структуры программного продукта и общие требования к техническому обеспечению. Запуск программы и описание тестовых прогонов.
дипломная работа [3,2 M], добавлен 30.06.2011Разработка модуля для вычисления значения функции, который впоследствии подключается к программе ввода исходных данных с контролем допусимого значения в таблицу. Проектирование модуля для работы со строками и для обработки массивов текстовой информации.
курсовая работа [17,8 K], добавлен 24.09.2010Основные стадии разработки, принципы тестирования и отладка программного модуля "VFS". Особенности проектирования на языке UML. Методы "грубой силы" и их применение при отладке программы. Вредные факторы, присутствующие на рабочем месте программиста.
дипломная работа [827,0 K], добавлен 07.03.2012Разработка функциональной и структурной схемы программного средства. Реализация основного модуля программы. Реализация модуля печати и модуля обновлений. Изучение взаимодействия информационных технологий, методов их интеграции и обмена данными.
дипломная работа [3,2 M], добавлен 27.10.2017