3.1 Описание программного обеспечения, разработанного в архитектуре "клиент – сервер"
Моделируемое программное обеспечение предполагает работу с двумя клиентами: кассиром-оператором и начальником почтового отделения, которые пользуются одними данными, но выполняют различные виды работ с этими данными. Поэтому было разработано два приложения "Обработать данные для кассира-оператора" и "Обработать данные для начальника".
Работа с базой данных начинается с автоматического открытия главной кнопочной формы. На форме находятся следующие управляющие элементы – кнопки и их подписи. При нажатии на кнопку с помощью мыши раскрывается форма или выполняется некоторый запрос. Для облегчения работы каждая кнопка снабжена всплывающей подсказкой. Для осуществления поиска необходимых данных на главную кнопочную форму выведены кнопки для вызова соответствующих запросов. Для выхода из базы данных предусмотрена кнопка "Выход".
Кнопочная форма клиентского приложения "Обработать данные для начальника почтового отделения" представлена на следующем рисунке 1.
Рисунок 1 - Форма клиентского приложения "Обработать данные для начальника почтового отделения"
Кнопочная форма клиентского приложения "Обработать данные для кассира-оператора" представлена на следующем рисунке 2.
Рисунок 2 - Форма клиентского приложения "Обработать данные для кассира-оператора"
3.2 SQL-определения регламентированных запросов и представлений
На базе описанных выше таблиц для обработки данных и для нахождения требуемой информации были построены следующие запросы.
Для составления списка трёх лучших почтовых отделений был построен запрос с параметрами, который на языке SQL имеет следующий вид:
SELECT DISTINCTROW TOP 3 ВедПодписка.НомерПО, Sum(ВедПодписка.Объём) AS Объём
FROM ВедПодписка
GROUP BY ВедПодписка.НомерПО
ORDER BY Sum(ВедПодписка.Объём) DESC;
Для получения данных об объёме ведомственной подписки по отдельным изданиям был составлен запрос следующего вида:
SELECT DISTINCTROW Издание.НазвИздания, Sum(ВедПодписка.Объём) AS Объём
FROM Издание INNER JOIN ВедПодписка ON Издание.Индекс = ВедПодписка.Индекс
GROUP BY Издание.НазвИздания;
Для получения данных об объёме частной подписки по отдельным изданиям был составлен запрос следующего вида:
SELECT DISTINCTROW Издание.НазвИздания, Count(ЧастПодписка.Индекс) AS Объём
FROM Издание INNER JOIN ЧастПодписка ON Издание.Индекс = ЧастПодписка.Индекс
GROUP BY Издание.НазвИздания;
Для получения данных об объёме подписки по организациям был составлен запрос следующей структуры:
SELECT DISTINCTROW ВедПодписка.Организация, Sum(ВедПодписка.Объём) AS Объём
FROM ВедПодписка
GROUP BY ВедПодписка.Организация;
Для выполнения запроса на получение данных об общем объёме ведомственной подписке и количестве подписных изданий соствлен SQL –запрос следующего вида:
SELECT DISTINCTROW Count([V в_подписки по изданиям]. НазвИздания) AS [Число подписных изданий], Sum([V в_подписки по изданиям].Объём) AS [Объём ведПодписки]
FROM [V в_подписки по изданиям];
4. Исследование операционных характеристик ИСС
4.1 Описание базы данных контрольного примера
Для проведения испытаний созданной ИСС разработан контрольный пример, позволяющий проверить работоспособность и отказоустойчивость последней.
База данных контрольного примера содержит в себе следующие данные, позволяющие протестировать работу всех запросов (рис. 3).
Рисунок 3
4.2 Анализ результатов тестирования ИСС
Набор действий оператора и результаты работы ИСС приведены в таблице.
№ | Действия оператора | Ответ ИСС |
1 | Ввод данных о клиенте с помощью формы "ЧастПодписка" Дата: 23.11.2004 Номер ПО: 2 Фамилия: Иванов С.С. Адрес: Первомайская 45-78 Индекс: 00003 Период: 12 Код: 2 | Записано. |
2 | Запрос на нахождение объёма ведомственной подписки по организациям | Выведена на экран таблица, содержащая сведения о следующих организациях: Горсвет, Дорстрой, МГУ им Кулешова, ОблПочта, Налоговая, Химволокно. |
3 | Запрос на нахождение объёма ведомственной подписки по изданиям | Выведена на экран таблица, содержащая сведения о следующих изданиях: Могилёвская правда, Могилёвские ведомости, Копеечка, Днепровская неделя, Скандинавские кроссворды |
4 | Запрос на получение отчёта об общем объёме ведомственной подписки и количестве подписных изданий | На экран выводится отчёт, содержащий необходимые цифры. |
5 | Ввод данных об организации-клиенте с помощью формы "ВедПодписка": Дата: 15.01.2005 Номер ПО: 1 Индекс: 63926 Организация: Дорстрой Объём: 2 Период: 6 | Записано. |
6 | Запрос на нахождение периодических изданий и объёма подписки физическими лицами | На экран выводится таблица, содержащая общие цифры по изданиям: Днепровская неделя, Скандинавские кроссворды, Могилёвские ведомости, Могилёвская правда. |
7 | Вызов таблицы "Ведподписка" для редактирования данных | Внесены и отражены в таблице изменения в поле "Объём" для записи Химволокно, 12.01.2005 с 6 на 10 шт. |
8 | Получение отчёта о 3-х лучших почтовых отделениях | На экран выводится лист отчёта с номерами 3-х лучших ПО в порядке убывания объёмов подписки :3,1,2. |
В результате проведенного тестирования разработанная ИСС показала себя как вполне надежная программа, выполняющая все заявленные в описании задачи.
Заключение
Разработанное программное обеспечение позволяет упростить документирование подписной кампании и проводить текущий анализ. Данная программа обладает всеми необходимыми компонентами для выполнения любых задач связанных с поиском и обработкой информации, удобным графическим интерфейсом, средствами для форматированного вывода информации на печать
Данное программное обеспечение разработано в архитектуре "клиент-сервер" на языке SQL.
Возможно дальнейшее совершенствование созданного программного обеспечения.
Список использованных литературных источников
1. Ляхович В.Ф. Основы информатики. - Ростов н/Д: изд-во "Феникс", 2000. - 608 с.
2. Тихомиров Ю.В. Microsoft SQL Server 7.0: Разработка приложений. – СПб.: БХВ – Петербург, 2000. – 352 с.
Приложение А
Рис. А.1 - Функциональная диаграмма потоков данных
Приложение Б
Рис. Б1 - ER-диаграмма (физический уровень)