Файл: "Технология клиент-сервер".pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.06.2023

Просмотров: 40

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В Delphi была реализована возможность работы с технологией ADO через компоненты. Это позволяет быстро создавать системы управления базами данных любой сложности.

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

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

Компоненты доступа к данным ADO могут использовать два варианта подключения к хранилищу данных. Это стандартный метод ADO и стандартный метод Delphi.

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

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

Проектирование ИС учёта штрафов ГИБДД

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

Предметной областью данной разработки является учёт штрафов ГИБДД. От системы учёта штрафов потребуются следующие функции:

  • учёт автотранспорта;
  • учёт владельцев;
  • ведение ПТС;
  • учёт полицейских;
  • ведение штрафов.

Потребуется хранить следующие данные:

  • информацию о автотранспорте;
  • информацию о владельце;
  • информацию о ПТС;
  • информацию о полицейских;
  • информацию о выписанных штрафах.

К информации об автомобилях относится:

  • номер;
  • модель;
  • марка;
  • тип кузова;
  • категория ТС;
  • цвет;
  • год выпуска.

Информация о владельце:

  • Ф.И.О.;
  • дата рождения;
  • пол;
  • паспортные данные;
  • права;
  • адрес;
  • отметка о попадании в «чёрный список».

Информация о полицейском:

  • Ф.И.О.;
  • дата рождения;
  • пол;
  • личный номер;
  • звание;
  • должность;
  • подразделение.

ПТС:

  • владелец;
  • транспортное средство;
  • дата регистрации;
  • отметка о снятии с учёта.

Штраф:

  • информация о владельце и автотранспорте;
  • информация о нарушении;
  • дата выписки;
  • информация о полицейском, выписавшим штраф;
  • сумма штрафа;
  • отметка об оплате;
  • отметка об аннулировании штрафа.

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

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

  • марка;
  • модель;
  • категория транспортного средства;
  • цвет транспортного средства;
  • тип кузова;
  • звание;
  • должность;
  • подразделение;
  • нарушение.

Система должна позволять составлять списки штрафов:

  • штрафы по владельцу;
  • штрафы по номеру транспортного средства;
  • все неоплаченные штрафы на данный момент.

Модель работы ИС учёта штрафов ГИБДД

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

Рис.2.1. Контекстная модель верхнего уровня

Входящие потоки:

  • информация об участниках;
  • информация о ТС;
  • информация о нарушениях.

Выходящие потоки:

  • карта ТС;
  • карта владельца;
  • карта полицейского;
  • ПТС;
  • список всех неоплаченных штрафов;
  • список неоплаченных штрафов по владельцу;
  • список неоплаченных штрафов по номеру транспортного средства.

Управляющие потоки:

  • ПДД;
  • суммы штрафов.

Ресурсы:

  • ИС учёта штрафов ГИБДД;
  • инспектор.

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

  • учёт ТС и владельцев;
  • учёт полицейских;
  • ведение штрафов;
  • формирование списков.

Рис 2.2. Декомпозиция контекстной диаграммы верхнего уровня

Рассмотрим подробнее процесс учёта ТС и владельцев, он включает в себя:

  • учёт ТС;
  • учёт владельцев;
  • формирование ПТС.

Рис. 2.3. Декомпозиция процесса учёта ТС и владельцев


Каталог базы данных

База данных ИС учёта штрафов ГИББ включает следующие таблицы:

  • владелец;
  • автомобиль;
  • ПТС;
  • полицейский;
  • штраф;
  • марка;
  • модель;
  • категорияТС;
  • кузов;
  • цвет;
  • звание;
  • должность;
  • подразделение;
  • нарушение;
  • пользователь.

В таблицах 2.1 – 2.15 представлено описание таблиц БД.

Таблица 2.1

Владелец

Поле

Тип

Ограничение

Код

int

PK

ФИО

varchar

50, not null

ДР

Datetime

Пол

char

1

Паспорт

Varchar

70, not null

Права

Varchar

50

Адрес

Varchar

100

ЧС

bit

Таблица 2.2

Автомобиль

Поле

Тип

Ограничение

Код

int

PK

Номер

Varchar

10, not null

Марка

Int

FK

Модель

Int

FK

КатегорияТС

