Смекни!
smekni.com

Внедрение автоматизированной системы торговой деятельности для предприятия ЗАО "Полиграфия и коммуникации" (стр. 8 из 12)

Сумма – вычисляет сумму товаров, включенных в поставку. Входные данные: поставка(номер). Выходные данные – сумма товаров в долларах, рублях и евро.

Печать – вызывает диалог выбора отчета и его формата для печати поставки. Входные данные: Шаблон для печати, если *.xls-отчет, то шаблон, если *.frf-отчет. Выходные данные – *.xls или *.rtf файл или печатная форма.

Пункт меню “Склад” – вызывает диалоговое окно для получения представления склада в разрезе товаров или времени.

UML-диаграмма приложения “Склад” представлена на рисунке 12.

Таким образом, абстрактный объект “Склад” представлен совокупностью классов для работы с поставками. Товар, пришедший на склад вне конкретной поставки, заносится в фиктивный объект “Вне поставок”, структура данных которого идентична с обычной поставкой. Однако, свойство этого объекта “Дата прихода” определяет интервал времени, в течении которого он будет рассматриваться как одна поставка, а ссылка на поставщика будет иметь значение для каждого товара. Именно за счет этого можно легко получить точные данные по складу, вне зависимости от способа прихода товара.


Рис.12 UML-диаграмма приложения “Склад”.

Два класса: “Интерфейс” отвечают за пользовательский интерфейс для работы со списком поставок и их содержимым.

2.9 Проектирование приложения “Заказы”

Приложение “Заказы” используется для получения конечного списка товаров и услуг, путем репликации заказов и счетов, а также внесением дополнительных позиций вне их (формирование заказа вручную). Целью его внедрения является получение плана закупок. Это возможно, благодаря механизму анализа состояния склада, который дает оперативную информацию о свободных и зарезервированных товарах. Отметим, что товары, пришедшие на склад, логически с заказами не связаны, так как для организации нет необходимости знать, товар из какой поставки был продан, важен лишь факт продажи единицы товара.

Основной принцип функционирования приложения можно разделить на следующие этапы:

Выбор счетов для генерации заказов

Получение списка товаров, содержащихся в счетах

Проверка склада на наличие каждого из товаров с учетом зарезервированных по счетам. Если товаров нет или меньше чем требуется, то добавление необходимого количества товаров в список для поставки.

Формирование плана закупок, то есть разбиение списка товаров по поставщикам.

Редактирование плана закупок, внесение недостающих товаров (с пометкой “Вне счетов”).

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

Внешний вид главной формы приложения показан на рисунке 13.

Основные функции приложения “Заказы”:

Добавить товар – добавление товара в заказ вне поставок. Входные данные: товар(номер). Выходные данные – список товаров для заказа

Удалить товар – удаление товара из списка товаров для заказа. Так как заказ не связан со счетом, то удалить можно и товар, заказываемый по счету. Входные данные: товар(номер). Выходные данные – список товаров для заказа.

Рис.13 Приложение “Заказы” – главная форма.

Поставки - Формирование списка товаров для заказов по счетам, а затем формирование плана закупок, то есть составление заказов с группировкой по поставщикам. Входные данные: дата, склад, список счетов. Выходные данные – план закупок.

Расчет суммы – расчет суммарной стоимости для плана закупок. Входные данные: план закупок. Выходные данные – стоимость всех товаров плана.

Расчет суммы по заказу – расчет стоимости одного заказа. Входные данные: заказ. Выходные данные – стоимость всех товаров заказа.

Печать – вызывает диалог выбора отчета и его формата для печати. Входные данные: Шаблон для печати, если *.xls-отчет, форма, если *.frf-отчет. Выходные данные – *.xls или *.rtf файл или печатная форма списка поставок.

Фильтр – вызывает диалог для изменения параметров фильтрации списка товаров для заказа. Входные данные: условия фильтрации. Выходные данные – список поставок, входящих в диапазон.

Сохранить план закупок – сохранение отчета по плану закупок в базе данных. Входные данные: отчет. Выходные данные – нет.

UML-диаграмма приложения “Заказы” представлена на рисунке 14

Рис.14 UML-диаграмма приложения “Заказы”.


