Курсовая работа: Разработка автоматизированной системы для учета деятельности частной автостоянки

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

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

База данных клиентов автостоянки, в которой хранится информация о:

1. Инициалы клиента

2. Марка автомобиля

3. Доп. сведения об автомобиле (в том числе номера)

4. Список сотрудников автостоянки

5. Стоимость тарифов

Основным объектом является оформление заказов. Программа хранит в себе историю заказов, и клиентскую базу.

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

2.2 Структура данных

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

Рисунок 1 -- Схема базы данных

Таблица 1. Carsector хранит информацию о машинах

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

Тип данных

Описание

Id

int

Идентификатор

name

nvarchar(50)

Марка машины

Таблица Carplace предназначена для хранения информации о машинах и их парковке.

Таблица 2. Manager

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

Тип данных

Описание

Id

int

Идентификатор

number

nvarchar(50)

Номер

sector

int

Сектор

Таблица Parking хранит информацию о сроках парковки зарегистрированных автомобилях.

Таблица 3. Parking

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

Тип данных

Описание

Id

int

Идентификатор

startdate

datetime

Начало срока

enddate

datetime

Окончание срока

car

int

Машина

place

int

Место

staff

int

Персонал

Таблица Carmarks тоже сохраняет данные о занятых местах для парковки, марок машин и тарифы за день.

Таблица 4. Carmarks

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

Тип данных

Описание

Id

int

Идентификатор

name

nvarchar(200)

Марка авто

tarifperday

bigint

Тариф за день

description

nvarchar(50)

Описание марки авто

Таблица Cars отвечает за вкладку с добавлением и редактированием данных о машинах.

Таблица 5. Cars

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

Тип данных

Описание

Id

int

Идентификатор

number

nvarchar(50)

Номер авто

mark

int

Марка авто

Таблица Staffroles отвечает за добавление, редактирование, а также назначение работника на любую роль.

Таблица 6. TypeLumber

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

Тип данных

Описание

Id

int

Идентификация

Role

nvarchar(50)

Роль

Таблица Parkingstaff отвечает за добавление новых сотрудников, их ФИО, назначение на определенную роль, создание для нового персонала учётных записей (логин, пароль), доступ к вкладке парковка.

Таблица 7. Parkingstaff

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

Тип данных

Описание

Id

int

Идентификатор

lastname

nvarchar(50)

Фамилия

middlename

nvarchar(50)

Отчество

firstname

nvarchar(50)

Имя

username

nvarchar(50)

Имя пользователя

password

nvarchar(50)

Пароль

staffrole

int

Должность

2.3 Демонстрация функционала программы

Рисунок 2 -- Окно авторизации

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

Рисунок 3 -- Ошибка авторизации (пропуск ввода пароля)

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

Рисунок 4 -- Ошибка авторизации (пропуск ввода логина)

При вводе только пароля программа уведомит вас о том, что нужно ввести недостающий компонент. В данном случае- это Логин.

Рисунок 5 -- Успешная авторизация

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

Рисунок 6 -- Вкладка «Парковка»

Если не авторизоваться, то будет доступно лишь одна вкладка программы- «Парковка»

Рисунок 7 -- Вкладка «Персонал»

Во кладке «Персонал» мы можем просмотреть ФИО, логин, пароль, а также роль выбранного сотрудника.

Рисунок 8 -- Регистрация сотрудника

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

Рисунок 9 -- Отображение добавленного сотрудника

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

Рисунок 10 -- Вкладка «Машины»

Вкладка «Машины» позволяет указать марку машину, просмотреть или отредактировать тариф за день и добавить описание для опознавания машины.

Рисунок 11 -- Окно парковка авторизованного пользователя

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

Рисунок 12 -- Добавление авто на парковочное место

Вкладка «Добавление» напрямую связана со вкладкой «Парковка», в селекторе выбора машины отображаются строго те машины, которые были добавлены во вкладке «Парковка». Здесь мы может выбрать определенную машину, ввести её номер, указать парковочное место, указать нужную нас дату и нажать кнопку «Добавить» и во вкладке «Парковка» мы увидим список, который только что обновился с новой машиной и другими её парковочными данными.

Рисунок 13 -- Авторизация за пользователя с должностью «Персонал»

При авторизации за роль «Staff» также появляется приветствующее окно. Обычный работник имеет доступ к большинству вкладок за исключением одной.

Рисунок 14 -- Отображение недоступных вкладок

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

Рисунок 15 -- Вкладка «Машины» у персонала

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

Рисунок 16 -- Окно добавления авто на парковку от персонала

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

Рисунок 17 -- Процесс добавления авто на парковку

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

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

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

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

2.4 Эскизный проект

Для реализации всего необходимого функционала требуется разработка следующих подпрограмм:

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

1. Фамилия;

2. Имя;

3. Отчество;

4. Номер телефона;

Все введенные данные автоматически добавляются в базу данных.

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