Разработка функциональной автоматизации рабочего места

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

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

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

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

Размещено на http://www.allbest.ru/

Введение

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

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

На современном этапе автоматизации управления производством наиболее перспективным является автоматизация планово-управленческих функций на базе персональных ЭВМ, установленных непосредственно на рабочих местах специалистов. Эти системы получили широкое распространение в организационном управлении под названием автоматизированных рабочих мест (АРМ). Это позволит использовать систему людям, не имеющим специальных знаний в области программирования, и одновременно позволит дополнять систему по мере надобности.

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

Согласно принципу системности АРМ следует рассматривать как системы, структура которых определяется функциональным назначением.

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

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

Эффективность АРМ следует рассматривать как интегральный показатель уровня реализации приведённых выше принципов, отнесённого к затратам по созданию и эксплуатации системы.

Функционирование АРМ может дать численный эффект только при условии правильного распределение функций и нагрузки между человеком и машинными средствами обработки информации, ядром которых является ЭВМ. Лишь тогда АРМ станет средством повышения не только производительности труда и эффективности управления, но и социальной комфортности специалистов.

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

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

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

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

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

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

В пятом разделе пояснительной записки «Описание применения программы» отражены сведения об области применения разработанной программы, а так же руководство по использованию программы «АРМ оператора АЗС».

В разделе «Заключение» содержатся выполнение поставленной задачи и основные выводы по курсовому проекту.

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

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

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

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

1. Объектно-ориентированный анализ и проектирование системы

1.1 Описание предметной области

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

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

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

1.2 Инструменты разработки

Инструментами разработки являются:

- операционная система Windows7;

- среда MicrosoftVisualStudio2012;

- язык программирования С#;

- СУБД Microsoft Access.

С# - язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET [1]. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде VisualStudio .

С# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников - языков С++, Java, Delphi, Модула и Smalltalk - С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++)

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

Языки программирования Visual Basic и C# предназначены для создания разнообразных приложений, выполняющихся в среде .NET Framework. Эти языки предоставляют множество возможностей, они типобезопасны и объектно-ориентированы. Они позволяют разработчикам создавать приложения для Windows и Интернета, а также мобильные приложения.

Visual C# -- это реализация языка C# корпорацией Майкрософт. Поддержка Visual C# в Visual Studio обеспечивается с помощью полнофункционального редактора кода, компилятора, шаблонов проектов, конструкторов, мастеров кода, мощного и удобного отладчика и многих других средств. Библиотека классов .NET Framework предоставляет доступ ко многим службам операционной системы и к другим полезным, хорошо спроектированным классам, что существенно ускоряет цикл разработки.

Язык C# в настоящее время один из самых продвинутых и современных языков программирования. Многие программы написаны на этом языке, так как он очень легок в понимании. В нем убраны много лишних элементов, которые встречались в С++, такие как библиотеки классов (теперь они интегрированы в систему языка), или ввод и вывод на экран.

Visual Studio Express 2012 для Windows Desktop позволяет создавать настольные приложения на языках C#, Visual Basic и C++ и поддерживает Windows Presentation Foundation (WPF), Windows Forms и Win32. Однако Visual Studio Express 2012 для Windows Desktop нельзя использовать для разработки приложений для Магазина Windows. Для разработки приложений для Магазина Windows можно установить Visual Studio Express 2012 для Windows 8. Чтобы разрабатывать приложения для всех платформ Майкрософт и для Web, можно установить Visual Studio Professional 2012.

Поддерживаемая операционная система:

- Windows 7 Service Pack 1;

- Windows 8;

- Windows Server 2008 R2 SP1;

- Windows Server 2012;

- Windows 7 с пакетом обновления 1 (SP1) (x86 и x64);

- Windows 8 (x86 и x64);

- Windows Server 2008 R2 с пакетом обновления 1 (SP1) (x64);

- Windows Server 2012 (x64).

Требования к оборудованию:

- процессор с тактовой частотой 1,6 ГГц или большей;

- ОЗУ объемом 1 ГБ (1,5 ГБ для работы на виртуальной машине);

- 5 ГБ доступного пространства на жестком диске

- жесткий диск с частотой вращения 5400 об/мин;

- видеокарта с поддержкой DirectX 9 и разрешения экрана не менее 1024 x 768.

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

