- •Содержание
- •Введение
- •Описание предметной области
- •Общие сведения о предметной области
- •Анализ грузоперевозочных компаний
- •Перечень задач, решаемых в предметной области
- •Описание данных, необходимых для решения задач
- •Модель бизнес-процессов
- •Проектирование базы данных
- •Проектирование реляционных таблиц
- •Определение логических связей между таблицами
- •Концептуальная модель данных
- •Физическое проектирование элементов аис
- •Описание среды разработки Clarion
- •Разработка элементов аис в среде Clarion
- •Описание элементов интерфейса разработанной программы
- •Описание комплекса технических и программных средств
- •Технико-экономическое обоснование проекта
- •Трудоемкость разработки элементов аис
- •Расчет затрат на разработку элементов аис
- •Определение возможной цены элементов аис
- •Заключение
- •Список литературы
Описание данных, необходимых для решения задач
Данные для реализации функции «Обработка заказов»:
сведения о клиенте;
сведения о водителе;
сведения об автомобиле;
название груза;
характеристики груза:
длина (в метрах);
ширина (в метрах);
высота (в метрах);
объём (в кубических метрах);
вес груза (в килограммах);
тип обслуживания (погрузка, разгрузка);
адрес отправления;
адрес назначения;
расстояние (в километрах);
стоимость заказа (в рублях);
дата оформления заказа;
дата выполнения заказа;
статус заказа (ожидает / выполнен).
Данные для реализации функции «Учёт сведений о клиентах»:
вид лица (физическое / юридическое);
фамилия, имя, отчество (для физических лиц);
название организации (для юридических лиц);
телефон;
адрес.
Данные для реализации функции «Учёт сведений о водителях»:
фамилия;
имя;
отчество;
дата рождения;
телефон;
категория водительских прав;
дата начала стажа;
дата приёма на работу;
количество ДТП;
ставка заработной платы (в рублях);
фотография водителя.
Данные для реализации функции «Учёт транспортных средств»:
марка автомобиля;
модель автомобиля;
размеры грузового отсека:
длина (в метрах);
ширина (в метрах);
высота (в метрах);
объём (в кубических метрах);
грузоподъёмность (в килограммах);
пробег (в километрах);
пробег с грузом (в километрах);
дата выпуска;
дата последнего технического осмотра;
количество ремонтов;
количество ДТП;
тип топлива (бензин, дизельное топливо, газ);
номер автомобиля.
Модель бизнес-процессов
Рис. 1. Деятельность компании на контекстной диаграмме IDEF0
Рис. 2. Декомпозиция контекстной диаграммы IDEF0
Рис. 3. Процесс оформления заказа на диаграмме потоков данных DFD
Рис. 4. Описание функций управления автомобилем на диаграмме IDEF3
Проектирование базы данных
Проектирование реляционных таблиц
Первым этапом проектирования базы данных является проектирование реляционных таблиц под конкретную систему управления базами данных (СУБД). В этом дипломном проекте в качестве СУБД будут использоваться встроенные средства среды разработки Clarion.
Проектирование таблиц включает в себя описание полей, их имен, типов данных, ограничений на значения и форматов представления данных.
Типы данных, используемые в Clarion:
BYTE – целое число без знака длиной в один байт;
SHORT – целое число со знаком длиной в два байта;
USHORT – целое число без знака длиной в два байта;
LONG – целое число со знаком длиной четыре байта;
ULONG – целое число без знака длиной четыре байта;
SIGNED –целое число со знаком длиной четыре байта (Win API);
UNSIGNED – целое число без знака длиной четыре байта (Win API);
SREAL – число с плавающей точкой длиной четыре байта со знаком;
REAL – число с плавающей точкой длиной восемь байт со знаком;
BFLOAT4 – число с плавающей точкой длиной четыре байта со знаком;
BFLOAT8 – число с плавающей точкой длиной восемь байт со знаком;
DECIMAL – упакованное десятич. число переменной длины со знаком;
STRING – строка фиксированной длины;
DATE – дата длиной четыре байта;
TIME – переменная для времени длиной четыре байта.
Шаблоны представления значений в Clarion
Шаблоны обеспечивают заданный формат представления значений отображаемых и редактируемых переменных. Существует семь типов шаблонов:
числовые и денежные;
научной записи чисел;
строковые шаблоны;
даты;
времени;
шаблоны пользователя;
шаблоны редактирования вводимых строк.
Ниже представлены основные шаблоны, используемые в проекте:
@N – числовые и денежные шаблоны;
@S – строковые шаблоны;
@D – шаблоны дат.
После буквы шаблона следует число, задающее количество отображаемых на экране символов. Например, шаблон @N6 выведет на экран шестизначное целое число, а шаблон @N5.2 выведет на экран число, длиной пять символов, из которых первые два отводятся на целую часть числа, один на точку и еще два на дробную часть. Шаблон @S200 используется для вывода на экран строки длиной в 200 символов. Для отображения денежных значений, например, стоимости заказа, используется шаблон @N9~ р.~. Он позволяет вывести на экран 9 символов, из которых шесть отводится на число, один на пробел и еще два на символ валюты и точку после него.
Далее представлены таблицы атрибутов данных для задач АИС.
Таблица 3. Атрибуты данных для задачи «Обработка заказов»
Содержание |
Имя поля |
Тип |
Ограничение |
Формат |
Комментарий |
ID заказа |
IDzakaz |
USHORT |
>0 |
@N6 |
Число |
ID клиента |
IDklnt |
USHORT |
>0 |
@N6 |
Число |
ID водителя |
IDvod |
USHORT |
>0 |
@N6 |
Число |
ID автомобиля |
IDavto |
USHORT |
>0 |
@N6 |
Число |
Название груза |
Gruz |
STRING |
<=200 |
@S200 |
Строка |
Статус заказа |
Status |
BYTE |
0, 1 |
@N1 |
Вып./Ожидает |
Дата оформления |
DtOfor |
DATE |
|
@D17 |
ДД.ММ.ГГГГ |
Дата выполнения |
DatVyp |
DATE |
|
@D17 |
ДД.ММ.ГГГГ |
Адрес отправления |
AdrOtp |
STRING |
200 |
@S200 |
Строка |
Адрес назначения |
AdrNaz |
STRING |
200 |
@S200 |
Строка |
Расстояние |
Rasstn |
USHORT |
>0 |
@N6 |
Число |
Длина груза |
Dlina |
REAL |
>=0 & <=20 |
@N5`2 |
В метрах |
Ширина груза |
Shirna |
REAL |
>=0 & <=10 |
@N5`2 |
В метрах |
Высота груза |
Visota |
REAL |
>=0 & <=10 |
@N5`2 |
В метрах |
Объём груза |
Objem |
REAL |
|
@N6`2 |
В куб. метрах |
Вес груза |
Massa |
REAL |
|
@N6 |
В килограммах |
Погрузка |
Pogruz |
BYTE |
0, 1 |
@N1 |
Да / Нет |
Разгрузка |
Razgrz |
BYTE |
0, 1 |
@N1 |
Да / Нет |
Стоимость |
Stoim |
USHORT |
|
@N9~ р.~ |
В рублях |
Таблица 4. Ключи данных для задачи «Обработка заказов»
Содержание |
Имя |
Тип |
Атрибуты |
Поля |
Комментарий |
ID заказа |
K1 |
Row Key |
Уникальный, Первичный, Счетчик, Искл. пустые |
IDzakaz |
Первичный ключ |
ID клиента |
K2klnt |
Row Key |
Искл. пустые |
IDklnt |
Внешние ключи для связи с другими таблицами |
ID водителя |
K3vod |
Row Key |
Искл. пустые |
IDvod |
|
ID авто |
K4avto |
Row Key |
Искл. пустые |
IDavto |
|
Дата выполнения |
DatVypKey |
Row Key |
Искл. пустые |
DatVyp |
Ключ для сортировки заказов |
Таблица 5. Атрибуты данных для задачи «Учёт сведений о клиентах»
Содержание |
Имя |
Тип |
Ограничения |
Формат |
Комментарий |
ID клиента |
IDklnt |
USHORT |
>0 |
@N6 |
Число |
Фамилия клиента |
Famil |
STRING |
|
@S20 |
Строка |
Имя |
Name |
STRING |
|
@S20 |
Строка |
Отчество |
Ochest |
STRING |
|
@S20 |
Строка |
Телефон |
Telefn |
STRING |
|
@S15 |
Строка |
Вид лица |
VidLic |
STRING |
Физ, Юр |
@S3 |
Строка |
Адрес клиента |
Adres |
STRING |
|
@S200 |
Строка |
Таблица 6. Ключи данных для задачи «Учёт сведений о клиентах»
Содержание |
Имя |
Тип |
Атрибуты |
Поля |
Комментарий |
ID клиента |
K1 |
Row Key |
Уникальный, Первичный, Счетчик, Искл. пустые |
IDklnt |
Первичный ключ |
Фамилия клиента |
Fam |
Row Key |
Искл. пустые |
Famil |
Для сортировки |
Вид лица клиента |
VidLicaKey |
Row Key |
Искл. пустые |
VidLic |
Для фильтрации и сортировки |
Таблица 7. Атрибуты данных для задачи «Учёт сведений о водителях»
Содержание |
Имя |
Тип |
Ограничения |
Формат |
Комментарий |
ID водителя |
IDvod |
USHORT |
>0 |
@N6 |
Число |
Фамилия |
Famil |
STRING |
|
@S20 |
Строка |
Имя |
Name |
STRING |
|
@S15 |
Строка |
Отчество |
Ochest |
STRING |
|
@S20 |
Строка |
Дата рождения |
DatRoj |
ULONG |
|
@D6. |
ДД.ММ.ГГГГ |
Телефон |
Telefn |
STRING |
|
@S15 |
Строка |
Категория прав |
KatPrv |
STRING |
|
@S2 |
Строка |
Дата найма |
DatNai |
DATE |
|
@D17 |
ДД.ММ.ГГГГ |
Дата начала стажа вождения |
DtStaj |
DATE |
|
@D17 |
ДД.ММ.ГГГГ |
Кол-во ДТП |
DTP |
BYTE |
|
@N3 |
Число |
Ставка ЗП |
Stavka |
REAL |
|
@N10.2 |
Число |
Фотография |
Foto |
BLOB |
|
|
Изображение |
Таблица 8. Ключи данных для задачи «Учёт сведений о водителях»
Содержание |
Имя |
Тип |
Атрибуты |
Поля |
Комментарий |
ID водителя |
K1 |
Row Key |
Уникальный, Первичный, Счетчик, Искл. пустые |
IDvod |
Первичный ключ |
Таблица 9. Атрибуты данных для задачи «Учёт транспортных средств»
Содержание |
Имя |
Тип |
Огр. |
Формат |
Комментарий |
ID автомобиля |
IDavto |
USHORT |
>0 |
@N6 |
Число |
Марка |
Marka |
STRING |
|
@S50 |
Строка |
Модель |
Model |
STRING |
|
@S30 |
Строка |
Длина груза, макс. |
Dlina |
REAL |
|
@N5`2 |
В метрах |
Ширина груза, макс. |
Shrna |
REAL |
|
@N5`2 |
В метрах |
Высота груза, макс. |
Visota |
REAL |
|
@N5`2 |
В метрах |
Объём груза, макс. |
Objem |
REAL |
|
@N6`2 |
В куб. метрах |
Грузоподъемность |
Massa |
REAL |
|
@N5`2 |
В килограммах |
Пробег |
Probeg |
USHORT |
|
@N6 |
В километрах |
Пробег с грузом |
GrProb |
USHORT |
|
@N6 |
В километрах |
Дата выпуска |
DateVp |
ULONG |
|
@D6. |
ДД.ММ.ГГГГ |
Дата последнего ТО |
DateTO |
ULONG |
|
@D6. |
ДД.ММ.ГГГГ |
Кол-во ремонтов |
Remont |
BYTE |
|
@N3 |
Число |
Количество ДТП |
DTP |
BYTE |
|
@N3 |
Число |
ID топлива |
IDtopl |
BYTE |
|
@N1 |
Число |
Номер |
Nomer |
STRING |
|
@S10 |
Строка |
Таблица 10. Ключи данных для задачи «Учёт транспортных средств»
Содержание |
Имя |
Тип |
Атрибуты |
Поля |
Комментарий |
ID автомобиля |
K1 |
Row Key |
Уникальный, Первичный, Счетчик, Искл. пустые |
IDavto |
Первичный ключ |
ID топлива |
K2topl |
Row Key |
Искл. пустые |
IDtopl |
Внешний ключ для связи с таблицей «Виды топлива» |
Таблица 11. Атрибутов данных для задачи «Учёт видов топлива»
Содержание |
Имя |
Тип |
Ограничения |
Формат |
Комментарий |
ID топлива |
IDtopl |
BYTE |
>0 |
@N1 |
Число |
Название топлива |
NazTop |
STRING |
|
@S10 |
Строка |
Таблица 12. Ключи данных для задачи «Учёт видов топлива»
Содержание |
Имя |
Тип |
Атрибуты |
Поля |
Комментарий |
ID топлива |
K1 |
Row Key |
Уникальный, Первичный, Счетчик, Искл. пустые |
IDtopl |
Первичный ключ, для связи с таблицей «Автомобили» |
