Проектирование базы данных «Автосервис»

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

    Структура сервисной деятельности должна в общих чертах повторять структуру потребностей, соответствовать ей.

  • С тех пор как появились первые механические устройства возникла необходимость в их обслуживании и ремонте. Если телегу крестьянин обслуживал сам, то за римской боевой колесницей следили до трех человек, каждый из которых был узким специалистом: ходовая, оружие, кузов. Изобретение механических двигателей, вначале паровых, а позже и внутреннего сгорания и стремительное развитие последних привело к появлению автомобиля в том виде, в котором мы привыкли видеть сейчас.
  • Усложнение конструкции автомобиля повлияло на создание специализированных авторемонтных станций. Неоспоримым фактом является то, что появилась жесткая конкуренция между авторемонтными станциями. Необходимым стало совершенствовать ремонтные технологии. Начали появляться компании, которые предлагали специнструмент, материалы и оборудование.
  • В данной курсовой рассмотрены услуги, предоставляемые на СТО, приведены примеры клиентской базы, разновидности услуг предостовляемых на СТО, отчёт по деталям, которые хронятся на складе, прайс-листы с ценой и номенованием услуг, фамилиями мастеров — приемщиков принимающих автомабили на приём и автослесарей, производящих работу.

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

В приложении должны быть реализованы следующие функции:

  • вывод содержимого базы данных;
  • добавление записей в базу данных;
  • редактирование записей в базе данных;
  • удаление записей из базы данных;
  • поиск записей в базе данных.

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

21 стр., 10068 слов

База данных «Грузоперевозки»

... заказ. 2. Оказание качественной работы по перевозки груза. 3. Загрузка и разгрузка. В данной курсовой работе рассматривается задачи, выполняемые ... с заказом Такое представление повышает удобство использование базы данных, в данном случае ввод информации сведется к выбору ... области. Постановка задачи Грузоперевозки - одна из нужных услуг в повседневной жизни. Каждый большой бизнес, сфера деятельности ...

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

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.

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

Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

Основные функции СУБД:

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

C# (произносится си шарп) — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework.

C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др.

6 стр., 2602 слов

Разработка шаблона товарно-транспортной накладной средствами Microsoft Excel

... создания шаблона товарно-транспортной накладной. 1. Предметная область автоматизации 1.1 Описание предметной области и функции решаемой задачи Ввод информации на рабочий лист. Данные в программе ... Знакомство со справочными системами Microsoft Windows и Microsoft Excel. 2. Постановка задачи 2.1 Сущность задачи Для оформления товарно-транспортной накладной необходимо обязательно заполнить реквизиты ...

4. Функциональное моделирование

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

Для работы программы требуется PC совместимый компьютер и компилятор MS Visual C# 2008. При использовании иного сочетания характеристик системы, на которой будет использоваться программа, возможны некоторые расхождения с результатами работы.

Спроектируем варианты использования приложения, а также его структуру (рисунок 3.1-3.2)

Рисунок 3.1 — Функциональное моделирование программного приложения

Рисунок 3.2 — Функциональное моделирование программного приложения

Алгоритм взаимодействия пользователя с программой описан в Приложении A.

5. Информационное моделирование

Для хранения информации используется MS SQL база данных ServiceStation, включающая в себя пять таблиц:

Первая таблица Client предназначена для хранения информации о клиентах автосервиса. Включает в себя следующие столбцы:

  • Fam (тип nvarchar(50), not null);
  • Name (тип nvarchar(50), not null);
  • Ochestvo (тип nvarchar(50), not null);
  • Marka (тип nvarchar(50), not null);
  • Number (тип nvarchar(50), not null, первичный ключ, идентификатор);
  • Вторая таблица Work предназначена для хранения информации об выполненных работах. Включает в себя следующие столбцы:
  • Work (тип nvarchar(50), not null);
  • Detali (тип nvarchar(50), not null);
  • Worker (тип nvarchar(50), not null);
  • Number (тип nvarchar(50), not null, первичный ключ, идентификатор).

  • Price (тип int, not null).

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

  • ID (тип int, not null, первичный ключ, идентификатор);
  • Login (nvarchar(100) ), Allow null value);
  • Password (nvarchar(100) ), Allow null value);
  • Access (тип int, not null , Allow null value);
  • Четвёртая таблица pricelist предназначена для хранения информации об услугах, которые выполняет автосервис, о деталях, времени выполнения работ, фамилии автослесаря и цене услуги.