2.1 Взаимосвязь модулей

Решение задачи состоит двух частей: базы данных и программного кода.

База данных (bd.mdb) включает в себя таблицы:

- цены на топливо;

- Дополнительные услуги;

- Список работников;

- Касса;

В программе были использованы несколько модулей, называемых формами (Form).

Form1

На Form1 присутствует Label 1 с названием программа, а также шесть кнопок (button) пять из которых обеспечивают связь с другими формами, одна является кнопкой выхода.))

На Form 2 находится база данных(dataGridView) связанная с панелью навигации (BindingNavigation) и кнопкой обновления(button) для возможности редактирования информации.

Form 3, Form 4, Form 5 сделаны по примеру Form 2.

На Form 6 находится справочная информация о данном продукте.

2.2 Процедуры и их действия

Процедура возвращает управление вызывающему коду после завершения работы. Чтобы сделать это, она использует оператор Return (Visual Basic), соответствующий инструкции Exit (Visual Basic) для процедуры, или оператор End <ключевое_слово> (Visual Basic) процедуры. Управление затем передается вызывающему коду, следуя за точкой вызова процедуры.

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

Оператор if определяет, какой блок операторов будет выполняться при выполнения условия, заданного выражением Boolean. В инструкцию if-else, если condition имеет значение true, выполняется then-statement. Если condition имеет значение false, выполняется else-statement. Поскольку condition не может одновременно иметь значение true и false, значения then-statement и else-statement, операторов if-else, никогда не могут выполняться одновременно. После запуска then-statement или else-statement, элемент управления передаются в следующую инструкцию после оператора if.

В операторе if, не включающем оператор else, если condition имеет значение true, выполняется then-statement. Если condition имеет значение false, то управление передаются в следующую инструкцию после блока if.

Инструкции then-statement и else-statement могут состоять из одной или нескольких выписки выписки, заключенных в фигурные скобки ({}). Для одного оператора в теле конструкции скобки необязательны, но рекомендуются.

Инструкция или инструкции в then-statement и else-statement могут быть любого типа, включая другой оператор if, вложенный в исходную инструкцию if. Во вложенных выписках if, каждое предложение else принадлежит к последнему if, не имеет соответствующий объект else.

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

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

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

Хотя предложение catch можно использовать без аргументов для перехвата любого типа исключения, такой подход не рекомендуется. В общем случае следует перехватывать только те исключения, устранение причин которых известно. Поэтому следует всегда задавать аргумент объекта, производного от System.Exception. В одном и том же операторе try-catch можно использовать несколько предложений catch. В этом случае будет иметь значение порядок следования предложений catch, поскольку предложения catch будут проверяться именно в этом порядке. Более общие исключения следует перехватывать после более частных. При упорядочивании блоков catch таким образом, чтобы последующий блок был недостижимым, компилятор вызовет ошибку. В блок catch можно включить оператор throw, чтобы заново создать исключение, перехваченное оператором catch. Из блока try следует инициализировать только те переменные, которые в нем объявлены. В противном случае исключение может произойти до того, как завершится выполнение блока.

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

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

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

Можно выйти из цикла for с помощью ключевого слова break или можно осуществить переход к следующей итерации с помощью ключевого слова continue.Также можно покинуть любой цикл с помощью go, return или оператора throw.

2.3 Классы

Классы объявляются с помощью ключевого слова class. Класс может реализовать несколько интерфейсов.

OleDbCommand - класс, который представляет оператор SQL или хранимую процедуру, применяемую к источнику данных.

Тип OleDbCommand предоставляет следующие члены:

OleDbCommand() - инициализирует новый экземпляр класса OleDbCommand.

OleDbCommand(String) - Инициализирует новый экземпляр класса OleDbCommand текстом запроса.

ExecuteNonQuery - метод, выполняет инструкцию Transact-SQL для установленного соединения и возвращает количество задействованных в инструкции строк.

Метод ExecuteNonQuery позволяет выполнять операции с каталогом (например, запросы структуры базы данных или создание таких объектов базы данных, как таблицы) или вносить изменения в базу данных, не используя DataSet, с помощью операторов UPDATE, INSERT или DELETE.