Функция “Старт” класса “Репликатор” фактически инициирует вызов хранимой процедуры, которая осуществляет сравнение списка товаров, зарезервированных по счетам со списком доступных на складе товаров и вносит соответствующие изменения. Нормальная ситуация при которой вызывается функция “Стоп” – это завершение работы хранимой процедуры. Однако, поскольку процедура формирования списка товаров для закупок довольно трудоемка, то, во-первых, она реализована с помощью отдельного процесса, а, во-вторых, имеет возможность принудительного завершения и отката изменений. Функция “Стоп” проверяет состояние процесса: если он еще не завершил выполнение, то происходит принудительное его завершение.


Глава 3. Экспериментальная проверка программного комплекса.

3.1 Исходные данные и постановка задачи для проведения тестирования

Для оценки правильности работы реализованного в данном дипломном проекте программного комплекса проводилось его тестирование.

В качестве исходных данных для тестирования использовались данные, полученные путем экспорта из существующих таблиц данных о клиентах, товарах и продажах. Таким образом, было обеспечено максимальное приближение условий тестирования к условиям эксплуатации.

Целью проведения тестирования является проверка функционирования программы в соответствии с требованиями, предъявляемыми к ней.

Так как программный комплекс состоит из отдельных программ, то необходимо было провести анализ выполнения каждой из них. В процессе тестирования были проверены следующие функции, реализованного комплекса:

защита программного комплекса от несанкционированного доступа;

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

добавление, изменение, удаление информации;

поиск нужной информации, при определении пользователем параметров поиска;

выполнение специальных задач, при возникновении нестандартных ситуаций.

3.2 Тестирование приложений

Тестирование приложения “Прайс”.

Прежде всего, была осуществлена попытка доступа к приложению, пользователем “Serebrinnikov_OA” с ролью “Склад”, которая дает права доступа к приложению “Склад” и, частично, “Заказы”, но не дает права доступа к приложению “Прайс”. Результат – отказ в доступе. После входа в систему под учетной записью администратора, были изменены права доступа для данного пользователя и эта учетная запись получила право на чтение, удаление, добавление товаров в прайс-листе. Добавим группу товаров “Нестандартное оборудование” с родителем “Все товары” в дерево товаров. Добавим в эту группу товар “Часы с флэш-накопителем 64MbCasio-I32” и товар “ИК-порт ACTiSYSIR”. Добавление, удаление этих товаров из прайса, а также редактирование их свойств проходит нормально. При попытке удаление удаления товара “Монитор SonyMultiscanE100” получаем сообщение: “Товар “Монитор SonyMultiscanE100” не может быть удален, так как он включен в счет, заказ или поставку”. При удалении непустой группы товаров, при наличии в ней хотя бы одного товара, фигурирующего в счетах, заказах или поставках получаем такое же сообщение и все изменения в группе отменяются. Попытка другого пользователя изменить свойства товара, в то время, когда их редактирует пользователь “Serebrennikov_OA” приводит к появлению сообщения: “Редактирование текущей записи невозможно. Запись заблокирована пользователем Serebrinnikov_OA13:20 19.02.2006”.

Тестирование приложения “Счета”.

Поскольку информация, доступная пользователям этого приложения весьма конфиденциальна, была проведена попытка доступа.

3.3 Анализ результатов, полученных при тестировании

Проверка функции, реализующей защиту информации, предоставляемой данным программным комплексом, дала следующие результаты.

При вводе пользователя имени пользователя и пароля доступ к данному приложению и соединение с сервером данных информационной системы происходили правильно и без каких-либо сбоев, если идентификационные данные были введены правильно и имели место в файлах, ограничивающих доступ пользователей к программному комплексу (рисунок 15).

Рис. 15 Окно «Добро пожаловать».

Проверка работы программного комплекса в сети показала, что задача устранения недостатков, возникающих при работе в многопользовательском режиме, была решена. Решена благодаря использованию уровня изоляции транзакций READCOMMITTED и введению механизма контроля блокировки записей. При попытке одновременного доступа к записи, выдается сообщение, с указанием имени пользователя, заблокировавшего запись первым и время блокировки.

При тестировании таких возможностей как добавление, изменение, удаление информации, если вся требуемая для этого информация была введена корректно и в полной мере, то работа программного комплекса на протяжении всего эксперимента осуществлялась без нарушений и в соответствии с требованиями.