Включает в себя следующие столбцы:

  • Work (тип nvarchar(50), not null);
  • Detali (тип nvarchar(50), not null, первичный ключ, идентификатор);
  • TimeWork (тип time(7), not null);
  • AvtoMechanic (тип nvarchar(50), not null);
  • Price (тип int, not null);
  • Пятая таблица warehouse предназначена для хранения информации о деталях, фирме-производителе детеалей, цене на детали для фирмы производящей работы, а также о том, есть ли в наличии детали.

Включает в себя следующие столбцы:

  • Detali (тип nvarchar(50), not null, первичный ключ, идентификатор);
  • Manufacturer (тип nvarchar(50), not null);
  • CompanyPrice (тип int, not null);
  • ClientPrice (тип int, not null);
  • AvailableInWarehouse (тип nvarchar(50), not null);
  • Сервер баз данных Microsoft SQL Server в качестве языка запросов использует версию языка SQL.

В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework).

Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.

В таблицах выберем первичные ключи и индексированные поля. Так же для поля определим его основные характеристики — является ли это поле внешним или первичным ключом, создан ли индекс по этому полю, задано ли для поля значение по умолчанию, какие ограничения заданы для данного поля. Вся информация об палях представлена в таблице 1, связи между таблицами базы данных представтена на рисунок 4.1.

Таблица 1 — Описание данных:

Название таблицы

Имя поля

Тип данных

Размер поля

Первичный ключ / вторичный ключ / индексированное поле

Client

Number

Nvarchar

50

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

Fam

Nvarchar

50

NOT NULL

Name

Nvarchar

50

NOT NULL

Ochestvo

Nvarchar

50

NOT NULL

Marka

Nvarchar

50

NOT NULL

Work

Number

Nvarchar

50

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

Work

Nvarchar

50

NOT NULL

Detali

Nvarchar

50

NOT NULL

Worker

Nvarchar

50

NOT NULL

Price

Integer

50

NOT NULL

Workers

ID

Integer

50

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

Login

Nvarchar

100

NOT NULL

Password

Nvarchar

100

NOT NULL

Access

Integer

50

NOT NULL

priceList

Detali

Nvarchar

50

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

Work

Nvarchar

50

NOT NULL

TimeWork

DateTime

NOT NULL

AvtoMechanic

Nvarchar

50

NOT NULL

Price

Integer

50

NOT NULL

warehouse

Detali

Nvarchar

50

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

Manufacturer

Nvarchar

50

NOT NULL

CompanyPrice

Integer

50

NOT NULL

ClientPrice

Integer

50

NOT NULL

AvailableInWarehouse

Nvarchar

50

NOT NULL

рисунок 4.1 — связи таблиц базы данных

автосервис программирование интерфейс информация

6. Проектирование и программирование интерфейсов системы

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

Рисунок 5.1 — Пользовательский интерфейс

Программный код, реализующий вышеописанные функции на языке С# представлен в Приложении 2.

7. Описание руководства пользователя

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

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

Рисунок 6.1 — Интерфейс программы, реализованный в уровне доступа админ

В данной программе возможны следующие виды действий, приведённых ниже с пояснением к каждому из них:

1. Просмотреть все записи базы данных автосервиса:

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

Рисунок 6.2 — Интерфейс программы, реализованный в уровне доступа пользователь

Рисунок 6.3 — Интерфейс программы, реализованный в при неправильном вводе пароля

Рисунок 6.4 — Просмотреть все записи базы данных автосервиса

2. Просмотреть всех клиентов:

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

Рисунок 6.5 — Просмотреть всех клиентов

3. Просмотреть список текущих работ:

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

Рисунок 6.6 — Просмотреть список текущих работ

4. Просмотреть список возможных работ:

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

Рисунок 6.7 — Просмотреть список возможных работ

5. Просмотреть наличие деталей на складе:

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

Рисунок 6.8 — Просмотреть наличие деталей на складе

6. Добавить клиента:

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

Рисунок 6.9 — Добавить клиента

7. Ввести выполненные работы:

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

Рисунок 7.0 — Ввести выполненные работы

8. Изменить данные клиента:

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

Рисунок 7.1 — Изменить данные клиента

9. Изменить выбранный тип работы

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

Рисунок 7.2 — Изменить выбранный тип работы

10. Удаление клиента:

Для удаления клиента необходимо ввести фамилию клиента и нажать enter после чего информация о клиенте будет удалена(рисунок 7.3).

Рисунок 7.3 — Удаление клиента

11. Удаление работы:

Для удаления работы необходимо ввести регистрационный номер автомобиля поступившего в ремонт и нажать enter после чего информация о работе будет удалена (рисунок 7.4).

Рисунок 7.4 — Удаление работы

12. Поиск по номеру машины

Для поиска по номеру необходимо ввести регистрационный номер автомобиля поступившего в ремонт и нажать enter после чего будет выведена информация о клиенте (рисунок 7.5).

Рисунок 7.5 — Поиск по номеру машины

13. Поиск по фамилии мастера

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

Рисунок 7.6 — Поиск по фамилии мастера

14. Выход.

7.2 Системные требования

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

Минимальные системные требования для компьютера:

1) Процессор Intel Pentium 2.16 GHz;

2) Оперативная память 1024 Mb;

3) Операционная система Windows Server 2003/Server 2008/XP/Vista/7.

7.3 Работа программы

Для открытия приложения необходимо запустить файл Автосервис.exe. При входе в программу предлагается ввести логин и пороли для идентификации пользователя. Существуют три уровня доступа в программу: админ — расширенный интерфейс, позволяющий осуществлять все заложенные функции программы (рисунок 6.1), такие как:

1. Просмотреть все записи базы данных автосервиса

2. Просмотреть всех клиентов

3. Просмотреть список текущих работ

4. Просмотреть список возможных работ

5. Просмотреть наличие деталей на складе

6. Добавить клиента

7. Ввести выполненные работы

8. Изменить данные клиента

9. Изменить выбранный тип работы

10. Удаление клиента

11. Удаление работы

12. Поиск по номеру машины

13. Поиск по фамилии мастера

14. Выход;

  • Пользователь упрощённый интерфейс, позволяющий осуществлять только пользовательские функции программы (рисунок 6.2), такие как:

1. Просмотреть все записи базы данных автосервиса

2. Просмотреть всех клиентов

3. Просмотреть список текущих работ

4. Просмотреть список возможных работ

12. Поиск по номеру машины

13. Поиск по фамилии мастера

14. Выход;

  • При неверном вводе логина и пароля программа требует в ввести логин и пароль заново, до тех пор, пока не будет введён правильный пароль (рисунок 6.3).

7.4 Сообщения пользователю

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

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

2) «Неверно! Введите соответствующую действию цифру!». Возникает, если пользователь пытается воспользоваться функцией, которой в меню не существует.

3) «Не удалось подключиться к серверу». Возникает при отсутствии соединения с сервером базы данных.

4) «Введите правильные данные!». Возникает при вводе некорректных данных.

8. Тестирование системы и описание полученных результатов

Аварийное изменение конфигураций сервера

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

Проведём тестирование с аварийным изменением конфигураций сервера (рисунок 8.1):

Рисунок 8.1 — Аварийное изменение конфигураций сервера

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

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

Тестирование стабильности или надежности.

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

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

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

Рисунок 8.2 — Рабочее окно программы

Программа прошла тестирование и полностью работоспособна. Уязвимостей не обнаружено.

Заключение

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

  • формализация задачи;
  • сбор необходимых исходных данных;
  • разработка и отладка программного продукта.

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

Разработанное приложение выполняет следующие операции:

  • вывод содержимого базы данных;
  • добавление записей в базу данных;
  • редактирование записей в базе данных;
  • удаление записей из базы данных;
  • поиск записей в базе данных.

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

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