Хотя метод ExecuteNonQuery не возвращает ни одной строки, любые выходные параметры или возвращаемые значения, сопоставляемые с параметрами, заполняются данными.

Операторы UPDATE, INSERT и DELETE возвращают количество строк, которые были обработаны с их помощью. Когда у таблицы, для которой выполняется вставка или обновление строк, имеются триггеры, возвращаемое значение содержит количество задействованных в операции строк, а также количество строк, обработанных триггерами. Для всех прочих типов операторов возвращаемым значением является -1. В случае отката также возвращается значение -1.

Button - класс, отображает элемент управления "Кнопка" на веб-странице. Представленный элемент управления Button может быть использован для создания кнопки на веб-странице, которая позволяет пользователям отправить страницу на сервер. Элемент управления инициирует событие в коде сервера, который обрабатывается для ответа на обратную передачу. Также может вызвать событие в клиентском скрипте, который можно обработать перед отправкой страницы или который может выполнить, а затем отменить отправку страницы. Серверные веб-элементы управления «Кнопка» часто используются в элементах управления данными, таких как элементы управления «Список» DataList, GridView и Repeater. В этих случаях обычно не выполняется непосредственный ответ на событие нажатия кнопки. Вместо этого кнопка в элементе управления данными инициирует событие, связанное с этим элементом управления. Например, в элементе управления DataList кнопка может инициировать событие ItemCommand элемента управления DataList, а не событие Click элемента управления Button.

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

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

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

TextBox - класс, предоставляет элемент управления "текстовое поле" Windows. С помощью элемента управления TextBox пользователь может вводить текст в приложение. Этот элемент управления имеет дополнительную функциональность, которая не находится в стандартном элементе управления текстового поля windows, включая многополосные редактирования и маскировать знака пароля.

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

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

DataGridView- класс, отображает данные в настраиваемой сетке. Элемент управление DataGridView представляет собой настраиваемую таблицу для отображения данных. Класс DataGridViewподдерживает настройку ячеек, строк, столбцов и платформы с помощью свойства DefaultCellStyle, какColumnHeadersDefaultCellStyle, CellBorderStyle и GridColor. Дополнительные сведения см. в разделе Базовое форматирование и оформление элемента управления DataGridView в Windows Forms.

Элемент управления DataGridView можно использовать для отображения данных как с базовым источником данных, так и без. Без определения источника данных можно создать столбцы и строки, которые содержат данные и добавьте их непосредственно в DataGridView с помощью свойства Rows и Columns. Можно также использовать коллекцию Rows для доступа к объектам DataGridViewRow, а свойство DataGridViewRow.Cells для чтения или записи значения ячеек напрямую. Индексатор Item также предоставляет прямой доступ к ячейкам.

В качестве альтернативы заполнения элемента управления вручную можно задать свойства DataSource и DataMember для привязки DataGridView к источнику данных и автоматически заполнить ее данными.

В проекте используется конструктор DataGridView, который инициализирует новый экземпляр класса DataGridView.

Свойства, использованные в проекте:

DataBindings - получает привязки данных для этого элемента управления. DataSource - возвращает или задает источник данных, данные которого отображает DataGridView.

RowCount - возвращает или задает число строк, отображаемых в DataGridView.

Rows - возвращает коллекцию, содержащую все строки в элементе управления DataGridView.

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

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

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

Компонент BindingSource служит для многих целей. Во-первых, оно упрощает привязку элементов управления в форме к данным, предоставляя управление обменом, уведомление об изменениях и другие службы между элементами управления Windows Forms и источниками данных. Это достигается путем вложения компонент BindingSource к источнику данных, используя свойство DataSource. Для сложных сценариях привязки при необходимости можно задать свойство DataMember определенному столбцу или перечислить в источнике данных. Затем привязывать элементы управления к BindingSource. Все более добавочное взаимодействие с данными выполняются с вызовами к компоненту BindingSource Примеры на BindingSource может упростить процесс привязки см. в разделе and. Просмотр и обновление источника данных совершены через такие методы, как MoveNext, MoveLast и Remove.

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

- использование метода Add, чтобы добавить элемент к компоненту BindingSource

- установка свойства DataSource к списку, один объект или типу.

MessageBox - класс, который отображает окно сообщения. Окно сообщения полуфабрикат модального диалогового окна, указывающее текст для пользователя. Чтобы разрешить пользователю закрыть окно сообщения, Show отображает окно сообщения, содержащее ОК кнопку " и " a " Завершить работу кнопки в заголовке окна.

DataSet - класс, представляет расположенный в памяти, кэш данных.

Конструкторы, используемые в данной программе:

DataSet() - Инициализирует новый экземпляр класса DataSet.

DataSet(String) - Инициализирует новый экземпляр класса DataSet с заданным именем.

Класс DataSet является основным компонентом архитектуры ADO.NET, который представляет собой расположенный в памяти кэш данных, загружаемых из источника данных. Класс DataSet состоит из коллекции таблиц DataTable, которые можно связать между собой с помощью объектов класса DataRelation. Кроме того, для обеспечения целостности данных в классе DataSetможно использовать объекты UniqueConstraint и ForeignKeyConstraint.

Класс DataRelationCollection позволяет перемещаться по структуре таблиц с объектами DataTable. Доступ к таблицам коллекции DataTableCollection осуществляется с помощью свойства Tables. При доступе к объектам DataTable следует учитывать их зависимость от регистра знаков при определенных условиях. Например, если один объект DataTable носит имя "mydatatable", а другой -- "Mydatatable", то строка, используемая для поиска одной из таблиц, считается зависимой от регистра букв. Однако если "mydatatable" существует, а "Mydatatable" нет, строка поиска считается нечувствительной к регистру. Чтение и запись данных и схем в класс DataSet осуществляется также, как запись и чтение XML-документов. Данные и схемы можно передавать по протоколу HTTP и использовать в любом приложении на любой платформе, поддерживающей формат XML. С помощью метода WriteXmlSchema схему можно сохранить в качестве XML-схемы. Кроме того, схему и данные можно также сохранить, используя метод WriteXml. Для чтения XML-документа, содержащего данные и схемы, служит метод ReadXml.

Обычно в многоуровневой реализации существуют следующие шаги создания и обновления класса DataSet и исходных данных.

- построение и заполнение каждого объекта DataTable класса DataSet данными из источника с помощью класса DataAdapter;

- изменение данных в отдельных объектах DataTable путем добавления, обновления или удаления объектов DataRow;

- вызов метода GetChanges для создания второго класса DataSet, отображающего только изменения данных;

- вызов метода Update класса DataAdapter путем передачи второго класса DataSet в качестве аргумента;

- вызов метода Merge для объединения изменений из второго класса DataSet с данными первого;

- вызов метода AcceptChanges для класса DataSet. В противном случае можно вызвать метод RejectChanges, чтобы отменить изменения.

3. Практическое применение

3.1 Области применения

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

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

3.2 Система справочной информации

После двойного клика на запуск программы откроется главное окно (Form1), на которой находится шесть кнопок (button), отвечающие за вызов, соответственно, окон со списком работников (Form2), списком дополнительных услуг (Form3), окна цен на топлива (Form4), окна касса (Form5) (в котором отображена подробная информации об сумме, виде оплаты и услуги), а также окна окна отображающего справочную информацию о программе. Также на главном окне (Form1) находится кнопка выхода (button) позволяющая покинуть программу.

Рассмотрим функционирование Form 2, Form 3, Form 4, Form5 на примере работы Form 2, т.к. их функции идентичны.

Form2 используется для вывода списка работников и вызывается нажатием на кнопку (button1). После нажатия откроется окно, содержащее в себе панель навигации (BindingNavigation), кнопку обновления (button1), таблицу списка работников (DataGridView).

Заключение

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

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

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

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

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

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

Литература

1 Павловская, Т.А. C#. Программирование на языке высокого уровня: учебник для вузов. / T.A. Павловская - СПб.: Питер, 2007. - 432 с.

2 Шилдт, Г. C# 4.0 полное руководство / Г. Шилдт - М.: Вильямс, 2011. -1056 с.

3 Троелсен, Э. С# и платформа .Net / Э. Троелсен - М.: Питер, 2003. - 1311 с.

4 Курсовое и дипломное проектирование: СТП ВГКС 1.01-2005. - Введ. 01.01.05. Минск: Высший государственный колледж связи, 2004. - 106 с.

Приложения

Приложение А

(обязательное)

Программные формы

Рисунок 1 - Главная форма Form1 при запуске приложения

Рисунок 2 - Форма Form2 Касса

Рисунок 3 - Forma 3 Цены на топливо

Рисунок 4 - Форма Form4 Дополнительные услуги

Рисунок 5 - Форма Forma 5 Список работников

Рисунок 6 - Форма Forma 6 Справка

Приложение Б

Текст программы

Исходный код модулей приложения.

Листинг 1 - Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button4_Click(object sender, EventArgs e)

{

this.Close();

}

private void button1_Click(object sender, EventArgs e)

{

Form2 f = new Form2();

f.ShowDialog();

}

private void button2_Click(object sender, EventArgs e)

{

Form3 f = new Form3();

f.ShowDialog();

}

private void button3_Click(object sender, EventArgs e)

{

Form4 f = new Form4();

f.ShowDialog();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void button5_Click(object sender, EventArgs e)

{

Form5 f = new Form5();

f.ShowDialog();

}

private void button6_Click(object sender, EventArgs e)

{

Form6 f = new Form6();

f.ShowDialog();

}

}

}

Листинг 2 - Form2.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

namespace WindowsFormsApplication1

{

public partial class Form2 : Form

{

private OleDbConnection connection = new OleDbConnection();

public Form2()

{

InitializeComponent();

connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=AРM менеджера бензозаправочной станции.accdb;

Persist Security Info=False;";

}

private void Form2_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'aРM_менеджера_бензозаправочной_станцииDataSet6.Список_работников' table. You can move, or remove it, as needed.

this.список_работниковTableAdapter2.Fill(this.aРM_менеджера_бензозаправочной_станцииDataSet6.Список_работников);

// TODO: This line of code loads data into the 'aРM_менеджера_бензозаправочной_станцииDataSet4.Список_работников' table. You can move, or remove it, as needed.

this.список_работниковTableAdapter1.Fill(this.aРM_менеджера_бензозаправочной_станцииDataSet4.Список_работников);

// TODO: This line of code loads data into the 'aРM_менеджера_бензозаправочной_станцииDataSet3.Список_работников' table. You can move, or remove it, as needed.

this.список_работниковTableAdapter.Fill(this.aРM_менеджера_бензозаправочной_станцииDataSet3.Список_работников);

}

private void button3_Click(object sender, EventArgs e)

{

try

{

connection.Open();

OleDbCommand command = new OleDbCommand();

command.Connection = connection;

string query = "select * from Employeer";

command.CommandText = query;

OleDbDataAdapter da = new OleDbDataAdapter(command);

DataTable dt = new DataTable();

da.Fill(dt);

dataGridView1.DataSource = dt;

connection.Close();

}

catch (Exception ex)

{

MessageBox.Show("Error" + ex);

}

}

}

}

Листинг 3 - Form 3

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form3 : Form

{

public Form3()

{

InitializeComponent();

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

private void Form3_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'aРM_менеджера_бензозаправочной_станцииDataSet2.Перечень_дополнительных_услуг' table. You can move, or remove it, as needed.

this.перечень_дополнительных_услугTableAdapter.Fill(this.aРM_менеджера_бензозаправочной_станцииDataSet2.Перечень_дополнительных_услуг);

}

}

}

Листинг 4 - Form 4

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form4 : Form

{

public Form4()

{

InitializeComponent();

}

private void Form4_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'aРM_менеджера_бензозаправочной_станцииDataSet.Перечень_цен_на_топливо' table. You can move, or remove it, as needed.

this.перечень_цен_на_топливоTableAdapter.Fill(this.aРM_менеджера_бензозаправочной_станцииDataSet.Перечень_цен_на_топливо);

}

}

}

Листинг 5 - Form 5

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form5 : Form

{

public Form5()

{

InitializeComponent();

}

private void Form5_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'aРM_менеджера_бензозаправочной_станцииDataSet5.Касса' table. You can move, or remove it, as needed.

this.кассаTableAdapter.Fill(this.aРM_менеджера_бензозаправочной_станцииDataSet5.Касса);

}

private void button2_Click(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

}

}

}

Листинг 6 - Form 6

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form6 : Form

{

public Form6()

{

InitializeComponent();

}

}

}

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


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

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