Моделируемое программное обеспечение предполагает работу с четырьмя клиентами-отделами, которые пользуются одними данными, но выполняют различные виды работ с этими данными. Поэтому было разработано приложения «Расчёт стройгенплана».
Работа с базой данных начинается с автоматического открытия главной кнопочной формы «Расчёт стройгенплана». На форме находятся следующие управляющие элементы – кнопки и их подписи. При нажатии на кнопку с помощью мыши раскрывается форма или выполняется некоторый запрос. Для облегчения работы каждая кнопка снабжена всплывающей подсказкой. Для осуществления поиска необходимых данных на главную кнопочную форму выведены кнопки для вызова соответствующих запросов.
Главная кнопочная форма клиентского приложения «Расчёт стройгенплана» представлена на следующем рисунке.
рисунок 2 - Главная форма клиентского приложения «Расчёт стройгенплана».
Для ввода информации служат кнопки «Расчёт временных зданий», «Расчёт склада», «Расчёт водопровода», «Расчёт энергопотребления», расположенная в главной кнопочной форме на сервере, которая открывает кнопочные формы отделов «Временные здания» «Склад», «Водопровод», «Трансформаторная подстанция». Даныеформа представлены на рис. 3,4,5,6.
Рисунок3-Временные здания
Рисунок4-Склад
Рисунок5-Водопровод
Рисунок 6-Трансформаторная подстанция
Главная кнопочная форма клиентского приложения «Проверка расчётов» представлена на следующем рисунке.
рисунок 7 - Главная кнопочная форма клиентского приложения «Контрольной группы».
При проверке данные могут изменятся, сохранятся новые и удалятся. Доступ к данным с сервера к тем же таблицам, что и с клиентских приложений , но здесь они могут изменятся.
3.2 SQL-определения регламентированных запросов и представлений
На базе описанных выше таблиц для обработки данных и для нахождения некоторой информации были построены следующие запросы.
Для определения максимальной мощности был построен запрос с параметрами, который на языке SQL имеет следующий вид:
SELECT dbo_ [трансформаторная подстанция.[наименование подстанции], Max(dbo_трансформаторная подстанция.[мощность подстанции]) AS [Max-мощность подстанции]
FROM dbo_трансформаторная подстанция
GROUP BY dbo_трансформаторная подстанция.[наименование подстанции];
Для определения максимального водоотребления был построен запрос с параметрами, который на языке SQL имеет следующий вид:
SELECT dbo_водопровод.тип, Max(dbo_водопровод.диаметр) AS [Max-диаметр], Max(dbo_расчёт.водопотребление) AS [Max-водопотребление]
FROM расчёт INNER JOIN водопровод ON расчёт.показатель = водопровод.показатель
GROUP BY dbo_водопровод.тип;
Для определения нахождения склада был построен запрос с параметрами, который на языке SQL имеет следующий вид:
SELECT dbo_материалы.[наименование материала], dbo_склад_материалы.объём, dbo_склад.[тип склада], dbo_склад.[площадь склада]
FROM dbo_склад JOIN (dbo_материалы JOIN dbo_склад_материалы ON dbo_материалы.[табельный номер материала] = dbo_склад_материалы.[табельный номер материала]) ON (dbo_склад.[табельный номер склада] = dbo_склад_материалы.[табельный номер склада]) AND (dbo_склад.показатель = dbo_склад_материалы.показатель)
WHERE (((dbo_материалы.[наименование материала])="известь" Or (dbo_материалы.[наименование материала])="цемент"));
Для проверки расчётов был построен запрос с параметрами, который на языке SQL имеет следующий вид:
SELECT dbo_Временные здания.площадь, dbo_склад.[площадь склада], dbo_расчёт.водопотребление, dbo_Временные здания.табельный_ном_врем_зданий, dbo_склад.[табельный номер склада]
FROM dbo_ [Временные здания, dbo_расчёт JOIN склад ON dbo_расчёт.показатель = dbo_склад.показатель
WHERE (((dbo_Временные здания.табельный_ном_врем_зданий)=1) AND ((dbo_склад.[табельный номер склада])=5) AND ((dbo_Временные здания![площадь]+ dbo_склад![площадь склада]<10= dbo_расчёт![водопотребление]=10 & dbo_Временные здания![площадь]+ dbo_склад![площадь склада]>10= dbo_расчёт![водопотребление])=15));
Для определения временных зданий был построен запрос с параметрами, который на языке SQL имеет следующий вид:
SELECT dbo_Временные_расчёт.объект, dbo_Временные здания.размер, dbo_Временные здания.площадь, dbo_Временные_расчёт![коэффициент по объекту]* dbo_расчёт![количество людей]*3 AS Выражение1
FROM dbo_Временные здания JOIN (dbo_расчёт JOIN dbo_Временные_расчёт ON dbo_расчёт.показатель = dbo_Временные_расчёт.показатель) ON dbo_ [Временные здания.табельный_ном_врем_зданий = dbo_Временные_расчёт.табельный_ном_врем_зданий
WHERE(((dbo_Временные здания.площадь)> dbo_Временные_расчёт![коэффициент по объекту]* dbo_расчёт![количество людей]*2));
На сервере:
Для удаления данных был построен запрос на удаление, который на языке SQL имеет следующий вид:
DELETE dbo_материалы.[табельный номер материала], dbo_материалы.[наименование материала], dbo_материалы.[коэффициент по материалу]
FROM dbo_материалы
WHERE (((dbo_материалы.[наименование материала])="фундаменты"));
4. Исследование операционных характеристик ИСС
4.1 Описание базы данных контрольного примера
Для проведения испытаний созданной ИСС разработан контрольный пример, позволяющий проверить работоспособность и отказоустойчивость последней.
База данных контрольного примера содержит в себе следующие данные, позволяющие протестировать работу всех запросов.
4.2 Анализ результатов тестирования ИСС.
Набор действий оператора и результаты работы ИСС приведены в таблице.
№ | Действия оператора | Ответ ИСС |
1 | Ввод данных для временных зданий с помощью формы «Расчёт стройгенплана»: Табельный номер-1 Площадь-37,7 Размер-6,9*6,0*2,6 Шифр проекта-420-04-10 Тип здания-К | Записано. |
2 | Запрос на нахождение трансформаторной подстанции с максимальной мощностью | Выведена на экран таблица, содержащая сведения о наименовании подстанции и её мощности |
3 | Запрос на нахождение максимального водопотребления и по нему диаметр труб | Выведена на экран таблица, содержащая сведения типе трубы, диаметре и водопотреблении |
4 | Запрос на нахождения по виду материала склад | На экран выведена таблица, содержащая сведения об материале, его объёме на складе, тип склада и площадь склада |
5 | Вывод отчёта по временным зданиям | Выведен отчёт |
6 | Проверка соответствия расчётов | Будет обновлено следующее количество записей: 2 |
7 | Запрос на нахождение временных зданий в зависимости от количества человек | На экран выведены списки объектов их размеры и площадь. |
8 | Запрос на удаление записей по материалам. | Удалено |
В результате проведенного тестирования разработанная ИСС показала себя как вполне надежная программа, выполняющая все заявленные в описании задачи.
5. Перечень графического материала
5.1 Функциональные диаграммы первого и второго уровней.
Для временных зданий и сооружений:
Для расчёта складов: