Помощь в написании студенческих работ
Антистрессовый сервис

Разработка автоматизированной системы «Склад»

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Компьютерный учет имеет свои особенности и радикально отличается от обычного. Компьютер не только облегчает учет, сокращая время, требующееся на оформление документов и обобщение накопленных данных для анализа хода торговой деятельности, необходимого для управления ею. Отчеты о положении в торговле, получаемые с помощью компьютера, можно получить и без него — никакой особой математики… Читать ещё >

Разработка автоматизированной системы «Склад» (реферат, курсовая, диплом, контрольная)

Задание на курсовую работу

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

Вариант 1.

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

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

1. НАЗНАЧЕНИЕ СИСТЕМЫ

2. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

3. АЛГОРИТМИЧЕСКАЯ ЧАСТЬ

3.1 Работа с файлами

3.2 Структурированные типы данных

3.3 Сортировка

3.4 Алгоритм работы программы

4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

4.1 Назначение программы

4.2 Лингвистическое обеспечение

4.3 Техническое и программное обеспечение

4.4 Описание данных

4.5 Проектирование интерфейса

4.6 Структура программы

4.7 Структура программного комплекса

4.8 Инструкция пользователя

4.9 Результаты работы программы

ЗАКЛЮЧЕНИЕ

ПРИЛОЖЕНИЕ

Цель работы — изучить основные идеи, связанные с программированием прикладных задач средствами пакета Visual Basic 6. Изучить возможности использования языка Visual Basic при решении задач автоматизация учета материалов на складе с применением баз данных. В результате выполнения работы мы должны получить теоретические знания и практические навыки по разработке простейших программ работы с базами данных.

Исходя из цели были выделены следующие задачи:

§ изучить теоретические аспекты использования языка Visual Basic;

§ рассмотреть использование структурированных типов данных и файлов прямого доступа;

§ разработать программу обработки записей по товарам на складе.

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

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

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

1. Назначение системы

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

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

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

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

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

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

Функциональные возможности программы:

§ учет товаров на складе;

§ прием продукции;

§ продажа продукции;

§ формирование отчетов.

Входные и выходные данные.

§ код товара,

§ название,

§ количество на складе,

§ страна производитель,

§ дата выработки,

§ срок годности.

2. Анализ предметной области

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

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

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

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

Процедура принятия продукции на склад:

Продукция приходит на склад в сопровождении экспедитора и приходной накладной;

Контролер на складе, проверяет приходную накладную, и регистрирует ее в книге учета входящих документов (накладных);

Осматривает входящую продукцию, и если с ней все нормально принимает ее на склад, передавая экспедитору товара выписку (документ) о том, что товар принят на хранение;

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

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

Отгрузка товаров со склада проходит следующие стадии:

Получатель товара подает накладную на отгрузку товара;

Контролер проверяет эту накладную и регистрирует ее в книге учета входящих документов;

Далее контролер дает указание работникам склада на поиск нужной продукции и отгрузки ее;

Затем получатель товара проводит его осмотр, на счет того нужный ли товар отгрузили и в нужном количестве;

Контролер регистрирует в книге учета факт отгрузки товара;

Далее контролер выдает получателю груза сопроводительный документ по отгрузке товара;

Далее происходит непосредственно отгрузка товара техническими средствами.

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

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

Проанализировав ситуацию на складе и выявив все минусы, постараемся создать такую систему, которая бы автоматизировала следующие операции на складе:

Регистрация документов осуществляется с помощью ЭВМ;

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

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

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

§ надежность функционирования системы;

§ функциональная полнота системы; быстродействие;

§ минимизация затрат на стоимость: аппаратных средств, прикладных систем, сопровождения системы, развития системы.

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

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

3. Алгоритмическая часть

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

3.1 Работа с файлами

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

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

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

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

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

Подобное деление файлов на типы достаточно условно и определяется особенностями организации файлов и доступа к данным в них. Например, файл с последовательным доступом можно открыть и в режиме двоичного доступа. Если этот файл имеет разделители, то для работы с ним придется написать специальную процедуру обработки разделителей и разбора данных, так как двоичный доступ обеспечивает побайтную запись/чтение из файла. Очевидно, что это неудобно. Именно поэтому и введено условное деление файлов на типы в зависимости от формата файла и доступа к данным. Соответственно сгруппированы и функции Visual Basic для записи/чтения данных. Мы рассмотрим работу с каждым из типов файлов, понимая, что такое разделение на типы достаточно условно, но позволяет обеспечить наиболее эффективную обработку данных для каждого типа.

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