Int

FK

Кузов

Int

FK

Цвет

Int

FK

ГодВыпуска

Int

Таблица 2.3

ПТС

Поле

Тип

Ограничение

Код

Int

PK

Автомобиль

Int

FK, not nulle

Владелец

Int

FK, not null

Зарегистрирован

Datetime

Снят

bit

Таблица 2.4

Полицейский

Поле

Тип

Ограничение

Код

int

PK

ФИО

Varchar

50, not null

ДР

Datetime

Пол

Char

1

Номер

Varchar

10, not null

Звание

Int

FK

Должность

Int

FK

Подразделение

Int

FK

Таблица 2.5

Штраф

Поле

Тип

Ограничение

Код

Int

PK

ПТС

Int

FK, not null

Полицейский

Int

FK

Выписан

Datetime

Not null

Нарушение

Int

FK, not null

Сумма

Money

Not null

Оплачен

bit

Аннулирован

bit


Таблица 2.6

Нарушение

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Сумма

money

Таблица 2.7

Марка

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Таблица 2.8

Модель

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Марка

int

FK, not null

Таблица 2.9

Кузов

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Таблица 2.10

КатегорияТС

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Таблица 2.11

Цвет

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Таблица 2.12

Звание

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Таблица 2.13

Должность

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Таблица 2.14

Подразделение

Поле

Тип

Ограничение

Код

int

PK

Название

varchar

50, not null

Таблица 2.15

Владелец

Поле

Тип

Ограничение

Код

int

PK

Имя

Varchar

20

Пароль

Varchar

15

Инспектор

Bit

Администратор

bit


На рисунке 2.4 представлена схема данных.

Рис. 2.4. Схема данных

Разработка ИС учёта штрафов ГИБДД

Общие сведения (сценарий диалога и дерево функций)

Рассмотрим сценарий диалога проектируемой ИС учёта штрафов ГИБДД – рисунок 3.1.

Рис. 3.1. Сценарий диалога ИС учёта штрафов

Главное меню содержит следующие пункты:

Основное:

  • Автотранспорт;
  • Владельцы;
  • Полицейские;
  • Проверка штрафов.

Справочники:

  • Марка и модель;
  • Цвет;
  • Категория ТС;
  • Тип кузова;
  • Звание;
  • Должность;
  • Подразделение.

Настройка:

  • Подключение к БД;
  • Пользователи.

Построим дерево функций ИС учёта штрафов ГИБДД – рисунок 3.2.

Рис. 3.2. Дерево функций ИС учёта штрафов ГИБДД

Основные функции:

  • учёт автотранспорта;
  • учёт владельцев;
  • учёт полицейских;
  • ведение ПТС;
  • ведение штрафов.

Служебные функции:

  • ведение справочников;
  • настройка подключения к БД;
  • проверка штрафов;
  • проверка прав пользователя.

Разработка запросов к базе данных

Для формирования списков:

  • список неоплаченных штрафов по владельцу;
  • список неоплаченных штрафов по номеру автотранспорта;
  • список всех неоплаченных штрафов.

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

«Select

Штраф.Код

,Владелец.ФИО AS [Владелец]

,Автомобиль.Номер+' '+Марка.Название+' '+Модель.Название AS [Автомобиль]

,Полицейский.ФИО AS [Выписал]

,Нарушение.Название AS [Нарушение]

,Штраф.Выписан AS [Дата выписки]

,Штраф.Сумма AS [Сумма]

FROM Штраф

INNER JOIN ПТС ON ПТС.Код=Штраф.ПТС

INNER JOIN Владелец ON Владелец.Код=ПТС.Владелец

INNER JOIN Автомобиль ON Автомобиль.Код=ПТС.Автомобиль

INNER JOIN Марка ON Марка.Код=Автомобиль.Марка

INNER JOIN Модель ON Модель.Код=Автомобиль.Модель

INNER JOIN Полицейский ON Полицейский.Код=Штраф.Полицейский

INNER JOIN Нарушение ON Нарушение.Код=Штраф.Нарушение

WHERE (ISNULL(Штраф.Аннулирован,0)=0) AND (ISNULL(Штраф.Оплачен,0)=0) AND (Владелец.ФИО LIKE '')».

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