47016 (588462), страница 5
Текст из файла (страница 5)
Назначение: хранение информации о поставщиках
Поля:
Номер – уникальный номер поставщика в таблице
Наименование - наименование поставщика
Телефон – телефон поставщика
Адрес – адрес поставщика
Р\С – расчетный счет поставщика
ИНН – Индивидуальный номер налогоплательщика
Контактное лицо – контактное лицо
Первичный ключ: Содержит поле “Номер”
Внешние ключи: отсутствует
Таблица “Содержимое поставки”
Назначение: хранение информации о списке товаров по каждой поставке
Поля:
Номер – уникальный номер товара в таблице
Номер поставки – ссылка на поставку
Количество товара – количество единиц товара
Номер товара – ссылка на товар
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Поставка реализует связь один-ко-многим по полю “Номер поставки” с таблицей “Поставка”.
Таблица “Банк”
Назначение: хранение списка банков, с которыми работает организация
Поля:
Номер – уникальный номер банка в таблице
Наименование - наименование банка
Номер вх. счета - номер счета входящих платежей
Номер исх. счета - номер счета исходящих платежей
Телефон – телефон
Первичный ключ: Содержит поле “Номер”
Внешние ключи: отсутствует
Таблица “Платеж”
Назначение: хранение реестра входящих и исходящих платежей.
Поля:
Номер – уникальный номер платежа в таблице
Сумма – сумма платежа
Банк – ссылка на банк
Номер счета – в случае входящего платежа это ссылка на счет, по которому произведена оплата; в случае исходящего платежа это номер счета входящих платежей банка
Дата - дата платежа
Тип – входящий\исходящий
Описание – для пользователя
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Банк реализует связь один-ко-многим по полю “Банк” с таблицей “Банк”.
Таблица “Счет-фактура”
Назначение: хранение списка счет-фактур
Поля:
Номер – уникальный номер счет-фактуры в таблице
Дата формирования
Номер поставщика – ссылка на поставщика
Сумма – суммарная стоимость товаров в поставке
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Поставщик реализует связь один-ко-многим по полю “Номер поставщика” с таблицей “Поставщик”.
2.6 Проектирование приложения “Прайс”
В этом приложении, в качестве структуры данных для хранения товаров было выбрано дерево. Физически, дерево представляет собой реляционную таблицу с дополнительным полем ”Родитель”, которое позволяет организовать связь между группами \ подгруппами и товарами. Первый узел - “Все товары” не имеет родителя и все группы или товары первого уровня являются его потомками. Как следует из анализа требований приложение “Прайс” должно выполнять определенные функции, вызов которых осуществляется из главного меню приложения (рис. 6).
Рис.6 Приложение “Прайс” – главная форма.
Для удобства, функции логически сгруппированы по объекту применения: товары, группы товаров, другие.
Товары
Добавление товара в прайс-лист. Позволяет внести новое наименование в прайс-лист. Служит основным средством для манипуляции ассортиментом. Родитель товара – текущая группа. Входная информация: Наименование и цена товара. Выходная информация – измененный прайс-лист.
Удаление. Позволяет удалить товар из прайс-листа. Не влечет за собой изменения склада\поставок. Отражает факт прекращения работы с данным товаром. Входная информация: товар(номер). Выходная информация – измененный прайс-лист.
Редактирование свойств товара. Позволяет изменить входную цену и наименование товара. Входная информация: Наименование и цена товара. Выходная информация – измененный прайс-лист.
Поиск, сортировка, фильтрация. Стандартные операции для набора товаров, облегчающие работу с прайс-листом. Входная информация: товар, параметры сортировки или условия фильтра соответственно. Выходная информация – набор товаров.
Группы товаров
Добавление группы в дерево товаров прайс-листа. Позволяет внести новую группу в дерево товаров прайс-листа. Добавление происходит в текущую группу, которая автоматически становится родителем. Входная информация: Наименование группы, родитель. Выходная информация – измененный прайс-лист.
Удаление. Позволяет удалить группу товаров из прайс-листа. Удаляет все товары, содержащиеся в группе и все подгруппы. Входная информация: группа(номер). Выходная информация – измененный прайс-лист.
Редактирование группы. Позволяет изменить наименование группы. Входная информация: Наименование группы. Выходная информация – измененный прайс-лист.
Другие
Выгрузить группу товаров. Позволяет получить *.xls или *.rtf файл с содержимым активной группы товаров или распечатать эту информацию без сохранения. Входная информация: Группа. Выходная информация – *.xls или *.rtf файл или его печатная копия.
Выгрузить прайс-лист. Позволяет получить *.xls или *.rtf файл содержащий полный прайс-лист или распечатать эту информацию без сохранения. Входная информация: Прайс-лист. Выходная информация – *.xls или *.rtf файл или его печатная копия.
Для более детального описания приложения рассмотрим его UML-диаграмму, представленную на рисунке 7.
Рис.7 UML-диаграмма приложения “Прайс”.
Из рисунка видно, что дерево товаров является классом, унаследованным от абстрактного класса “Дерево”. Оно использует класс “Группа” для описания каждого элемента дерева и хранит атрибут “Текущая группа” для определения элемента-родителя каждого товара в списке, представленного классом “Список товаров”. В свою очередь, для хранения товаров класс “Список товаров” использует класс “Товар”, а для описания параметров поиска, сортировки и фильтрации класс “Интерфейс”. Еще два класса “Интерфейс” отвечают за пользовательский интерфейс для работы с деревом и списком товаров. Таким образом, реализовано взаимодействие классов внутри приложения.
2.7 Проектирование приложения “Счета”
Для этого приложения основным требованием является надежность, ведь информация, которой оперируют с его помощью очень важна для организации. Поэтому, для выполнения этого требования было принято решение вести журнал изменений хранилища данных с настраиваемым временным интервалом в течении которого внесенные изменения можно отменить. За счет реализации такого механизма можно полностью исключить потерю важной информации. Еще одной важной особенностью этого приложения является возможность регистрации операций каждого пользователя, т.е. администратор системы обладает возможностью проследить когда и кем были внесены интересующие его изменения.
Для удобства пользователя, счета организованы в виде списка, над которым можно выполнять операции поиска, сортировки и фильтрации по интересующим параметрам, а также добавления и удаления элемента списка. При выборе элемента списка, открывается окно для работы со счетом. В нем содержится полная информация о нем, реализована возможность изменения содержимого. Для внесения изменения в счет предусмотрен визуальный механизм работы с деревом товаров, что позволяет быстро и легко формировать и изменять наборы товаров, “подгонять цену”. Отметим, что добавление или удаление товара по счету не влечет за собой никаких изменений на складе товаров. Форма для работы со списком счетов и со счетом показаны на рисунках 7 и 8.
Рис.7 Приложение “Счет” – список счетов.
Основные операции для работы со списком счетов:
Добавить счет – создание нового счета. Входные данные: дата. Выходные данные – новый счет, измененный список счетов.
Удалить счет – удаляет счет из списка. Входные данные: счет(номер). Выходные данные – измененный список счетов.
Копировать счет – создает копию счета с теми же параметрами, но другим порядковым номером. Входные данные: счет(номер). Выходные данные – измененный список счетов.
Печать – вызывает диалог выбора отчета и его формата для печати. Входные данные: Шаблон для печати, если *.xls-отчет, форма, если *.frf-отчет. Выходные данные – *.xls или *.rtf файл или печатная форма.
Фильтр – вызывает диалог для внесения параметров фильтрации счетов. Входные данные: условия фильтрации. Выходные данные – список счетов, входящих в диапазон.
Редактировать счет – вызывает форму для работы со счетом. Входные данные: Шаблон для печати, если *.xls-отчет, форма, если *.frf-отчет. Выходные данные – *.xls или *.rtf файл или печатная форма.
Рис.8 Приложение “Счет” – работа со счетом.
Основные операции для работы с содержимым счета:
Добавить товар – добавляет товар в счет. Входные данные: товар(номер). Выходные данные – измененный счет.
Удалить товар – удаляет товар из счета. Входные данные: товар(номер). Выходные данные – измененный счет
Сумма – вычисляет сумму товаров, включенных в счет. Входные данные: счет(номер). Выходные данные – сумма в долларах, рублях и евро.
Печать – вызывает диалог выбора отчета и его формата для печати счета. Входные данные: Шаблон для печати, если *.xls-отчет, форма, если *.frf-отчет. Выходные данные – *.xls или *.rtf файл или печатная форма.
Скидка – пересчитывает позиции счета с учетом скидки. Входные данные: размер скидки. Выходные данные – измененный счет.
Состояние – позволяет изменить состояние счета вручную. Входные данные: состояние. Выходные данные – счет.
UML-диаграмма приложения “Счет” представлена на рисунке 9.
Рис.9 UML-диаграмма приложения “Счет”.
Из рисунка видно, что дерево товаров является классом, унаследованным от абстрактного класса “Дерево”. Оно использует класс “Группа” для описания каждого элемента дерева и хранит атрибут “Текущая группа” для определения элемента-родителя каждого товара в списке, представленного классом “Список товаров”. В свою очередь, для хранения товаров класс “Список товаров” использует класс “Товар”, а для описания параметров поиска, сортировки и фильтрации класс “Интерфейс”. Еще два класса “Интерфейс” отвечают за пользовательский интерфейс для работы с деревом и списком товаров. Таким образом, реализовано взаимодействие классов внутри приложения.
2.8 Проектирование приложения “Склад”
Функционирование этого приложения является основой деятельности торговой организации и основным звеном рассматриваемой информационной системы. Оно позволяет работать с поставками при формировании склада, работать с комплектами товаров для резервирования продукции по конкретным счетам, производить отпуск товаров со склада, то есть осуществлять все складские операции. Для работы именно этого приложения реализованы периодические проверки состояния склада на уровне базы данных, заключающиеся в подсчете свободных единиц продукции и сравнении их количества с количеством товаров, входящих в комплекты зарезервированные по счетам.
Для удобства пользователя, поставки организованы в виде списка, над которым можно выполнять операции поиска, сортировки и фильтрации по интересующим параметрам, а также добавления и удаления элемента списка. При выборе элемента списка, открывается окно для работы с содержимым поставки. В нем содержится полная информация о пришедших в рамках этой поставки товарах, и реализована возможность изменения ее содержимого. Стоит отметить, что добавление или удаление товаров вне поставок заносится в протокол работы приложения, что является специфичной функцией, добавленной по просьбе заказчика. На рисунке 10 показана форма для работы с деревом товаров приложения “Склад”.
Рис.10 Приложение “Склад” – Главная форма.
Основные операции для работы со складом перечислены ниже.
Со списком поставок:
Добавить поставку – создание новой поставки и включение ее в список. Входные данные: дата. Выходные данные – новая поставка, измененный список поставок.
Удалить поставку – удаляет поставку из списка. Входные данные: поставка(номер). Выходные данные – измененный список поставок.