Традиционный подход при работе с файлами остается неизменным практически с самых первых версий Visual Basic и заключается в использовании функций и операторов, обеспечивающих прямой доступ к информации в файлах. Функции и операторы, используемые при работе с файлами, приведены в табл. 1. В столбце Тип файла этой таблицы приняты следующие сокращения типов файлов:

§ П — файл последовательного доступа;

§ Пр — файл произвольного доступа;

§ Б — бинарный файл.

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

Таблица 1. Функции и операторы для работы с файлами

Функция, оператор

Описание

Тип файла

Open

Открывает файл

П, Пр, Б

Close

Закрывает все файлы

П, Пр, Б

Close #

Закрывает файл по идентификатору (дескриптору)

П, Пр, Б

Print tt

Записывает данные в файл

П

EOF

Определяет метку конца файла

П, Пр, Б

Seek

Устанавливает на заданную номером позицию или запись в файле

П, Пр, Б

Kill

Удаляет файл

П, Пр, Б

Name

Задает (переименовывает) имя файла

П, Пр, Б

Get #

Читает данные из файла

Пр.Б

Input

Читает данные из файла

П, Б

Input #

Читает данные из файла

П

Line Input #

Читает строку из файла

П

Put #

Записывает данные в файл

Пр, Б

Write #

Записывает данные в файл

П

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

При открытии файлов произвольного доступа возможен только один режим доступа — Random. Кстати, этот режим является режимом по умолчанию для функции Open.

Используя возможности Visual Basic, можно создать файл произвольного доступа пользовательской, то есть своей собственной структуры. Продемонстрируем это на небольшом примере. С помощью оператора туре объявим тип переменной, имеющей заданную. структуру записи:

Type PhisFace

PhisFaseID As Integer

FIO As String * 50

End Type

В данном примере объявлена структура в виде записи из двух полей. Первым полем является идентификатор, а вторым — фамилия, имя и отчество.

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

Open pathName [For Random] As fileNumber Len = recLength

где:

§ pathName — полное имя файла;

§ fileNumber — номер файла;

§ recLength — длина записи в байтах.

При использовании оператора Open для открытия файла произвольного доступа атрибут For не обязателен, так как в Visual Basic этот параметр устанавливается по умолчанию. Как видно из синтаксиса, в отличие от файла с последовательным доступом, при открытии файла с произвольным доступом необходимо обязательно указывать длину записи. При этом, если длина записи не известна, ее можно вычислить с использованием функции Len.

Чтение данных из файла произвольного доступа Данные из файла произвольного доступа, как правило, считываются записями. Для этого используется оператор Get #, который имеет следующий синтаксис:

Get #fileNumber, [recNumber], varName

где:

§ fileNumber — номер файла;

§ recNumber — номер записи в файле;

§ varName — переменная.

Если параметр recNumber в функции Get не указан, считывается текущая запись, на которой позиционирован указатель.

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

Seek #fileNumber, position

где:

§ fileNumber — номер файла;

§ position — целочисленное выражение, которое задает номер записи в файле.

Запись в файл произвольного доступа Для записи данных в файл произвольного доступа используется оператор Put #, имеющий следующий синтаксис:

Put #fileNumber, [recNumber], varName

где:

§ fileNumber — номер файла, аналогичный номеру в операторе open;

§ recNumber — целочисленное выражение, которое задает номер записи в файле;

§ varName — переменная, указывающая источник записываемых данных.

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

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

Изменение данных в файле произвольного доступа Для изменения данных в записях файла (редактирование, добавление, удаление записей) применяется оператор put ft. При его использовании необходимо иметь в виду, что данные в записи будут заменены на те, которые мы передаем в файл. Подчеркнем, что новая запись с данными не создается.

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

Put #FileNum, LastRecord + 1, ForFileRecords

Для вычисления текущего номера последней записи LastRecord можно использовать длину записи и размер файла, возвращаемый функцией LOF.

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

Для окончательного удаления записей рекомендуется перезаписывать данные в новый файл, пропуская пустые записи. Алгоритм этих действий таков:

1. Создайте новый файл с помощью оператора Open.

2. Перепишите все непустые записи в новый файл, используя оператор Put #.

3. Закройте исходный файл и удалите его при помощи оператора Kill.

