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

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

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

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

Добавлен: 25.06.2023

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

Скачиваний: 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 '')».

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

«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)».

Была разработана хранимая процедура для проверки штрафов по следующему принципу: штраф не оплачен более 2 месяцев, владелец транспортного средства попадает в чёрный список; штрафу более 3 лет, он аннулируется. Код процедуры представлен ниже:

«CREATE PROCEDURE [dbo].[PR_CHECK_PAY]

AS

BEGIN

DECLARE @dt datetime

SET @dt = GETDATE()

UPDATE Штраф

SET Аннулирован = 1

WHERE DateDiff(YY,Выписан,@dt)>=3 AND (ISNULL(Оплачен,0)=0)

UPDATE Владелец

SET Владелец.ЧС = (CASE WHEN (isNULL(Штраф.Оплачен,0)=0) AND (isNULL(Штраф.Аннулирован,0)=0) AND (DateDiff(MM,Выписан,@dt)>=2) THEN 1 ELSE 0 END)

FROM Владелец

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

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

END».

Структура ИС

Рассмотрим структуру ИС учёта штрафов ГИБДД. На рисунке 3.3 представлена схема взаимодействия программных модулей системы.

Рис. 3.3. Структура программных модулей

Система состоит из 10 программных модулей, описание которых представлено в таблице 3.1.

Таблица 3.1

Описание программных модулей

Модуль

Описание

uLogin

Авторизация в системе

uMain

Главный модуль, для ведения списков штрафов, пример кода приведён в приложении

uOwner

Модуль обработки карт владельцев

uPTS

Модуль обработки ПТС

uAuto

Модуль обработки карт автотранспорта

uPoliceman

Модуль обработки карт полицейских

uMarkModel

Модуль обработки справочника марок и списка моделей

uModel

Модуль обработки справочника моделей

uFine

Модуль обработки штрафа

uLibrary

Модуль ведения справочной информации

uDM

Модуль доступа к данным


Пример работы ИС

Разработанная система позволяет работать в многопользовательском режиме с разными профилями пользователей.

Рассмотрим работу инспектора в ИС. Работа в ИС учёта штрафов ГИБДД начинается с главного окна, пример которого представлен на рисунке 3.4. При выборе типа поиска данных появляются поля для ввода данных поиска: ФИО владельца или номер автотранспорта (рис. 3.5).

Рис. 3.4. Главное окно

Рис. 3.5. Смена типа поиска

Для редактирования карт автотранспорта требуется в главном меню выбрать пункт «Основное» - «Автотранспорт». Откроется окно, изображённое на рисунке 3.6.

Рис. 3.6. Окно «Автотранспорт»

Для редактирования карт владельцев требуется в главном меню выбрать пункт «Основное» - «Владелец». Откроется окно, изображённое на рисунке 3.7.

Рис. 3.7. Окно «Владельцы»

Для редактирования ПТС нужно вызвать контекстное меню таблицы ПТС и выбрать соответствующий пункт – рисунок 3.8.

Рис. 3.8. Окно «ПТС»

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

Рис. 3.9. Окно «Полицейские»

Для редактирования справочников требуется выбрать пункт меню «Справочники» и выбрать требуемый тип справочника, пример редактирования справочника «Модели и марки» представлен на рисунке 3.10.

Рис. 3.10. Окно справочника «Марки и модели»

Для добавления штрафа требуется в главном окне вызвать контекстное меню таблицы и выбрать пункт «Добавить». Появится окно, представленное на рисунке 3.11.

Рис. 3.11. Окно «Штраф»

Пункт меню «Основное» - «Проверка штрафов» - проверяем штрафы по датам: если штраф не оплачен более 2 месяцев, то владелец попадает в чёрный список. Если штрафу уже 3 года, то он аннулируется.

Заключение

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

Во второй главе была произведена постановка задачи, описаны функции системы учёта штрафов ГИБДД: