45936 (665241), страница 2
Текст из файла (страница 2)
прикладной программы. Именно от этого первого этапа, действительно очень важного
и многими недооцениваемого, зачастую зависит создание всей системы
автоматизированной обработки данных и успех ее эксплуатации у конечного
пользователя.
Разработка программы для учета начислений оплаты за пользование услугами,
предоставляемых Жилищно-Коммунальным хозяйством Усть-Кутской нефтебазы.
При расчете квартплаты должны быть предусмотрены начисления по льготам, такие
как если гражданин является участником ВОВ, работником тыла, ветеран труда,
инвалиды и т.д., пользователь может использовать любые виды льготы и ставки по
ним, согласно действующим для данной организации. В процессе работы, можно
изменять, дополнять льготы для конкретного жильца или группы жильцов, имеющих
одинаковый код и ставок по ней. Также предусмотрено начисление льгот на
определенный период, в этом случае пользователь выбирает дату, с которой
начинается расчет льгот, для конкретного лица, и дату когда она заканчивается.
Для каждого жильца, с которого берется квартплата, предусмотреть изменение
стоимости услуг, в зависимости от сложившейся ситуации на данный момент времени
(отпуск, командировка и т.д.) или от типа жилья (неблагоустроенная квартира,
привозная вода и т.д.), как в меньшую, так и в большую сторону, по умолчанию
начисляются нормативные ставки, действующие в данной организации.
После производства всех расчетов, определяется общая сумма к оплате, суммы
начислений по всем видам услуг и суммы начислений по льготам по каждому
квартиросъемщику.
По окончании отчетного периода (1 месяц) формируется отчеты по видам оплаты и
категориям проживающих, с возможностью их корректировки вручную и распечаткой в
любое время.
Определение задач
Регистрация всех проживающих
Определение (указание), используемых услуг
Определение (выбор) льготы и ставок по ней
Определение (изменение) периода начисления льготы (необязательное условие)
Определение норм оплаты за каждую услугу (нормативы)
Определение норм оплаты за каждую услугу, для отдельного жильца или в целом для
жильцов, проживающих в одном доме (необязательное условие)
Расчет квартплаты
Расчет льгот
Определение сумм к оплате
Формирование и печать квитанции об оплате для конкретного плательщика
Учет платежей квартиросъемщиков (дата и сумма платежа, остаток или
задолженность)
Просмотр, Дополнение и Изменение информации обо всех категориях проживающих
Ежемесячная подготовка отчетов по различным начислениям
Редактирование и печать отчетов (в любое время и в любом количестве)
Возможность обратиться к файлам помощи (F1)
Возможность поиска
Ответы на эти вопросы позволяют подойти к главному в постановке задачи –
построении инфологической модели приложения. В простейшем примере такая модель
может быть отображена в виде взаимосвязей между компонентами и процессами
приложения, как показано на рисунке 2.1. в практике проектирования такие схемы
получили название ER-диаграмм (Entity-relationship diagram (ERD) – диаграмма
“Сущность-связь”)
Максимально формализованное описание задачи теперь будет выглядеть следующим
образом.
Наименование задачи:
Автоматизация работы бухгалтера по расчету квартплаты.
Цель работы бухгалтера:
Введение учета и расчетов с населением за предоставляемые коммунальные услуги.
Функции бухгалтера:
Заключение договоров и регистрация клиентов в Базе Данных.
Ведение информации по льготам и ставкам по ним.
Работа с клиентами : установление льготы, установление тарифных ставок отличных
от нормативных по различным причинам, разъяснительная работа и т.д..
Ведение расчетов за используемые услуги (выписка квитанции об оплате).
Бизнес - правила:
Ввод информации на основе документов.
Требования к системе
Программа может работать под управлением операционных систем DOS или WINDOWS,
при наличии пакета FoxPro 2.6 for DOS.
Перечень вводимой информации:
Фамилия, имя и отчество жильца;
Табельный номер;
Год рождения
Адрес;
Квадратные метры;
Телефон;
При наличии льготы – описание льготы, код, период;
Выбор плательщика, указанного в ордере
Нормативные ставки на услуги
Тарифные ставки и описание тарифа
Перечень печатных отчетов:
Списки по начислению
Списки льготников
Списки с показаниями счетчика
Оплата электроэнергии
Сальдо по квартиросъемщикам
Свод по квартплате за месяц
Квитанция об оплате
Проектирование базы данных
Существует очень простое понятие базы данных как большого по объему хранилища, в
которое организация помещает все используемые ею данные и из которого различные
пользователи могут их получать, используя различные приложения. Такая единая
база данных представляется идеальным вариантом, хотя на практике это решение по
различным причинам трудно достижимо. Поэтому чаще всего под базой данных
понимают любой набор хранящихся в компьютере данных.
В основу проектирования БД должны быть положены представления конечных
пользователей организации – концептуальные требования к системе. Потому что,
именно конечный пользователь в своей работе принимает решения с учетом
получаемой в результате доступа к базе данных информации. Следовательно, от
оперативности и качества этой информации будет зависеть эффективность работы
организации. Данные, помещаемые в базу данных, также предоставляет конечный
пользователь.
При рассмотрении требований конечных пользователей принято во внимание
следующее:
База данных должна удовлетворять актуальным информационным потребностям
организации. Получаемая информация должна по структуре и содержанию
соответствовать решаемым задачам.
База данных должна обеспечивать получение требуемых данных за приемлемое время,
то есть отвечать заданным требованиям производительности.
База данных должна удовлетворять выявленным и вновь возникающим требованиям
конечных пользователей.
Загруженные в базу данных корректные данные должны оставаться корректными.
Данные до включения в базу данных должны проверяться на достоверность.
Доступ к данным, размещаемым в базе данных, должны иметь только лица с
соответствующими полномочиями.
На основании вышеизложенного рассмотрим этапы проектирования баз данных, которые
должны обеспечить необходимую независимость данных и выполнение эксплуатационных
требований (пожеланий пользователей).
Этап 1. Определение сущностей
Исходя из задачи, описанной выше, выделим следующие сущности:
Жильцы – БД, содержащая информацию о жильцах (RABOT.DBF)
Начисления - БД, содержащая информацию о начислениях (OPLATA.DBF)
Льготы - БД, содержащая информацию о льготах (LGOT.DBF)
Ставки - БД, содержащая информацию о ставках для конкретного жильца и (или) о
жильцах, проживающих в одном доме (TABLE_R.DBF)
Тарифы - БД, содержащая информацию описания тарифов и ставок по ним (TARIF.DBF)
Первичный ключ – это атрибут (или группа атрибутов), которые единственным
образом идентифицируют каждую строку в таблице.
Альтернативный ключ – это атрибут (или группа атрибутов), несовпадающий с
первичным ключом и уникально идентифицирующий экземпляр объекта.
Для каждой сущности определим атрибуты, которые будем хранить в БД.
Атрибуты, включаемые в состав БД, приведены в таблице 2.1. информационная модель
после третьего этапа проектирования приведена на рис. 2.13
Таблица 2.1. Атрибуты и первичные ключи сущностей информационной
моделиСущностьПервичный ключАтрибуты
ЖИЛЬЦЫТабельный номер
Улица
Дом
КвартираТабельный номер
Улица
Дом
Квартира
Ф.И.О
Номер телефона
Квадратные метры
Льгота
Код льготы
№ удостоверения (по льготе)
Дата, с которой будет начисляться льгота
Дата окончания начислений по льготе
Старое значение счетчика
Новое значение счетчика
Определение плательщика
Количество проживающих (в 1-й квартире)
Дата оплаты за предоставленные услуги
Остаток денежных средств
Ввод оплаты
Начисления квартплаты (Есть\Нет)
Начисления радио (Есть\Нет)
Начисления телефона (Есть\Нет)
Начисления горячей воды (Есть\Нет)
Начисления холодной воды (Есть\Нет)
Начисления коммунальн. услуг (Есть\Нет)
Начисления отопления (Есть\Нет)
Начисления электроэнергии (Есть\Нет)
ЛЬГОТАКод льготыКод льготы
Описание льготы
Процентная ставка по квартплате
Процентная ставка по радио
Процентная ставка по телефону
Процентная ставка по горячей воде
Процентная ставка по холодной воде
Процентная ставка по ком. услугам
Процентная ставка по отоплению
ТАРИФ Описание тарифа
Ставка оплаты
Порядок начисления (на 1-го чел.\ на 1 м2)
Выбор: на 1-го человека или на 1 м2
СущностьПервичный ключАтрибуты
СТАВКИТабельный номерТабельный номер
Описание льготы
Ставка по квартплате
Ставка по радио
Ставка по телефону
Ставка по горячей воде
Ставка по холодной воде
Ставка по коммунальным услугам
Ставка по отоплению
Ставка по электроэнергии
НАЧИСЛЕНИЯТабельный номер
Улица
Дом
КвартираТабельный номер
Улица
Дом
Квартира
Квадратные метры
Код льготы
Выбор плательщика
Количество проживающих
Льгота (Да\Нет)
Начисления квартплаты (Да\Нет)
Начисления радио (Да\Нет)
Начисления телефона (Да\Нет)
Начисления гор. Воды (Да\Нет)
Начисления хол. Воды (Да\Нет)
Начисления ком. Услуг (Да\Нет)
Начисления эл. Энергии (Да\Нет)
Начисления отопления (Да\Нет)
Сумма начисления квартплаты
Сумма начисления телефона
Сумма начисления радио
Сумма начисления ком.услуг
Сумма начисления отопления
Сумма начисления эл\энергии
Сумма начисления гор.воды
Сумма начисления хол.воды
Нач. квартплаты (по льготе) на 1-го чел.
Нач.телефона (по льготе) на 1-го чел.
Нач. радио (по льготе) на 1-го чел.
Нач. ком.услуг (по льготе) на 1-го чел.
Нач. отопления (по льготе) на 1-го чел.
Нач. эл\энергии (по льготе) на 1-го чел.
Нач. гор.воды (по льготе) на 1-го чел.
Нач. хол.воды (по льготе) на 1-го чел.
Сумма нач. квартплаты по льготе
Сумма нач. гор. Воды по льготе
Сумма нач. хол. Воды по льготе
Сумма нач. ком. Услуг по льготе
Сумма нач. отопления по льготе
Сумма нач. телефона по льготе
Сумма нач. радио по льготе
Итог сумм начислений по льготе
Итог сумм начислений
Итоговая сумма к оплате
Этап 4. Физическое описание модели
На этом этапе составим базы данных, которые будут в дальнейшем реализовываться в
СУБД. Назначения имен БД и их атрибутов отражены в табл. 2.2.
Таблица 2.2. Структура, используемых Баз Данных.RABOT.DBF
(Жильцы)ИмяТипДлина примечание
TABN40Табельный номер
FAMC40-Ф.И.О
TELN80Номер телефона
YLC15-Улица
DOMС30Дом
KW_RAС30Квартира
KV_MN62Квадратные метры
N_LGN10Код льготы
N_YDС90Номер удостоверения (по льготе)
DAT_CD8-Дата, с которой будет начисляться льгота
DAT_POD8-Дата окончания начислений по льготе
ELECN60Старое значение счетчика
ELEC1N60Новое значение счетчика
OR_RN10Определение плательщика
KOL_VON20Количество проживающих
D_OPLD8-Дата оплаты
OST_KN82Остаток денежных средств
OPL_TAN82Ввод оплаты
LGOTL1-Льгота (Да\Нет)
RAD_LL1-Начисления радио (Да\Нет)
TEL_LL1-Начисления телефона (Да\Нет)
KW_LL1-Начисления квартплаты (Да\Нет)
G_W_LL1-Начисления гор. воды (Да\Нет)
X_W_LL1-Начисления хол. воды (Да\Нет)
K_YS_LL1-Начисления ком. услуг (Да\Нет)
EL_C_LL1-Начисления эл. энергии (Да\Нет)
OTOP_LL1-Начисления отопления (Да\Нет)
OPLATA.DBF (Начисления)ИмяТипДлина Примечание
TABN40Табельный номер
YLC15-Улица
DOMС30Дом
KW_RAС30Квартира
KV_MN62Квадратные метры
N_LGN10Код льготы
OR_RN10Выбор плательщика
KOL_VON20Количество проживающих
DAT_CD8-Дата, с которой будет начисляться льгота
DAT_POD8-Дата окончания начислений по льготе
ELECN60Старое значение счетчика
ELEC1N60Новое значение счетчика
TEL_LL1-Начислениятелефона (Да\Нет)
G_W_LL1-Начисления гор. Воды (Да\Нет)