Автоматизация таможенных процедур
Технология деятельности техника-программиста на предприятии. Анализ предметной области. Обоснование выбора среды разработки. Сравнительный анализ методов сортировки данных. Проектирование базы данных. Методы, алгоритм и средства обработки данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 03.05.2015 |
Размер файла | 498,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Существует множество проблем, связанных с недостаточной автоматизацией таможенных процедур, которые, однако, решаются в настоящее время.
Автоматизация таможенных процедур предполагает использование информационных и коммуникационных технологий для выполнения задач, стоящих перед таможенными органами. Данные технологии могут обслуживать либо весь процесс таможенной очистки -- от подачи, приема и обработки импортных, экспортных и транзитных грузовых и товарных деклараций и оплаты необходимых пошлин и налогов, до выпуска товаров из зоны таможенного контроля, либо только его часть. Автоматизация таможенных процедур открывает новые возможности перед таможенными органами, в том числе возможность обработки деклараций до прибытия грузов на границу и автоматизированный выпуск товаров при наличии необходимых гарантий и обеспечения. Кроме того, это может упростить применение систем управления рисками и избирательного контроля на основании оценки имеющихся рисков, а также сбор данных для формирования отчетности по внешнеторговым операциям.
Преддипломная практика проходила в г. Минск в отделе прикладных программных средств Минской центральной таможни с 30 марта 2015 г. по 26 апреля 2015 г.
Целью проведения преддипломной практики является систематизация, обобщение знаний, навыков и умений, полученных в процессе обучения и использование их для подготовки, анализа и оформления материала, необходимого для выполнения дипломного проектирования и подготовка материала для выполнения дипломного проектирования.
Для достижения цели практики в процессе её прохождения решаются следующие задачи:
- определение темы дипломного проекта;
- проведение анализа, сбора необходимой информации и существующих разработок по теме дипломного проекта;
- разработка новых или обоснование выбора по определенным критериям оптимизации методов, алгоритмов и программных средств для решения поставленных (сформулированной) задачи в рамках темы дипломного проекта;
- откладка разработанных программных средств, анализ и оформление полученных результатов;
- самостоятельная работа на предприятии в качестве техника-программиста, изучение и применение действующих ГОСТов для оформления дипломного проекта.
В результате прохождения практики учащиеся должны:
знать:
- технологию деятельности техника-программиста на предприятии;
- методы, алгоритм и средства обработки данных;
- языки и среды программирования для автоматизированной обработки данных;
- принципы и способы организации вычислительного процесса обработки данных на компьютере или вычислительной сети;
- технологии тестирования и откладки программных средств;
- существующие стандарты для оформления технической и программной документации.
уметь:
- четко формулировать задачи, решаемые по обработке информации в производственной, образовательной, исследовательской, проектно-конструкторской и других сферах человеческой деятельности;
- грамотно обосновывать выбор языков и сред программирования для решения задач обработки информации;
- разрабатывать алгоритмы и программное обеспечение для решения производственно-технологических задач;
- качественно осуществлять отладку и тестирование программных средств;
- осуществлять сопровождение разработанного программного обеспечения с целью эффективного выполнения им функций в различных сферах человеческой деятельности;
- рационально и грамотно использовать в различных приложениях существующее программное обеспечение.
1. Проектирование задачи
1.1 Алгоритм решения задачи
Основные алгоритмы внутренней сортировки, используемые в программе:
- обменом: алгоритм состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются n-1 раз или до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает -- массив отсортирован;
- вставками: на каждом шаге алгоритма мы выбираем один из элементов входных данных и вставляем его на нужную позицию в уже отсортированном списке, до тех пор, пока набор входных данных не будет исчерпан;
- выбором: находится номер минимального значения в текущем списке; производится обмен этого значения со значением первой неотсортированной позиции (обмен не нужен, если минимальный элемент уже находится на данной позиции); теперь сортируется хвост списка, исключив из рассмотрения уже отсортированные элементы;
- шейкер: принимается во внимания тот факт, что от последней перестановки до конца (начала) массива находятся отсортированные элементы, поэтому просмотр осуществляется не до конца (начала) массива, а до конкретной позиции. Следовательно необходимо запоминать индекс последней перестановки. На следующем шаге цикла начнём просмотр с последней перестановки. Просмотр массива осуществляется слева направо (устанавливается правая граница). Затем справа налево (устанавливается левая граница). Просмотр массива осуществляется до тех пор, пока все элементы не встанут в порядке возрастания (убывания);
- шелла: сначала сравниваются и сортируются между собой значения, отстоящие один от другого на некотором расстоянии d. После этого процедура повторяется для некоторых меньших значений d, а завершается сортировка Шелла упорядочиванием элементов при d=1 (то есть обычной сортировка вставками);
- быстрая: выбрать из массива элемент, называемый опорным, это может быть любой из элементов массива; cравнить все остальные элементы с опорным и переставить их в массиве так, чтобы разбить массив на три непрерывных отрезка, следующие друг за другом -- «меньшие опорного», «равные» и «большие»; для отрезков «меньших» и «больших» значений выполнить рекурсивно ту же последовательность операций, если длина отрезка больше единицы;
- гномья: алгоритм, похожий на сортировку вставками, но в отличие от последней перед вставкой на нужное место происходит серия обменов, как в сортировке пузырьком;
- слиянием: Сортируемый массив разбивается на две части примерно одинакового размера; каждая из получившихся частей сортируется отдельно, например -- тем же самым алгоритмом; два упорядоченных массива половинного размера соединяются в один;
- двоичным деревом: универсальный алгоритм сортировки, заключающийся в построении двоичного дерева поиска по ключам массива, с последующей сборкой результирующего массива путём обхода узлов построенного дерева в необходимом порядке следования ключей;
- timSort: по специальному алгоритму входной массив разделяется на подмассивы; каждый подмассив сортируется сортировкой вставками; отсортированные подмассивы собираются в единый массив с помощью модифицированной сортировки слиянием;
- подсчётом: подсчитываем, сколько раз в массиве встречается каждое значение, и заполняем массив подсчитанными элементами в соответствующих количествах;
- блочная: алгоритм сортировки, в котором сортируемые элементы распределяются между конечным числом отдельных блоков так, чтобы все элементы в каждом следующем по порядку блоке были всегда больше (или меньше), чем в предыдущем. Каждый блок затем сортируется отдельно, либо рекурсивно тем же методом, либо другим. Затем элементы помещаются обратно в массив;
- расчёской: основная идея «расчёски» в том, чтобы первоначально брать достаточно большое расстояние между сравниваемыми элементами и по мере упорядочивания массива сужать это расстояние вплоть до минимального;
- пирамидальная: используется сортирующее дерево. Выстраиваются элементы массива в виде сортирующего дерева. Удаляются элементы из корня по одному за раз, и дерево перестраивается;
- поразрядная: числа сортируются по разрядам. Существует два варианта least significant digit (LSD) и most significant digit (MSD). При LSD сортировке, сначала сортируются младшие разряды, затем старшие. При MSD сортировке все наоборот;
- глупая: идёт поиск от начала массива, текущий элемент сравнивается со следующим, если следующий меньше, то производится обмен и возврат в начало цикла.
Основные алгоритмы внешней сортировки, используемые в программе:
- естественная сортировка (метод естественного слияния): в случае простого слияния частичная упорядоченность сортируемых данных не дает никакого преимущества. Это объясняется тем, что на каждом проходе сливаются серии фиксированной длины. При естественном слиянии длина серий не ограничивается, а определяется количеством элементов в уже упорядоченных подпоследовательностях, выделяемых на каждом проходе. Алгоритм: исходный файл f разбивается на два вспомогательных файла f1 и f2. Вспомогательные файлы f1 и f2 сливаются в файл f, при этом серии образуют упорядоченные последовательности. Полученный файл f вновь обрабатывается, как указано в шагах 1 и 2. Повторяя шаги, сливаем упорядоченные серии до тех пор, пока не будет упорядочен целиком весь файл;
- сортировка методом двухпутевого сбалансированного слияния: алгоритм сортировки простым слияния является простейшим алгоритмом внешней сортировки, основанный на процедуре слияния серией. В данном алгоритме длина серий фиксируется на каждом шаге. В исходном файле все серии имеют длину 1, после первого шага она равна 2, после второго - 4, после третьего - 8, после k -го шага - 2^k. Алгоритм: исходный файл f разбивается на два вспомогательных файла f1 и f2. Вспомогательные файлы f1 и f2 сливаются в файл f, при этом одиночные элементы образуют упорядоченные пары. Полученный файл f вновь обрабатывается, как указано в шагах 1 и 2. При этом упорядоченные пары переходят в упорядоченные четверки. Повторяя шаги, сливаем четверки в восьмерки и т.д., каждый раз удваивая длину слитых последовательностей до тех пор, пока не будет упорядочен целиком весь файл;
- многофазная сортировка (Фибоначчиевая): на каждом шаге мы берём наименьший из начальных элементов входных серий и перемещаем в конец выходной серии. Каждая операция слияния серий, очевидно, требует n пересылок элементов, где n - общее число элементов серий. В процессе сортировки мы будем оперировать лентами - структурами данных, где в каждый момент нам доступен либо первый элемент, либо следующий элемент после уже прочитанного. В реальной ситуации в качестве лент выступают односвязные списки или файлы. Пусть у нас имеется N лент: N - 1 входная и одна пустая. Мы будем сливать элементы со входных лент на выходную, пока какая-либо из них не опустеет. Затем она станет входной. В каждый момент времени слияние происходит на пустую ленту с остальных, поэтому число требующихся проходов приблизительно равно log n. Далее нам понадобятся числа Фибоначчи порядка p. Очевидно, обычные числа Фибоначчи имеют порядок 1. Из этого следует, что наш алгоритм многофазного слияния применим только к таким входным данным, в которых число серий есть сумма n-1 таких сумм Фибоначчи.
1.2 Построение диаграмм
1.2.1 Диаграмма вариантов использования
Этот вид диаграмм позволяет создать список операций, которые выполняет система. Часто этот вид диаграмм называют диаграммой функций, потому что на основе набора таких диаграмм создается список требований к системе и определяется множество выполняемых системой функций. Данная диаграмма характеризует работу программного средства «Сравнительный анализ методов внутренней сортировки данных». В данной диаграмме используются следующие варианты использования: «Сравнительный анализ методов сортировки данных», «Предоставить описание алгоритмов», «Продемонстрировать анализ методов на разных массивах», «Построить гистограммы для наглядного сравнения методов», «Получить справочную информацию», «Ввести», «Вывести», «Отсортировать массив», «Визуализировать процесс сортировки».
Диаграмма вариантов использования представлена в приложении А.
1.2.2 Диаграмма деятельности
При моделировании поведения системы возникает необходимость детализировать особенности алгоритмической и логической реализации выполняемых системой операций. Для моделирования процесса выполнения операций используются так называемые диаграммы деятельности. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в следующее состояние срабатывает только при завершении этой операции в предыдущем состоянии. Графически диаграмма деятельности представляется в форме графа деятельности, вершинами которого являются состояния действия, а дугами - переходы от одного состояния действия к другому. На диаграмме деятельности отображается логика или последовательность перехода от одной деятельности к другой, при этом внимание фиксируется на результате деятельности.
Состояния, используемые для построения диаграммы: «Теория о методах», «Теория по анализу алгоритмов», «Сортировка массива», «Отображение информации о методах», «Сравнение быстродействия, количества перестановок», «Ввод массива», «Выбор методов», «Проверка, введён ли массив», «Сообщение об ошибке», «Просмотр отсортированного массива», «Просмотр гистограмм сравнения», «Визуализация процесса сортировки».
Диаграмма деятельности представлена в приложении.
1.3 Выбор и обоснование средств разработки
Для разработки программного средства были выбраны операционная система Windows 7, среда разработки Microsoft Visual Studio 2012, язык программирования C#.
1.3.1 Обоснование выбора ОС
Семейство операционных систем Windows имеет следующие преимущества:
Графический интерфейс пользователя. В Windows он основан на идее оконного интерфейса, принятого так же и в ряде других современных ОС (например, UNIX). Каждая программа имеет собственное окно, в котором и происходит обмен сообщений с пользователем. Для наглядности в Windows широко применяются иконки (пиктограммы), изображающие отдельные программы. Кроме того, интерфейс Windows в значительной степени стандартизирован, что облегчает пользователям процесс освоения новых программ.
Многозадачность. Многозадачный режим работы позволяет запускать одновременно несколько приложений, например, текстовый процессор, базу данных, игру и переключаться между ними.
Обмен данными между приложениями. Кроме того возможен обмен данными между приложениями, что позволяет, например, информацию созданную в электронной таблице, перенести в текстовый документ через буфер обмена.
Единый пользовательский интерфейс. Windows предоставляет программистам все необходимые средства для создания пользовательского интерфейса, поэтому программисты пользуются ими, а не изобретают аналогичные собственные средства. Вследствие этого пользовательский интерфейс Windows-программ в значительной степени унифицирован, и пользователям не требуется изучать для каждой программы новые принципы организации взаимодействия с этой программой.
Удобство и поддержка устройств. Основное отличие программ для DOS и для Windows состоит в том, что DOS-программа может работать с аппаратными средствами компьютера, непосредственно минуя DOS, в то время как Windows-программа должна обращаться к внешним устройствам только через посредство Windows. Поэтому после установки в Windows драйвера, обеспечивающего поддержку данного устройства, все Windows-программы могут работать с этим устройством. Это ликвидирует весьма болезненную для DOS проблему обеспечения совместимости программ с конкретными устройствами. Программы (драйверы) для поддержки наиболее распространенных устройств входят в Windows, а для остальных устройств поставляются вместе с этими устройствами или контролёрами.
1.3.2 Обоснование выбора среды разработки
Microsoft Visual Studio 2012 обеспечивает высокое качество кода на протяжении всего цикла жизни ПО, от проектирования до внедрения. Какие бы приложения не разрабатывались: для SharePoint, Интернет, Windows, Windows Phone и других платформ, Visual Studio -- это универсальное всеобъемлющее решение. Сегодня это основное и самое эффективное средство разработки решений для платформы Microsoft.
Visual Studio 2012 олицетворяет собой представление корпорации Майкрософт об интеллектуальных клиентских приложениях и позволяет быстро создавать подключаемые к базам данных приложения, способные обеспечить широчайшие возможности для работы пользователей. С помощью Visual Studio 2012 можно собирать и анализировать информацию проще, чем когда бы то ни было раньше, что способствует принятию эффективных бизнес-решений. С помощью Visual Studio 2012 возможно быстро создавать более безопасные, управляемые и надежные приложения, использующие преимущества Windows Vista™ и системы Microsoft Office 2012.
А такие новинки, как поддержка ASP.NET AJAX и надстройка Silverlight для Visual Studio 2012, помогут создавать целый спектр интерактивных веб-приложений. С выходом Windows Server 2012 и SQL Server 2012 возможности платформы Майкрософт еще больше расширятся.
Visual Studio 2012 продолжает традиции, заложенные предыдущими версиями продукта, и содержит множество новинок, предназначенных как для упрощения создания приложений для различных платформ отдельными, так и для повышения производительности всей проектной команды. Поэтому мною была выбрана именно эта среда разработки.
1.3.3 Обоснование выбора языка программирования
C# -- объектно-ориентированный язык программирования для платформы .NET. Он разработан в 2000 году Андерсом Хейлсбергом, Скоттом Вилтамутом и Питером Гольде под эгидой Microsoft Research. Основным постулатом С# является высказывание: «всякая сущность есть объект». Язык основан на строгой компонентной архитектуре и реализует передовые механизмы обеспечения безопасности кода.
C# был создан специально для технологии ASP.NET. В то же время на C# полностью написана и сама ASP.NET.
C# -- это полнофункциональный объектно-ориентированный язык, который поддерживает все три «столпа» объектно-ориентированного программирования: инкапсуляцию, наследование и полиморфизм. Он имеет прекрасную поддержку компонентов, надежен и устойчив благодаря использованию «сборки мусора», обработки исключений, безопасности типов.
Язык C# разрабатывался «с нуля» и вобрал в себя много полезных свойств таких языков, как C++, Java, Visual Basic, а также Pascal, Delphi и др. При этом необходимость обратной совместимости с предыдущими версиями отсутствовала, что позволило языку C# избежать многих отрицательных сторон своих предшественников.
Как и Java, C# разрабатывался для Интернет и примерно 75% его синтаксических возможностей аналогичны языку программирования Java, его также называют «очищенной версией Java». 10% подобны языку программирования C++, а 5% -- заимствованы из языка программирования Visual Basic. Объем новых концептуальных идей в языке C# около 10%.
Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения, поэтому я выбрал именно этот язык для написания программы.
Заключение
За время прохождения преддипломной практики были изучены и закреплены:
- теоретические знания, полученные при изучении дисциплин: КПиЯП, ТРПО, ПОЛВС, компьютерные сети;
- знания о структуре организации;
- сведения о ПО, применяемом в организации;
- знания о выполняемых функциях и обязанностях работников предприятия;
- навыки самостоятельной работы по установке специального ПО, настройке оборудования.
В процессе работы над программой дипломного проекта были укреплены знания объектно-ориентированного языка программирования С#, на котором ведётся разработка, а также улучшены навыки работы с СУБД InterBase, в которой реализованы базы данных предприятия.
Во время практики были получены фундаментальные знания в области таможенного оформления товара, функционирования вычислительной сети предприятия. Также были получены знания о порядке ведения и оформления таможенной документации.
Принимал непосредственное участие в изучении одной из баз данных, используемых на предприятии, а также работал с ней в среде разработки Borland Delphi 7.
Изучил возможности компании: финансово-экономические, кадровые, материально-технические.
Цели и задачи преддипломной практики мною выполнены в полном объеме.
сортировка база данные алгоритм
Список использованных источников
1 Анкуда, С.Н. Положение о производственной практике учащихся и студентов / С.Н. Анкуда. -- Мн.: МГВРК, 2001. - 20с.
2 Драганов, В.Г. Основы таможенного дела / В.Г. Драганов. -- М. : Экономика, 1998.
3 Снежкова, И.М. Оформление курсовых и дипломных работ. Методические указания / И.М. Снежкова. -- УО МГВРК, 2003.
Приложение А
Диаграмма вариантов использования
Приложение Б
Диаграмма деятельности
Размещено на Allbest.ur
Подобные документы
Проблемы внедрения информационных технологий. Автоматизация работы пользователя. Основные этапы проектирования базы данных. Функционирование предметной области. Специализированные языки обработки данных. Обоснование выбора основных технических средств.
курсовая работа [61,9 K], добавлен 08.02.2012Описание предметной области разрабатываемой базы данных для теннисного клуба. Обоснование выбора CASE-средства Erwin 8 и MS Access для проектирования базы данных. Построение инфологической модели и логической структуры базы данных, разработка интерфейса.
курсовая работа [3,8 M], добавлен 02.02.2014Анализ предметной области. Обзор программ-аналогов. Рассмотрение средств решения поставленной задачи. Проектирование структуры программы и базовых алгоритмов. Изучение руководства программиста и пользователя. Проектирование структуры базы данных.
курсовая работа [1,0 M], добавлен 14.11.2017Концептуальное проектирование базы данных. Характеристика предметной области. Выходная и входная информация. Выделение информационных объектов. Алгоритмы реализации отчетов и сервисных процедур. Реализация базы данных. Создание структуры таблиц и отчетов.
курсовая работа [2,0 M], добавлен 12.03.2016Обоснование выбора системы управления базы данных. Delphi и его основные компоненты. Обоснование среды программирования. Создание базы данных и ее связь со средой программирования. Анализ и описание предметной области. Описание процедур программы.
курсовая работа [1,3 M], добавлен 25.05.2015Анализ предметной области. Сравнительный анализ систем визуализации трёхмерных объектов. Обоснование выбора среды программирования. Разработка базы данных. Архитектура программного продукта. Алгоритм шифрования Blowfish с обратной связью по шифр-тексту.
дипломная работа [5,3 M], добавлен 22.11.2015Инфологическая и даталогическая модели предметной области. Проектирование функциональной структуры приложения, защиты базы данных. Алгоритмы решения задачи и их реализация. Разработка инструкций для сопровождающего программиста и для пользователя.
курсовая работа [2,5 M], добавлен 20.11.2013Этапы создания и разработки базы данных. Построение модели предметной области. Разработка даталогической и физической моделей данных, способы обработки данных о сотрудниках организации. Проектирование приложений пользователя. Создание кнопочной формы.
курсовая работа [2,1 M], добавлен 14.02.2011Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.
курсовая работа [318,6 K], добавлен 24.12.2014Проектирование логической схемы данных для предметной области, физической модели базы данных. Разработка алгоритмов функциональных модулей программного приложения. Принципы тестирования спроектированного программного обеспечения, анализ эффективности.
курсовая работа [926,7 K], добавлен 20.05.2015