4. Переименуйте новый файл в исходный оператором Name.

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

3.2 Структурированные типы данных

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

Массив — это самый распространенный структурный тип данных. Массив представляет собой упорядоченную совокупность данных одного типа. Порядок элементов задается индексами, то есть порядковыми номерами элементов в соответствующей структуре. В Visual Basic массивы могут одномерными и многомерными. Допустимое число измерений около 60.

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

Dim | Public | Private | Static} <�имя переменной> (<�список размерностей>) [As <�имя типа>]

Каждое измерение в списке отделяется запятой и определяется заданием верхней и нижней границы изменения индексов. Массивы — это структуры с прямым доступом к элементам. Доступ осуществляется посредством указания имени массива и индекса элемента. Индекс элемента прописывается в круглых скобках.

Приведем пример:

Public Sub MyArray ()

Const LowBound As Integer = -5, HighBound As Integer = 5

Dim MyArr (LowBound To HighBound) As Byte

Dim I As Integer

Debug.Print «Элементы массива MyArr:»

For I = LowBound To HighBound

MyArr (I) = I + 6

Debug.Print MyArr (I)

Next I

End Sub

При исполнении данной процедуры будут напечатаны числа от 1 до 11.

Рассмотренный пример показывает работу со статическим массивом. Количество элементов такого массива определено в момент объявления его в программе. Visual Basic имеет мощное средство работы с массивами — динамические массивы. Массив считается динамическим, если при первоначальном объявлении не указывается его размерность, но в последующем она может быть определена и переопределена оператором ReDim. Размерность определяется динамически в той процедуре и в тот момент, когда она становится фактически известной. При этом границы изменения индексов можно задавать не только как константы, но и как выражения, зависимые от переменных. Если же при переопределении массива задать ключевое слово Preserve, можно сохранить все ранее полученные значения элементов и расширить массив, добавив новые элементы.

Приведем пример работы с динамическим массивом:

— Объявление динамического массива на уровне модуля

Public Vector () As Integer

Public Sub DinArray ()

— Определяется фактическая размерность массива Vector

Dim N As Byte, I As Byte

N = InputBox («Введите число элементов вектора»)

ReDim Vector (1 To N)

For I = 1 To N

Vector (I) = 2 * I + 1

Next I

— Массив расширяется с сохранением ранее вычисленных элементов

ReDim Preserve Vector (1 To 2 * N + 1)

For I = N + 1 To 2 * N + 1

Vector (I) = 2 * I

Next I

— А теперь печать

Debug.Print «Элементы Vector:» & Chr (13)

For I = 1 To N * 2 + 1

Debug.Print Vector (I)

Next I

End Sub

При исполнении данной процедуры будет выдан запрос на определение количества элементов массива, затем печать выведенных значений. Например, если ввести число 10, то вначале будут напечатаны нечетные числа от 3 до 21, а затем четные от 22 до 42.

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

Формально в Visual Basic отсутствует понятие «запись». Чтобы обеспечить работу с записями, в Visual Basic предусмотрены средства для определения пользовательского типа. Таким образом, записи в Visual Basic называются типом, определенным пользователем. Синтаксис такого определения определен следующим образом:

[Private | Public] Type <�имя типа>

<�имя элемента> [([<�размерность массива>])] As <�тип элемента>

[<�имя элемента> [([<�размерность массива>])] As <�тип элемента>]

End Type

Определение типа дается на уровне модуля, и если оно является закрытым (Private), то оно распространяется на один модуль, а для общих (Public) типов — на все.

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

— Определение структуры записи из двух полей

Type Fam

FirstName As String

LastName As String

End Type

Type Person

Fio As Fam

Birthdate As Date

End Type

Public Sub UserType ()

— Объявление переменных типа запись

Dim Semenoff As Person

Dim Arhipov As Person

— Присваиваются значения полям соответствующих записей

Semenoff.Fio.FirstName = «Авдей»

Semenoff.Fio.LastName = «Семенов»

Semenoff.Birthdate = #11/2/1975#

Arhipov.Fio.FirstName = Semenoff.Fio.FirstName

Arhipov.Fio.LastName = «Архипов»

Arhipov.Birthdate = #18/11/1976#

— А теперь просмотр результата в окне вывода

MsgBox (Semenoff.Fio.FirstName & «» & Semenoff.Fio.LastName & «родился «& Semenoff. Birthdate)

