Автор работы: Пользователь скрыл имя, 21 Ноября 2011 в 00:54, дипломная работа
Автоматизована система розрахунків NETUP UTM 5.0 [1] призначена для здійснення комплексного обслуговування абонентів підприємств зв'язку. За допомогою системи UTM 5.0 здійснюються всі основні кроки взаємин з клієнтами: укладення договорів, здійснення технічної підтримки, підрахунок що надаються клієнтові послуг, виставляння рахунків, виписування рахунків-фактур, актів выполенных робіт, різних звітів і багато що інше
На завершення, з таблиці Course визначається Курс валюти за ключом IDCurrency1 + IDCurrency2 (таблиця 13).
Таблиця 13 – Структура таблиці Course
Поле | Тип | Розмір, байт | Пояснення |
Pass | text | 15 | номер виборки (проходу) при багатопрохідній виборці |
IDCurrency1 | text | 15 | вхідна валюта |
IDCurrency2 | text | 15 | вихідна валюта |
Course | text | 15 | курс |
Структурна
схема тарифікатора внаслідок своєї
універсальності задовільняє
Якщо розглянути зв'язки між
полями таблиць, то видно, що,
окрім трьох спеціальних
3.2
Розробка структури
БД білінга
Структура бази даних програми білінга значно простіша і більше нагадує стандартні структури інформаційно-пошукових систем [9]. Таблиця Tariff – це місце, куди програма тарифікації через механізм ODBC32 записує протарифіковані рядки даних про телефонні дзвінки (рис. 3.1). Тому ця таблиця не має ключа і використовується програмою білінга для виборки інформації про телефонні дзвінки по різних полях. Структура наведена в табл. 14.
Рисунок 3.1 – Структурна схема БД тарифікатора
Таблиця 14 – Структура таблиці Tariff
Поле | Тип | Розмір, байт | Пояснення |
DateTime | text | 13 | дата і час в форматі yymmddwhhmmss |
Date | text | 8 | дата |
Time | text | 8 | час |
Number | text | 50 | номер, набраний абонентом |
ContinEndTime | text | 8 | тривалість/час завершення дзвінка |
Line | text | 2 | лінія (номер зовнішньої лінії) |
Abonent | text | 3 | абонент (номер внутрішньої лінії) |
DialTown | text | 50 | місто, куди був дзвінок |
DialDirection | text | 50 | напрямок, куди був дзвінок |
DialZone | text | 50 | географічна зона дзвінка |
TimeZone | text | 50 | часова зона дзвінка |
Duration | float | 8 | тривалість дзвінка |
TimeUnit | text | 3 | одиниця часу |
Tarif | float | 8 | тариф за одиницю часу |
Currency | text | 3 | валюта тарифікації |
Toil | float | 8 | сума |
В програмі білінга введено об'єкт Покій (кімната, номер в готелі), який однозначно визначає і визначається полем Абонент. Для цього об'єкта створено таблицю Room з ключом ID. Кожній кімнаті відповідає певний Абонент, а також фіксується час його прибуття і вибуття, що потрібно для подальшого аналізу. Структура наведена в таблиці 15.
Таблиця 15 – Структура таблиці Room
Поле | Тип | Розмір, байт | Пояснення |
ID | text | 15 | номер кімнати |
Abonent | text | 4 | абонент (номер внутрішньої лінії) |
Arrived | date/time | 8 | час прибуття |
Leaved | date/time | 8 | час вибуття |
Коли потрібно зробити виборку по абоненту за певний період, вона поміщається в таблицю Bill для подальшого виведення на друк. Структура наведена в таблиці 16.
Таблиця 16 – Структура таблиці Bill
Поле | Тип | Розмір, байт | Пояснення |
DateTime | text | 13 | дата і час в форматі yymmddwhhmmss |
Date | text | 8 | дата |
Time | text | 8 | час |
Number | text | 50 | номер, набраний абонентом |
ContinEndTime | text | 8 | тривалість/час завершення дзвінка |
Line | text | 2 | лінія (номер зовнішньої лінії) |
Abonent | text | 3 | абонент (номер внутрішньої лінії) |
DialTown | text | 50 | місто, куди був дзвінок |
DialDirection | text | 50 | напрямок, куди був дзвінок |
DialZone | text | 50 | географічна зона дзвінка |
TimeZone | text | 50 | часова зона дзвінка |
Duration | float | 8 | тривалість дзвінка |
TimeUnit | text | 3 | одиниця часу |
Tarif | float | 8 | тариф за одиницю часу |
Currency | text | 3 | валюта тарифікації |
Toil | float | 8 | сума |
Для виведення сумарної відомості за певний період використовується таблиця Roll. Вона відрізняється від таблиці Tariff тим, що в ній є не тільки собівартість дзвінка, але і вартість з націнкою. Структура наведена в таблиці 17.
Таблиця Options потрібна для зберігання настройок програми білінга, а таблиця Window для зберігання положення і розмірів дочірніх вікон програми. Їхні структури наведені в таблиці 18 і в таблиці 19.
Структурна схема бази даних програми білінга задовільняє умовам п'ятої нормальної форми (рис 3.2).
Таблиця 17 – Структура таблиці Roll
Поле | Тип | Розмір, байт | Пояснення |
DateTime | text | 13 | дата і час в форматі ymdwhms |
Date | text | 8 | дата |
Time | text | 8 | час |
Number | text | 50 | номер, набраний абонентом |
ContinEndTime | text | 8 | тривалість/час завершення дзвінка |
Line | text | 2 | лінія (номер зовнішньої лінії) |
Abonent | text | 3 | абонент (номер внутрішньої лінії) |
DialTown | text | 50 | місто, куди був дзвінок |
DialDirection | text | 50 | напрямок, куди був дзвінок |
DialZone | text | 50 | географічна зона дзвінка |
TimeZone | text | 50 | часова зона дзвінка |
Duration | float | 8 | тривалість дзвінка |
TimeUnit | text | 3 | одиниця часу |
Tarif | float | 8 | тариф внутрішній |
Currency | text | 3 | валюта тарифікації |
Toil | float | 8 | сума внутрішня |
TarifOut | float | 4 | тариф для споживача |
ToilOut | float | 4 | сума для споживача |
Таблиця 18 – Структура таблиці Options
Поле | Тип | Розмір, байт | Пояснення |
Profit | float | 4 | процент націнки |
BillCopies | integer | 2 | кількість копій рахунка |
Password | text | 20 | пароль адміністратора |
NewPassword | text | 20 | новий пароль (спеціальне поле) |
ExpirePeriodD | integer | 2 | час зберігання інформації (в днях) |
BillTitle | memo | – | заголовок для рахунка |
Таблиця 19 – Структура таблиці Window
Поле | Тип | Розмір, байт | Пояснення |
ID | text | 50 | назва вікна |
Right | integer | 4 | ордината в пікселах |
Down | integer | 4 | абсциса в пікселах |
Width | integer | 4 | ширина |
Height | integer | 4 | висота |
Рисунок 3.2 – Структурна схема БД білінга
Всі
таблиці розробляються
4
РОЗРОБКА ФУНКЦІОНАЛЬНОЇ
СХЕМИ
Дуже важлива частина програми – це інтерфейс користувача, оскільки користувач весь час працює в його середовищі. Більш за те, для користувача інтерфейс втілює програмний продукт адже його не цікавить програмний код, який виконується в комп'ютері. Незалежно від того, скільки часу і зусиль витратить розробник на написання і оптимізацію програмного коду, якість програми для кінцевого користувача буде визначатися його зовнішнім інтерфейсом.
Розробляючи інтерфейс користувача, потрібно враховувати призначення програми [13]. Дизайн програми, яка постійно використовується і весь час присутня на екрані, напевно, повинен відрізняться від програм, що рідко використовуються. Для програми, основним призначенням якої є виведення на екран інформації, вимоги будуть інші, ніж до програми для вводу, збору інформації або інтенсивного обміну з базою даних.
Спектр користувачів також буде впливати на розробку інтерфейсу. Програма, що орієнтована на початківця, вимагає простоти компонування, а для досвідчених користувачів можна вводити складні елементи. Велику роль грає також традиційність інтерфейсу програм, призначених для вирішення типових задач.
Проектування інтерфейсу користувача, як правило, це ітераційний процес. Первинний варіант компонування екрану не часто задовольняє розробника. Visual Basic містить всі необхідні інструментальні засоби, для різних аспектів проектування інтерфейсу.
Програма білінгу і програма
тарифікації реалізовані за
Для створення програми програміст використовує об'єкти, ті, що вже існують в Visual Basic та такі, як, елементи управління, форми, об'єкти доступу до даних. Visual Basic дозволяє програмісту створювати об'єкти користувача і визначати для них властивості і методи.
Об'єкт це комбінація програмного коду і даних, яка може оброблятися як самостійна сутність. Об'єкт може бути частиною програми, як, наприклад, елементи управління. Сама програма теж є об'єктом. Об'єкти Visual Basic підтримують властивості, методи і події. Дані об'єкта (установки або атрибути) це його властивості, в той час як різні процедури, якими можна маніпулювати об'єктом називаються методами. Подія – це дія, розпізнавана об'єктом, наприклад, натиснення миші або натиснення клавіші.