Проектирование программного средства "Автоматизация учета транспортных средств ГАИ"

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

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

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

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

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

Содержание

Введение

1. Постановка задачи

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

1.2 Цели и задачи проектирования

2. Проектирование задачи

2.1 Проектирование схемы данных

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

2.3 Описание среды реализации задачи

3. Программная реализация задачи

3.1 Физическая структура базы данных

3.2 Структура приложения

4. Тестирование

5. Описание применения

Заключение

Список использованных источников

Приложения

Введение

В настоящее время компьютеры прочно обосновались практически во всех сферах деятельности человека. Этот факт вынуждает человека с все большей интенсивностью использовать в своей повседневной жизни компьютер. Если сравнить работу Госавтоинспекции сейчас и, скажем, 10 лет назад, то можно заметить массу изменений в работе. Автоматическое регулирование светофора, в зависимости от загруженности движения; камеры видео наблюдения на дорогах, у оператора, следящего за камерами, есть возможность проверять информацию, отслеживать ситуацию и оперативно вмешиваться, если необходимо, например, отрегулировать затор; камеры фото фиксации, когда автоматически прибор определяет скорость движения водителей и фиксирует превышение скоростного режима, путем фотографирования; появление системы автоматизированной оплаты дорог BelToll; собственный сайт Госавтоинспекции, cвозможностями удаленно просматривать свои штрафы-все это говорит о постоянном внедрении компьютеров и гаджетов в нашу жизнь.Без информатики уже немыслима современная человеческая культура и профессиональная деятельность человека. C развитием компьютерных технологий все больше информации распространяется по компьютерным сетям с использованием различных компьютерных систем.Все шире используются информационные ресурсы всемирной сети Internet.

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

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

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

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

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

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

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

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

Раздел «Тестирование» будет описывать ход тестирования программы. Также в нём будет содержаться описание ошибок, которые могут быть обнаружены в ходе создания программы, а также описание путей их исправления.

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

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

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

1. Постановка задачи

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

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

В программе должны присутствовать 6 базовых функций:

1.«Удаление записи». При нажатии соответствующей кнопки на панели, выделенная запись должна быть удалена из базы, однако обязателен запрос на подтверждение удаления, так как информация ГАИ может иметь высокий приоритет ценности.

2.«Добавление записи». При нажатии соответствующей кнопки на панели, инспектору ГАИ будет предложено ввести в поля регистрируемую информацию. После заполнения запись успешно должна добавиться в базу всех записей.

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

4.«Сортировка». В приложении должны быть представленысортировки по всем полям, так как задача сортировки данных может быть поставлена в ГАИ по различным критериям. Соответственно в справочнике «Страхование» должна производиться сортировка повиду страхования, сумме и дате окончания страховки. В справочнике «Штрафы» должны сортироваться поля: место, сумма страховки, нарушение, дата, лишение, наказание, номер удостоверения. В справочнике «Водители» будет происходить сортировка по полям: фамилия, имя, отчество, дата рождения, город, улица, номер дома, номер удостоверения, номер страховки. В справочнике «Автомобили» будет возможность сортировки по мощности, объему, марке, году выпуска и по номеру кузова. Сортировки будут доступны инспектору после открытия соответствующего справочника, а также название открытого справочника должно отображаться на панели.

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

6.«Фильтрация». После выполнения инспектором поиска либо после введения информации в поле поиска должна быть доступна кнопка фильтрации. Также должна быть предусмотрена кнопка отмены фильтрации.

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

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

Работнику Государственной автоинспекции для постановки на учет транспортных средств необходимо обрабатывать большое количество информации об автомобилях и автовладельцах. Инспектору необходимо внести полную информацию о физическом лице, регистрирующем транспортное средство, то есть Фамилию Имя Отчество будущего автовладельца, дату рождения, адрес проживания и иные паспортные данные. Должна быть в базе данных и информация о водительском удостоверении лица (дата выдачи, кем выдано и на какие категории транспортных средств). Также в базу данных необходимо внести полную информацию о регистрируемом транспортном средстве (марка, модель, год выпуска, мощность, цвет). Категории транспортных средств регистрируются следующие: легковой автомобиль, мотоцикл, автобус, грузовик с грузоподъемностью <3,5 тонн, грузовик с грузоподъемностью >3,5 тонн, скутер, мопед, прицеп и полуприцеп.

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

1.2 Цели и задачи проектирования

Целью курсового проекта «Автоматизация учета транспортных средств ГАИ» является разработать автоматизированное рабочее место инспектора ГАИ, которое должно оличаться простотой освоения программы и простотой работы с ней. Инспектору ГАИ должнен быть понятен интерфейс, а также интерфейс должен быть похож на другие интерфейсы windowsдля легкости обучения приложению. База данных приложения должна содержать всю необходимую информацию, а приложение должно давать возможность быстрого доступа именно к той информации и тем справочникам, которые наиболее востребованы в ГАИ. Программа должна быть открытой для модификаций и дополнений последующими версиями и разработками.

Актуальность разработки программы заключается в следующем:

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

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

Задачами курсовой работы являются:

– Оформление удобного добавления водителей и автомобилей в справочники БД ГАИ;

- формирование и вывод на экран справочников «Водители», «Автовладельцы», «Автомобили», «Страхование», «Штрафы»;

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

- возможность сортировки данных справочников;

- возможность фильтрации данных справочников;

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

- оформление выдачи талонов новым автовладельцам;

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

- формирование отчета об истекших страховках на текущий год;

Входными данными для приложения «Автоматизация учета транспортных средств ГАИ» будут:

ФИО, адреса и другие паспортные данныеавтовладельцев;

– информация о водительском удостоверении (кем выдано, когда, на какие категории ТС);

– информация о страховании транспортных средств;

– информация о номерных знаках автомобилей;

– информация о марках и моделях автомобилей;

– информация о технических характеристиках автомобилей;

– информация о нарушениях и штрафах водителя.

Выходными данными в программе «Автоматизация учета транспортных средств ГАИ» будет статистическая информация:

– информация о поставленных на учет транспортных средствах;

– информация о выданных номерных знаках;

– контактная информация искомых автовладельцев;

– таблицы с результатами сортировок по марке автомобиля, по категории транспортного средства, по номерному знаку, по фамилии владельца и другие;

– отчеты о сумме штрафов водителей за последний год;

– отчеты об истекших страховках

– отчет о всех штрафах водителя.

2. Проектирование

2.1 Проектирование схемы данных

В результате изучения функциональной структуры Государственной автоинспекции и системы ее документооборота были выявлены следующие недостатки в организации работы:

– контроль за автомобилями, водителями и нарушениями водителей, осуществляютсяинспекторами ГАИ во многом вручную. Ускорить его позволит применение средств автоматизации. Возрастет скорость проведения контроля и качество, также увеличится осведомленность руководителя инспекции;

– добавление записей в журналы данных ГАИ отнимает много времени;

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

На основании вышеперечисленных причин и с целью оптимизации работы инспектора, а также сокращения временных затрат на работу создаются следующие таблицыв системе управления базами данных mysql, соответствуя спроектированной схеме данных учета ГАИ (Приложение А).

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

Таблица 1 - Структура таблицы добавления регистрирующих лиц (Водители)

Наименование столбцов

Ключевые поля

Код водителя

Код страховки

Код удостоверения

Фамилия

Имя

Отчество

Дата рождения

Город

Адрес

Первичный ключ

Внешний ключ (Страховка)

Внешний ключ (Авто документы)

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

Таблица 2 - Структура таблицы добавления регистрируемых автомобилей (Авто)

Наименование столбцов

Ключевые поля

Кодавто

Марка

Модель

Год выпуска

Мощность

Объем (л.с.)

Номер кузова

Первичный ключ

Таблица Страховка будет содержать в себе информацию о виде страховки, сумме оплаты страховки и дате ее окончания (Таблица 3).

Таблица 3 - Структура таблицы добавления регистрируемых автомобилей (Авто)

Наименование столбцов

Ключевые поля

Кодстраховки

Вид страхования

Сумма страхования

Дата окончания страховки

Первичный ключ

Таблица Автовладельцы содержит информацию о зарегистрированных на водителей автомобилях (Таблица 4).

Таблица 4 - Структура таблицы Автовладельцы

Наименование столбцов

Ключевые поля

Код автовладельца

Код водителя

Код техпаспорта

Первичный ключ

Внешний ключ (Водители)

Внешний ключ (Техпаспорта)

Таблица Техпаспорта хранит информацию о номере талона на автомобиль, а также цвет автомобиля и категорию транспортного средства (Таблица 5).

Таблица 5 - Структура таблицы Техпаспорта

Наименование столбцов

Ключевые поля

Номер талона

Код авто

Цвет

Категория ТС

Первичный ключ

Внешний ключ (Авто)

Таблица Госзнаки содержит информацию о полученных зарегистрированными автомобилями государственных номерных знаках (Таблица 6).

Таблица 6 - Структура таблицы Госзнаки

Наименование столбцов

Ключевые поля

Код знака

Номер талона

Номерной знак

Первичный ключ

Внешний ключ (Техпаспорта)

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

Таблица 7 - Структура таблицы Протоколы

Наименование столбцов

Ключевые поля

Код нарушения

Код авто документов

Место нарушения

Сумма штрафа

Лишение

Дата нарушения

Сущность нарушения

Первичный ключ

Внешний ключ (Авто документы)

Таблица Авто документы содержит информацию о получении водительского удостоверения, то есть дату выдачи и кем выдано (Таблица 8).

Таблица 8 - Структура таблицы Авто документы

Наименование столбцов

Ключевые поля

Код авто документов

Дата выдачи

Кем выдано

Нарушения в талоне

Первичный ключ

Все таблицы схемы данных «Учет транспортных средств ГАИ» связаны между собой с помощью внешних ключей (Таблицы 1-8), а также имеют логичную структуру, удобную для работы инспектора ГАИ. Модель данных в данном случае является реляционной.

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

Для реализации главной функции программы «Автоматизация учета транспортных средств ГАИ» - оформление нового автомобиля и выдача талона разработан следующий алгоритм:

1. вход на главную форму программы;

– запуск приложения;

– просмотр и редактирование БД ГАИ;

– сортировки записей о водителях, автомобилях, нарушениях и страховках по различным критериям;

2. доступ к информации справочников «Водителей», «Автомобилей»;

– запуск справочников;

– поиск данных по справочникам «Страховки», «Автовладельцы», «Автомобили», «Водители», «Штрафы»;

– оформление новых водителей и добавление информации в справочник «Водители»;

– оформление новых автомобилей и добавление информации в справочник «Автомобили»;

3. возможность добавления новой информации в справочники «Водители» и «Автомобили»;

4. возможность редактирования существующей информации;

– фильтрация данных справочников;

– сохранение результатов сортировок, поиска, фильтрации;

– закрытие справочников с сохранением изменений;

5. на основании справочников выдача талона;

– подготовка отчета о истекших страховках водителей;

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