MsgBox (Arhipov.Fio.FirstName & «» & Arhipov.Fio.LastName & «родился «& Arhipov. Birthdate)

End Sub

Как видно из представленного фрагмента программы, определенный пользователем тип используется при описании программных переменных так же, как и стандартные типы. Здесь же показан принцип работы с записями. Записи обрабатываются поэлементно. Для доступа к элементу записи используется составное имя, которое состоит из имени записи и имени соответствующего поля или полей. Соответствующие имена разделяются знаком точка. Другая форма обращения к элементу записи предполагает использование оператора присоединения (With … End With). Рассмотрим на примере принцип кодирования данной инструкции языка Visual Basic.

With Arhipov

.Fio.FirstName = Semenoff.Fio.FirstName

.Fio.LastName = «Архипов»

.Birthdate = #7/21/1966#

End With

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

Применительно к поставленной задаче имеем:

Рис. 1. Тип — запись с информацией о товаре

Таблица 2. Формат данных

Характеристика

Тип

Длина

Код товара

Integer

;

Название

String

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

Integer

;

Страна производитель

String

Дата выработки

String

Срок годности

Integer

;

3.3 Сортировка

Слияние означает объединение двух или более упорядоченных массивов в один упорядоченный массив. Можно, например, слить подмассивы 503 703 765 и 087 512 677 и получить 087 503 512 677 703 765. Простой способ сделать это — сравнить два наименьших элемента, вывести наименьший из них и повторить эту процедуру. Начав с

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

Алгоритм М (Двухпутевое слияние). Этот алгоритм осуществляет слияние упорядоченных массивов x1 х2 … хm и y1 у2 … уn в массив z1 z2 … zm+n.

Ml. [Начальная установка.]. Установить i l, j l, k l.

М2. [Найти наименьший элемент.] Если xi yj, перейти к шагу М3; в противном случае перейти к шагу М5.

М3. [Вывести xi] Установить zk xi, k k + l, i i + l. Если i m, вернуться к шагу М2.

М4. [Передать yj,…, yn.] Установить (zk, …, zm+n) (yj,…, yn) и завершить выполнение алгоритма.

М5. [Вывести yj.] Установить zk yj, k k + 1, j j + 1. Если j n, вернуться к шагу M2.

М6. [Передать xi,…, хm.] Установить (zk,…, zm+n) (xi,…, xm) и завершить выполнение алгоритма.

Рис. 2. Слияние

Эта простая процедура, по существу, — наилучший из возможных способов слияния на компьютере с обычной архитектурой, когда m n. (Но, если m гораздо меньше n, можно разработать более эффективные алгоритмы сортировки, хотя в общем случае они довольно сложны.) Алгоритм М без существенной потери эффективности можно немного упростить, добавив в конец исходных массивов искусственных «стражей» (ограничивающие элементы xm+1 = ym+1 =) и остановившись перед выводом .

Общий объем операций, выполняемых алгоритмом М, по существу, пропорционален m + n, откуда понятно, почему считается, что слияние — более простая задача, чем сортировка. Однако задачу сортировки можно свести к слияниям, сливая все более длинные подмассивы до тех пор, пока не будет рассортирован весь массив. Такой подход можно рассматривать как развитие идеи сортировки методом вставок: вставка нового элемента в упорядоченный массив — частный случай слияния при n = 1. Чтобы ускорить процесс вставок, можно рассмотреть вставку нескольких элементов за один раз, группируя несколько операций, а это естественным образом приведет к общей идее сортировки методом слияния. С исторической точки зрения метод слияний — один из самых первых методов сортировки при помощи компьютеров; он был предложен Джоном фон Нейманом.

3.4 Алгоритм работы программы

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

Open [имя файла] For Random As #1 Len = Len (Stroka)

открыли файл для чтения

While not EOF (1)

цикл до конца файла.

Get #1, i, Stroka

читаем запись

процедура добавления записи

помещаем в список

Wend

Close #1

закрыли файл

Добавление записи в список производится в следующей последовательности:

§ заполняются поля записи;

§ добавляется пустая строка в таблицу;

§ данные из полей записи переносятся в соответствующие ячейки добавленной строки.

Удаление выбранной записи с номером i производится путем сдвига всех нижележащих записей (т.е. начиная с i + 1 записи) таблицы на 1 позицию вверх и уменьшения числа записей на 1.

Редактирование записи заключается в изменении значений её полей.

