ПРАВИТЕЛЬСТВО САНКТ-ПЕТЕРБУРГА КОМИТЕТ ПО НАУКЕ И ВЫСШЕЙ
ШКОЛЕ «ПЕТРОВСКИЙ КОЛЛЕДЖ» (СПб ГБПОУ «Петровский колледж») |
||||
Отделение заочного обучения |
||||
Курсовой проект МДК.03.01 Технология разработки
программного обеспечения |
||||
РАЗРАБОТКА информационной системы учета работы автотранспортной компании |
||||
Выполнил: |
||||
Сафин Сергей Ильясович |
||||
студент(ка): |
3703з |
группы |
||
Специальность: |
09.02.03 Программирование в компьютерных системах |
|||
Руководитель: М.А. Ерина |
||||
Оценка |
||||
подпись руководителя |
||||
Санкт-Петербург, 2020 |
|
|||
Оглавление
Введение. 4
1 Постановка задачи. 7
1.1 Описание предметной области. 7
1.2 Функции проектируемой информационной системы.. 8
1.3 Анализ методов решения задачи. 8
1.4 Обоснование (выбор) методики, технологии и инструментальных средств проектирования и разработки. 10
2 Эскизное проектирование. 13
2.1 Разработка диаграммы прецедентов и спецификаций. 13
2.2 Разработка диаграммы классов и пакетов. 23
2.3 Разработка UML-диаграмм этапа проектирования (диаграммы последовательности, кооперации, и т.д.) 24
2.4 Разработка инфологической схемы базы данных. 26
2.5 Проектирование интерфейса приложения. 28
3 Программа и методика испытаний информационной системы.. 32
4 Разработка технической документации на программный продукт. 34
4.1 Разработка руководства пользователя. 34
4.1.1 Аннотация. 34
4.1.2 Введение. 34
4.1.3 Назначение и условия применения. 36
4.1.4 Описание операций. 36
4.1.5 Возможные ошибки и рекомендации по устранению.. 40
Заключение. 41
Список использованных источников. 43
Приложение А - Техническое задание на разработку. 44
1 Введение. 45
2 Назначение и цели создания информационной системы.. 46
2.1 Назначение информационной системы.. 46
2.2 Цели создания информационной системы.. 46
3 Функциональные задачи информационной системы.. 48
3.1 Ввод, редактирование, удаление данных. 48
3.2 Идентификация пользователя. 48
3.3 Поиск данных. 48
3.4 Сортировка данных. 49
3.5 Основные запросы для составления отчетов. 49
3.5.1 Водитель – направление – период времени. 49
3.5.2 Водитель – километраж.. 50
3.5.3 Водитель – месячные маршруты.. 50
4 Требования к системе. 51
4.1 Технические требования к системе. 51
4.1.1 Основные требования к функционалу. 51
4.1.2 Требования к ПК и программному обеспечению.. 51
4.2 Входные данные. 52
4.3 Обработка данных. 52
4.4 Выходные данные. 53
4.5 Требования к лингвистическому обеспечению.. 53
4.6 Внешний вид приложения. 53
4.7 Профиль пользователя. 53
5 Разработка интерфейса системы.. 55
6 Пользователи системы.. 57
Приложение Б - Исходный код. 58
Введение
Автомобильные перевозки - один из недорогих способов транспортировки. Этот тип грузоперевозок подходит для обеспечения товаром городских торговых точек, для доставки из города в районы, а также для перемещения внутри страны.
Конкуренция среди логистических компаний требует постоянного повышения эффективности услуг. При наличии такой разветвленной транспортной системы как в России крайне важно профессионально составлять маршруты перевозок. Чтобы обеспечить высокий уровень сервиса, сделать работу более оперативной и качественной, необходимо автоматизировать все процессы. Значит, необходимо решение в виде специализированной информационной системы.
В настоящее время существует целый ряд программ для транспортных компаний. Однако они не всегда могут обеспечить требуемую функциональность.
В транспортную компанию поступает большое количество заявок от постоянных клиентов и разовых пользователей услугами перевозок. С постоянными клиентами ведутся проекты. Для эффективной работы компании необходима такая информационная система (ИС), которая помогала бы менеджеру работать с большим количеством информации и была удобной для управления процессами грузоперевозок.
Процесс управления грузоперевозками включает в себя: обработку заявки клиента, планирование маршрута, планирование работы водителей, планирование работы автотранспорта, планирование консолидации грузов (объединение грузов), составление отчетов. Все перечисленные процессы должны быть включены в информационную систему. Её можно разбить на модули:
- управление грузоперевозками (планирование рейсов, работы водителей и автотранспорта, контроль доставки);
- отчетность (анализ эффективности работы компании со всех сторон, отчеты различных видов).
Автоматизация составления маршрута транспортировки сложна в реализации. Чтобы найти оптимальный путь перевозки груза, требуется учесть множественные факторы, которые имеют непостоянный характер. Например, один из важнейших параметров - загруженность дорог. Особенно это актуально в крупных городах. Другая проблема, связанная с загруженностью, - время составления маршрута.
В корпоративной ИС хранится огромное количество информации. Для принятия решений, анализа работы, контроля труда необходимо правильное представление данных. Базы данных ориентированы в первую очередь на компактное и непротиворечивое хранение информации, а не на понятное представление данных. Вследствие этого информация, хранящаяся в корпоративных ИС, как правило, используется неэффективно. Главная проблема в ИС -не хранение информации, а предоставление ее конечному пользователю в виде отчета в нужном контексте. Составление отчетов - рутинная задача менеджера, занимающая много времени, требующая концентрации внимания и ответственности. Отчеты могут быть предназначены для предоставления клиенту, для бухгалтерии или руководства. Также они могут стать незаменимыми помощниками в работе менеджера-логиста.
Вышесказанное послужило основанием для выбора темы курсового проекта.
Цель курсовой работы – рассмотреть теоретические и практические аспекты процесса организации грузоперевозок транспортной компании и разработать информационную систему. Разрабатываемая система должна автоматизировать процесс хранения и обработки информации о перевозках. Основной целью является создание и поддержка интерфейса взаимодействия рабочего места логиста, обеспечивающего хранение и обработку информации с помощью клиентского приложения, и базы данных.
В соответствии с поставленной целью в процессе курсового проектирования поставлены следующие задачи:
- рассмотреть теоретические основы процесса организации грузоперевозок транспортной компании;
- проанализировать процесс грузоперевозок транспортной компании;
- разработать информационную систему транспортной компании.
Проектируемая система должна использоваться для хранения информации о перевозчиках, заказчиках и загрузках.
Система создается для обслуживания логиста организации – он сможет контролировать процесс выполнения заказа, вести учет водителей и заказчиков.
Практическая значимость состоит в программной реализации информационной системы, позволяющей вести учёт информации по водителям и осуществляемым ими перевозкам. Практические результаты могут быть использованы для применения в компании, осуществляющей автомобильные грузоперевозки с целью увеличения эффективности планирования перевозок, контроля сроков их осуществления.
Объектом исследования является процесс учета и анализа деятельности грузоперевозок автотранспортной компании. Это предприятие ориентированно на удовлетворение потребности в транспортировке большого количества грузов, в пределах Санкт-Петербурга и Ленинградской области. Основа клиентской базы представлена преимущественно небольшими организациями.
Торговые организации и предприятия заключают с компанией договоры на перевозку грузов, в которых устанавливаются объем и сроки перевозок, порядок составления, представления и выполнения заявок на перевозку грузов, порядок выполнения погрузочно-разгрузочных работ и экспедирования товаров, материальная ответственность, определяются рациональные формы, маршруты и схемы грузоперевозок.
С учетом объема и характера предстоящих перевозок перевозчик выделяет автотранспортные средства соответствующих типов в необходимом количестве. Они должны быть исправными и чистыми в санитарном отношении. Подача их под погрузку должна осуществляться в указанное в заявке время.
Товары, представленные к перевозке, должны быть соответствующим образом подготовлены к транспортированию. Они должны быть заранее упакованы в инвентарную тару, взвешены, сгруппированы по получателям.
Постоянный рост объемов перевозок товаров автомобильным транспортом вызывает необходимость более эффективного его использования. К числу факторов, определяющих более интенсивное использование автомобильного транспорта, относятся: улучшение использования грузоподъемности транспортных средств; повышение коэффициента сменности работы транспорта; сокращение простоев; улучшение использования пробега.
1.2 Функции проектируемой информационной системыИнформационная система будет обеспечивать:
- Ввод, удаление и редактирование той или иной информации, с возможностью автоматизации (подстановок из других таблиц, фиксированных наборов данных и т.д.) и входного контроля от некорректных действий.
- Ограничение доступа к ИС с помощью идентификации пользователя (парольная защита).
- Осуществлять поиск по разнообразным признакам (не менее одного в каждой из информационных категорий, например, ФИО водителя и т.д.).
- Осуществлять сортировку по различным признакам (не менее одного в каждой из информационных категорий, например, по характеристикам перевозимых грузов и т.д.).
- Выводить информацию по всем водителям, которые совершали перевозки грузов за выбранный промежуток времени в заданном направлении.
- Вывод информации о том, кто за заданный промежуток времени совершил максимальные (в километровом исчислении) перевозки.
- Выводить информацию для любого заданного водителя, о всех маршрутах, в которые он ездил в текущем месяце.
1.3 Анализ методов решения задачиПрежде чем приступить к проектированию и разработке информационной системы, применимой к предметной области данного курсового проекта, было принято решения рассмотреть уже существующие решения задачи, поставленной в данной работе.
Следующие программные комплексы специально разработаны для экспедиторов, перевозчиков, диспетчеров и позволяют вести документооборот и бухгалтерский учет в транспортных компаниях.
· Программа «Мегалогист»
Программный комплекс «Мегалогист» разработан на платформе «1С:Предприятие 8». Предназначен для комплексной автоматизации транспортной логистики. Программа позволяет создавать задания на перевозку, планировать маршруты в ручном и автоматическом режиме, контролировать выполнение рейсов в онлайн-режиме, проводить анализ KPI и рентабельности доставки.
· Программа «Грузоперевозки»
Программа «Грузоперевозки» позволяет принимать и контролировать заявки на перевозку, хранение, перевалку, загрузку, разгрузку, страхование и т.п. услуги для стандартных, сборных, негабаритных, мультимодальных и др. видов грузов. Есть тарифные сетки, учет ГСМ, складской учет, планирование и контроль ремонтов технических средств, расчет зарплаты, формирование всех видов документации, а также различных видов отчетов, анализ и контроль долгов, расчет рентабельности по транспорту, менеджерам и всему предприятию в целом. Отправка e-mail, смс, встроенная проверка контрагентов по множеству параметров в системе «Контур.фокус».
· Программа «Автоплан»
Программа для автоматизации контроля, учета и управления на автотранспортных предприятиях и транспортных подразделениях. Рентабельность от 10 единиц автотранспорта/спецтехники. Полный контроль транспорта, ГСМ, заявок, персонала, ТМЦ, сроков, процессов. Автоматизация управления, интеграция GPS/Глонасс, умный контроль данных, экономия до 20% всех затрат предприятия, резкое снижение ручной работы до 40%, исключение ошибок персонала и фальсификаций данных.
· Программа «Автоперевозки 4»
Программа «автоперевозки 4» ведет учет ГСМ и путевых листов, хранит информацию о водителях, автотранспорте, клиентах, показания спилометра, время работы водителя, расчитывает многие показатели и формирует уже готовый отчет.
· Программа «НоваТранс»
Онлайн сервис позволяет автоматизировать все процессы в транспортном предприятии. С помощью данного сервиса вы легко сможете создавать и контролировать заявки, вести учет актов и ТТН, формировать зарплату и отчеты.
В ходе анализа систем аналогов можно сделать вывод, что системы обладают огромной мощностью обработки информации и широчайшими возможностями. В связи с этим стоимость и поддержка данных систем обходится очень дорого. Также люди, которые будут работать с данными системами должны проходить специальное обучение, а так как развитие систем не стоит на месте, то обучение будет многократным и периодическим, что несет за собой дополнительные финансовые траты.
При анализе пяти вышеприведенных работ, было выяснено, что на рынке представлен широкий спектр программ, предоставляющих различные возможности по планированию и автоматизации деятельности транспортной организации. На основании сделанного вывода было принято решение, что проектируемая информационная система будет обладать узконаправленным функционалом под конкретное транспортное предприятие, обладать мощностью и возможностями для решения определенного спектра задач.
1.4 Обоснование (выбор) методики, технологии и инструментальных средств проектирования и разработкиМетоды проектирования информационных систем обычно относят к одному из трех видов – структурному, объектному и смешанному.
Сущность структурного подхода к разработке ИС заключается в ее декомпозиции (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. При разработке системы «снизу-вверх» от отдельных задач ко всей системе целостность теряется, возникают проблемы при информационной стыковке отдельных компонентов.
При объектно-ориентированном подходе программа представляет собой описание объектов, их свойств (или атрибутов), совокупностей (или классов), отношений между ними, способов их взаимодействия и операций над объектами (или методов).
Несомненным преимуществом данного подхода является концептуальная близость к предметной области произвольной структуры и назначения. Механизм наследования атрибутов и методов позволяет строить производные понятия на основе базовых и таким образом создавать модель сколь угодно сложной предметной области с заданными свойствами.
Еще одним теоретически интересным и практически важным свойством объектно-ориентированного подхода является поддержка механизма обработки событий, которые изменяют атрибуты объектов и моделируют их взаимодействие в предметной области.
Перемещаясь по иерархии классов от общих понятий предметной области к более конкретным и наоборот, программист получает возможность изменять степень абстрактности или конкретности взгляда на моделируемый реальный мир.
Смешанный подход, позволяет применять одновременно несколько подходов к проектированию информационной системы. Проведенный анализ сильных и слабых сторон структурного и объектно-ориентированного подходов позволяет использовать их в комбинации, используя сильные стороны каждого из них. Структурный подход применяется на этапах системного анализа, первый этап жизненного цикла ИС, так как именно на этом этапе изучается деятельность и строится модель деятельности.
В дальнейшем, на этапе проектирования ИС, второй этап жизненного цикла ИС, происходит применение объектно-ориентированного анализа для построения модели ИС.
Для разработки информационной системы было принято использовать IDE Microsoft Visual Studio, подход к проектированию Code-First. Это обусловлено тем, что данная среда разработки предоставляет удобный и зарекомендовавший себя набор инструментов для создания комфортного интерфейса пользователя. А также фреймворк Entity Framework, представляющий специальную объектно-ориентированную технологию на базе фреймворка .NET для работы с данными. Entity Framework представляет собой высокий уровень абстракции, который позволяет абстрагироваться от самой базы данных и работать с данными независимо от типа хранилища. Один из способов взаимодействия с базой данных, предложенных технологией Entity Framework, - Code First. При данном методе разработчик создает класс модели данных, которые будут храниться в базе данных, а затем Entity Framework по этой модели генерирует базу данных и ее таблицы.
Был сделан вывод, что благодаря наличию функционала для разработки удобного интерфейса пользователя, инструментов для работы с базой данных, а также бесплатной версии программы, - IDE Microsoft Visual Studio 2019 предлагает все необходимые функции для решения задачи по разработке информационной системы.
2 Эскизное проектирование 2.1 Разработка диаграммы прецедентов и спецификацийДля описания поведения и определения функциональных требований разрабатываемой системы используется диаграмма прецедентов, состоящая из актеров (действующих лиц), которые взаимодействуют с системой по средствам вариантов использования.
Диаграмма прецедентов представлена на рисунке 1.
Рисунок 1 - Диаграмма прецедентов
Дальнейшее развитие модели поведения системы предполагает описание прецедентов:
- оператор проходит идентификацию пользователя;
- оператор регистрирует нового водителя;
- оператор регистрирует новый автомобиль;
- оператор регистрирует новый груз;
- оператор регистрирует новый маршрут;
- оператор регистрирует новый рейс;
- оператор осуществляет поиск данных;
- оператор формирует отчет.
Спецификация прецедента «Оператор проходит идентификацию пользователя»
Краткое описание
Прохождение процедуры идентификации для входа в систему.
Субъекты
Логист.
Предусловия
1 Прецедент начинается, когда пользователь запускает приложение.
2 В системе на момент идентификации не работает другой пользователь, т.е. активна кнопка «Авторизация».
Основной поток
1 Оператор нажимает кнопку "Авторизация" на главной форме.
2 Система открывает форму "Авторизация" с пустыми полями для ввода: "Логин" и "Пароль".
3 Оператор заполняет поля "Логин" и "Пароль" данными.
4 Оператор нажимает кнопку "Подтвердить".
5 Система производит поиск введенных данных в хранилище данных.
6 Система сравнивает введенные данные с найденными в хранилище.
7 Система открывает главную форму.
Альтернативный поток
1 Система выводит на экран сообщение "Неверный логин и/или пароль", в случае несовпадения введенных данных с данными в хранилище данных.
2 Оператор закрывает окно с сообщением о неверном логине/пароле кнопкой «ОК»
3 Система очищает поля для ввода данных на форме "Авторизация".
Постусловие
Поля для ввода на главной форме доступны для ввода данных.
Спецификация прецедента «Оператор регистрирует нового водителя»
Краткое описание
Ввод оператором новых данных.
Субъекты
Логист.
Предусловия
Открыта главная форма.
Основной поток
1 Оператор нажимает кнопку "Добавить" на главной форме.
2 Система открывает форму "Выбрать категорию" для добавления данных.
3 Оператор выбирает категорию «водители», нажимает кнопку "Подтвердить".
4 Система закрывает форму "Выбрать категорию".
5 Система открывает форму "Ввод данных водителя" с полями для ввода: - ФИО;
- дата рождения;
- классность;
- стаж;
- контактный телефон.
6 Оператор заполняет поля ввода.
7 Оператор нажимает кнопку "Подтвердить".
8 Система закрывает сообщение и форму с полями для заполнения.
Альтернативный поток
1 Система выводит сообщение "Некорректный ввод данных", если оператор ввёл некорректные данные (например, буквы вместо цифр) или оставил поля пустыми перед нажатием кнопки «Подтвердить».
2 Оператор закрывает сообщение «Некорректный ввод данных» кнопкой «ОК».
Постусловие
Открыта главная форма.
Спецификация прецедента «Оператор регистрирует новый автомобиль»
Краткое описание
Ввод оператором новых данных.
Субъекты
Логист.
Предусловия
Открыта главная форма.
Основной поток
1 Оператор нажимает кнопку "Добавить" на главной форме.
2 Система открывает форму "Выбрать категорию" для добавления данных.
3 Оператор выбирает категорию «автомобили», нажимает кнопку "Подтвердить".
4 Система закрывает форму "Выбрать категорию".
5 Система открывает форму "Ввод данных автомобиля" с полями для ввода:
- марка;
- номер;
- грузоподъемность;
- километраж;
- ТО.
6 Оператор заполняет поля ввода.
7 Оператор нажимает кнопку "Подтвердить".
8 Система закрывает сообщение и форму с полями для заполнения.
Альтернативный поток
1 Система выводит сообщение "Некорректный ввод данных", если оператор ввёл некорректные данные (например, буквы вместо цифр) или оставил поля пустыми перед нажатием кнопки «Подтвердить».
2 Оператор закрывает сообщение «Некорректный ввод данных» кнопкой «ОК».
Постусловие
Открыта главная форма.
Спецификация прецедента «Оператор регистрирует новый груз»
Краткое описание
Ввод оператором новых данных.
Субъекты
Логист.
Предусловия
Открыта главная форма.
Основной поток
1 Оператор нажимает кнопку "Добавить" на главной форме.
2 Система открывает форму "Выбрать категорию" для добавления данных.
3 Оператор выбирает категорию «груз», нажимает кнопку "Подтвердить".
4 Система закрывает форму "Выбрать категорию".
5 Система открывает форму "Ввод данных груза" с полями для ввода:
- наименование;
- тип груза;
- требование к транспортировке.
Оператор заполняет поля ввода.
6 Оператор нажимает кнопку "Подтвердить".
7 Система закрывает сообщение и форму с полями для заполнения.
Альтернативный поток
1 Система выводит сообщение "Некорректный ввод данных", если оператор ввёл некорректные данные (например, буквы вместо цифр) или оставил поля пустыми перед нажатием кнопки «Подтвердить».
2 Оператор закрывает сообщение «Некорректный ввод данных» кнопкой «ОК».
Постусловие
Открыта главная форма.
Спецификация прецедента «Оператор регистрирует новый маршрут»
Краткое описание
Ввод оператором новых данных.
Субъекты
Логист.
Предусловия
Открыта главная форма.
Основной поток
1 Оператор нажимает кнопку "Добавить" на главной форме.
2 Система открывает форму "Выбрать категорию" для добавления данных.
3 Оператор выбирает категорию «маршруты», нажимает кнопку "Подтвердить".
4 Система закрывает форму "Выбрать категорию".
5 Система открывает форму "Ввод данных автомобиля" с полями для ввода:
- место назначения;
- расстояние в километрах;
- класс сложности маршрута.
6 Оператор заполняет поля ввода.
7 Оператор нажимает кнопку "Подтвердить".
8 Система закрывает сообщение и форму с полями для заполнения.
Альтернативный поток
1 Система выводит сообщение "Некорректный ввод данных", если оператор ввёл некорректные данные (например, буквы вместо цифр) или оставил поля пустыми перед нажатием кнопки «Подтвердить».
2 Оператор закрывает сообщение «Некорректный ввод данных» кнопкой «ОК».
Постусловие
Открыта главная форма.
Спецификация прецедента «Оператор регистрирует новый рейс»
Краткое описание
Ввод оператором новых данных.
Субъекты
Логист.
Предусловия
Открыта главная форма.
Основной поток
1 Оператор нажимает кнопку "Добавить" на главной форме.
2 Система открывает форму "Выбрать категорию" для добавления данных.
3 Оператор выбирает категорию «рейсы», нажимает кнопку "Подтвердить".
4 Система закрывает форму "Выбрать категорию".
5 Система открывает форму "Ввод данных рейса" с полями для ввода:
- маршрут;
- водитель;
- груз;
- время.
6 Оператор заполняет поля ввода.
7 Оператор нажимает кнопку "Подтвердить".
8 Система закрывает сообщение и форму с полями для заполнения.
Альтернативный поток
Система выводит сообщение "Некорректный ввод данных", если оператор ввёл некорректные данные (например, буквы вместо цифр) или оставил поля пустыми перед нажатием кнопки «Подтвердить». Оператор закрывает сообщение «Некорректный ввод данных» кнопкой «ОК».
Постусловие
Открыта главная форма.
Спецификация прецедента «Оператор осуществляет поиск данных»
Краткое описание
Поиск оператором данных.
Субъекты
Логист.
Предусловия
Открыта главная форма.
Основной поток
1 Оператор нажимает на главной форме кнопку "Поиск".
2 Система открывает форму "Поиск данных" с полями для ввода названия признаков, по которым оператор осуществляет поиск.
3 Категория «водители», поля:
- ФИО;
- дата рождения;
- классность;
- стаж;
- контактный телефон.
Категория «автомобили», поля:
- марка;
- номер;
- грузоподъемность;
- километраж;
- ТО.
Категория «грузы», поля:
- наименование;
- тип груза;
- требование к транспортировке.
Категория «маршруты», поля:
- место назначения;
- расстояние в километрах;
- класс сложности маршрута.
Категория «рейсы», поля:
- маршрут;
- водитель;
- груз;
- время.
4 Оператор заполняет необходимые поля.
5 Нажимает кнопку "Найти".
6 Система выводит результат поиска.
Альтернативный поток
Система выводит сообщение "Некорректный ввод данных", если оператор ввёл некорректные данные (например, буквы вместо цифр) или оставил поля пустыми перед нажатием кнопки «Подтвердить». Оператор закрывает сообщение «Некорректный ввод данных» кнопкой «ОК».
Постусловие
Открыта главная форма.
Спецификация прецедента «Оператор формирует отчет»
Краткое описание
Оператор формирует отчет для отдела логистики.
Субъекты
Логист.
Предусловия
Открыта главная форма.
Основной поток
1 Оператор на главной форме нажимает кнопку "Создать отчет".
2 Система открывает окно "Создание отчета".
3 Оператор на форме отчета выбирает категорию отчетности «Водитель – направление – период времени». Выбрав категорию, заполняет поля для ввода данными, необходимыми для формирования отчета.
- водитель;
- маршрут;
- период времени.
4 Оператор нажимает кнопку "Создать".
5 Система на основе введенных данных Оператором формирует отчет.
6 Система выводит на форме «Отчет» сформированный отчет.
7 Оператор сохраняет отчет, нажав кнопку "Сохранить отчет" на форме «Создание отчета».
8 Оператор распечатывает отчет, нажав кнопку "Распечатать" на форме «Отчет».
Альтернативный поток
1 Система выводит сообщение "Некорректный ввод данных", если оператор ввёл некорректные данные (например, буквы вместо цифр) или оставил поля пустыми перед нажатием кнопки «Подтвердить». Оператор закрывает сообщение «Некорректный ввод данных» кнопкой «ОК».
2 Система выводит сообщение «Такой водитель не зарегистрирован», если оператор ввел данные водителя, отсутствующего в хранилище данных.
3 Система выводит сообщение «Такой автомобиль не зарегистрирован», если оператор ввел данные автомобиля, отсутствующего в хранилище данных.
Постусловия
Открыта главная форма.
2.2 Разработка диаграммы классов и пакетовДля проектируемой системы выделены следующие классы:
- Driver (водитель);
- Auto (автомобиль);
- Goods (груз);
- Direct (маршрут);
- Route (рейс);
- Operator (оператор).
Диаграмма классов проектируемой системы представлены на рисунке 2.
Рисунок 2 - Диаграмма классов
2.3 Разработка UML-диаграмм этапа проектирования (диаграммы последовательности, кооперации, и т.д.)На рисунке 3 представлена диаграмма активности разрабатываемой системы, представляющая переходы потока управления от одной деятельности к другой. Диаграмма деятельности моделирует жизненный цикл объекта, с переходами из одного состояния (деятельности) в другое.
Рисунок 3 - Диаграмма активности
На рисунке 4 представлена диаграмма пригодности, отображающая объекты, участвующие в сценарии, и их взаимодействие.
Рисунок 4 - Диаграмма пригодности
На рисунке 5 представлена диаграмма последовательности.
Рисунок 5 - Диаграмма последовательности
2.4 Разработка инфологической схемы базы данныхИмеется автопарк грузовых автомобилей, коллектив водителей. В базе должна хранится информация о марке машины, номере, грузоподъемности и техническом состоянии автомобиля. О водителях должны хранится следующие данные: фамилия, имя, отчество, год рождения, год начала работы в данной организации, рейтинг водителя по надежности, числящийся за водителем автомобиль. В поставках хранятся данные о водителе, доставляющем груз, дате отправки груза, категории товара, пункте назначения.
Информацию из БД будет использовать оператор информационной системы для планирования грузоперевозок.
База данных (transportation) будет состоять из шести таблиц:
- водитель (КодВодителя, КодАвтомобиля, Фамилия, Имя, Отчество, Классность, Стаж, Возраст, Контактный телефон);
- автомобиль (КодАвтомобиля, Номер, Марка, Грузоподъемность, Техническое состояние);
- груз (КодГруза, Наименование груза, Требования к транспортировке);
- маршрут (КодМаршрута, Место назначения, Расстояние в км, Сложность маршрута);
- рейс (КодВодителя, КодГруза, КодМаршрута, КодОператора, Время);
- оператор (КодОператора, Фамилия, Имя, Отчество, Логин, Пароль, E-mail).
В качестве объектов рассматриваются отношения, которые можно представить в виде таблиц. Таблицы между собой связываются посредством общих полей, т.е. одинаковых по форматам и, как правило, по названию, имеющихся в обеих таблицах. Рассмотрим, какие общие поля надо ввести в таблицы для обеспечения связности данных. В таблицах Водитель и Автомобиль таким полем будет «КодАвтомобиля», в таблицах Водитель и Рейс – «КодВодителя», в таблицах Маршрут и Рейс – «КодМаршрута». Выбор цифровых кодов вместо фамилий или названий обусловлен меньшим объемом информации в таких полях: например, число «2» по количеству символов значительно меньше слова «Mazda». В соответствии с этим логическая модель базы данных представлена на рис. 6.
Рисунок 6 - Логическая модель
2.5 Проектирование интерфейса приложенияПользовательский интерфейс – это совокупность программных и аппаратных средств, обеспечивающих взаимодействие пользователя с компьютером. Основу такого взаимодействия составляют диалоги. Под диалогом в данном случае понимают регламентированный обмен информацией между человеком и компьютером, осуществляемый в реальном масштабе времени и направленный на совместное решение конкретной задачи. Каждый диалог состоит из отдельных процессов ввода/вывода, которые физически обеспечивают связь пользователя и компьютера. Обмен информацией осуществляется передачей сообщения.
Интерфейс планируется максимально простым в использовании, не требующим от оператора какой-либо специальной подготовки или дополнительного обучения. Одна кнопка на главной форме для входа в приложение с названием «Авторизация»
Для добавления данных предусмотрена кнопка с соответствующим названием «Добавить», при нажатии на которую появится возможность выбрать категории данных для добавления – кнопки «Водители», «Автотранспорт», «Грузы», «Маршруты», «Рейсы».
Для составления отчета предусмотрена кнопка «Составить отчет».
Особое внимание в проектировании системы уделено простоте в восприятии пользователем приложения: минимум кнопок – максимум функционала.
На главной форме до прохождения процедуры авторизации все кнопки, кроме «Авторизация», не активны. Главная форма представлена на рис. 7.
Рисунок 7 - Главная форма приложения
При нажатии кнопки добавить оператор выбирает категорию добавления данных. На рисунке 8 приведен пример добавления данных нового водителя.
Рисунок 8 - Добавление данных водителя
Аналогичным образом происходит редактирование и удаление данных из нужной категории: оператор выбирает действие – «Изменить» или «Удалить», затем категорию, далее конкретные данные для модификации.
При нажатии кнопки «Составить отчет» на открывшейся форме «Создание отчета» находятся кнопки выбора типа отчета, представленные на рис. 9.
Рисунок 9 - Кнопки выбора типа отчета
После выбора оператором типа отчета, сформированный отчет выводится на форму «Создание отчета».
Как продемонстрировано выше, интерфейс приложения соответствует поставленным требованиям: минимален и интуитивно понятен.
3 Программа и методика испытаний информационной системыЦелью проведения испытаний является проверка на работоспособность информационной системы и определение полноты и качества выполнения функциональных требований.
Проверяемые функции:
- авторизация пользователя;
- ввод данных пользователем.
Тест Кейс 1
Название: |
Авторизация оператора в системе |
||
Действие |
Ожидаемый результат |
Результат теста: пройден провален заблокирован |
|
Предусловие: |
|||
Запустите приложение на компьютере |
Приложение запущено, открыта главная форма. |
пройден |
|
Шаги теста: |
|||
Нажмите кнопку «Авторизация» Заполните поля для авторизации: "Логин": Оператор "Пароль": Логист |
Открыта форма «Авторизация» |
пройден |
|
Нажмите кнопку "Подтвердить" |
Кнопки главной формы разблокированы |
пройден |
|
Постусловие: |
|||
Кликните на кнопке «Создать отчет» |
Открыта форма «Создание отчета» |
пройден |
|
Тест Кейс 2
Название: |
Ввод новых данных оператором |
||
Действие |
Ожидаемый результат |
Результат теста: пройден провален заблокирован |
|
Предусловие: |
|||
Нажата кнопка «Добавить» |
Открыта форма «Данные водителя» |
пройден |
|
Шаги теста: |
|||
Заполните поля для ввода: Имя: Иван Фамилия: Иванов Отчество: Иванович Возраст: 20 Классность: A Контактный телефон: 8(900)555-55-55 Стаж: 2 |
Данные успешно введены |
пройден |
|
Нажмите кнопку "Подтвердить" |
Поля для ввода очищены |
пройден |
|
Постусловие: |
|||
Кликните по «Назад» |
Главная форма открыта |
пройден |
|
Настоящий документ представляет собой руководство пользователя (далее Руководство) информационной системы учета работы транспортной компании (далее УРТК). Пользовательский интерфейс ИС УРТК обеспечивает информационную поддержку деятельности оператора УРТК.
Руководство определяет порядок регистрации сведений о перевозках, а также порядок формирования отчетности для логистического отдела компании.
4.1.2 Введение 4.1.2.1 Область примененияПользовательский интерфейс ИС УРТК обеспечивает информационную поддержку деятельности оператора ИС УРТК при выполнении следующих операций: Регистрации сведений о перевозках, Формирование отчетности для логистического отдела.
4.1.2.2 Краткое описание возможностейИС УРТК обеспечивает выполнение следующих основных функций:
− регистрация пользователей ИС УРТК;
− ведение перечня перевозок;
− формирование отчетности для логистического отдела.
4.1.2.3 Уровень подготовки пользователяДля эксплуатации ИС УРТК определены следующие роли:
- Оператор.
Оператор должен:
- Иметь общие сведения о системе и ее назначении;
- Владеть информацией об ИС УРТК в объеме эксплуатационной документации;
- Владеть информацией о работе в интерфейсе ИС УРТК;
- Осуществлять ведение справочников в ИС УРТК;
- Обеспечивать поддержку взаимодействия с внешними участниками ИС УРТК (обмен данными, регистрация обращений);
- Формировать аналитическую отчетность в ИС УРТК.
4.1.2.4 Перечень эксплуатационной документации1 Инструкция по установке ИС УРТК;
2 Руководство администратора ИС УРТК;
3 Руководство по техническому обслуживанию ИС УРТК;
4 Руководство пользователя ИС УРТК (настоящий документ).
4.1.2.5 Список обозначений и сокращенийБД - База данных
АРМ - Автоматизированное рабочее место
ИС - Информационная Система
4.1.3 Назначение и условия применения 4.1.3.1 НазначениеАРМ УРТК предназначен для осуществления информационной поддержки ведения реестра грузоперевозок, а также формирования различных отчетов для отдела логистики.
АРМ УРТК позволяет:
- обеспечить взаимодействие с информационными системами поставщиков услуг;
- повысить прозрачность деятельности в сфере оказания услуг заказчикам за счет формирования полной, достоверной и актуальной информации о ходе и результатах проведения грузоперевозок;
- повысить эффективность контроля и анализа процесса грузоперевозок.
4.1.3.2 Условия примененияАРМ УРТК может эксплуатироваться и выполнять заданные функции при соблюдении требований, предъявляемых к техническому, системному и прикладному программному обеспечению.
4.1.4 Описание операцийВ данном разделе приводится описание всех операций, существующих в АРМ УРТК.
Роль: Оператор
Доступные операции: Просмотр, ввод, редактирование, сортировка, удаление данных; формирование отчетов.
4.1.4.1 Вход в АРМ УРТКДля входа в пользовательский интерфейс АРМ УРТК необходимо запустить приложение с помощью ярлыка на рабочем столе или соответствующего пункта в меню «Пуск».
Для получения прав доступа к АРМ необходимо предварительно обратиться к администратору УРТК. Для доступа к данным необходимо выполнить авторизацию: указать логин и пароль, а затем нажать кнопку «Войти». Пользователь имеет 3 попытки для корректного входа в АРМ. Если ошибочный пароль введен более 3 раз, то доступ к АРМ для этого пользователя блокируется и ему необходимо обратиться к администратору.
4.1.4.2 Регистрация пользователей системыРегистрация пользователей системы доступна пользователю с ролью Администратор. Администратор имеет право назначать пользователям роли: Администратор и Оператор. Оператору список пользователей доступен для просмотра. Для создания записи о пользователе модуля необходимо войти в пункт меню «Регистрация пользователей» и нажать кнопку «Добавить».
В открывшемся окне необходимо заполнить поля:
- Логин;
- Пароль;
- Фамилия;
- Имя;
- Отчество;
- Номер телефона;
- Должность;
Необходимо использовать пароли не менее 8 символов. Пароль должен содержать хотя бы одну цифру и заглавную букву. Для сохранения данных необходимо нажать кнопку «Ок». Если сохранение данных не требуется, то следует нажать кнопку «Отмена».
4.1.4.3 Добавление сведений о перевозкахДобавление сведений о перевозках доступно пользователю с ролью Оператор. Для создания записи необходимо войти в пункт меню «Добавить» и нажать кнопку «ОК». Будет предложено выбрать пять категорий для добавления данных:
- водители;
- автотранспорт;
- грузы;
- маршруты;
- рейсы.
В каждой из категории нужно заполнить экранные формы.
Водители:
- фамилия;
- имя;
- отчество;
- дата рождения;
- классность;
- стаж;
- контактный телефон.
Автотранспорт:
- марка;
- номер;
- грузоподъемность;
- техническое состояние.
Грузы:
- тип груза;
- требования к транспортировке.
Маршруты:
- место назначения;
- расстояние в километрах;
- класс сложности маршрута.
Рейсы:
- маршрут;
- водитель;
- автомобиль;
- груз;
- время.
4.1.4.4 Формирование отчетаДля формирования отчетов следует в АРМ УРТК выбрать пункт «Отчеты» главного меню (см. Рисунок 6). При этом пользователю предоставляется возможность из выпадающего меню выбрать пункт для формирования одного из следующих отчетов:
Маршруты за период времени
Оператор должен ввести данные для формирования отчета:
- водитель;
- направление;
- период времени.
Километраж по перевозкам
Оператор должен ввести данные для формирования отчета:
- водитель;
- период времени.
Отчет по конкретному водителю за месяц
- водитель;
- подотчетный месяц.
Для завершения формирования отчета следует нажать кнопку «Сформировать отчет». В случае успешного выполнения операции загружается экранная форма, содержащая сформированный отчет. В противном случае Системой будет выдано сообщение об ошибке.
4.1.5 Возможные ошибки и рекомендации по устранениюВозможные ошибки и рекомендации по их устранению представлены в таблице 1.
Таблица 1 - Ошибки и способы их устранения
Описание ошибки |
Рекомендации по устранению |
Неправильная пара логин-пароль |
Указать правильный логин/пароль. |
Неправильная пара логин-пароль. Осталось попыток входа: N |
Указать правильный логин/пароль. |
Превышено максимальное количество попыток входа. Ваш аккаунт заблокирован! |
Обратиться к администратору. |
Заключение
В курсовой работе проанализированы особенности предметной области и объекта автоматизации. Разработаны проектные решения для задачи "Учет грузоперевозок автотранспортной компании". Обоснован выбор необходимости разработки ИС с помощью объектно-ориентированной методологии. Приведены характеристики диаграмм UML.
Разработаны модель функциональных требований к системе в виде диаграммы вариантов использования, модель поведения системы в виде диаграмм действий, модель логической структуры системы в виде диаграмм классов, модель взаимодействия объектов системы в виде диаграмм последовательности.
Внедрение данной задачи в эксплуатацию даст возможность облегчить учет заказов на грузоперевозку, путем освобождения пользователя от работы с бумажными документами. Доступ, хранение, и редактирование данных станет намного проще и удобнее. Ситуация переделывания каких-либо документов упростится так как не нужно будет переделывать все целиком заново, а потребуется только редактировать уже существующую информацию.
Проектируя информационную систему, мы познакомились IDE Microsoft Visual Studio 2019. С её помощью можно быстро создавать деловые приложения для различных сфер деятельности человека. Удобный интерфейс и широкий функционал. Единственным относительным минусом при работе с данной средой оказался довольно высокий порог вхождения для неопытного пользователя.
Разработана информационная система учета работы копании по грузоперевозкам.
Определены основные функции системы, обеспечивающие решение комплекса задач по учету водителей, автотранспорта, грузов, маршрутов и рейсов.
Разработаны функциональная и информационная модели системы.
Разработаны инструкции по запуску программы и руководство пользователя.
Информационная система может быть дополнена дополнительным функционалом.
Были реализованы база данных и клиентское приложение информационной системы транспортной компании. Применение данной системы позволит усовершенствовать и ускорить работу организаций, осуществляющих грузоперевозки:
- снизить случайные ошибки связанных с ручным заполнением документов;
- автоматизировать обработку информации в системе;
- накапливать, хранить, обрабатывать и анализировать данные.
По результатам функционального тестирования информационная система работает корректно.
Список использованных источников
1 Информационная система по грузоперевозкам [Электронный ресурс] // Адрес доступа - https://ru.wikipedia.org/wiki/Информационная_система_по_грузоперевозкам, дата посещения март 2020 г.
2 Информационная система для транспортных компаний [Электронный ресурс] // Адрес доступа - http://naukarus.com/informatsionnaya-sistema-dlya-transportnyh-kompaniy, дата посещения март 2020 г.
3 Информационная система современной транспортной компании [Электронный ресурс] // Адрес доступа - http://www.tractyres.ru/articles/380/, дата посещения март 2020 г.
4 КиберЛог – Информационная система по грузоперевозкам [Электронный ресурс] // Адрес доступа - https://www.kiberlog.ru/about, дата посещения март 2020 г.
5 Руководство по программированию в Windows Forms [Электронный ресурс] // Адрес доступа - https://metanit.com/sharp/windowsforms/, дата посещения февраль 2020 г.
6 Руководство по Entity Framework [Электронный ресурс] // Адрес доступа - https://metanit.com/sharp/entityframework/, дата посещения март 2020 г.
7 Как работают транспортные компании в России [Электронный ресурс] // Адрес доступа - https://pikabu.ru/story/kak_rabotayut_transportnyie_kompanii_v_rossii_3658072, дата посещения март 2020 г.
Приложение А - Техническое задание на разработку
Техническое задание
На разработку информационной системы учета работы автотранспортной компании
1 ВведениеПолное наименование системы: «Информационная системы учета работы автотранспортной компании «СПб-ЛО Перевозки»».
Система предназначена для применения в автотранспортной компании, занимающаяся перевозкой различных грузов.
2 Назначение и цели создания информационной системы 2.1 Назначение информационной системыИнформационная система разрабатывается с целью оптимизации использования ресурсов компании: эффективного отслеживания деятельности организации по грузоперевозкам, составления отчетов в логистический отдел компании, которые помогут эффективно распределять по необходимым направлениям (маршрутам) грузы и автотранспорт, в зависимости от сложности маршрута, назначать в рейс водителей с соответствующим опытом и навыками. Для повышения эффективности перевозок в целом.
Цели создния информационной системы
2.2 Цели создания информационной системыИнформационная система создается с целью
- сбора исходной информации, необходимой для планирования грузоперевозок и подготовки отчетности по показателям деятельности;
- повышения качества (полноты, точности, достоверности,
своевременности, согласованности) информации;
- повышение эффективности использования водителей в зависимости от стажа и опыта;
- увеличение количества возможных перевозок с помощью аналитики;
- эффективное распределения грузов по соответствующему автотранспорту;
- сокращение времени, затрачиваемого на информационно-аналитическую деятельность;
3 Функциональные задачи информационной системы 3.1 Ввод, редактирование, удаление данныхОператор осуществляет ввод, удаление и редактирование той или иной информации, с возможностью автоматизации (подстановок из других таблиц, фиксированных наборов данных и т.д.) и входного контроля от некорректных действий. Оператор вводит (редактирует, удаляет) данные в следующие категории:
- водитель;
- автотранспорт;
- груз;
- направление (маршрут);
- рейс.
3.2 Идентификация пользователяОграничение доступа к информационной системе с помощью идентификации пользователя (парольная защита).
3.3 Поиск данныхОператор осуществляет поиск по разнообразным признакам (не менее одного в каждой из информационных категорий, например, ФИО водителя и т.д.). С помощью функции поиска можно получить информацию об отдельной единице категории или совокупности объектов, занесённых в информационную систему.
3.4 Сортировка данныхОператор осуществляет сортировку по различным признакам (не менее одного в каждой из информационных категорий, например, по характеристикам перевозимых грузов и т.д.).
3.5 Основные запросы для составления отчетовОператор, заполняя соответствующие поля для запроса в системе, имеет возможность быстро находить соответствующую информацию для формирования отчёта по основным логистическим вопросам компании.
Основные запросы представляют собой три совокупности данных:
3.5.1 Водитель – направление – период времениИнформация по всем водителям, которые совершали перевозки грузов за выбранный промежуток времени в заданном направлении.
3.5.2 Водитель – километражИнформация о том, кто за заданный промежуток времени совершил максимальные (в километровом исчислении) перевозки.
3.5.3 Водитель – месячные маршрутыИнформация для любого заданного водителя, о всех маршрутах, в которые он ездил в текущем месяце.
4 Требования к системе 4.1 Технические требования к системе 4.1.1 Основные требования к функционалуНа главной форме должны быть предусмотрены кнопки для быстрого доступа к вызову форм ввода, редактирования и удаления данных по основным категориям:
- водители;
- автомобили;
- грузы;
- маршруты;
- рейсы.
А также кнопка для перехода в окно составления отчета с главной формы.
4.1.2 Требования к ПК и программному обеспечениюОперационная система: Windows XP/Vista/7/8.1/10
Процессор: Intel Pentium D 3 GHz и более современные аналоги
Оперативная память: 2 Gb
4.2 Входные данныеВходными данными являются данные, вводимые пользователем с клавиатуры:
- данные водителя: ФИО, дата рождения, классность, стаж, контактный телефон;
- сведения об автомобиле: марка, номер, грузоподъемность и мощность, техническое состояние;
- сведения о характеристиках груза: тип груза, требования к транспортировке;
- сведения о маршрутах: место назначения, расстояние в километрах, класс сложности маршрута;
- сведения о текущих рейсах: маршрут, кто и на какой машине повезет какой-либо груз, за какое время.
4.3 Обработка данных- при помощи кнопки «Добавить» значения, введённые оператором, записываются в таблицу.
- при помощи кнопки «Изменить» значения в таблице изменяются.
- предназначение кнопки «Удалить» - удаление выбранной строки из базы данных.
- при помощи соответствующих полей оператор вводит нужные данные для поиска необходимой информации. При нажатии кнопки «Поиск» производится поиск данных.
4.4 Выходные данныеВыходными данными для продукта являются значения, выводимые программой пользователю на экран в процессе обработки данных.
4.5 Требования к лингвистическому обеспечениюСистема должна поддерживать следующие языки графического интерфейса:
- русский.
4.6 Внешний вид приложенияИспользование приложения должно быть комфортным для неподготовленного пользователя, не требующим дополнительного обучения по эксплуатации.
4.7 Профиль пользователяДолжна быть предусмотрена аутентификация пользователя, соответственно наличия у пользователя логина и пароля, а также информации о личных данных:
- имя;
- фамилия;
- дата рождения;
- должность.
5 Разработка интерфейса системыВид главной формы с доступом к редактированию данных, составлению отчета, авторизации представлен на рисунке 10.
Рисунок 10 - Главная форма
Вид формы ввода и редактирования данных водителя представлен на рисунке 11.
Рисунок 11 - Форма ввода и редактирования данных водителя
Вид формы ввода и редактирования данных автомобиля представлен на рисунке 12.
Рисунок 12 - Форма ввода и редактирования данных водителя
6 Пользователи системыСистема предназначена для должности «Оператор ЭВМ», предусматривающей работу с различными приложениями. Возможна работа больше одного человека за одним компьютером, поэтому предусматривается парольная защита для доступа к информационной системе.
Приложение Б - Исходный код
Листинг 1 Главная форма:
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.Entity;
namespace TruckingCompany
{
public partial class Form1 : Form
{
DriverContext db;
public Form1()
{
db = new DriverContext();
db.Drivers.Load();
InitializeComponent();
dataGridView1.DataSource = db.Drivers.Local.ToBindingList();
}
// add
private void Button1_Click(object sender, EventArgs e)
{
DriverForm drvForm = new DriverForm();
DialogResult result = drvForm.ShowDialog(this);
if (result == DialogResult.Cancel)
return;
Driver driver = new Driver();
driver.Name = drvForm.textBox1.Text;
driver.Surname = drvForm.textBox2.Text;
driver.Category = drvForm.comboBox1.SelectedItem.ToString();
driver.Age = (int)drvForm.numericUpDown1.Value;
driver.Truck = (Truck)drvForm.comboBox2.SelectedItem;
driver.Point = (Point)drvForm.comboBox3.SelectedItem;
db.Drivers.Add(driver);
db.SaveChanges();
dataGridView1.Refresh();
MessageBox.Show("Новый водитель добавлен");
}
// update
private void Button2_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count > 0)
{
int index = dataGridView1.SelectedRows[0].Index;
int id = 0;
bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id);
if (converted == false)
return;
Driver driver = db.Drivers.Find(id);
DriverForm drvForm = new DriverForm();
drvForm.textBox1.Text = driver.Name;
drvForm.textBox2.Text = driver.Surname;
drvForm.comboBox1.SelectedItem = driver.Category;
drvForm.numericUpDown1.Value = driver.Age;
drvForm.comboBox2.SelectedItem = driver.Truck;
drvForm.comboBox3.SelectedItem = driver.Point;
List
drvForm.comboBox2.DataSource = trucks;
drvForm.comboBox2.ValueMember = "Id";
drvForm.comboBox2.DisplayMember = "Title";
List
drvForm.comboBox3.DataSource = points;
drvForm.comboBox3.ValueMember = "Id";
drvForm.comboBox3.DisplayMember = "City";
if (driver.Truck != null)
drvForm.comboBox2.SelectedValue = driver.Truck.Id;
DialogResult result = drvForm.ShowDialog(this);
if (result == DialogResult.Cancel)
return;
driver.Name = drvForm.textBox1.Text;
driver.Surname = drvForm.textBox2.Text;
driver.Category = drvForm.comboBox1.SelectedItem.ToString();
driver.Age = (int)drvForm.numericUpDown1.Value;
driver.Truck = (Truck)drvForm.comboBox2.SelectedItem;
driver.Point = (Point)drvForm.comboBox3.SelectedItem;
db.Entry(driver).State = EntityState.Modified;
db.SaveChanges();
dataGridView1.Refresh();
MessageBox.Show("Данные обновлены");
}
}
// delete
private void Button3_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count > 0)
{
int index = dataGridView1.SelectedRows[0].Index;
int id = 0;
bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id);
if (converted == false)
return;
Driver driver = db.Drivers.Find(id);
db.Drivers.Remove(driver);
db.SaveChanges();
dataGridView1.Refresh();
MessageBox.Show("Данные удалены");
}
}
// open AuthorizationForm
private void Button4_Click(object sender, EventArgs e)
{
AuthorizationForm AuthF = new AuthorizationForm();
AuthF.Show();
}
// open ReportForm
private void Button5_Click(object sender, EventArgs e)
{
ReportForm RepF = new ReportForm();
RepF.Show();
}
}
}