– подготовка отчета о всех нарушениях правил дорожного движения конкретного водителя;

– формирование талона;

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

Алгоритм работы программы можно проследить на диаграмме деятельности, которая представлена в приложении Б.

2.3 Описание среды реализации задачи

Для реализации данного курсового проекта был выбран язык программирования Visual C# в среде разработки MicrosoftVisualStudio 2012. Для хранения данных СУБД MySQL.

MySQL -- свободная реляционная система управления базами данных. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

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

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

Достоинства языка программирования С#, которые обусловили выбор для проектирования «Автоматизация учета транспортных средств ГАИ» именно этот язык:

– С# имеет 300 000 библиотек разных функций, которые работают с максимальным быстродействием;

– C# является полностью объектно-ориентированным языком, где даже типы, встроенные в язык, представлены классами;

– C# является мощным объектным языком с возможностями наследования и универсализации;

VisualStudio 2012 позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы, что и необходимо для проектирования приложения «Автоматизация учета транспортных средств ГАИ».

3. Программная реализация задачи

3.1 Физическая структура базы данных

Структура БД «Автоматизация учета транспортных средств ГАИ» состоит из таблиц, индексов, исключений и триггеров.Были разработаны следующие таблицы:

– AVTOхранит информацию об автомобилях, зарегистрированных в ГАИ и их технических характеристиках. Состоит из полей: ID_KUZ (первичный ключ), MARKA (тип данных - string), MODEL(тип данных - string), MOZNOST (тип данных - integer), OBIEM(тип данных - integer), GOD_V(тип данных - date), ID_V(тип данных - char(11));

– VODITELIсодержит паспортные данные водителей. Состоит из полей: ID_VODITEL(первичный ключ), FAM(тип данных - string), IM(тип данных - string), OTCH(тип данных - string), GOROD(тип данных - string), YLICA(тип данных - string), NUM_DOM(тип данных - integer), ID_YDOSTOV (внешний ключ (AVTODOK)), ID_STR (внешний ключ (STRAXOVKA));

– AVTODOKхранит информацию о выданных в ГАИ водительских удостоверениях. Состоит из полей: ID_YDOSTOV(первичный ключ), DATA_VID(тип данных - date), KEM_VID(тип данных - string), CYMMA(тип данных - integer);

– AVTOVLADсодержит данные об автомобилях зарегистрированных на каждого конкретного водителя. Состоит из полей: ID_V(первичный ключ), ID_VODITEL(внешний ключ (VODITELI)), ID_TEXPASPORTA(внешний ключ (TEXPASPORTA));

– TEXPASPORTAсодержит информацию, использующуюся для выдачи талона на автомобиль, например категория транспортного средства и цвет. Состоит из полей: ID_TEXPASPORTA(первичный ключ), KATEGOR_TC(тип данных - string), COLOR(тип данных - string), ID_KUZ(внешний ключ (AVTO));

– GOSZNAKIхранит данные о государственных автомобильных знаках на зарегистрированные в ГАИ транспортные средства. Состоит из полей: ID_GOSZNAKA(первичный ключ), ID_TEXPASPORTA(внешний ключ (TEXPASPORTA)), ZNAK(тип данных - char(8));

– STRAXOVKAсодержит информацию о страховании автотранспорта, а именно какой вид страхования и срок действия страховки. Состоит из полей: ID_STR(первичный ключ), VID_STR(тип данных - string),SYMMA_STR(тип данных - integer), DATA_FINISHSTR(тип данных - date);

– PROTOKOLсодержит данные о нарушениях правил дорожного движения водителей: место нарушения и его сущность, наказание. Состоит из полей: ID_PROTOK(первичный ключ), MESTO(тип данных - string), DATA_NARYSH(тип данных - date), NARYSHENIE(тип данных - string), SHTRAF(тип данных - integer), LISHENIE(тип данных - boolean), NAKAZAN(тип данных - string).

В БД были разработаны следующие триггеры:

– Znakrandaction рандомным образом генерирует номерной знак, регистрируемого автомобиля. Реагирует на действие пользователя: выбор номера региона страны;

– allfieldnotwhiteгенерирует исключение на ошибку добавления новой информации в справочники «Заполнены не все поля»;

– notformatdannixгенерирует исключение на ошибку добавления новой информации в справочники «Неверный формат данных»;

– notdeleteгенерирует исключение на подтверждение удаления поля из справочника «Вы уверены в удалении данных?»;

– notredactor генерирует исключение на подтверждение редактирования поля из справочника «Вы уверены в редактировании данных?»;

– notredactor генерирует исключение на отсутствие у водителя транспортного средства во время подготовки талона «У водителя не имеется транспортных средств.»;

– symmshtrafподсчитывает сумму штрафов каждого водителя;

– finishstrax определяет водителей с просроченными страховками.

3.2 Структура приложения

Приложение «Автоматизация учета транспортных средств ГАИ» обладает несколькими уровнями логики: уровень представления, уровень работы непосредственно с базой данных ГАИ.

Уровень бизнес логики содержит в себе модель базы данных, реализованную в MySQLи хранимую в файле gai.sql, которая позволяет отображать непосредственно её структуру с необходимыми данными. Также уровень бизнес логики включает в себя определённый набор сервисов VisualStudio 2012, таких как DataSources, DataGridView, которые позволяют проводить необходимые действия: просматривать, добавлять или удалять данные. При этом существует возможность экспорта хранимых процедур, обзоров и некоторых других важных частей.