Сохранение данных в файле необходимо для долговременного их хранения при выходе из программы:

Kill (DataFilePath)

удалили файл

Open DataFilePath For Random As #1 Len = Len (Stroka)

открыли файл для записи

For i = 1 To Nzap

цикл просмотра списка

процедура извлечения данных

читаем данные из строки списка

Put #1, i, Stroka

записываем в файл

Next

Close #1

закрыли файл

Вывод списка товаров (в порядке их ввода) производится по следующему алгоритму:

Open [имя файла] For Random As #1 Len = Len (Stroka)

открыли файл для чтения

While not EOF (1)

цикл до конца файла.

Get #1, i, Stroka

читаем запись

процедура вывода записи

вывод на рабочий лист

Wend

Close #1

закрыли файл

Сортировка. Сортировка в программе будет выполняться по полю «Количество на складе» в соответствии с алгоритмом, описанным выше.

4. Программная реализация

4.1 Назначение программы

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

Программа имеет приятный и понятный для пользователя интерфейс. Результаты выводятся на экран.

Данная программа называется «База данных» и разрабатывается на языке высокого уровня Visual Basic.

4.2 Лингвистическое обеспечение

В качестве языка программирования был использован Visual Basic 6.

Одним из направлений развития современных технологий программирования являются системы быстрой визуальной разработки (RAD). К их числу относится Visual Basic — мощная универсальная система визуального программирования на основе языка Basic.

Microsoft Visual Basic 6.0 — это мощная система программирования, позволяющая быстро и эффективно создавать приложения для Microsoft Windows

Оригинальный язык программирования Basic был создан Джоном Кемени и Томасом Курцем в 1963 г в Дартмурском колледже. Он быстро завоевал популярность в качестве языка для обучения программированию в университетах и школах и был адаптирован для использования на персональных компьютерах основателем и главой компании Microsoft Биллом Гейтсом в середине 70-х гг. С тех пор для ПК последовательно было выпущено несколько версий Basic, включая Microsoft Quick Basic и MS-DOS Qbasic. Хотя программная оболочка Visual Basic выполнена полностью графической, а сам язык программирования весьма далек от языка, применяемого для ранних версий интерпретаторов Basic, простота и элегантность Basic осталась в большой мере присущей и новым версиям. Широкие возможности Visual Basic и его простота послужили основной причиной для выбора его в качестве языка программирования для создания таких Windowsприложений как Excel.

Основные возможности Visual Basic 6.0:

Управление множественными проектами с помощью Explorer

Использование новых сред Code Editor (Редактор кодов), в том числе Auto Quick Info (Быстрого Авто информатора)

Работа с окном Form Layout (Макета бланка) для настройки внешнего вида программы.

Изменение размеров окон и документов.

Выбор и использование функций управления Active X.

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

Быстрый запуск проекта с одной или более предопределенной формой.

Расширение возможностей Microsoft Word через автоматизацию.

Среда программирования Visual Basic содержит все необходимые инструменты для быстрого и эффективного создания мощных программ, работающих в среде Windows.

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

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

4.3 Техническое и программное обеспечение

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

Минимальные

Рекомендуемые

Процессор

233 MHz

300 MHz или выше

Оперативная память

64 Мб RAM (могут быть ограничены некоторые возможности)

128 Мб RAM или выше

Видеоадаптер и монитор

VGA (640 480)

Super VGA (800 600) или выше

Свободное место на HDD

1 Мб

1 Мб или больше

Устройства взаимодействия с пользователем

клавиатура

клавиатура и мышь

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

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

4.4 Описание данных

В качестве исходных данных, характеризующих товары, будут использоваться:

§ код товара,

§ название,

§ количество на складе,

§ страна производитель,

§ дата выработки,

§ срок годности.

4.5 Проектирование интерфейса

Самый простой способ запустить Visual Basic в Windows состоит в использовании пункта Программы главного меню Пуск. Кроме того, запустить Visual Basic можно, перейдя в его каталог при помощи значка «Мой компьютер на рабочем столе Windows». Затем необходимо дважды щелкнуть по значку Visual Basic. Запустить Visual Basic можно, открыв диалоговую панель «Выполнить» из главного меню и введя путь к Visual Basic.

Когда Visual Basic загрузится, то на экран будет выведена диалоговая панель New Project, которая позволяет начать работу по созданию приложения Visual Basic любого типа. Выбираем Standard ЕХЕ — сокращение от наименования «обычная автономная программа».

