Файл: Проектирование базы данных Учета расчетов с поставщиками и подрядчиками (Описание предметной области. Постановка задачи.).pdf
Добавлен: 27.06.2023
Просмотров: 207
Скачиваний: 3
Таблица 10
Заказ
Название поля |
Описание |
Тип поля |
Длина поля |
Первичный ключ |
N Zakaz |
Номер заказа |
Number |
8 |
Да |
NScheta |
Номер счета |
Number |
8 |
|
Date |
Дата |
Date |
4 |
|
Oplata |
Оплачено |
Logical |
1 |
|
Poluch |
Получено |
Logical |
1 |
Таблица 11
Заказ
Название поля |
Описание |
Тип поля |
Длина поля |
Первичный ключ |
NZakaza |
Номер заказа |
Number |
8 |
Да |
NTovara |
Номер товара |
Number |
8 |
Да |
Описанная выше структура позволяет решить все постеленные задачи и описать необходимый объем информации требуемый в разработанной системе.
2 глава. Практическая часть
2.1 Контрольный пример решения задачи
Анализ предметной области и методологии решения задач в отделе приема заказов позволяет сделать вывод, что в основном поток входной информации будет сводится к дополнению и корректировке информационной базы, созданной при построении системы. Это означает, что при создании системы будет сформирована база с информацией об поставщиках и ассортименте, договорах. В процессе эксплуатации АИС данные будут лишь корректироваться и при необходимости дополняться.
Следующим видом входной информации является поступающие в систему заявки на поставку, сформированные счета фактуры и заказы.
На основании этих данных происходит аналитика и формируются выходные документы согласно заданию: заявка на поставку, заказ и договор.
Для контрольного решения задачи подготовим следующие данные: список поставщиков (таблица 12), ассортимент товара(таблица 13), список договоров(таблица 14).
Таблица 12
Список поставщиков
Наименование |
Код |
Адрес |
Телефон |
АО Стройкомплект |
100 |
123242, г. Москва, ул. Московская, 9 |
342-45-67 |
ОАО Строймонтаж |
200 |
383940, г. Москва, ул. Кирова, 56 |
231-45-89 |
ЗАО Континенталь, Лтд. |
300 |
483950, г. Самара, ул. Ладожская, 37 |
223-23-43 |
ЗАО Газкомплект |
400 |
232423, г. Казань, ул. Пролетарская, 71 |
23-45-67 |
ОАО Краскомплект монтаж |
500 |
849495, г. Краснодар, ул. Мира, 32 |
77-66-55 |
Таблица 13
Список товаров
Код |
Наименование |
80 |
Кирпич облицовочный |
81 |
Цемент, марка 800 |
82 |
Эмаль для внешних работ |
83 |
Кафель "Эстра" |
84 |
Шпатлевка ШН-12 |
87 |
Плита прессованая |
88 |
Песок строительный |
90 |
Краска лаковая |
91 |
Евровагонка |
92 |
Кирпич силикатный |
93 |
Стекло 10 мм |
Таблица 14
Список договоров
Номер Поставщика |
Номер договора |
Дата |
Сумма |
Срок |
100 |
112 |
01.03.2003 |
3323000.00 |
До исполнения договора |
200 |
113 |
15.05.2003 |
5030000.00 |
До исполнения договора |
300 |
114 |
20.06.2004 |
6434000.00 |
До исполнения договора |
400 |
115 |
15.07.2004 |
12890000.00 |
5 лет |
500 |
116 |
20.03.2005 |
1200000.00 |
6 лет |
На основании этих данных можно составлять ассортимент по договору (таблица 15).
Таблица 15
Ассортимент договора
Номер договора |
Номер товара |
112 |
80 |
112 |
81 |
112 |
82 |
112 |
84 |
113 |
80 |
113 |
81 |
113 |
83 |
114 |
80 |
114 |
81 |
114 |
82 |
114 |
90 |
114 |
92 |
114 |
93 |
Данных достаточно чтобы можно было пользоваться программой. Приведем пример тестового ввода данных.
Таблица 16
Тестовые данные
№ |
Входные данные |
Ожидаемый результат |
Результат программы |
|
Поле ввода |
Значение |
|||
1 |
номер договора |
1000 |
нормальная работа АИС |
Ожидание ввода дата договора |
дата договора |
03.03.2003 |
нормальная работа АИС |
занесение записи в БД |
|
2 |
номер договора |
1000 |
Ошибка.Ключ должен быть уникальным |
Выдача сообщения об ошибке |
3 |
номер договора |
100 |
нормальная работа АИС |
Ожидание ввода дата договора |
дата договора |
2,2,2 |
ошибка. Ввод не в форме даты |
Выдача сообщения об ошибке |
|
4 |
сумма счета |
12349 |
нормальная работа АИС |
занесение записи в БД |
5 |
сумма счета |
0 |
Ошибка. Сумма счета должна быть больше 0 |
Выдача сообщения об ошибке |
6 |
оплачено |
да |
нормальная работа АИС |
занесение записи в БД |
7 |
оплачено |
нет |
нормальная работа АИС |
занесение записи в БД |
8 |
оплачено |
есть |
ошибка. Значение поля принимает 2 значения: да, нет |
Выдача сообщения об ошибке |
2.2 Разработка интерфейса и реализация проекта
Структура разрабатываемой системы должна поддерживать удобный ввод данных. Иметь главное меню для наглядности иметь панель быстрого доступа с различными иконками акцентирующие взгляд на необходимых инструментах.
Разрабатываемая АИС обеспечивает автоматизированный контроль, а также учет поставок на предприятие. Система выполняет следующие функции:
1) обеспечивать ввод данных, связанных с поставками на предприятие и обработку этих данных;
2) иметь систему краткой справки по программе;
3) при вводе данных о наименовании товаров должен использоваться справочник «Номенклатура товаров».
Создаваемый программный продукт может использоваться директором предприятия, начальником цеха, начальником склада, в зависимости от места эксплуатации продукта. Заданные характеристики функционирования обеспечиваются при условиях, которые определяются конкретным носителем данных, на котором хранятся данные. При этом используется однопользовательский доступ к программе.
Описание модулей и используемых типов и переменных приведено в таблице 17.
Таблица 17
Описание модулей и используемых типов и переменных
Модуль |
Форма |
Интерфейсные переменные |
|
Имя |
Тип |
||
uMain |
fmMain − главная форма программы, на которой реализованы все основные функции АИС |
fmMain |
TfmMain − объект-потомок стандартного типа TForm |
uDM |
DataModule1 − модуль данных для хранения наборов данных, источников данных и запросов к БД |
DataModule1 |
TDataModule1 − объект-потомок стандартного типа TDataModule |
uPrintDogovor |
fmPrintDogovor − форма для формирования текста договора |
fmPrintDogovor |
TfmPrintDogovor − объект-потомок стандартного типа TForm |
uPrintZayavka |
fmPrintZayavka − форма для формирования текста заявки по выбранному ассортименту товаров заявки |
fmPrintZayavka |
TfmPrintZayavka − объект-потомок стандартного типа TForm |
uPrintZakaz |
fmPrintZakaz − форма для формирования текста заказа по выбранному ассортименту товаров заказа |
fmPrintZakaz |
TfmPrintZakaz − объект-потомок стандартного типа TForm |
uInfo |
fmInfo − форма отображения краткой справки по работе с системой |
fmInfo |
TfmInfo − объект-потомок стандартного типа TForm |
Программа является событийно-управляемой. Структура программы ветвящаяся, причём переход по каждой из ветвей инициируется событием, генерируемым системой или поступающим от пользователя.
Описание основных процедур и функций, представленных в программе, наглядно приведено в таблице 18.
Таблица 18
Описание основных процедур и функций
Имя процедуры или функции |
Назначение |
Комментарий |
PageControl1Change |
Обработчик смены закладки на форме − активизация того или иного набора данных |
Метод объекта типа TfmMain |
dcbAssDogovoraClick |
Обработчик выбора номера договора в выпадающем списке на закладке Ассортимент договора |
Метод объекта типа TfmMain |
acStopExecute |
Обработчик выбора пункта меню «Операции|Приостановление действия договора» − отключение абонента |
Метод объекта типа TfmMain |
dcbNDogovoraClick |
Обработчик выбора номера договора в выпадающем списке на закладке Заявка |
Метод объекта типа TfmMain |
dcbNZayavkiClick |
Обработчик выбора номера заявки в выпадающем списке на закладке Ассортимент Заявки |
Метод объекта типа TfmMain |
ActionDogovorExecute |
Обработчик выбора пункта меню Документы−>Договора − определение видимости соответствующих закладок |
Метод объекта типа TfmMain |
ActionZayavkiExecute |
Обработчик выбора пункта меню Документы−>Заявки − определение видимости соответствующих закладок |
Метод объекта типа TfmMain |
ActionFacturesExecute |
Обработчик выбора пункта меню Документы−>Счета-фактуры− определение видимости соответствующих закладок |
Метод объекта типа TfmMain |
ActionZakazExecute |
Обработчик выбора пункта меню Документы−>Заказы − определение видимости соответствующих закладок |
Метод объекта типа TfmMain |
dcbZakazNZClick |
Обработчик выбора номера договора в выпадающем списке на закладке Заказ |
Метод объекта типа TfmMain |
ActionPrintExecute |
Обработчик нажатия кнопки Печать − вывод на печать текста выбранного договора, заявки или заказа в зависимости от активного документа на данный момент |
Метод объекта типа TfmMain |
qrSchetBeforeDelete |
Обработчик удаления записи о счете-фактуре − обеспечение ссылочной целостности − удаление всех связанных записей |
Метод объекта типа TDataModule1 |
qrZayavkaBeforeDelete |
Обработчик удаления записи о заявке − обеспечение ссылочной целостности − удаление всех связанных записей |
Метод объекта типа TDataModule1 |
qrDogovorBeforeDelete |
Обработчик удаления записи о договоре − обеспечение ссылочной целостности − удаление всех связанных записей |
Метод объекта типа TDataModule1 |
qrPostavschikBeforeDelete |
Обработчик удаления записи о поставщике − обеспечение ссылочной целостности − удаление всех связанных записей |
Метод объекта типа TDataModule1 |