Уровень представления содержит в себе необходимые формы, которые отображаются пользователю на экране. В приложении «Автоматизация учета транспортных средств ГАИ» были использованы следующие формы:

– Main.cs является главной формой программы, на ней находится меню приложения(MenuStrip), через который осуществляется доступ костальным формам программы. Также на эту форму осуществляется вывод справочников. Основные процедуры формы:

1. publicpartialclassMain - отображение таблицы автомобилей;

2. privatevoid оформление АвтомобиляToolStripMenuItem_Click(objectsender, EventArgs - переход к форме оформления автомобилей и водителей;

3. private void Main_Load(object sender, EventArgs - инициализация таблицы автозапчастей;

4. private void button2_Click(object sender, EventArgs - выход из приложения.

5. private void разработчикToolStripMenuItem_Click (object sender, EventArgs - сведения о разработчике;

6. private void автомобилиToolStripMenuItem_Click (object sender, EventArgs - открытие справочника автомобилей;

7. private void водителиToolStripMenuItem_Click (object sender, EventArgs - открытие справочника водителей;

8. private void страховкиToolStripMenuItem_Click (object sender, EventArgs - открытие справочника страховок;

9. private void штрафовToolStripMenuItem_Click (object sender, EventArgs - открытие справочника штрафов;

– AutoRegistryForm.csформа добавления автомобилей и водителей в БД ГАИ. Она содержит 17 компонентов Label, в которых описываются обязательные для заполнения инспекторомполя. Эта информация ввода в компонент TextBoxлибо выбирается с помощью компонента ComboBox. Соответственно полей TextBoxтакже 17. Основные процедуры формы:

1. private void toolStripButton1_Click(object sender, EventArgs - вызов диалога добавления запчасти;

2. privatevoidbutton1_Click(objectsender, EventArgs - проверка на заполнение необходимых полей;

3. publicvoidaddAuto(stringmark, stringmodel, stringdvtype, stringyear) - добавление автомобиля (параметры - информация о новом автомобиле);

4. private void button2_Click(object sender, EventArgs - удаление выбранного автомобиля;

5. public void edit(string mark, string model, string dvtype, string year) - изменение информации о существующем автомобиле;

– Report.cs - это общая форма отчета о сумме штрафов за год и истекших страховках. На форме в DataGridView выводится информация штрафах либо страховках, а также о водителях. Кнопка «Печать» отправляет содержимое отчета на печать, а кнопка «Выход» закрывает форму отчета. Основные процедуры формы:

1. private void dgvReport_DataSourceChanged(object sender, EventArgs e) - `вывод на форму информации справочников;

2. private void Report_Resize(object sender, EventArgs e) - выравнивание размеров отчета;

3. private void btnPrint_Click(object sender, EventArgs e) - отправление отчетов напечать;

– Protokol.cs - это форма отчета о нарушениях конкретного водителя. На форме в DataGridView выводится информация о нарушениях, а на компонент Panelвыводится информация о водителе-нарушителе. Кнопка «Печать» отправляет содержимое отчета на печать, а кнопка «Выход» закрывает форму отчета.

– Talon.csформа талона, выдаваемого Государственной автоинспекцией в результате постановки транспортного средства на учет. Форма получает информацию об автомобилях, которыми владеет каждый конкретный водитель и выдает необходимые техпаспорта, с указанием паспортных данных лица и технических характеристик автомобиля. Кнопка «Печать» отправляет содержимое отчета на печать, а кнопка «Выход» закрывает форму отчета.

1. protectedoverridevoidDispose(booldisposing) - проверяет имеется ли на конкретного водителя зарегистрированных автомобилей.

Главное меню содержит из следующих частей:

– «Оформление автомобилей»;

– «Сортировка»;

– «Справочники»;

– «Отчеты»;

– «О программе»;

– «Выход».

Пункт меню «Справочники» включает в себя следующие подпункты: «Автовладельцы», «Автомобили», «Водители», «Штрафы», «Страховки».

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

Пункт меню «О программе» включает в себя подпункты: «Справка», «Разработчик».

4. Тестирование

Для тестирования правильности работы приложения «Автоматизация учета транспортных средств ГАИ» необходимо сравнить результаты, полученные после запуска exe-файла, с ожидаемыми результатами (Таблица 9).

Таблица 9 - Результаты тестирования приложения

Название

Входной параметр

Ожидаемый результат

Выходной результат

Запуск

Запуск файла GAI.exe

Вход в систему

Вход в систему

Сортировка

Выбор значения в combobox и нажать на кнопку «Сортировка»

Столбец будет сортироваться по возрастанию элементов

Столбец сортируется по возрастанию элементов

Поиск

Выбор значения в combobox и ввод нужного значения в строку поиска

В столбце будет найден искомый элемент, если он есть, а также если хоть какая-либо часть искомого элемента совпадает с информацией в БД

В столбце найден искомый элемент, если таковой есть в БД

Фильтрация

Выбор значения в combobox и ввод нужного значения в строку фильтрации

В столбце будет показан только тот элемент, который соответствует вводимому значению

При наличии входного элемента, в столбце показан только этот элемент

Добавление записи

Ввод значений на форму «Оформление автомобилей» или нажатие на кнопку «Добавить» в каком-либо справочнике

Запись будет добавлена

Запись добавлена

Редактирование записи

Изменение значений при нажатии на кнопку «Редактировать»

Запись будет изменена

Запись изменена

Удаление записи

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

Запись будет удалена

Запись удалена

Оформление автомобиля

Ввод в базу данных паспортных данных и тех. характеристик автомобиля. Нажатие кнопки «Оформить»

Запись будет добавлена в справочники «Автомобили» и «Водители»

Запись добавлена в справочники «Автомобили» и «Водители»

Печать талона

Клик по подпункту меню «Выдача талонов» и выбор произвольного автовладельца

Откроется заполненная форма талона, если на водителя нет зарегистрированных авто, то приложение выдает ошибку

Открывается заполненная форма талона, если на водителя нет зарегистрированных авто, то приложение выдает ошибку

Просмотр нарушений водителей

Клик по подпункту меню «Отчет о нарушениях водителей» и выбор произвольного водителя

Откроется заполненная форма с описанием всех нарушений правил конкретного водителя, если у водителя нет нарушений, то приложение извещает об этом

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

Просмотр суммы штрафов за последний год

Клик по подпункту меню «Отчет о штрафах за год»

В DataGridViewвыведутся суммы штрафов и внизу на панели должна быть подсчитана общая сумма штрафов

В DataGridViewвыведены суммы штрафов и внизу на панели подсчитана общая сумма штрафов

Просмотр страховок с истекшим сроком страхования

Клик по подпункту меню «Отчет об истекших страховках»

На форму выведется список истекших по срокам страхования страховок и фамилии автовладельцев

На форму выведен список истекших по срокам страхования страховок и фамилии автовладельцев

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

5. Описание применения

Программа запускается путем двойного щелчка левой кнопки мыши по ярлыку «GAI.exe» в папке с программой или же нажатием правой кнопки мыши по ярлыку, а после выбором пункта «Открыть» и появится главное окно программы (Рисунок 1).

Рисунок 1 - Главная форма «Учета транспортных средств ГАИ»

Для начала оформления автомобиля (водителя) в главном окне выберите пункт меню оформление автомобиля. Перед вами откроется окно, где вы сможете выбрать, что необходимо добавлять: автомобиль или водителя (Рисунок 2).

Рисунок 2 -Оформление нового автомобиля или водителя

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

В данном приложении доступно 5 справочников:

1. штрафы;

2. водители;

3. автовладельцы;

4. страхование;

5. автомобили.

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

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

Рисунок 3 -Справочник «Автомобили»

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

Для того чтобы редактировать информацию об автомобиле в базе данных нужно на панели действий нажать кнопку «Редактировать» (оранжевый карандаш) и появится окно редактирования запчасти (Рисунок 5). Чтобы удалить информацию обавтомобиле следует в главном окне нажать на кнопку панели действий «Удалить» (метелка).

Для того чтобы инспектору получить отчет об истекших страховках либо о сумме штрафов за год нужно выбрать пункт меню «Отчеты» и нужную вкладку подменю (Рисунок 6-7).

Рисунок 4 - Окно добавления автомобиля

Рисунок 5 - Редактирование информации об автомобиле

Рисунок 6 - Меню «Отчеты»

Для того, чтобы инспектору получить талон на транспортное средство какого-либо водителя нужно нажать выбрать пункт меню «Отчеты», вкладку «Выдача талонов», затем в базе данных водителей выделить нужного и нажать на кнопку «Выдать талон» (Рисунок 8-9).

Рисунок 7 - Отчет об истекших страховках

Рисунок 8 - Данные о водителях для талонов

Рисунок 9 - Талон для водителя

Заключение

программный автоматизация учет транспортный

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

Для реализации поставленной задачи, в качестве среды разработки приложения была выбрана среда разработки VisualStudio 2012 и язык программирования C# c входящей в него системой управления базами данных Mysql.Система имеет развитые возможности по созданию пользовательского интерфейса, широкий набор функций, методов и свойств для решения многих задач. В системе имеются развитые средства отладки, облегчающие разработку приложений.

В результате проделанной работы по созданию программы, было изучено много литературы по программированию средыС #, спроектированасхема базы данных ГАИ и реализована на Mysql, выполнена диаграмма деятельности программы, а также пояснительная записка.

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

Программа отлажена, протестирована и готова для демонстрации и практического использования. Данное программное средство выполнено в соответствие с ГОСТами и требованиями, предъявляемыми к технической документации.

Список используемых источников

MSDNLibrary - техническая справка для разработчиков программного обеспечения. - MicroSoftCorp., 2004.

Ю. Тихомиров - «Самоучитель MFC». - БХВ-Петербург, 2002г.

Е. Демидович - «Основы алгоритмизации и программирования на си». - Бестпринт, 2003.

Б. Страуструп - «Язык программирования C++». - Бином, 2004.

Кнут, Д. Искусство программирования. / Д. Кнут. - М. : Мир, 1976.

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: учебник для высших учебных заведений. - СПб.: КОРОНА-принт, 2000.

Оформление курсовых и дипломных проектов: метод, указания/ сост. И. М. Снежкова.- Мн.: МГВРК, 2003. - 32 с.

Никулин, Н. В. Конструирование программ и языки программирования. Методическое пособие по курсовому проектированию/ Н. В. Никулин, А. С. Назаров. - М. :Высш. шк., 1986.

http://www.cyberguru.ru - сайт, посвященный программированию.

10 http://ru.wikipedia.org - свободная энциклопедия.

Приложения

Приложение А

Схема данных

Приложение Б

Диаграмма деятельности

Приложение В

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

using System;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Collections;

usingSystem.Data.OleDb;

usingSystem.Windows.Forms;

namespaceБД_ГАИ

{

public partial class Main : Form

{

DataSet ds;

OleDbDataAdapterdataAdapter;

OleDbConnection con;

public Main()

{

InitializeComponent();

con = new OleDbConnection();

con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Auto.mdb";

try

{

con.Open();

}

catch

{

MessageBox.Show("Ошибкасоединениясбазойданных");

Close();

}

dataAdapter = new OleDbDataAdapter(CommandText, con.ConnectionString);

ds = new DataSet();

ds.Tables.Add("Авто");

dataAdapter.FillSchema(ds, SchemaType.Source, "Авто");

dataAdapter.Fill(ds, "Авто");

dataGridView1.DataSource = ds.Tables["Автомобили"].DefaultView;

dataGridView1.Height = dataGridView1.ColumnHeadersHeight + dataGridView1.RowHeadersWidth * (dataGridView1.RowCount - 1);

overlay.Bounds = dataGridView1.Bounds;

//foreach (DataGridViewColumn column in dataGridView1.Columns)

// column.SortMode = DataGridViewColumnSortMode.Programmatic;

}

private void оформлениеАвтоТoolStripMenuItem_Click(object sender, EventArgs e)

{

Order f1 = new Order();

f1.ShowDialog();

}

private void Main_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "autoDataSet.Водители". При необходимости она может быть перемещена или удалена.

//this.АвтоTableAdapter.Fill(this.autoDataSet.Авто);

//foreach (DataGridViewColumn column in dataGridView1.Columns)

// column.SortMode = DataGridViewColumnSortMode.Programmatic;

dataGridView1.Height = 34 + 25 * (dataGridView1.RowCount - 1) + 3;

//dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);

}

private void отменитьСортировкуToolStripMenuItem_Click(object sender, EventArgs e)

{

dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);

overlay.Visible = true;

}

private void toolStripButton1_Click(object sender, EventArgs e)

{

AddCh ac = new AddCh(this);

ac.Text = "Добавить";

ac.ShowDialog();

//autoDataSet.Tables["Авто"].Rows.Add(dataGridView1.SelectedRows[0].Index);

//АвтоTableAdapter.Insert("", "", 1, 0, 0);

//dataGridView1.Height = 34 * (dataGridView1.RowCount - 2) + 8;

//dataGridView1.DataSource = autoDataSet;

//bindingSource1.ResetBindings(false);

//АвтоTableAdapter.Update(autoDataSet.Авто);

//dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = (int)dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[0].Value + 1;

//dataGridView1.Refresh();

//dataGridView1.Rows.Insert(dataGridView1.SelectedRows[0].Index, 1);

//dataGridView1.SelectedRows[0].ReadOnly = false;

//autoDataSet.Tables["Авто"].Rows.

}

internal void AddRow(string number, string name, string automark, int year, string drvtype, string creator, decimal cost)

{

OleDbCommandinsertCmd = new OleDbCommand(strIns, con);

dataAdapter.InsertCommand = insertCmd;

insertCmd.ExecuteNonQuery();

ds.Tables["Авто"].AcceptChanges();

DataRownewauRow = ds.Tables["Авто"].NewRow();

newauRow[0] = number;

newauRow[1] = name;

newauRow[2] = automark;

newauRow[3] = year;

newauRow[4] = drvtype;

newauRow[5] = creator;

newauRow[6] = cost;

ds.Tables["Авто"].Rows.Add(newauRow);

//throw new NotImplementedException();

//autoDataSet.Tables[1].Rows.Add(autoDataSet.Tables[1].NewRow());

/* DataRownewzapzRow = autoDataSet.Tables[1].NewRow();

newzapzRow[1] = name;

newzapzRow[2] = builder;

newzapzRow[3] = Convert.ToInt32(code);

newzapzRow[4] = Convert.ToInt32(count);

newzapzRow[5] = Convert.ToInt32(cost);

autoDataSet.Tables[1].Rows.Add(newzapzRow);*/

//водителиTableAdapter.Insert(name, builder, Convert.ToInt32(code), Convert.ToInt32(count), Convert.ToInt32(cost));

/*водителиTableAdapter.Update(autoDataSet.Авто);

autoDataSet.Tables[1].AcceptChanges();

водителиBindingSource.ResetBindings(true);*/

//dataGridView1.DataSource = ВодителиTableAdapter;

dataGridView1.Refresh();

dataGridView1.Height = 34 + 25 * (dataGridView1.RowCount - 1) + 3;

overlay.Bounds = dataGridView1.Bounds;

//dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);

}

private void toolStripButton2_Click(object sender, EventArgs e)

{

if (dataGridView1.SelectedRows.Count == 1)

{

AddCh ac = new AddCh(this, dataGridView1[0, dataGridView1.SelectedRows[0].Index].Value.ToString(),

dataGridView1[1, dataGridView1.SelectedRows[0].Index].Value.ToString(),

dataGridView1[2, dataGridView1.SelectedRows[0].Index].Value.ToString(),

Convert.ToInt32(dataGridView1[3, dataGridView1.SelectedRows[0].Index].Value.ToString()),

dataGridView1[4, dataGridView1.SelectedRows[0].Index].Value.ToString(),

dataGridView1[5, dataGridView1.SelectedRows[0].Index].Value.ToString(),

Convert.ToDecimal(dataGridView1[6, dataGridView1.SelectedRows[0].Index].Value.ToString()));

ac.Text = "Изменить";

ac.ShowDialog();

}

}

internal void Edit(string old_number, string old_name, string old_automark, intold_year, string old_drvtype, string old_creator, decimal old_cost,string number, string name, string automark, int year, string drvtype, string creator, decimal cost)

{

OleDbCommandupdateCmd = new OleDbCommand(strUpd, con);

dataAdapter.UpdateCommand = updateCmd;

updateCmd.ExecuteNonQuery();

/*autoDataSet.Tables[1].Rows[dataGridView1.SelectedRows[0].Index][1] = name;

autoDataSet.Tables[1].Rows[dataGridView1.SelectedRows[0].Index][2] = builder;

autoDataSet.Tables[1].Rows[dataGridView1.SelectedRows[0].Index][3] = Convert.ToInt32(code);

autoDataSet.Tables[1].Rows[dataGridView1.SelectedRows[0].Index][4] = Convert.ToInt32(count);

autoDataSet.Tables[1].Rows[dataGridView1.SelectedRows[0].Index][5] = Convert.ToInt32(cost);

АвтоTableAdapter.Update(autoDataSet.Авто);

autoDataSet.Tables[1].AcceptChanges();*/

//bindingSource1.ResetBindings(false)

for (inti=0;i<dataGridView1.Rows.Count;i++)

if (ds.Tables["Авто"].Rows[i][0].ToString() == old_number&&ds.Tables["Авто"].Rows[i][1].ToString() == old_name&&ds.Tables["Авто"].Rows[i][2].ToString() == old_automark&& Convert.ToInt32(ds.Tables["Авто"].Rows[i][3].ToString()) == old_year&&ds.Tables["Авто"].Rows[i][4].ToString() == old_drvtype&&ds.Tables["Авто"].Rows[i][5].ToString() == old_creator&&Convert.ToDecimal(ds.Tables["Авто"].Rows[i][6].ToString()) == old_cost)

{

ds.Tables["Авто"].Rows[i][0] = number;

ds.Tables["Авто"].Rows[i][1] = name;

ds.Tables["Авто"].Rows[i][2] = automark;

ds.Tables["Авто"].Rows[i][3] = year;

ds.Tables["Авто"].Rows[i][4] = drvtype;

ds.Tables["Авто"].Rows[i][5] = creator;

ds.Tables["Авто"].Rows[i][6] = cost;

}

ds.Tables["Авто"].AcceptChanges();

dataGridView1.Refresh();

overlay.Bounds = dataGridView1.Bounds;

//dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);

}

private void toolStripButton3_Click(object sender, EventArgs e)

{

if (dataGridView1.SelectedRows.Count == 1)

{

int m = dataGridView1.SelectedRows[0].Index;

DialogResult result = MessageBox.Show("Выдействительнохотитеудалитьзапись №" + dataGridView1.Rows[m].Cells[0].Value.ToString(), "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (result == DialogResult.Yes)

{

stringstrDel = "DELETE FROM Авто WHERE Номер = '" + dataGridView1[0, m].Value.ToString() + "';";

OleDbCommanddeleteCmd = new OleDbCommand(strDel, con);

dataAdapter.DeleteCommand = deleteCmd;

deleteCmd.ExecuteNonQuery();

ds.Tables["Авто"].Rows[m].Delete();

ds.Tables["Авто"].AcceptChanges();

//ds.Tables["Авто"].AcceptChanges();

//dataGridView1.Height = dataGridView1.ColumnHeadersHeight + 25 * (dataGridView1.RowCount - 1) + 3;

//DataRowdr = dataGridView1.SelectedRows[0].DataBoundItem as DataRow;

/*АвтоTableAdapter.Delete(Convert.ToInt32(dataGridView1.Rows[dataGridView1.SelectedRows[0].Index].Cells[0].Value.ToString()), Convert.ToString(dataGridView1.Rows[dataGridView1.SelectedRows[0].Index].Cells[1].Value.ToString()), Convert.ToString(dataGridView1.Rows[dataGridView1.SelectedRows[0].Index].Cells[2].Value.ToString()), Convert.ToInt32(dataGridView1.Rows[dataGridView1.SelectedRows[0].Index].Cells[3].Value.ToString()), Convert.ToInt32(dataGridView1.Rows[dataGridView1.SelectedRows[0].Index].Cells[4].Value.ToString()), Convert.ToDecimal(dataGridView1.Rows[dataGridView1.SelectedRows[0].Index].Cells[5].Value.ToString()));

autoDataSet.Tables[1].Rows.Remove(autoDataSet.Tables[1].Rows[dataGridView1.SelectedRows[0].Index]);

АвтоTableAdapter.Update(autoDataSet.Авто);

autoDataSet.Tables[1].AcceptChanges();

АвтоBindingSource.ResetBindings(true);*/

dataGridView1.Refresh();

overlay.Bounds = dataGridView1.Bounds;

//dataGridView1.Height = 34 + 25 * (dataGridView1.RowCount - 1) + 3;

}

}

}

private void button1_Click(object sender, EventArgs e)

{

label2.Visible = true;

textBox1.Visible = true;

pictureBox1.Visible = true;

button2.Visible = true;

overlay.Visible = false;

}

private void button2_Click(object sender, EventArgs e)

{

label2.Visible = false;

textBox1.Visible = false;

pictureBox1.Visible = false;

button2.Visible = false;

dataGridView1.DataSource = ds.Tables["Авто"].DefaultView;

overlay.Visible = true;

}

private void pictureBox1_Click(object sender, EventArgs e)

{

//СоздаемэкземплярfilteringFieldsклассаArrayList

ArrayListfilteringFields = new ArrayList();

//ЕслиэлементfcbCustomerIDдоступендляпоиска

//Добавляем в массив filteringFields значение текстового поля ColumnValue

filteringFields.Add("Номер LIKE \'" + textBox1.Text + "%\'");

//filteringFields.Add("Производитель LIKE \'" + textBox2.Text + "%\'");

stringfilter = ""; //Комбинируем введенные в текстовые поля значения.

//Для объединения используем логический оператор "ИЛИ"

if (filteringFields.Count == 1)

filter = filteringFields[0].ToString();

elseif (filteringFields.Count> 1) {

//Для объединения полей в запросе используем логический оператор "И"

for(inti = 0; i<filteringFields.Count; i++) {

filter += filteringFields[i].ToString();

if (i+1 != filteringFields.Count)

filter += " AND ";

}

}

//СоздаемэкземплярdvSearchклассаDataView

DataViewdvSearch = new DataView(ds.Tables["Авто"]);

//Передаем свойству RowFilter объекта DataView скомбинированное значение filter

dvSearch.RowFilter = filter;

dataGridView1.DataSource = dvSearch;

}

private void toolStripButton4_Click(object sender, EventArgs e)

{

button1_Click(sender, e);

}

private void toolStripButton5_Click(object sender, EventArgs e)

{

button2_Click(sender, e);

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void разработчикToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show("Разработала Воронина Юлия группа 03491");

}

private void автомобилиToolStripMenuItem_Click(object sender, EventArgs e)

{

Autos aus = new Autos();

aus.Show();

}

private void автовладельцыToolStripMenuItem_Click(object sender, EventArgs e)

{

Sotrsst = new Sotrs();

st.Show();

}

private void техпаспортаToolStripMenuItem_Click(object sender, EventArgs e)

{

Provispr = new Provis();

pr.Show();

}

private void страховкиToolStripMenuItem_Click(object sender, EventArgs e)

{

Clients cl = new Clients();

cl.Show();

}

private void податеToolStripMenuItem_Click(object sender, EventArgs e)

{

switch (dataGridView1.SortOrder)

{

caseSortOrder.Ascending: dataGridView1.Sort(dataGridView1.Columns[2], ListSortDirection.Descending); break;

caseSortOrder.Descending: dataGridView1.Sort(dataGridView1.Columns[2], ListSortDirection.Ascending); break;

default: dataGridView1.Sort(dataGridView1.Columns[2], ListSortDirection.Ascending); break;

}

overlay.Visible = false;

}

private void поТипуДвигателяToolStripMenuItem_Click(object sender, EventArgs e)

{

switch (dataGridView1.SortOrder)

{

caseSortOrder.Ascending: dataGridView1.Sort(dataGridView1.Columns[4], ListSortDirection.Descending); break;

caseSortOrder.Descending: dataGridView1.Sort(dataGridView1.Columns[4], ListSortDirection.Ascending); break;

default: dataGridView1.Sort(dataGridView1.Columns[4], ListSortDirection.Ascending); break;

}

overlay.Visible = false;

}

private void поГодуВыпускаToolStripMenuItem_Click(object sender, EventArgs e)

{

switch (dataGridView1.SortOrder)

{

caseSortOrder.Ascending: dataGridView1.Sort(dataGridView1.Columns[3], ListSortDirection.Descending); break;

caseSortOrder.Descending: dataGridView1.Sort(dataGridView1.Columns[3], ListSortDirection.Ascending); break;

default: dataGridView1.Sort(dataGridView1.Columns[3], ListSortDirection.Ascending); break;

}

overlay.Visible = false;

}

private void поЦенеToolStripMenuItem_Click(object sender, EventArgs e)

{

switch (dataGridView1.SortOrder)

{

caseSortOrder.Ascending: dataGridView1.Sort(dataGridView1.Columns[6], ListSortDirection.Descending); break;


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

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

    дипломная работа [1,2 M], добавлен 09.07.2012

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

    курсовая работа [2,4 M], добавлен 23.12.2013

  • Характеристика и функциональные возможности программы "1С:Предприятие" по автоматизации участка учёта движения и наличия основных средств. Структура информации и технология выполнения работ (работа со справочниками, документами, отчётными формами).

    курсовая работа [1,9 M], добавлен 04.11.2013

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

    презентация [799,2 K], добавлен 12.11.2013

  • Проектирование и реализация комплекса задач автоматизации учета движения товаров на складе в ЗАО "ГРЕЦ" и технико-экономические расчеты. Обоснование выбора программно-технических средств, блок-схема алгоритма. Описание программного обеспечения системы.

    дипломная работа [3,0 M], добавлен 05.12.2011

  • Формирование требований к системе. Описание входной и выходной информации. Концептуальное и логическое проектирование структуры и пользовательского интерфейса. Выбор средств реализации подсистемы. Реализация функциональности программного средства.

    курсовая работа [1,3 M], добавлен 28.08.2012

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

    курсовая работа [23,4 K], добавлен 14.08.2010

  • Классификация автоматизированных информационных систем (АИС). Проектирование АИС складского учета с использованием CASE-средства Rational Rose. Подходы к проектированию, анализ CASE-средств. Программная реализация профессионально ориентированной АИС.

    курсовая работа [1,4 M], добавлен 06.03.2012

  • Организационно-экономическая характеристика предметной области. Описание компании ООО "Алеф", анализ административной и хозяйственной деятельности предприятия. Автоматизация процесса учета основных средств с помощью комплекса комплекс УСН 1С Бухгалтерия.

    дипломная работа [3,6 M], добавлен 01.06.2010

  • Система автоматизации бухгалтерского учета. Состав и характеристика нормативно-справочной информации. Этапы и средства бухучета в 1С. Виды Классификаторов информации. Перечень основных справочников, используемых в автоматизированной системе учета.

    контрольная работа [26,4 K], добавлен 27.07.2009

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