На экран будет выведена пустая форма с заголовком Form1.

Каждый проект на Visual Basic 6 имеет, по крайней мере, одну форму, которая используется для проектирования интерфейса с пользователем вашей программы.

Задаем свойства формы в окне Properties. Свойства — это атрибуты объекта, такие как размер, заголовок, цвет т.д. Установкой значений свойств можно настроить внешний вид элементов управления формы.

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

Помещаем метки Label для вывода подсказок и текстовые окна TextBox для ввода исходных данных. Текстовые окна разместим в виде массивов. Для этого:

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

Войдя на выделенном поле в контекстное меню (щелчок правой клавишей), выберем команду Copy. Затем, войдя повторно в контекстное меню, выберем Paste («вставить») (вместо контекстного меню можно пользоваться привычными комбинациями Ctrl+C и Ctrl+V соответственно). Появляется диалог с запросом: «You already have a control „Text1“. Do you want to create a control array?» («У вас уже есть элемент „Text1“. Вы хотите создать массив элементов?») — и вариантами ответов: «Да» и «Нет». Выбираем вариант «Да». Аналогично создаем массив меток, расположенных рядом с полями ввода.

Для прокрутки записей будет использоваться элемент VScrollBar .

Управление программой осуществляется кнопками CommandButton .

После того, как элементы размещены на форме, устанавливаем их свойства в окне Properties.

В результате получили форму, показанную на рис. 3.

Рис. 3. Вид главной формы

Кроме главной формы в программе будут еще две формы: для вывода отчетов и для вывода справки. Для добавления формы к проекту необходимо щелкнуть по кнопке Add Form и из диалогового окна выбрать вид формы — Form. Размещаем на второй форме один компонент TextBox для вывода отчета. Свойство MultiLine устанавливаем в True это позволит выводить многострочный текст. Вид формы показан на рис. 4.

Рис. 4. Форма вывода отчетов

На третьей форме разместим 2 компонента:

CommandButton — командная кнопка — для закрытия окна;

Image — графическое изображение для вывода краткой инструкции.

Рис. 5. Окно вывода справки

Добавляем модуль описаний (в нем будет описан тип — запись и процедуры сортировки). Для этого переходим в редактор Visual Basic. Из меню Insert выбираем команду Module:

Для написания кода обработки нажатия кнопок необходимо дважды щелкнуть по ней и система VB автоматически перейдет в окно редактирования кода.

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

Последний этап — создание выполняемого (т.е. EXE) файла. Нажимаем «Файл (File) — Создать (Make) sklad. exe…» сохраняем и готово. Теперь можно закрыть VB и запускать свой EXE-файл.

4.6 Структура программы

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

ID — код товара, тип Integer;

Name — название, тип String;

Kol — количество на складе, тип Integer;

Strana — страна производитель, тип String;

DataV — дата выработки, тип String;

SrokG — срок годности, тип Integer.

Таблица 3. Подпрограммы

Имя процедуры

Вызывает процедуры

Описание

Общие подпрограммы

ReRead

;

обновление сведений о файле данных

ShowRecords

;

показать 10 записей

MakeRecord

ReRead

сохранение записи в файле

Sli

;

слияние частей массива

Bose

Sli

сортировка слиянием

Событийные подпрограммы

cmQuit_Click

;

выход из программы

cmdHelp_Click

;

вывод справки о программе

Form_Load

ReRead

инициализация программы

VScroll1_Change

ShowRecords

изменение положения линейки прокрутки

Text1_GotFocus

MakeRecord

приобретение фокуса элементом Text1

Text2_GotFocus

MakeRecord

приобретение фокуса элементом Text2

Text3_GotFocus

MakeRecord

приобретение фокуса элементом Text3

Text5_GotFocus

MakeRecord

приобретение фокуса элементом Text5

Text6_GotFocus

MakeRecord

приобретение фокуса элементом Text6

Text7_GotFocus

MakeRecord

приобретение фокуса элементом Text7

Command1_Click

ReRead

удаление текущей записи

Text1_KeyDown

MakeRecord

обработка нажатия клавиш на элементе Text1

Text2_KeyDown

MakeRecord

обработка нажатия клавиш на элементе Text2

Text3_KeyDown

MakeRecord

обработка нажатия клавиш на элементе Text3

Text5_KeyDown

MakeRecord

обработка нажатия клавиш на элементе Text5

Text6_KeyDown

MakeRecord

обработка нажатия клавиш на элементе Text6

Text7_KeyDown

MakeRecord

обработка нажатия клавиш на элементе Text7

cmdPrintAll_Click

;

вывод полной таблицы с базой данных

cmdSort_Click

Bose

сортировка по количеству и вывод базы данных

Таблица 4. Переменные программы

Назначение

Имя

Тип

Характеристика

Набор данных по единице товара

Stroka

Datap

входная

Номер первой строки области вывода

BeginStroka

Long

служебная

Номер последней строки области вывода

LastStroka

Long

служебная

Номер предыдущей активной записи

OldIndex

Long

служебная

Номер записи для использования в подпрограммах

IndexForSub

Long

служебная

Номер строки в которой расположена найденная запись

X

Long

служебная

Счетчик записей

Z

Integer

служебная

Имя файла базы данных

BDFile

String

служебная

4.7 Структура программного комплекса

Структура программного комплекса представлена на рис. 6.

Рис. 6. Схема взаимодействия модулей

4.8 Инструкция пользователя

автоматизированный учет склад интерфейс

Для установки программ на персональный компьютер пользователя, оператору необходимо скопировать загрузочный модуль SKLAD. EXE с дискеты на рабочий стол или в специально созданный каталог. С помощью стандартных процедур графической оболочки Windows вынести пиктограмму на рабочий стол.

Работа программы начинается после запуска пиктограммы SKLAD.EXE. Подведите указатель мыши к пиктограмме и двойным щелчком левой кнопки мыши запустите программу.

После запуска на экране монитора компьютера появляется главное окно программы (рис. 7).

Рис. 7. Окно программы

Работа с программой сводится к работе с записями. Записи хранятся в файле прямого доступа с именем sklad. bzd, который создается только программно. Перемещение по записям — при помощи мыши.

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

2. Удаление записи. Для удаления записи необходимо нажать кнопку, расположенную в левой части удаляемой строки.

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

4. Полный отчет. Содержимое файла данных можно просмотреть в виде таблицы. Для этого необходимо нажать кнопку Исходная БД.

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

Для завершения работы с программой нажимается кнопка Выход.

4.9 Результаты работы программы

Заключение

В результате выполнения курсовой работы мной была разработана программа ведения базы данных «Склад».

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

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

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

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

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

1. Алиев В. К. Информатика в задачах, примерах, алгоритмах/Visual Basic for Application. -М.: СОЛОН — Р, 2003. -185 с.

2. Билл Семпф. Microsoft Visual Basic 2005 для «чайников». -М.: Диалектика, 2006. -288 с.

3. Брайан Сайлер, Джефф Споттс. Использование Visual Basic 6. -М.: Вильямс, 2007. -832 с.

4. Глушаков С. В., Клевцов А. Л., Теребилов С. А. Программирование на Visual Basic. -Харьков: Фолио, 2002. -518 с.

5. Кнут Д. Е. Искусство программирования. т. 3. -М.: Мир, 1984. -724 с.

6. Могилев А. В., Пак Н. И., Хеннер Е. К. Информатика. — М.: ACADEMIA, 2010. — 388 с.

7. Туркин О. В. VB. Практическое программирование. -М.: Солон-Пресс, 2006. -698 с.

Приложение

Листинг программы

Модуль

Attribute VB_Name = «Модуль1»

Option Explicit

Public Type Datap 'пользовательский тип запись

ID As Integer 'код товара

Name As String * 25 'название

Kol As Integer 'количество на складе

Strana As String * 15 'страна производитель

DataV As String * 10 'дата выработки

SrokG As Integer 'срок годности

End Type

Public Stroka As Datap 'набор данных по единице товара

Public Const BDFile = «sklad.bzd»

Public Sub Sli (A () As Datap, ByVal j As Integer, ByVal r As Integer, ByVal m As Integer, ByVal n As Integer)

'r — расстояние между началами сливаемых частей,

'а m — их размер, j — наименьший номер записи

Dim x As Datap

If j + r <= n Then

If m = 1 Then

If A (j).Kol > A (j + r).Kol Then

x = A (j)

A (j) = A (j + r)

A (j + r) = x

End If

Else

m = m 2

Call Sli (A (), j, r, m, n) 'Слияние «начал»

Показать весь текст
Заполнить форму текущей работой