Розробки програмно-апаратного комплексу тарифікації і білінга телефонних
розмов та інтернету.
Дипломна робота
1 автоматизації обліку Інтернет послуг
1.1 Сучасний стан автоматизації обліку Інтернет послуг
Автоматизована система розрахунків NETUP UTM 5.0 [1] призначена для
здійснення комплексного обслуговування абонентів підприємств зв’язку. За
допомогою системи UTM 5.0 здійснюються всі основні кроки взаємин з
клієнтами: укладення договорів, здійснення технічної підтримки,
підрахунок що надаються клієнтові послуг, виставляння рахунків,
виписування рахунків-фактур, актів выполенных робіт, різних звітів і
багато що інше. На даний момент при роботі з UTM можна організувати
надання наступних послуг:
– Доступ в інтернет через виділені лінії (Ethernet, Radio Ethernet,
мережі кабельного телебачення, xDSL, VPN, PPPoE і ін.)
– Доступ в інтернет за допомогою Dial-up (за договором, по
інтернет-картах)
– Доступ в інтернет через точки публічного доступу (хотспот)
– E-mail хостинг і WWW-хостинг
– Класична телефонія
– IP-телефонія (VOIP)
Оскільки багато послуг, що надаються через локальну мережу, пов’язані з
використанням IP-трафіку і дуже часто їх об’єм пропорційний
використаному трафіку, то можна організувати підрахунок послуг, не
перерахованих вище, таких як доступ до ігрового сервера, доступ до
відео- і музичного сервера, надання в платне користування файлового
сервера і т.п.
Білінгова система UTM 5.0 дозволяє створювати безліч тарифів, задаючи
різну вартість трафіку залежно від об’єму вже викачаного трафіку від
напряму (наприклад, український-зарубіжний), часу доби або дня тижня.
Також можна вести облік по преважаючому трафіку. Для послуг Dial-up
можна задати різну вартість часу з’єднання залежно від часу доби і дня
тижня. У тарифах для класичної і IP-телефонії також задається різна
вартість часу розмови залежно від напряму дзвінка. У системі можливий
облік послуг (а також прийом платежів) в різних валютах.
Як альтернатива клієнтському web-інтерфейсу користувача існує клієнтська
програма UTM Wintray. За допомогою UTM Wintray користувач може у
будь-який момент перевірити баланс свого особового рахунку,
включити/виключити доступ в інтернет для свого комп’ютера, відправити
(або отримати) повідомлення адміністратора. У UTM Wintray вбудований
функціонал захисту від несанкціонованого доступу в інтернет третіми
особами.
Крім внесення даних про оплату послуг через оператора існують
альтернативні способи поповнення особового рахунку. Так, UTM підтримує
роботу з передоплаченими інтернет-картами. Також є можливість роботи з
картами платіжної системи Рапіда. Уніфікований механізм внесення
зовнішнього платежу дозволяє набудувати роботу практично з будь-якими
платіжними системами і бухгалтерськими програмами (наприклад,
1С-Бухгалтерія, системи банк-клієнт і ін.).
Білінгова система UTM 5.0 підтримує наступні операційні системи: Linux,
FREEBSD, Solaris SPARC, Windows (NT, 2000, XP, 2003 та бази даних:
MYSQL, POSTGRESQL
В якості устаткування для збору первинних даних по трафіку необхідно
використовувати:
– маршрутизатор на основі ПК з ОС Linux, FREEBSD, або Windows (NT, 2000,
XP, 2003)
– будь-яке устаткування, що підтримує експорт даних у форматі NetFlow
v.5
– будь-яке устаткування, що підтримує експорт даних у форматі Cisco IP
Accounting
– будь-яке устаткування, що надає дані по трафіку у вигляді таблиці, що
містить IP-адресу джерела, IP-адреса одержувача і кількість переданих
байт.
Наприклад, Cisco, MikroTik, NSG, Revolution, Cabletron, Huawei.
Для надання послуг dial-up можна використовувати будь-яке устаткування,
що підтримує авторизацію і акаунтинг по протоколу RADIUS. Наприклад,
Cisco AS5350, USR NetServer, Lucent MAX6000, Huawei, NSG, сервер доступу
на основі ПК з ОС Linux, FREEBSD або Windows Server.
Для надання послуг IP-телефонії, можна використовувати будь-яке
устаткування, що підтримує авторизацію і аккаунтинг по протоколу RADIUS.
Наприклад, Cisco AS5350, сервер VOIP на основі ПК з ОС Linux, FREEBSD
або Windows.
Білінгова система “BG-білінг” [2] створена для автоматизації діяльності
операторів зв’язку. Великий набір модулів дозволяє тарифікувати широкий
круг послуг, таких як:
– комутований доступ в Інтернет
– доступ в Інтернет за картками
– доступ в Інтернет по виділених лініях
– доступ в Інтернет по VPN
– IP – телефонія
– послуги класичної телефонії
– послуги кабельного телебачення
– послуги цифрового кабельного телебачення
В даний час система упроваджена і успішно експлуатується в декількох
десятках організацій по всій територии СНД і зарубіжних країн.
Програма написана на Java в клиент-серверному варіанті з використанням
бази даних MYSQL. АРМ адміністратора системи і операторів реализовані у
вигляді GUI додатку. Для абонентів доступний Web-інтерфейс.
Можливості BG-Billing по обліку різних сервісів абонентів реалізовані за
допомогою модулів. Використання модульної архітектури дозволяє швидко
розробляти підтримку нового вигляду сервісу, а клієнтам гарантує
можливість простої оптимізації системи під вирішуваний круг завдань. До
основних модулів сисиеми відносяться:
1) Модуль комутованих з’єднань(DIALUP)
здатний авторизувати і підраховувати трафік і час будь-якого
комутованого (не постійного) з’єднання, що підтримує протокол RADIUS:
DIALUP, VPN;
відновлення підрахунку з’єднання після перезавантаження RADIUS сервера
або розриву мережі;
наявність режиму активної перевірки з’єднання на предмет його існування
по протоколу SNMP або RSHELL;
обмеження доступу клієнтам по телефонах дозвону, часі, телефону
дозвонювача;
обмеження напрацювання логіна за часом і трафіком;
обмеження кількості одночасних з’єднань;
зміна вартості трафіку і часу по годинах, днях тижня та місяця;
підтримка протоколів авторизації PAP, CHAP і MS-CHAP v.2 з генерацією
ключів шифрування MPPE-128;
підтримка пулів адрес, що динамічно роздаються клієнтам;
перегляд клієнтом сесій і напрацювання по логінах через WEB статистику,
можливість зміни клієнтом пароля доступу.
взаємодія з модулем Картки, створення логіна по Інтернет-карті.
Вивантаження вільних логінів для генерації карток;
перегляд звіту за договором через клієнт BGBilling з можливістю
збереження в HTML файл і відправки на Email;
монітор з’єднань і помилок авторизації: проглядання з’єднань як
завершених так і поточних, RADIUS запитів по цьому з’єднанню, помилок
авторизації з вказівкою причини, по якій був заборонений доступ;
підтримка CallBack;
примусове завершення з’єднань (через консольне управління RADIUS
сервером);
вбудований NetFlow колектор: можливість підрахунку трафіку усередині
сесії з діленням за типами з різною ціною.
2) Модуль підрахунку виділених каналів (IPN)
підрахунок постійних з’єднання грунтуючись на логах trafd або будь-яких
інших логах, приведених до стандарту білінгу;
гнучкий поділ трафіку по видах з різною тарифікацією;
докладні денні, місячні і річні звіти по трафіку договору;
ведення пулу адрес з автоматичним перенесенням адрес між договорами;
можливість блокування клієнта через менеджер файрвола;
автоматичне блокування клієнта після досягнення нуля балансу;
автоматичне розблокування після поповнення балансу;
гнучкі тарифні плани з можливістю ділення вартості по днях місяця,
тижня, датам. Диференціація вартості від об’єму вже використаного
трафіку;
перегляд статистики користувачем через WEB інтерфейс
можливість самостійного управління шлюзом користувачем через WEB
інтерфейс для запобігання використанню його адреси;
підтримка збору статистики по протоколу NetFlow
розсилки сесій і напрацювання на e-mail.
3) Модуль IP телефонії (VOICEIP)
підтримка різного устаткування: CISCO, Mediant, Lucent. Можливість
додавання підтримки будь-якого іншого устаткування;
підтримка програмних GATEKEEPER-ів (GNUGK, Aqua);
довідник напрямів з різними вартостями дзвінка;
зміна вартості часу по годинах, днях місяця, тижня;
перегляд клієнтом сесій і напрацювання по логінах через WEB статистику,
можливість зміни клієнтом пароля доступу. Перегляд напрацювання по
напрямах;
взаємодія з модулем Картки, створення логіна по Інтернет-карті.
Вивантаження вільних логінів для генерації нових карток;
перегляд звіту за договором через клієнт BGBilling з можливістю
збереження в HTML файл, друк і відправки на e-mail.
монітор з’єднань і помилок авторизації, RADIUS запитів по цьому
з’єднанню, помилок авторизації з вказівкою причини, по якій був
заборонений доступ.
авторизація по логіну або номеру дозвонювача;
режим роботи без авторизації для корпоративних користувачів, підрахунок
з’єднань по завершенню;
розсилка сесій і напрацювання по логінах і напрямах на e-mail клієнта.
4) Модуль Картки + видалені платежі (card)
ведення бази карток;
завантаження карток з текстового файлу;
ведення бази ділерів, з передачею карток ділерам;
видалені платежі через ділерів. HTTP(S)+XML протокол. Клієнтський
Web-додаток;
звіти по платежах ділерів;
поповнення клієнтом балансу картками через WEB – інтерфейс;
ведення історії за картками клієнта;
інтеграція з модулями VOICEIP і DIALUP – можливість використання карток
для створення логінів в цих модулях.
5) Модуль телефонії (PHONE)
облік операторських взаєморозрахунків і послуг абонентам;
підрахунок телефонних логів, наданих в стандартному форматі;
зміна вартості часу по годинах, днях місяця, тижня;
тарифікація дзвінків по зонах і префіксах;
автоматичне завантаження, підрахунок логів;
можливість перерахунку логів;
WEB-интерефейс клієнта. Перегляд дзвінків, напрацювання по телефонах,
напрацювання телефону по напрямах;
звіти за договорами з можливістю відправки на пошту, друк, збереження у
файл;
Можливість похвилинної/посекундної тарифікації;
6) Модуль абонплат (NPAY)
автоматичне нарахування абонплат користувачам. Можливість як глобальної
установки розміру абонплати, так і зміна її розміру для кожного
користувача;
нарахування абонплат залежно від напрацювання в інших модулях;
режими нарахування: щомісячний, щоденний, авансовий, до поточної дати;
7) Модуль TrayInfo (TRAYINFO) дозволяє клієнтові оперативно дізнатися
про залишок свого балансу а також миттєво перейти на сторінку
статистики.
8) Модуль Звіти (REPORTS). Система звітів як по загальному модулю
(відкриті/закриті договори, платежі, напрацювання) так і по окремих
модулях (VOICEIP, DIALUP, Картки ). Можливість збереження в PDF, Excel,
HTML, друк. Підтримка графіків і діаграм.
9) Модуль WebMoney (WM)
можливість поповнення клієнтом рахунку з використанням WM;
перегляд платежів клієнта в договорі.
10) Модуль бухгалтерії (BILL)
генерація рахунків для клієнтів як самостійно через сторінку статистики
так і примусово адміністратором;
облік рахунків, пошук і нарахування в баланс після позначки
адміністратором;
автоматичне рознесення виписок вивантажених у форматі 1С;
підтримка декількох банківських рахунків;
генерація друкарських форм рахунків і рахунків-фактур з виводом на друк.
Автоматизована система розрахунків (АСР) “Білл-Майстер” [3] створена з
урахуванням багаторічного і обширного досвіду експлуатації вузлів
операторів зв’язку, відповідає передовим стандартам ринку сучасних
автоматизованих систем розрахунку телекомунікаційних послуг.
АСР “Білл-Майстер” забезпечує наступні можливості:
ведення розрахунків у валюті особового рахунку;
реєстрацію платежів в різних валютах;
ведення курсів валют по відношенню до внутрішньої валюти системи;
облік фінансових періодів і автоматичну обробку процедур відкриття і
закриття періодів;
ведення розрахунків з урахуванням різниці курсів виставлених
рахунків-фактур і отриманих платежів;
ведення розрахунків з урахуванням специфіки оподаткування за договором;
автоматичне і ручне формування фінансової і ліцензійної звітності
відповідно до законодавства;
зберігання історії надання послуг і ведення взаєморозрахунків за період;
ведення книги покупок;
ведення книги продажів;
можливість реалізації різних способів оплати, зокрема облік платіжних
карт, використовуваних як для поповнення рахунку, так і для організації
доступу до послуг Dial-Up і картковій телефонії з технології Voice IP.
можливість роздільного обліку послуг з інформаційних доменів;
можливість тарифікації наданих послуг з урахуванням календарної дати
надання послуг, часу доби і об’єму наданих послуг за звітний період;
можливість управління генерацією, реалізацією, використанням і
блокуванням платіжних карт;
можливість реалізації бонусних програм заохочення клієнтів що поповнюють
свій особовий рахунок за допомогою карт. Підтримуються бонуси по картах
певного пакету, що нараховуються одноразово або при кожному платежі
після перевищення певного порогу суми платежів. Бонусні програми
вирішують конфлікти бонусів на основі терміну дії і правил відпрацювання
конкуруючих бонусів.
АСР “Білл-Майстер” не має програмних обмежень по кількості тарифів і
тарифних планів і кількості підтримуваних користувачів в рамках
реалізованих алгоритмів.
Розглянута система втановлюється програмною надбудовою над мережевою
інфраструктурою оператора зв’язку, створюючи віртуальну модель того
середовища, в якому вона функціонує. Таким чином, “Білл-Майстер”
дозволяє ієрархічно відображати наявне мережеве устаткування, а також
інших учасників процесу роботи оператора зв’язку.
Модульна структура АСР “Білл-Майстер” дозволяє конфігурувати системи з
таким набором модулів, який найточніше відповідає потребам провайдерів в
частині управління телекомунікаційними послугами, формування звітів,
виконання інших облікових завдань.
Система має багаторівневу модульну архітектуру, в основі якої лежать
СУБД, сервер додатків, програмні модулі і агенти. Архітектура АСР
Білл-Майстер передбачає наступні можливості:
розширення функціональності системи;
використання на різних програмних і апаратних платформах;
адаптації до бізнес-процесів постачальників послуг електрозв’язку;
адаптації до різних видів телекомунікаційного устаткування і протоколів
взаємодії;
інтеграції з інформаційними системами підприємства.
Модулі системи об’єднані єдиним інформаційним сховищем репозиторного
типу, організованим на основі сертифікованої СУБД, а так само єдиним
графічним інтерфейсом управління, реалізованим з використанням
Web-технологій. Модулі є не тільки системним, але і маркетинговим
розбиттям функціонала.
В умовах динамічного розвитку ринку телекомунікацій, услід за
розширенням спектру послуг, що надається операторами, підвищуються
вимоги до апаратної частини. Для безперебійної роботи сервісів і
ефективної тарифікації необхідні всі великі обчислювальні ресурси.
Для функціонування автоматизованої системи розрахунків «Білл-Майстер»
пропонуються надійні апаратні комплекси, зокрема на основі устаткування
провідного світового постачальника Sun Microsystems.
Як альтернатива можуть розглядатися сервери інших виробників, зокрема
сертифіковані сервера Inpro Archer від компанії-виробника Інпро
Компьютерз. Дана компанія пропонує лінійку серверів, від простих
однопроцесорних серверів для підтримки малих робочих груп до
багатопроцесорних високопродуктивних систем для обслуговування
підприємств і кластерних систем, що забезпечують постійну доступність
мережевих сервісів, стовідсоткову надійність і безвідмовну роботу.
Інформаційна система білінгу, абонентського обслуговування і підтримки
діяльності персоналу підприємств електрозв’язку «Буєр-телемережа» [4],
забезпечує наступні основні функції:
Єдиний білінг по всіх видах послуг, що надаються абонентам з боку
оператора зв’язку (включаючи послуги провідної телефонії, послуги
абонентам мобільних мереж, послуги автоматичного і замовленого
міжміського і міжнародного зв’язку, послуги абонентам мереж
персонального радіовиклику, послуги Інтернет, оренда каналів і споруд
зв’язку і т.д.).
Функції бухгалтерської системи в частині віддзеркалення прибуткової
частини підприємства зв’язку відповідно до нормативних документів.
Обслуговування абонентів згідно вимог нормативних документів і існуючих
на підприємстві бізнес-процесів (від укладення договорів з абонентами до
прийому оплат і реалізації зумовлених реакцій на зміни станів рахунків
абонентів, включаючи обмеження зв’язку, автоінформування, функції бюро
ремонту і т.п.).
Управління комутаційним устаткуванням.
Взаєморозрахунки з партнерами оператора зв’язку (відомчими операторами
зв’язку, третіми фірмами, одержуючими відрахування від послуг, що
надаються абонентам, наприклад, при прийомі рекламних оголошень по
телефону і т.п.).
Аналіз обороту фінансових коштів і маркетинговий аналіз.
Підтримку діяльності, пов’язаної з обліком і експлуатацією об’єктів
лінійно-кабельного господарства і систем передачі, зокрема з
використанням цифрової карти міста, яка також була розроблена в рамках
реалізації даного проекту з використанням програмного забезпечення фірми
ESRI.
У системі використовуються різні варіанти моделей розрахунків з
абонентами і контролю їх особових рахунків, включаючи зумовлені реакції
на зміну станів рахунків абонентів, направлені на абсолютне недопущення
виникнення або контроль розмірів дебіторської заборгованості
Передбачена можливість оперативного ведення субрахунків абонентів, при
якій особові рахунки абонентів змінюються в режимі, близькому до
«гарячого» білінгу.
Передбачена фіксація в системі бізнес – правил обслуговування абонентів,
що є на підприємстві, з можливістю їх зміни.
Використовуються автоматичне знімання і тарифікація трафіку, що
отримується з різних АТС і комутаторів, що забезпечують мінімальну
участь персоналу, оперативність отримання результатів тарифікації і
широкі можливості аналізу трафіку.
Передбачено управління з боку персоналу абонентського відділу
комутаторами і АТС із забезпеченням повної узгодженості бази даних
білінгової системи і стану комутатора при зміні наборів послуг або
станів послуг абонентів.
Повний розрахунок всіх абонентів за наслідками поточного дня
відбувається автоматично з подальшим формуванням аналітичної і
фінансової звітності по операційному дню підприємства, доступною з ранку
наступного дня персоналу підприємства. Одночасно доступні для
пред’явлення абонентам всі нарахування і детальні розшифровки по наданих
ним послугах по попередній день включно.
Виключно могутня підтримка завдань технічного обліку об’єктів
лінійно-кабельного господарства, систем передачі, рішення задачі
призначення технічних даних, що включає зокрема використання цифрової
карти міста.
Використання цифрової карти міста дозволяє задіювати візуальні аспекти
сприйняття даних при роботі персоналу різних служб підприємств
електрозв’язку, зокрема керівництво підприємства, планово-економічного
відділу, абонентського відділу, служби лінійно-кабельного господарства.
«Буєр-телемережа» спирається на використання СУБД Oracle, що працює як
на персональних комп’ютерах, так і на кластерах, на різних апаратних
платформах і під різними операційними системами. Застосування СУБД
Oracle забезпечує надійність, масштабованість, переносимість, можливість
ефективної реалізації різних, зокрема територіально розподілених, схем
функціонування системи, що відрізняються складом, характеристиками,
розташуванням і призначенням серверів баз даних і додатків,
використовуваних каналів зв’язку, устаткування клієнтських місць
(включаючи застосування символьних терміналів).
Протоколювання діяльності персоналу при змінах в базі даних, аудит
об’єктів бази даних, адміністрування користувачів, бізнес-додатків,
ролей і т.п., здійснюється з використанням як штатних засобів СУБД
Oracle, так і спеціально розроблених.
Система підтримує роботу з будь-якими валютами і умовними розрахунковими
одиницями, забезпечуючи ведення і роздільне використання декількох
(необмежено багато) курсів конвертації. Допускається зміна правил
формування фінансових документів в межах, визначуваним законодавством,
для кращої відповідності особливостям конкретного оператора зв’язку.
Забезпечується ведення історій абонентських установок, абонентів,
договорів, платежів, тарифів і т.п.
Забезпечується інтерфейс з фінансовими (бухгалтерськими) системами,
зокрема, системою «ПАРУС», а також системами абонентського
обслуговування (автоінформування, автодозвон, сервісні телефонні карти,
«інформаційний кіоск» і т.п.)
Функціонально система «Буєр-телемережа» включає наступні основні модулі:
– «Буєр-mobile» –система білінгу для оператора мережі рухомого
радіозв’язку.
– «Буєр-i» – система білінгу для Інтернет-провайдера.
– «Буєр-тфоп» – система білінг для оператора фіксованого зв’язку
(ТФОП).
Розглянемо більш детально систему «Буєр-i». Продукт призначений для
Інтернет-провайдерів, що надають доступ до мережі по
комутованих/виділених лініях, послуги хостингу, електронної пошти,
доступу до конференцій, послуги передачі даних. Включає ведення тарифів,
абонентське обслуговування, завантаження і обробку трафіку, оцінку
вартості записів – тарифікацію, систему розрахунків і виставляння
рахунків, роботу з розрахунково-платіжними документами, звіти.
Реалізовані алгоритми взаємодії з устаткуванням з використанням
протоколу SNMP: знімання трафіку з маршрутизаторів, управління профілем
абонента, розрив з’єднання при відповідній оцінці стану дебіторської
заборгованості для абонентів Dial-Up. Передбачається можливість
отримання звітів і інформування абонентів через WEB інтерфейс,
реалізована підтримка роботи з інтернет-картами.
Додаткові переваги:
відкрита архітектура, наявність Буеръ-API для інтеграції з третіми
системами, бухгалтерськими програмами;
система звітів, що настроюється;
вибір моделі білінгу (кредитова, авансова та ін.) та тарифікації
(можливість використання лічильників на певні інтервали, дати, різна
тривалість);
підтримка комутованих (DialUp), постійних з’єднань (NetFlow, Ethernet,
PPPoE), пошта, колокація, хостинг;
гарячий білінг (On-Line) з розривом з’єднання (PPP, PPPoE);
управління устаткуванням (SNMP, Telnet, RS-232, Corba, ACTIVEX, rlogin і
ін.);
підтримка взаємодії з мережами складної структури – використання
абонентських груп по підключенню;
розширене абонентське обслуговування (робота із заявами і листами,
визначення технічної можливості, формування нарядів);
управління профілем і послугами абонента, підтримка інформаційного стану
абонента, забезпечення блокувань і умовної таификации постійних послуг;
підтримка роботи з дебіторами при кредитній системі оплати (контроль
ИБС, контроль операторами), аналіз надійності абонента;
підтримка інформування SMS, E-mail на власні точки доступу і загальні
для клієнта – WWW самообслуговування абонентів;
підтримка карткової платформи;
підтримка різних податків (ПДВ, НСП), зокрема різних ставок;
підтримка роботи видалених АРМ абонентського обслуговування, прийому
платежів, в т.ч. з підтримкою ККМ;
підтримка роботи з партнерами і диллерами (продажів і послуг);
підтримка функцій складу для видачі партнерам устаткування, договорів і
т.п.;
HASP Security Agent і Watchdog Ethernet Utility – контроль за
підключенням по Ethernet без підтримки PPPoE.
Розглянути програмно апаратні комплекси білінгу послуг інтернет
провайдера призначені для великих компаній, є досить громізкими та
вартісними і тому не доцільне їх застосування для невеликих фірм, що
надають послуги доступу до мережі обмеженому числу клієнтів.
1.2 Типові послуги інтернет-провайдера
Доступ до Internet можна отримати встановивши зв’язок з провайдером
послуг Internet (Internet Service Provider). Провайдер виступає в якостi
посередника (провiдника) Internet, забезпечуючи пiдключення користувачiв
до Internet через маршрутизатор Internet. Користувач пiдключається до
маршрутизатора провайдера за допомогою телефона або видiленої лiнiї.
Бiльшiсть провайдерiв є прямими провайдерами. Для таких провайдерiв
надання доступу в Internet є основним видом їх дiяльностi. Їм сплачують
разовий вступний внесок плюс пiдписну плату. Вони переважно надають
користувачам все програмне забезпечення, необхiдне для пiдключення.
Додатковi послуги, що надаються провайдерами можуть iстотно
вiдрiзнятися. Однi провайдери надають тiльки можливiсть доступу до
Internet без будь-яких додаткових можливостей. Iншi – можуть здавати в
оренду мiсце для особистого Web–сервера, запропонувати можливiсть
постiйного пiдключення або допомогти в оформленнi i веденнi Web–сервера.
В залежностi вiд способу застосування iснує кiлька способiв пiдключення
до мережi Internet.
1. Переписка i електронна пошта – найпростiша форма застосування
Internet. Пiдключення, що дозволяє переписуватися та користуватися
електронною поштою, є найпростiшим по установцi i найдешевшим в
експлуатацiї.
2. Доменний доступ – з провайдером заключається договiр про можливiсть
безпосереднього доступу до Internet, за який вноситься мiсячна або рiчна
плата. Подiбний вид доступу найчастiше використовується в органiзацiях,
якi використовують ресурси Internet для отримання загальної iнформацiї,
проведення iнтерактивних дослiджень або придбання товарiв та послуг.
3. Клiєнтський доступ використовується для запуску Internet-додатків на
робочих станцiях (наприклад, програмне забезпечення для торгiвлi
акцiями, яке зв’язується з брокерськими конторами або комунiкацiйною
програмою, яка проводить конференцiю в режимi реального часу). Подiбнi
приложення самостiйно встановлюють пiдключення до Internet пiд час
запуску i вiдключаються в момент завершення роботи.
4. Постiйний прямий доступ до Internet використовується компанiями, що
iнтенсивно пропонують свої товари та послуги через Internet; в якостi
прикладу можна навести аiвакомпанiю з можливiстю бронювання квиткiв
через Internet. Подiбний вид доступу є найдорожчим i його установка та
супровiд вимагає додаткових послуг зi сторони провайдера.
Для забезпечення обмiну повiдомленнями, доменного або клiєнтського
доступу достатньо лише комутованого доступу (dial-up access) до
провайдера; це означає, що для встановленя зв’язку, використовуються
стандартнi телефоннi лiнiї або ISDN-лiнiї, якi бiльш швидко працюють,
але коштують дорожче.
Вирiшивши, як буде використовуватися мережа Internet, слiд визначити,
яку кiлькiсть ресурсiв власної мережi можна видiлити для доступу в
Internet. Доступ в Internet можна надати або всiм, або кiльком
користувачам мережi. Якщо приймається рiшення надати доступ тiльки
кiльком користувачам, тодi зручнiше буде налаштувати робочi станцiї
таких користувачiв окремо; тобто встановити на таких станцiях модем та
пiдтримку протоколу TCP/IP, пiсля чого такi користувачi зможуть
самостiйно зв’язуватися з провайдером. Впровадження такого рiшення не
займе багато часу, такий доступ легко супроводжувати i, крiм того, не
знадобиться настроювати всю мережу для пiдтримки протоколу TCP/IP.
Однак, якщо неохідно надати доступ до Internet всiм користувачам
локальної мережі, то пiдтримку протоколу TCP/IP слiд буде встановлювати
по всiй мережi. В такому випадку замiсть установки зв’язку за допомогою
модему, доцiльно використати комутуючий маршрутизатор, який є
вдосконаленою формою модема, призначеною для використання в мережах.
Постiйне IP з’єднання по видiленiй лiнiї – абонент пiдключається до
вузлу доступу до мережi Iнтернет по фiзичнiй 2-х, 4-х проводнiй лiнiї
або цифровому каналу, при цьому вiн отримує послугу доступу до ресурсiв
Iнтернет в режимi on-line цiлодобово. Для кожного клiєнта на вузлi
доступу конфiнгуруються параметри маршрутизацiї трафiку.
Доступ по комутованiй лiнiї— абонент пiдключається до вузла доступу до
мережi Iнтернет, використовуючи телефонну мережу загального користування
(ТфМЗК), при цьому вiн отримує послугу доступу до ресурсiв Iнтернет в
режимi on-line. Оплата стягується за час з’єднання.
Електронна пошта – абонент отримує адресу електронної пошти та поштову
скриньку, при цьому для абонента резервується дисковий простiр для
поштової скриньки на поштовому серверi провайдера, обсяг необхiдного
дискового простору замовляється абонентом. Можна створити одну або
кiлька поштових скриньок. З’єднання з поштовим сервером може бути
органiзовано за протоколами POP3, IMAP чи UUCP.
Необхідною умовою для забезпечення функціонування Інтернет є надійна
робота серверів доменних імен DNS, які виконують функції посередників
між фізичними адресами та іменами ресурсів Інтернет. Провайдер може
надавати послуги розміщення первинних та вторинних систем доменних імен
клієнтів на своєму сервері доменних імен.
Можга зареєструвати власний первинний та вторинний DNS (при цьому
електронна адреса не буде містити адреси провайдера); зареєструвати
структуру підприємства будь-якої складності, без проблем зареєструвати
власний WWW або FTP-сервер, маючи власний DNS.
При пiдключеннi до вузла доступу до мережi Iнтернет абонентiв з власними
мережами чи автономними системами органiзується маршрутизацiя цих мереж
чи автономних систем для доступу до свiтової мережi Iнтернет.
Ці послуги надаються Інтернет-провайдерам для забезпечення їх клієнтам
доступу до Інтернет через зовнішні канали провайдера з використанням
технічних ресурсів Укртелекому. При цьому, за доступ до Інтернет клієнт
розраховується безпосередньо з провайдером, а провайдер, в свою чергу,
розраховується з Укртелекомом за використання його технічних ресурсів.
Телеконференцiї – абонент отримує доступ до серверу телеконференцiй
провайдера, при цьому вiн має можливiсть пiдписуватись на групи новин за
рiзноманiтними спрямуваннями (за бажанням) та приймати участь в роботi
цих груп (читати повiдомлення та надсилати повiдомлення в цi групи).
Вiртуальний FTP-сервер, призначений для розмiщення на ньому файлiв та
забезпечененя доступу до них користувачiв Iнтернету. Провайдер Інтернет
послуг може надавати можливість розміщення клієнтських віртуальних WWW
або FTP-серверів на власному вузлі Інтернет. Оплата за сервер стягується
відповідно до об’єму дискового простору, який він займає.
Послуга “Розміщення WWW-сторінки” дозволяє абоненту публікувати в
глобальній мережі Інтернет персональну WWW-сторінку з можливістю
вільного доступу з мережі Інтернет. Оплата стягується в залежності від
обсягу текстової та графічної інформації, яка організована у виді
WWW-сторінки.
Послуга доступу до вузла обмiну IP-трафiком – надається
клiєнтам/провайдерам Iнтернет для розвантаження їх закордонних зв’язкiв
вiд мiжпровайдерського IP-трафiку. Клiєнти отримують порт локальної
мережi Ethernet на вузлi обмiну та мiсце для встановлення їх обладнання
доступу до вузла. Клiєнти, що пiдключенi до вузла обмiну укладають мiж
собою угоди щодо обмiну трафiку.
Розміщення фізичного серверу та надання в користування фізичного
серверу, для цього провайдером надається місце в телекомунікаційних
шафах в спеціалізованих приміщеннях, забезпечується енергоживлення, а
також підключення до Інтернет серверів. Атрибутом інформації в мережі
Інтернет є адреса WWW-сайту. За кожною такою адресою є сервер, який
зберігає доступну для всіх користувачів мережі інформацію. У свою чергу
більшість серверів розташовані на спеціалізованих вузлах Інтернет.
хDSL – високошвидкiсний цiлодобовий Iнтернет доступу по телефоннiй лiнiї
з використанням технологiї хDSL. Швидкiсть передачi даних до 115,2
кбiт/с. хDSL – це телефон та Iнтернет одночасно по однiй лiнiї. Тобто,
одночасно по однiй парi мiдного дроту, на якiй ранiше працював лише
телефон, утворюється два незалежних цифрових канал для Iнтернету та
телефону. При цьому голос (телефонний канал) передається цифровим
потоком в 64 кбiт/с, що гарантує високу якiсть звучання та надiйне
функцiонування будь-якого додаткового устаткування (факс, модем, тощо).
В той час, коли не здійснюються телефонні розмови, швидкiсть доступу до
Iнтернету збiльшується за рахунок використання телефонного цифрового
потоку для передачi даних Iнтернету.
DSL – в буквальному перекладi на українську мову – це цифрова
абонентська лiнiя (Digital Subscriber Line). З’явився цей термiн з
появою ISDN (Integrated Service Digital Network) – цифрового
абонентського доступу, що був реалiзований з появою у 80-х роках нових
цифрових автоматичних телефонних станцiї (цифрових АТС). Найчастiше
термiн DSL використовувався в контекстi ISDN BRI (Basic Rate Interface)
– цифрового доступу зi швидкiстю 160 кбiт/с.
В даний час термiн майже повнiстю втратив зв’язок з лiнiєю ISDN BRI та
означає технологiю (набiр протоколiв фiзичного рiвня моделi взаємодiї
вiдкритих систем OSI) для високошвидкiсної передачi дискретних сигналiв
по фiзичнiй лiнiї (звичайно мiдному дроту). Бiльш загально пiд DSL
розумiють сукупнiсть технiчних засобiв, що включає абонентську лiнiю
зв’язку (кручену пару) та цифрову систему передачi, або так званi
модеми, що забезпечують дуплексну (двонаправлену) передачу по
абонентськiй лiнiї цифрових сигналiв.
xDSL — В даний час iснує безлiч рiзних “DSL-подiбних” методiв передачi
iнформацiї по мiдному дротi. Всiх їх умовно об’єднують у сiмейство
xDSL-технологiй. В лiнiях, що органiзованi на базi xDSL-обладнання
трафiк передається тiльки у цифровому виглядi.
У даний час xDSL найчастiше використовується для органiзацiї доступу
кiнцевих користувачiв до мереж передачi даних загального користування,
наприклад, Iнтернет.
Рисунок 2.1 – Схема надання послуг xDSL
1. 3 Постановка задачі дослідження
Задача полягає в розробці системи для контролю і тарифікації телефонних
дзвінків та надання доступу до мережі Інтернет клієнтів через офісну
АТС. Ця система повинна складатися з програми тарифікації і програми
білінга.
Програма тарифікації повинна фіксувати дані про зроблені телефонні
дзвінки з порту офісної телефонної станції і зберігати їх в базі даних
комп’ютера для подальшої обробки, тарифікації і надання звітів а також:
проводити ефективний контроль і облік дзвінків;
мати тарифні плани основних українських операторів зв’язку;
проводити тарифікацію по різних тарифах в залежності від:
а) географічної зони;
б) часу доби зробленого дзвінка;
в) категорії дня (будні, вихідні, свята);
г) тривалості з’єднання;
д) типу дзвінків;
е) транку номера
є) мінімального облікового часу;
ж) мінімального часу замовлення;
з) поточного курсу валют;
мати передвстановлену базу кодів автоматичного зв’язку;
коректно обробляти такі типи дзвінків, як вхідний, вихідний, транзитний,
внутрішній, конференційий, переведений, без відповіді, а також час
очікування до підняття трубки при вхідному двінку;
підтримувати основні типи станцій ATC;
мати встроєну систему розробки тарифних планів і часових зон будь-якої
складності (тарифікаційні інтервали, нетарификуємі інтервали, пільгові
періоди, зкидки, надбавки, облік абонплати, безплатні хвилини, ціна за
з’єднання і т.д.);
експортувати дані в інші формати;
мати підтримку декількох валют;
працювати з декількома станціями одночасно;
мати документацію для користувача;
друкувати рахунки в режимі реального часу;
Програма білінга повинна надати можливість зручно користуватися
отриманою інформацією про телефонні дзвінки [1]:
зберігати поточну і знищувати застарілу інформацію;
настроювати параметри абонентів і зовнішніх форм;
робити виборки по абоненту і періоду;
робити сумарні виборки за період з проміжними сумами по абонентах і
лініях;
видавати результати на друк у зручній формі.
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. HYPERLINK “http://www.netup.ru/utm5.php”
http://www.netup.ru/utm5.php
2. HYPERLINK “http://bgbilling.bitel.ru/program/about.shtml”
http://bgbilling.bitel.ru/program/about.shtml
3. HYPERLINK “http://www.bill-master.ru/system/description/”
http://www.bill-master.ru/system/description/
4. HYPERLINK “http://www.bill-master.ru/system/description/”
http://www.bill-master.ru/system/description/
2 РОЗРОБКА АРХІТЕКТУРИ СИСТЕМИ
Розглянемо у загальному випадку архітектуру програмно-апаратного
комплексу тарифікації і білінга телефонних розмов dial-up послуг доступу
до Інтернет. Як правило, комплекс підключається в уже існуючу систему
телефонного зв’язку. В організації, що використовує комплекс,
встановлено міні-АТС (надалі АТС) офісного типу. АТС має зовнішні канали
зв’язку, які під’єднані до міської, або районної АТС (рис 3.1) та доступ
до мережі Інтернет через зовнішні канали.
Всередині організації встановлено кінцеві пристрої телефонного зв’язку
(телефонні апарати, факси, модеми), які приєднані до АТС внутрішніми
лініями. Під час роботи по комутуванню внутрішніх ліній між собою та
зовнішніми лініями, АТС фіксує у внутрішній пам’яті інформацію про всі
телефонні дзвінки і передає їх по спеціальному кабелю в комп’ютер, на
якому встановлено програму тарифікації і програму білінга.
Дані поступають в програму через послідовний порт комп’ютера,
сполучений кабелем з послідовним портом АТС (або іншого комутатора зі
схожим функціональним призначенням). Спосіб і фізичний рівень прийому
даних – RS-232. У процесі прийому дані без змін вносяться в лог-файл.
Обробка вхідних даних здійснюється на основі установок для конкретного
формату АТС і складається з:
читання даних з порта RS-232;
за допомогою спеціальних символів визначається рядок даних;
по шаблону визначаються поля і їх формати;
значення полів проходять первинну обробку відповідно до форматів;
дані з полів проходять обробку за спеціальним алгоритмом, використовуючи
базу даних тарифів. В результаті визначається вартість, валюта, часові
параметри і додаткові поля;
Рисунок 2.1 – Архітектура системи
виходячи з вищевказаної інформації визначається тривалість, ціна
тарифної одиниці і вартість розмови;
формується вихідний рядок, що відображається в головному вікні програми
тарифікації і виводиться в вихідну базу даних.
Слід зауважити, що процес тарифікації відбувається в режимі реального
часу.
Оператор, що працює з комплексом, при потребі запускає програму білінга,
яка дає йому можливість аналізувати інформацію про телефонні дзвінки і
виводити на друк первинні документи (рахунок і сумарна відомість).
Отже, комплекс складається з вже існуючої апаратної частини, яку
необхідно правильно підключити і двох програм, які потрібно розробити.
2.1 Опис апаратного забезпечення
2.1.1 Типи АТС і формати виводу даних
У станціях типу HICOM 300 програма CDR має великі можливості по
відстеженню будь-якого вигляду дзвінків. Настройка програми CDR
здійснюється фахівцями. Всі параметри вихідного рядка регулюються в
програмі CDR. Візьмемо, як приклад, не складний рядок даних про дзвінки:
$_9522+___314+___0+ОБ+_______________7977041+______000150+980318113007$
Це – запис файла CDR для міського дзвінка. Нижче подано розшифровку для
рядка даних в таблиці 1.
Таблиця 1 – Розміщення полів даних для АТС HICOM
Назва поля Початковий байт Кінцевий байт Формат
Транк 2 6 –
Абонент 8 13 –
Лінія 15 18 –
Номер 22 43 –
Тривалість 47 56 dddddd
Дата 58 63 yymmdd
Час 64 69 hhmmss
Тип дзвінка 20 20 –
Статус дзвінка 23 26 –
У станціях типу MERIDIAN1 в залежності від версії програмного
забезпечення станції, програма CDR станції видає рядки даних про дзвінки
в декількох виглядах. Для докладнішої інформації потрібно ретельно
вивчати інструкцію користувача станції.
Розглянемо приклад рядка програми CDR версії вище за 20:
N 110 00 A015 012 A006 024 07/17 17:26:57 00:00:58. 0 A92428430 & 000
000 & 000
Нижче подано розшифровку для рядка даних в таблиці 2.
Таблиця 2 – Розміщення полів даних для АТС MERIDIAN1
Назва поля Початковий байт Кінцевий байт Формат
Транк 11 17 –
Абонент 10 13 –
Лінія 7 11 –
Номер 54 73 –
Тривалість 40 48 hh:mm:ss
Дата 26 30 mm/dd
Час 32 39 hh:mm:ss
У станціях типу HARRIS 20-20 набір і вигляд полів даних що видаються
програмою CDR залежить від вибраної команди для видачі даних на пристрої
негайного висновку. Також всередині програми CDR визначається так
званий набір фільтрів – параметри дзвінків, інформація про які буде
видаватися на зовнішні пристрої. Розглянемо приклад рядка програми CDR
при виведенні всіх по команді REPORT:
0000 002 06 00 00 980910 102927 102941 103000 000000 000 —- 1004 —
011405 001 001 003 001 —- 0007 —- 006 012015 0001 496356————
—————– —————-.
Нижче подано розшифровку для рядка даних в таблиці 3.
Таблиця 3 – Розміщення полів даних для АТС HARRIS
Назва поля Початковий байт Кінцевий байт Формат
Транк 114 119 –
Абонент 72 77 –
Line 50 63 –
Номер 10 26 –
Тривалість 60 78 –
Дата 1 9 yymmdd
Час 26 3 hhmmss
Тип дзвінка 6 8 –
Статус дзвінка 10 11 –
Початок 26 32 hhmmss
Закінчення 40 45 hhmmss
Статус черги 13 14 –
Конференція 16 17 –
ID абонента 54 56 –
Номер АОН 58 69 –
Код доступу 95 98 –
Вибраний пристрій 100 103 –
Вибраний № телефону 105 108 –
Вибраний зворотній маршрут 21 24 –
Правильність коду 135 139 –
Лічильник тарифікації імпульсний 156 160 –
Код рахунку 162 177 –
У станціях типу PANASONIC формати рядків різних моделей АТС, як
правило, схожі. Є відмінності лише в розташуванні даних в рядку і
форматах часу дзвінка. Приведемо приклад рядка станції KXTD-1232:
Date Time Ext CO Dial Number Ring Duration Acc code CD
11/30/98 10:31AM 104 09 080957977041 00:02’10
11/30/98 10:32AM 102 03 9227081 00:00’30
Нижче подано розшифровку для рядка даних в таблиці 4.
Таблиця 4 – Розміщення полів даних для АТС PANASONIC
Назва поля Початковий байт Кінцевий байт Формат
Транк 24 25 –
Абонент 20 22 –
Line З0 43 –
Номер 27 5 –
Тривалість 58 65 Hh:mm:ss
Дата 1 8 Mm/dd/yy
Час 10 16 Hh:mmPP
Тип дзвінка 28 28 i=I
Статус дзвінка 30 30 –
У наведеному прикладі для виходу на міжміську лінію використовується
префікс “0”. Для виходу в місто використовується префікс “9”. При
настройці на рядок станції особливу увагу необхідно приділити настройці
формату часу дзвінка. У наведеному прикладі час 10:22. Поле в настройках
має розмір 7 байтів і формат hh:mmPP. “PP” – означає включення режиму
розпізнавання часу в форматі АМ/PM.
У станціях типу CORAL використовується запис CDR простого вигляду:
1991 11/06 12:31 5:05 7129 6230 Y
1992 11/06 12:36 1:06 7115 6226 7416079
1993 11/06 12:38 0:16 7100 6230 Y
Нижче подано розшифровку для рядка даних в таблиці 5:
Таблиця 5 – Розміщення полів даних для АТС CORAL
Назва поля Початковий байт Кінцевий байт Формат
Транк 28 30 –
Абонент 35 38 –
Лінія 20 23 –
Номер 42 69 –
Тривалість 20 25 mm:ss
Дата 7 11 mm/dd
Час 14 18 hh:mm
Тип дзвінка 77 77 Y=I
Статус дзвінка 82 84 –
Рядок даних CDR станцій SAMSUNG не містить складностей і є максимально
інформативний:
132 205 11:24 17:44:06 00:00:33 9562060
132 204 11:24 17:45:21 00:00:34 5800000
135 209 11:24 17:45:47 00:01:38 INCOMING
131 210 11:24 17:47:20 00:00:00 9500002
130 211 11:24 17:47:16 00:00:04 9500013
Варто звернути увагу на відсутність року в полі Дата рядка станції.
Програмою в такому випадку рік буде підставлятися автоматично з
системної дати.
Нижче подано розшифровку для рядка даних в таблиці 6.
Таблиця 6 – Розміщення полів даних для АТС SAMSUNG
Назва поля Початковий байт Кінцевий байт Формат
Транк 4 6 –
Абонент 11 13 –
Line 45 49 –
Номер 48 68 –
Тривалість 37 44 hh:mm:ss
Дата 18 22 mm:dd
Час 26 33 hh:mm:ss
Тип дзвінка 48 49 IN=I
2.1.2 Настройка АТС для виводу даних
Практично у всіх електронних телефонних станціях існує можливість
збирати дані про дзвінки, що відбуваються. Ця можливість полягає в тому,
що АТС може формувати запис про дзвінок з зазначенням деяких полів.
Кількість і види полів в різних АТС відрізняються.
В АТС функції реєстрації дзвінків виконує програма CDR – Call Detail
Recording (або SMDR – Station Message Detail Recording). Записи можуть
зберігатися в станції або видаватися на зовнішні пристрої – комп’ютер
або принтер. Принципово в АТС можуть бути закладені додаткові можливості
по тарифікації дзвінків, але, як правило, ці можливості не
використовуються через складність освоєння і роботи з даними функціями
оператором АТС.
Для отримання даних CDR (SMDR) необхідно запрограмувати АТС для видачі
даних на зовнішній пристрій. У будь-якій програмі CDR дзвінок повинен
мати як мінімум наступні поля (атрибути дзвінка):
Дату / Час (Date/Time) здійснення дзвінка;
Тривалість, або ЧасЗавершення (ContinEndTime) дзвінка;
Місце призначення (Номер);
Ідентифікатор власника дзвінка (Абонент).
Додатково можуть виводитися:
Номери зовнішніх ліній (Лінія);
Номери маршрутів (Транк);
Ідентифікатори видів обслуговування.
Кожна станція в програмі CDR може мати свій набір додаткових полів. Їх
кількість часто залежить від видів послуг, що надаються абонентам. У
рядках CDR додаткові поля можуть виводитися в окремому полі в вигляді
набору цифр або букв.
Нижче подано види додаткових полів виходячи з функціональних
особливостей АТС. Зрозуміло, що цей розподіл є умовним, оскільки
додаткові функції АТС по кожному з цих типів атрибутів можуть
перетинатися:
Маршрутизація – це набір правил по виходу дзвінка у зовнішні телефонні
мережі. Він базується на принципах організації телефонних з’єднань в
АТС. Коди ці можуть набиратися як АТС (в залежності від статусу
абонента) так і самим абонентом. У рядку виводиться часто у вигляді
цифр.
Коди доступу – частина набраного номера для доступу до сервісів в
телефонній станції, розташована в рядку CDR окремо від безпосередньо
набраного номера.
Коди авторизації – атрибут, що дозволяє ідентифікувати конкретного
абонента. Іноді входить в набраний номер. Існують АТС, в яких цей код
виводиться в рядок окремо від набраного номера або номера абонента.
Персональні коди – коди, що дозволяють певним абонентам вибирати
необхідні види сервісу телефонної станції, шляхом набору додаткових
цифр або клавіш системного телефону.
Коди маршрутів – ідентифікатори правил набору станцією додаткових кодів,
правил виходу абонентів у зовнішні мережі і т.п. Аналіз цих кодів
дозволяє оптимізувати навантаження і проходження дзвінків всередині АТС.
Коди проектів – маршрути можуть об’єднуватися в логічні групи.
Ідентифікація обладнання дзвінка абонента по коду маршруту і є код
проекту. Часто ця функція використовується для підрахунку витрат певної
групи абонентів (підрозділ, відділ і т.п.). Коди проектів можуть
видаватися в рядку окремо у вигляді буквено-цифрового запису.
Послуги – (переадресація, донабір при доступі ззовні, доступ до
зовнішніх серверів голосової пошти і запису переговорів, гучний зв’язок,
конференція, АВН). Станції з розвиненим сервісом, як правило, мають
можливості для видачі даних про послуги в рядках CDR у вигляді
буквено-цифрових записів.
Організаційні одиниці – станції, що використовуються декількома
організаціями, можуть бути запрограмовані для таких умов (коди, маршрути
і т.п.), але на практиці це рідко відбувається, і виникають конфлікти
при розподілі витрат по оплаті телефонного трафіка.
2.1.3 Під’єднання АТС до комп’ютера
Для забезпечення прийому даних необхідно підключити комп’ютер до АТС.
З’єднання АТС і комп’ютера проводиться штатним кабелем, що входить в
комплект постачання АТС, оскільки різні типи АТС можуть мати абсолютно
різні схеми контактних з’єднань в кабелі. У випадку відсутності такого
кабеля, його виготовляють, використовуючи схему, надану виробником АТС в
документації. Нижче наведено схеми підключення роз’ємів DB-9, DB-25
кабелів для деяких АТС в таблицях 7 – 12.
Таблиця 7 – Підключення роз’ємів кабеля для ATC KX-T1232, KX-TD816,
KX-TD1232, KX-T336, KX-TD500
ATC Комп’ютер
Роз’єм DB-25P Роз’єм DB-25S Роз’єм DB-9S
Сигнал № Сигнал № Сигнал №
FG 1 FG 1 – –
TXD 2 RXD 3 RXD 2
RXD 3 TXD 2 TXD 3
RTS 4 CTS 5 CTS 8
CTS 5 RTS 4 RTS 7
DSR 6 DTR 20 DTR 4
SG 7 SG 7 SG 5
DTR 20 DSR 6 DSR 6
Таблиця 8 – Підключення роз’ємів кабеля для ATC GDK-100
ATC Комп’ютер
Роз’єм DB-9P Роз’єм DB-25S Роз’єм DB-9S
Сигнал № Сигнал № Сигнал №
TX 2 RX 3 RX 2
RX 3 TX 2 TX 3
GND 5 GND 7 GND 5
Таблиця 9 – Підключення роз’ємів кабеля для ATC DCS
ATC Комп’ютер
Роз’єм DB-25P Роз’єм DB-25S Роз’єм DB-9S
Сигнал № Сигнал № Сигнал №
TXD 2 TXD 2 TXD 3
RXD 3 RXD 3 RXD 2
GND 7 GND 7 GND 5
DTR 20 DTR 20 DTR 4
Таблиця 10 – Підключення роз’ємів кабеля для ATC VB-9
ATC Комп’ютер
Роз’єм DB-25P Роз’єм DB-25S Роз’єм DB-9S
Сигнал № Сигнал № Сигнал №
FG 1 FG 1 – –
TD 2 RD 3 RD 2
RD 3 TD 2 TD 3
CTS
DSR
DCD 5
6
8 DTR 20 DTR 4
SG 7 SG 7 SG 5
DTR 20 CTS
DSR
DCD 5
6
8 CTS
DSR
DCD 8
6
1
Таблиця 11 – Підключення роз’ємів кабеля для ATC KX-TVP100
ATC Комп’ютер
Роз’єм DB-25P Роз’єм DB-25S Роз’єм DB-9S
Сигнал № Сигнал № Сигнал №
FG 1 FG 1 – –
TXD 2 RXD 3 RXD 2
RXD 3 TXD 2 TXD 3
DSR 6 DTR 20 DTR 4
SG 7 SG 7 SG 5
DTR 20 CTS
DSR
DCD 5
6
8 CTS
DSR
DCD 8
6
1
Таблиця 12 – Схема підключення роз’ємів кабеля для ATC KX-TA308,
KX-TA316, KX-TA324
ATC Комп’ютер
Роз’єм DB-9S Роз’єм DB-25S Роз’єм DB-9S
Сигнал № Сигнал № Сигнал №
– – FG 1 – –
RXD 2 TXD 2 TXD 3
TXD 3 RXD 3 RXD 2
DTR 4 CTS
DSR
DCD 5
6
8 DSR 6
SG 5 SG 7 SG 5
DSR 6 DTR 20 DTR 4
RTS 7 – – CTS 8
CTS 8 DTR 20 RTS 7
Кабель виготовляють зі з’єднувального кабеля модема, або, для відстаней
10-20м, з витої пари, бажано фольгованої (UTP 3cat, UTP 5cat, FTP 5cat).
Якщо кабель готовий, то, по наявній документації до АТС проводять
наступні роботи по підготовці послідовного порту станції:
включення послідовного порту в режим передачі даних на комп’ютер або
принтер;
настройка швидкості, парності, стоп-бітів і інших параметрів
послідовного порту;
настройка програми CDR (або SMDR);
включення режиму передачі даних АТС в безперервному режимі.
Після цього необхідно перевірити наявність вільного вхідного порту в
комп’ютері [8], настроїти його параметри в відповідності з настройками в
АТС і, вимкнувши комп’ютер, під’єднати кабель до АТС і до комп’ютера.
Потрібно уважно виконувати правила безпеки в момент з’єднання кабелем
АТС і комп’ютера.
Результатом робіт по підготовці АТС повинна стати безпосередня видача
байтів даних про дзвінки з вхідного порту. Це можна перевірити програмою
ATServer або незалежною термінальною програмою, наприклад, HyperTerminal
(в складі Windows 95/98) або Telix (для MS DOS) [8].
2.1.4 Вимоги до апаратного забезпечення
Нижче наведено оптимальні вимоги до комп’ютера, що обслуговує програму
тарифікації. Це PC Pentium IV, ОЗП 512 Mb, 1 Gb вільного дискового
простору, Windows 2000/XP.
Вищеподана конфігурація, дозволяє стійко працювати необмеженим числом
з’єднань в день.
2.2 Вибір середовища розробки програми
Програмна частина комплексу складається з двох незалежних програм. Перша
програма займається тарифікацією телефонних з’єднань. Вона вимагає
мінімального інтерфейсу, проте повинна бути дуже надійною. Друга
програма аналізує отримані результати і їй потрібно зручний інтерфейс,
проте швидкість роботи не є критичною.
Оскільки обидві програми мають різні характеристики, то доцільно
розробляти їх в різних середовищах, які би максимально враховували всі
потреби розробника.
2.2.1 Вибір середовища розробки програми тарифікації
Програму тарифікації потрібно розробляти в середовищі, яке забезпечить
високу швидкість роботи, надійність і компактність коду.
Існує велика кількість засобів розробки для створення прикладних програм
під Windows. Але всі вони володіють різними позитивними і негативними
властивостями. Найбільш відповідним середовищем програмування, при
створенні програм, є середовище Visual C++, яке дає великі переваги і
реально може підвищити ефективність програмування [4].
Visual C++ – це не просто нова версія компілятора мови С++, а принципово
новий програмний продукт, що дозволяє створювати широкий спектр програм
для Microsoft Windows. Він об’єднує в собі високопродуктивний компілятор
з мови С/С++, засоби візуального створення програм і технологію
управління базами даних. Він враховує багато новітніх досягнень в
програмуванні і практиці створення програм і призначений для візуального
програмування, коли розробник бачить значну частину результатів
безпосередньо на екрані монітора вже в процесі своєї роботи по створенню
програми. Візуальне програмування дозволяє швидше створити інтерфейс
програми, зробити його більш якісним за рахунок найкращого розташування
інформації вікна екрані монітора, уникнути багатьох помилок вже на етапі
проектування.
Використання Visual C++ також доцільне з наступних міркувань:
операційна система DOS доживають свої останні дні на старих ЕОМ, які не
підтримують системи Windows;
мова С++ як і раніше залишається кращою мовою для програмування;
створення програм для Windows з використанням візуальної технології
розробки програм починається не від найпростіших операторів (if, while і
т.п.), а від готових візуальних компонентів, для яких автоматично
генерується код у вигляді значно більших синтаксичних одиниць (класів,
властивостей, методів, модулів).
Для мінімальної роботи Visual C++ потрібний персональний комп’ютер з
хорошими характеристиками [10]. Пакет Visual C++ посилює ці вимоги. Для
роботи в цьому середовищі необхідний комп’ютер Pentium з тактовою
частотою не менше за 500 МГц, оперативною пам’яттю не менше 128М (бажано
256М і більше), жорстким диском об’ємом не менше за 20Гб. Бажано, щоб
монітор мав роздільну здатність не менше ніж 1024х768 точок. Можна
спробувати використати Visual C++ і з менш потужним комп’ютером, але це
приведе до погіршення продуктивності праці.
2.2.2 Вибір мови програмування для розробки модуля тарифікатора
Програма тарифікації містить в собі складний модуль тарифікації. Цей
модуль повинен бути розроблений з можливістю швидкої переробки алгоритму
тарифікації. Таким чином програма модуля є дуже гнучкою і дозволяє
створити будь-яку систему тарифікації.
Спеціально для цього було проаналізовано об’єкти і методи
тарифікаційного процесу і створено власну мову для модуля тарифікації
(додаток Б). Ця мова є дуже проста і лінійна. ЇЇ строгий синтаксис
забезпечує мінімальну кількість помилок при настройці тарифного плану.
В даній записці описано одну із систем, яка вже реалізована на цій мові
програмування.
Коротко розглянемо оператори мови і їх синтаксис (див. додаток А):
Програма повинна складатися з трьох секцій, що описують дані і секції
процесора. Кожна секція починається своїм ключовим словом.
Секція #OUTPUT – визначає вихідні дані, їх можна проініціалізувати:
Синтаксис: {= ‘‘}
Секція #INPUT – визначає вхідні дані, їх також можна проініціалізувати:
Синтаксис: {= ‘‘}
Секція #LOCAL – визначає внутрішні змінні:
Синтаксис:
Секція #PROCESSOR – визначає початок власне програми тарифікації. В цій
секції можуть бути наступні оператори:
Оператор GET є основним елементом виборки даних з таблиць на основі
інших даних і складного алгоритму мультипрохідних таблиць даних.
Синтаксис:
GET []
{ … [] }
FROM []
{ … [] }
TABLE []
Оператор GET порівнює вхідні змінні з ключовими полями таблиці по
принципу, що визначається оператором (наприклад оператор == означає
точну відповідність, оператор *= означає можливість порівняння по
шаблону *, оператор ~= означає рівність по побайтному шаблону, оператори
~> і ~ = ~|DECODE
Останній оператор ASSIGN просто присвоює вихідній змінній значення
вхідної змінної.
Синтаксис:
ASSIGN
2.2.3 Вибір середовища розробки програми білінга
Як основне програмне середовище для написання програми білінга було
вибрано Visual Basic, що є найбільш прогресивним засобом для швидкої
розробки прикладних програм – RAD (Rapid Application Development) [1].
Visual Basic дозволяє писати Windows-програми швидше і простіше, ніж
інші засоби розробки.
Новизна мови полягає в:
передусім, у використанні технології RAD;
створенні консольних 32-х розрядних програм Win32;
використанні графічного інтерфейсу користувача (GUI – Graphical User
Interface);
підтримка повного циклу розробки, включаючи програмування, тестування,
компіляцію і повторне використання елементів управління ActiveX;
включенні до складу інших програм елементів, створених з допомогою
Visual Basic і підтримуючих роботу з ними (Internet Explorer, Microsoft
Office 97 і інш.);
створенні інтерфейсу користувача (меню, діалогові вікна, і інш.) з
використанням технології drag-and-drop;
оновленні і поліпшенні можливостей відладки програм: Visual Basic
забезпечує розробника новими могутніми засобами, що роблять процес
відладки ActiveX – елементів управління так же звичним, як і відладка
звичайних програм.
можливості вміщувати в форми елементи управління ОСХ для швидкого
створення спеціалізованих програм, таких як Web-браузери, не втрачаючи
швидкості виконання програм.
Інтегроване середовище розробки (IDE – Integrated Development
Environment) в Visual Basic повністю стандартизоване [2]. Його інтерфейс
ідентичний інтерфейсу Microsoft Office. Використовується технологія
IntelliSense для максимально швидкого створення безпомилкового (з
синтаксичної точки зору) початкового коду.
У порівнянні з попередньою версією в середовищі розробника з’явилася
багато нових можливостей:
використання технології IntelliSense, що дозволяє на етапі написання
початкового коду автоматично перевіряти синтаксис мови і наявність
об’єктів, посилання на які створюються;
можливість роботи з декількома проектами з єдиного середовища, що
дозволяє одночасно завантажувати і налагоджувати декілька елементів
ActiveX;
новий потужний редактор, який перевіряє синтаксис мовних конструкцій,
відмічає їх кольором і підтримує режим drag and drop між окремими
сторінками початкового тексту і навіть різними додатками;
новий менеджер проектів, що дозволяє переглядати компоненти, з яких
складається проект, їх ієрархію і взаємозв’язки;
модифіковане вікно для установки і редагування властивостей програмних
об’єктів, що дозволяє упорядковувати їх по алфавіту або по категоріях;
оновлений відладчик з можливістю відстеження процесу виконання програм,
стану і значення глобальних і локальних змінних;
нова панель для розміщення вікон програми при її виконанні на моніторах
з різними параметрами екрана.
В якості СУБД для вибрано MS Access, що дуже гармонійно вписується в
середовище розробки Visual Basic [6,7].
3 РОЗРОБКА СТРУКТУРНОЇ СХЕМИ
Розробка структурної схеми програмного продукту з використанням СКБД
являє собою процес проектування бази даних.
Процес, в ході якого вирішується, який вигляд буде у бази даних, що
знову створюється, називається проектуванням бази даних. Робота по
проектуванню бази даних включає вибір:
таблиць, які будуть входити в базу даних;
стовпців, що належать кожній таблиці;
взаємозв’язків між таблицями і стовпцями.
Конструювання бази даних пов’язане з побудовою її логічної структури
[3]. У реляційної моделі логічна структура бази абсолютно не залежить
від її фізичної структури і способу зберігання. Логічна структура також
не визначається тим, що бачить у себе на екрані кінцевий користувач (це
можуть бути віртуальні таблиці, створені розробником або прикладними
програмами).
Конструювання баз даних на основі реляційної моделі має ряд важливих
переваг перед іншими моделями – незалежність логічної структури від
фізичного і призначеного для користувача уявлення і гнучкість структури
бази даних (конструктивні рішення не обмежують можливості виконувати в
майбутньому найрізноманітніші запити).
Оскільки реляційна модель не вимагає опису всіх можливих зв’язків між
даними, можна згодом задавати запити про будь-які логічні взаємозв’язки,
що містяться в базі, а не тільки про ті, які планувалися спочатку. З
іншого боку, реляційні системи не мають ніяких вбудованих захисних
механізмів проти некоректних структурних рішень і не вміють розрізнювати
хорошу структуру бази даних від посередньої. До того ж не існує
автоматизованих засобів, які могли б замінити розробника в процесі
прийняття структурних рішень.
Важливо при проектуванні реляційних баз даних приділити увагу
застосуванню правил нормалізації [11]. У ході нормалізації
забезпечується захист цілісності даних шляхом усунення дублювання даних.
У результаті таблиця, яка спочатку відображала сутність, розбивається на
дві або більш пов’язаних таблиць, які можуть бути зібрані разом в цю
сутність за допомогою операції об’єднання. Цей процес називається
декомпозицією без втрат і просто означає розділення таблиці на декілька
менших таблиць без втрати інформації. Нормалізація найбільш корисна для
перевірки створеної структури. Можна проаналізувати рішення про те, які
стовпці повинні бути включені в ту або іншу таблицю з точки зору правил
нормалізації, пересвідчившись при цьому, що не зроблено фатальних
помилок. Розуміння основ процесу нормалізації також може допомогти в
процесі проектування бази даних, але воно не є універсальним рецептом
при побудові бази з нуля. Отже, щоб визначити які стовпці повинні
розташовуватися на початку таблиці, загального правила не існує. Однак
тут може надати істотну допомогу моделювання залежності – аналіз суті
даних (в термінах об’єктів або речей) і залежності між ними
(один-до-одного, один-до-, багато-до-багатьох).
На практиці проектування бази даних вимагає хорошого розуміння
предметної області, що моделюється, а також знань в області моделювання
залежності і нормалізації. Проектування бази даних звичайно є
ітеративним процесом, в ході якого крок за кроком досягається необхідний
результат, а іноді і переглядається декілька кроків, переробляючи
попередню роботу з урахуванням нових потреб, що з’явилися. Ось зразкова
послідовність кроків, що виконується в процесі проектування бази даних
[6]:
Дослідження інформаційного середовища для моделювання:
звідки поступає інформація і в якому вигляді;
як вона буде вводитися в систему, і хто цим буде займатися;
як часто вона змінюється;
які параметри системи будуть найбільш критичними з точки зору часу
реакції на запит і надійність;
вивчення всіх паперових матеріалів, а також інформаційних файлів і форм,
які використовуються в організації для зберігання і обробки даних;
уточнення, в якому вигляді інформація повинна витягуватися з бази даних
(в формі звітів, замовлень, статистичної інформації);
кому вона буде призначатися.
Створення списку об’єктів (речей, які будуть предметом бази даних) разом
з їх властивостями і атрибутами. Об’єкти, очевидно, повинні бути зібрані
в таблиці (кожний рядок таблиці буде описувати один об’єкт, наприклад
організацію, рахунок або платіжне доручення), властивості об’єктів
будуть представлені стовпцями таблиці (наприклад, адреса компанії,
вартість дистрибутива).
У ході роботи обов’язково повинен створюватися макет таблиць і зв’язків
між ними, званий структурою даних, або діаграмою залежності між
об’єктами.
Заздалегідь розібравшись з об’єктами і їх атрибутами, треба
пересвідчитись, що кожний об’єкт має атрибут (або групу атрибутів), по
якому однозначно можна ідентифікувати будь-який рядок в майбутній
таблиці. Цей ідентифікатор звичайно називається первинним ключем. Якщо
такого немає, то для отримання штучного ключа потрібно створити
додатковий стовбець.
Потім повинна бути розглянуті залежність між об’єктами: чи являється
залежність типу один-до- чи багато-до-багатьох, чи є можливість
об’єднання пов’язаних таблиць.
Аналіз структури бази даних з точки зору правил нормалізації для пошуку
логічних помилок. Виправлення всіх відхилень від нормальних форм або
обгрунтування рішення відмовитися від виконання ряду правил нормалізації
в інтересах простоти освоєння або продуктивності. Документування причини
таких рішень.
Безпосереднє створення структури бази даних і розміщення в ній деяких
прототипів даних. Обов’язкове експериментування із запитами, вивчення
отриманих результатів. Виконання рядів тестів на продуктивність, щоб
перевірити різні технічні рішення.
Оцінка бази даних з точки зору технічного завдання.
Нормалізація – це набір стандартів проектування даних, званих нормальним
формами. Загальноприйнятими вважаються п’ять нормальних форм, хоч їх
було запропоновано значно більше. Створення таблиць відповідно до цих
стандартів називається нормалізацією. Нормальні форми змінюються в
порядку від першої до п’ятою. Кожна подальша форма задовольняє вимогам
попередньої форми. Якщо слідувати першому правилу нормалізації, то дані
будуть представлені в першій нормальній формі. Якщо дані задовольняють
третьому правилу нормалізації, вони будуть знаходитися в третій
нормальній формі (а також в першій і другій формах).
Виконання правил нормалізації звичайно приводить до розділення таблиць
на дві або більше таблиць з меншим числом стовпців, виділенню відносин
первинний ключ – зовнішній ключ в менші таблиці, які знов можуть бути
сполучені за допомогою операції об’єднання.
Одним з основних результатів розділення таблиць відповідно до правил
нормалізації є зменшення надмірності даних в таблицях. При цьому в базі
можливе виникнення однакових стовпців первинних і зовнішніх ключів. Таке
навмисне дублювання – це не те ж саме, що надмірність. Насправді
підтримка несуперечності між первинними і зовнішніми ключами пов’язана з
поняттям цілісності даних.
Правила нормалізації, подібно до принципів об’єктного моделювання,
розвивалися в рамках теорії баз даних. Більшість розробників баз даних
визнають, що представлення даних в третій і четвертій нормальних формах
повністю задовольняє всі їх потреби.
Перша нормальна форма вимагає, щоб на будь-якому перетині рядка і
стовпця знаходилося єдине значення, яке повинне бути атомарним. Крім
того, в таблиці, що задовольняє першій нормальній формі, не повинно бути
груп, що повторюються. У ряді випадків об’єктне моделювання приводить до
таких самих результатів, оскільки в цьому випадку ми маємо відношення
один-до-багато.
Друге правило нормалізації вимагає, щоб будь-який не ключовий стовбець
залежав від усього первинного ключа. Отже, таблиця не повинна містити не
ключові стовпці, що залежать тільки від частини первинного ключа.
Представлення таблиці у другій нормальній формі вимагає, щоб всі
стовпці, що не є первинними ключами (стовпці, що описують об’єкт, але не
ідентифікують його однозначно, залежали від усього первинного ключа, а
не від його окремих компонентів. Це правило відноситься до випадку, коли
первинний ключ утворений з декількох стовпців.
Третя нормальна форма підвищує вимоги другої нормальної форми: вона не
обмежується складовими первинними ключами. Третя нормальна форма
вимагає, щоб жоден не ключовий стовбець не залежав від іншого не
ключового стовбця. Будь-який не ключовий стовбець повинен залежати
тільки від стовбця первинного ключа.
Четверта нормальна форма забороняє незалежні відносини типу
один-до-багатьох між ключовими і не ключовими стовпцями.
П’ята нормальна форма доводить весь процес нормалізації до логічного
кінця, розбиваючи таблиці на мінімально можливі частини для усунення в
них всієї надмірності даних. Нормалізовані таким чином таблиці звичайно
містять мінімальну кількість інформації, крім первинного ключа.
Перевагою перетворення бази даних в п’яту нормальну форму є можливість
управління цілісністю. Оскільки при цьому будь-який фрагмент не ключових
даних (даних, що не є первинним або зовнішнім ключем) зустрічається в
базі даних тільки один раз, не виникає ніяких проблем при їх оновленні.
Якщо, наприклад, змінюється фізична адреса замовника, відповідні
поправки треба внести тільки в таблицю Замовники, і не треба переглядати
інші таблиці на предмет пошуку і зміни в них значення відповідного поля
Фізична адреса.
Однак, оскільки кожна таблиця в п’ятій нормальній формі має мінімальне
число стовпців, то в них повинні дублюватися одні і ті ж ключі,
забезпечуючи можливості для об’єднання таблиць і отримання корисної
інформації.
Зміна значення єдиного ключа тоді стає дуже серйозною проблемою. Треба
знайти кожне входження цього значення в базі даних і внести відповідні
зміни. Насправді, стовпці первинних ключів звичайно змінюються значно
рідше, ніж не ключові. Отже, треба домагатися рівноваги між надмірністю
даних і надмірністю ключів.
3.1 Розробка структури БД тарифікатора
Враховуючи вимоги і рекомендації наведені вище, створено таблиці модуля
тарифікатора. Перші три таблиці фактично знаходяться в оперативній
пам’яті і не мають відображення в базі даних, проте вони потрібні для
правильного вводу, виводу і зберігання поточної інформації при
тарифікації.
Таблиця Input містить вхідні дані для тарифікації, ключовий полів немає
(таблиця 1).
Таблиця Output містить вихідні дані, що будуть заповнені модулем
тарифікації, ключовий полів немає (таблиця 2).
Таблиця Local – це набір змінних для маніпулювання, таблиця ключових
полів не має (таблиця 3).
Таблиця 1 – Структура таблиці Input
„
* , ? ? „
r
?
°
h.
r
O
.
‚
?
O
u
&
gd1th
&
Oe0oy?
Y
_pOe yyyyytAYe
‡yyyyyy
oy?
Y
oy` ?
oy` ?
oy` ?
oy` ?
oy` ?
oy` ?
oy?
Y
oy` ?
oy` ?
Oe0oy?
Y
oy?
Y
oy` ?
oy` ?
†xxxxxx
oy?
Y
oy` ?
oy` ?
oy` ?
oy` ?
Oe0oy?
Y
oy?
Y
oy` ?
oy` ?
oy` ?
oy` ?
Oe0oy?
Y
oy?
Y
oy` ?
oy` ?
oy` ?
oy` ?
oy` ?
oy` ?
*
? ??????_???????????????????¤????????_? ??????_?*
дата і час в форматі yymmddwhhmmss
IN_Abonent text – абонент (номер внутрішньої лінії)
IN_Line text – лінія (номер зовнішньої лінії)
IN_Number text – номер, набраний абонентом
IN_ExtNumber text – номер без спец. символів
IN_FieldU text – зарезервоване поле, використовує-ться для визначення
транка
IN_FieldV text – зарезервоване поле
IN_FieldW text – зарезервоване поле
IN_FieldX text – зарезервоване поле
IN_FieldY text – зарезервоване поле
IN_FieldZ text – зарезервоване поле
Таблиця 2 – Структура таблиці Output
Поле Тип Розмір, байт Пояснення
OUT_Dialtown text – місто, куди був дзвінок
OUT_Dialdirection text – напрямок, куди був дзвінок
OUT_Dialzone text – географічна зона дзвінка
OUT_Timezone text – часова зона дзвінка
OUT_Tariff text – тариф за одиницю часу
OUT_Currency text – валюта тарифікації
OUT_Course text – курс валюти тарифікації до вихідної
OUT_Dialdelay text – затримка часу при наборі номера
OUT_Timeminimum text – часовий мінімум тарифікації
OUT_Timefree text – максимальний безтарифний час
OUT_Timeround text – округлення часу
OUT_Timegrid text – часова сітка
OUT_Timeunit text – одиниця часу
OUT_FieldU text – зарезервоване поле
OUT_FieldV text – зарезервоване поле
OUT_FieldW text – зарезервоване поле
OUT_FieldX text – зарезервоване поле
OUT_FieldY text – зарезервоване поле
OUT_FieldZ text – зарезервоване поле
Таблиця 3 – Структура таблиці Local
Поле Тип Розмір, байт Пояснення
KindcallID text – тип дзвінка
TariffmodelID text – тарифна модель
TrunkID text – транк
Numbermask text – шаблон для видалення транка з номера
Keycode text – ключ шифрування
DialzoneID text – географічна зона дзвінка
TimezoneID text – часова зона дзвінка
Currency text – валюта тарифікації
TransferID text – трасфер (пересилання дзвінка на іншого абонента)
Наступні таблиці використовуються для поступового отримання результату
тарифікації. Таблиця Line дає Тарифну модель за ключом IDLine (таблиця
4).
Таблиця 4 – Структура таблиці Line
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDLine text 15 лінія (номер зовнішньої лінії)
Name text 50 назва лінії
TariffmodelID text 15 тарифна модель
Далі, з таблиці DialDelay визначається Затримка набору і Трансфер за
ключом IDLine + IDTransfer (таблиця 5).
Таблиця 5 – Структура таблиці DialDelay
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDLine text 15 лінія (номер зовнішньої лінії)
IDTransfer text 255 поле для визначення трасфера (пересилання дзвінка)
Dialdelay text 50 затримка часу при наборі номера
TransferID text 15 трасфер (пересилання дзвінка на іншого абонента)
Потім з таблиці Kindcall визначається Тип дзвінка за ключом IDNumber
(таблиця 6).
Таблиця 6 – Структура таблиці Kindcall
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDNumber text 255 номер, набраний абонентом
KindcallID text 15 тип дзвінка
Наступним кроком з таблиці Trunk визначається Транк і Шаблон для
видалення транка з номера за ключом IDKindcall + IDNumber (таблиця 7).
Таблиця 7 – Структура таблиці Trunk
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDKindcall text 15 тип дзвінка
IDNumber text 15 номер, набраний абонентом
TrunkID text 15 транк
NumberMask text 15 шаблон для видалення транка з номера
Далі, з таблиці Dialtown визначається Місто і Ключ шифрування за ключом
IDTrunk + IDNumber (таблиця 8).
Таблиця 8 – Структура таблиці Dialtown
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDTrunk text 15 транк
IDNumber text 15 номер, набраний абонентом
Name text 100 назва міста, куди був дзвінок
Keycode text 3 ключ шифрування
Потім, з таблиці Dialdirection визначається Напрямок, Географічна зона і
Ключ шифрування за ключом IDTrunk + IDNumber (таблиця 9).
Таблиця 9 – Структура таблиці Dialdirection
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDTrunk text 15 транк
IDNumber text 15 номер, набраний абонентом
Name text 100 назва напрямка, куди був дзвінок
DialzoneID text 30 географічна зона дзвінка
Keycode text 3 ключ шифрування
Наступним кроком з таблиці Dialzone визначається Назва географічної зони
за ключом IDDialzone (таблиця 10).
Далі, з таблиці Timezone визначається Часова зона і її назва за ключом
IDTimeBeg + IDTimeEnd (таблиця 11).
Потім, з таблиці Tariff визначаються Тариф, Валюта і Часові параметри за
ключом IDDialzone + IDTariffmodel + IDTimezone (таблиця 12).
Таблиця 10 – Структура таблиці Dialzone
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDDialzone text 15 географічна зона дзвінка
Name text 50 назва географічної зони дзвінка
Таблиця 11 – Структура таблиці Timezone
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDTimeBeg text 11 шаблон часу початку зони
IDTimeEnd text 11 шаблон часу закінчення зони
TimezoneID text 15 часова зона дзвінка
Name text 50 назва часової зони дзвінка
Таблиця 12 – Структура таблиці Tariff
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDDialzone text 15 географічна зона дзвінка
IDTariffmodel text 15 тарифна модель
IDTimezone text 15 часова зона дзвінка
Timeminimum text 15 часовий мінімум тарифікації
Timefree text 15 максимальний безтарифний час
Timeround text 15 округлення часу
Timegrid text 15 часова сітка
Timeunit text 15 одиниця часу
Tariff text 15 тариф за одиницю часу
Currency text 15 валюта тарифікації
Name text 50 коментар
На завершення, з таблиці Course визначається Курс валюти за ключом
IDCurrency1 + IDCurrency2 (таблиця 13).
Таблиця 13 – Структура таблиці Course
Поле Тип Розмір, байт Пояснення
Pass text 15 номер виборки (проходу) при багатопрохідній виборці
IDCurrency1 text 15 вхідна валюта
IDCurrency2 text 15 вихідна валюта
Course text 15 курс
Структурна схема тарифікатора внаслідок своєї універсальності
задовільняє умовам лише третьої нормальної форми (рис 3.1).
Якщо розглянути зв’язки між полями таблиць, то видно, що, окрім трьох
спеціальних таблиць (Input, Output і Local), зв’язки ідуть від
неключових полів до ключових, тобто це зв’язки типу багато-до-одного.
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
Рисунок 3.2 – Структурна схема БД білінга
Всі таблиці розробляються стандартними засобами майстра в Microsoft
Access XP [15]. Всі зв’язки між таблицями в базі даних реалізовані типу
„багато-до-одного”, що забезпечує абсолютну цілісність даних і простоту
реалізації контролю за транзакціями.
4 РОЗРОБКА ФУНКЦІОНАЛЬНОЇ СХЕМИ
Дуже важлива частина програми – це інтерфейс користувача, оскільки
користувач весь час працює в його середовищі. Більш за те, для
користувача інтерфейс втілює програмний продукт адже його не цікавить
програмний код, який виконується в комп’ютері. Незалежно від того,
скільки часу і зусиль витратить розробник на написання і оптимізацію
програмного коду, якість програми для кінцевого користувача буде
визначатися його зовнішнім інтерфейсом.
Розробляючи інтерфейс користувача, потрібно враховувати призначення
програми [13]. Дизайн програми, яка постійно використовується і весь час
присутня на екрані, напевно, повинен відрізняться від програм, що рідко
використовуються. Для програми, основним призначенням якої є виведення
на екран інформації, вимоги будуть інші, ніж до програми для вводу,
збору інформації або інтенсивного обміну з базою даних.
Спектр користувачів також буде впливати на розробку інтерфейсу.
Програма, що орієнтована на початківця, вимагає простоти компонування, а
для досвідчених користувачів можна вводити складні елементи. Велику роль
грає також традиційність інтерфейсу програм, призначених для вирішення
типових задач.
Проектування інтерфейсу користувача, як правило, це ітераційний процес.
Первинний варіант компонування екрану не часто задовольняє розробника.
Visual Basic містить всі необхідні інструментальні засоби, для різних
аспектів проектування інтерфейсу.
Програма білінгу і програма тарифікації реалізовані за допомогою
багатодокументного інтерфейсу MDI (Multiple Document Interface), який
підтримує декілька форм всередині основної форми-контейнера [10].
Система MDI дозволяє користувачеві виводити на екран одночасно декілька
документів, кожний у власному вікні. Документи або дочірні вікна
містяться в материнському вікні, яке представляє робочу область для всіх
підлеглих вікон програми.
Для створення програми програміст використовує об’єкти, ті, що вже
існують в Visual Basic та такі, як, елементи управління, форми, об’єкти
доступу до даних. Visual Basic дозволяє програмісту створювати об’єкти
користувача і визначати для них властивості і методи.
Об’єкт це комбінація програмного коду і даних, яка може оброблятися як
самостійна сутність. Об’єкт може бути частиною програми, як, наприклад,
елементи управління. Сама програма теж є об’єктом. Об’єкти Visual Basic
підтримують властивості, методи і події. Дані об’єкта (установки або
атрибути) це його властивості, в той час як різні процедури, якими
можна маніпулювати об’єктом називаються методами. Подія – це дія,
розпізнавана об’єктом, наприклад, натиснення миші або натиснення
клавіші.
Деякі об’єкти містять інші об’єкти. Наприклад, форма, звичайно, містить
один або більше елементів управління. Потрібність об’єктів-контейнерів
полягає в тому, що в програмному коді складної програми контейнери можна
використовувати для конкретизації звернень до необхідних об’єктів.
Найпростіший спосіб створення об’єкта в контейнері це використати
техніку drag and drop (вхопити і перетягнути), що дозволяє швидко
створити об’єкт. Звичайно в програмі об’єкти використовуються для
отримання вводу даних і керування від користувача, виведення результатів
роботи програми або повідомлень. Деякі об’єкти, наприклад, такі, як
елементи управління, формують інтерфейс користувача програми.
4.1 Розробка функціональної схеми програми тарифікації
Функціонально програма тарифікації є лінійною задачею [7]. Проте сам
модуль тарифікації є достатньо громіздким, тому в пункті 4.1.1 буде
розглянуто інтерфейс самої програмної оболонки, а в пункті 4.1.2 буде
подано алгоритм роботи модуля тарифікації.
4.1.1 Інтерфейс програми тарифікації
При запуску програми тарифікації на екрані з’являється головне вікно в
якому розміщено таблицю з даними про чотири останні дзвінки (рис.4.1). В
стовбцях записується майже вся інформація, що виходить з модуля
тарифікації (Дата, Час, Номер, Тривалість, Абонент, Лінія, Місто,
Напрямок, Територіальна зона, Часова зона, Тривалість, Тариф і т.п.). Це
вікно можна закривати, проте воно лише мінімізується в системний лоток.
Для настройки програми тарифікації слугує вікно настройки (рис. 4.2). В
ньому можна встановити такі параметри:
поля і формати вхідних даних (для настройки під різні АТС);
фільтри символів (для перекодування спеціальних символів, використання
яких є небезпечним для баз даних);
параметри вхідного порту (COM-порт або файл);
параметри бази тарифікації і вихідної бази даних;
лог-файли;
Рисунок 4.1 – Головне вікно програми тарифікації
Рисунок 4.2 – Вікно настройки програми тарифікації
Вікно ліцензії (рис. 4.3) потрібне для виведення інформації про стан з
ліцензуванням програми. Ліцензія може бути тимчасовою, постійною і
простроченою. Якщо необхідно, можна в спеціальне поле ввести Код
Ліцензії і змінити умови використання програми.
Усіма вищевказаними вікнами керує системне меню, яке можна викликати
через кнопку контекстного меню на значку програми тарифікації в
системному лотку.
Можна вибрати такі пункти меню:
Відкрити – відновити на екрані головне вікно програми (рис. 4.1);
Настройка – відкрити вікно настройки (рис. 4.2);
Ліцензія – вікрити вікно ліцензії (рис. 4.3);
Вихід – закрити всі вікна і завершити роботу програми.
Рисунок 4.3 – Вікно ліцензії програми тарифікації
4.1.2 Алгоритм тарифікації
Програма тарифікації циклічно з періодом приблизно в 1 секунду виконує
наступні дії (рис. 4.4):
читання даних з вхідного порта;
за допомогою спеціальних символів визначається рядок даних;
по шаблону визначаються поля і їх формати;
значення полів проходять первинну обробку відповідно до форматів
(наприклад, час приводиться до формату yymmddwhhmmss (рік місяць
день_місяця день_тижня година хвилина секунда), створюється поле
ExtNumber, в яке копіюються лише цифри з поля Number і т.п.);
дані з полів проходять обробку в модулі тарифікатора за спеціальним
алгоритмом, використовуючи базу даних тарифів. В результаті визначається
вартість, валюта, часові параметри і додаткові поля;
виходячи з вищевказаної інформації визначається тривалість, ціна
тарифної одиниці і вартість розмови;
формується вихідний рядок, що відображається в головному вікні програми
ATServer і виводиться в вихідну базу даних.
Алгоритм модуля тарифікації абсолютно лінійний і може зміняватися
користувачем. На рис. 4.5 наведено базовий варіант алгоритму:
поступлення вхідних даних (таблиця 4.1);
визначення Тарифної моделі з таблиці Line (таблиця 4.4);
визначення Затримки набору з таблиці DialDelay (таблиця 4.5);
визначення Типу дзвінка з таблиці Kindcall (таблиця 4.6);
визначення Транка і Шаблона номера з таблиці Trunk (таблиця 4.7);
видалення зайвих цифр Транка з Номера за Шаблоном;
визначення Міста і Ключа захисту з таблиці Dialtown (таблиця 4.8);
Рисунок 4.4 – Алгоритм програми тарифікації
Рисунок 4.5 – Алгоритм модуля тарифікатора
розкодування Міста по Ключу захисту;
визначення Напрямку і Географічної зони з таблиці Dialdirection (таблиця
3.9);
розкодування Напрямка по Ключу захисту;
розкодування Географічної зони по Ключу захисту;
визначення Назви географічної зони з таблиці Dialzone (таблиця 3.10);
визначення Часової зони з таблиці Timezone (таблиця 3.11);
визначення Тарифу і часових параметрів з таблиці Tariff (таблиця 3.12);
визначення Курсу валюти з таблиці Course (таблиця 3.13);
вивід вихідних даних (таблиця 3.2).
4.2 Розробка функціональної схеми програми білінга
Розробка функціональної схеми програми білінга включає розробку
зовнішніх форм і форм для друку і схему взаємодії цих елементів
інтерфейсу [11,12].
Вся потрібна інформація заноситься в форми за допомогою стандартних
елементів інтерфейсу операційної системи Windows. Розглянемо
функціональну схему програми білінга на рисунку 4.6.
Робота завжди починається з головного вікна. В нього користувач може
вносити інформацію про абонентів і натискати одну з трьох кнопок:
кнопка Рахунок (така кнопка є на рядку кожного абонента) відкриває вікно
рахунку по даному абоненту за певний період;
кнопка Сумарна відомість відкриває вікно сумарної відомості;
кнопка Настройка відкриває вікно настройки;
Повернення назад в головне вікно відбувається або переключенням
активного вікна, або закриванням поточного.
Рисунок 4.6 – Функціональна схема програми білінга
Вікно рахунку дає можливість переглянути виборку по абоненту і або
переглянути друковану форму рахунку, або надрукувати її.
Аналогічно, вікно сумарної відомості дає можливість ввести період
формування і або переглянути, або надрукувати її.
Вікно настройки окрім настройки основних параметрів програми має
можливість викликати таблицю для вказання відповідностей між покоями
(кімнатами) і абонентами (внутрішніми лініями).
4.2.1 Форми вводу/виводу інформації
При запуску програми білінга на екрані з’являється головне вікно
програми білінга (рис. 4.7)..
В середній частині розташовано список Покоїв (кімнат) і виведено
відповідні їм Абоненти (внутрішні номери телефонів). Далі ідуть поля для
вводу часу прибуття чи вибуття клієнта з покою. Для прискореного вводу
поточної дати і часу розміщено кнопки Прибуття і Вибуття. Кнопка Рахунок
служить для переходу в вікно рахунку по даному Абоненту (покою) за
вказаний період.
В нижній частині розташовано кнопки Сумарна відомість і Настройка для
відкривання і переходу в відповідні вікна.
Вікно рахунку (рис. 4.8) показує всю тарифну інформацію з таблиці Bill
(табл..3.16).
Зліва внизу є кнопка Знищити рядок для вилучення дефектних і зайвих
рядків з рахунку. При цьому з бази даних вони, звичайно, не видаляються.
Далі розміщено поле з сумою за весь рахунок і кнопки для перегляду і
друку рахунку.
Вікно сумарної відомості (рис. 4.9) використовується для аналізу всіх
телефонних дзвінків по вхідних лініях і абонентах.
Рисунок 4.7 – Головне вікно програми білінга
Рисунок 4.8 – Вікно рахунку програми білінга
В вікні треба ввести період часу і натиснути одну з кнопок, щоб
переглянути, або надрукувати відомість.
В вікні настройки програми білінга (рис. 4.9) можна змінити наступні
параметри:
націнка, вводиться як відсоток;
кількість копій рахунку;
пароль адміністратора;
заголовок рахунку.
Внизу вікна розташована кнопка, що відкриває таблицю настройки абонентів
(рис. 4.10).
Таблиця настройки абонентів потрібна для приведення у
взаємовідповідність номер покою (кімнати) до абонента (внутрішньої
телефонної лінії).
Всі форми розроблено в середовищі Microsoft Access XP. В основу розробки
форм покладено кнопочний інтерфейс. При натисканні відповідної кнопки
спрацьовує підпрограма обробки події. Підпрограми написані в середовищі
Microsoft Visual Basic.
Рисунок 4.9 – Вікно настройки програми білінга
Рисунок 4.10 – Таблиця настройки абонентів
4.2.2 Звіти (друковані форми)
На рисунках 4.11 і 4.12 показано як виглядають надруковані на папері
вихідні форми.
Друковані форми сформовані редактором звітів Microsoft Access. Форма
рахунку в скороченій формі відтворює інформацію про дзвінки і подає
необхідні додаткові поля (сума, ПДВ, місце для печатки, сума прописом
тощо).
Форма Сумарна відомість є хорошим інструментом для аналізу телефонних
дзвінків по абонентах і сумарно по лініях. Вона дає можливість звірятися
з провайдером телефонних послуг і контролювати правильність алгоритму
тарифікації.
Рисунок 4.11 – Друкована форма рахунку
Рисунок 4.12 – Друкована форма сумарної відомості
5 РОЗРАХУНОК НАДІЙНОСТІ СИСТЕМИ
Період життя будь-якої системи, чи комплексу характеризується
почерговими інтервалами, коли вона виконує покладені на нього функції і
коли вона не може через внутрішні причини їх виконувати.
Надійність є складною властивістю, яка об’єднує безвідмовність,
довговічність, ремонтопридатність і збереження. Завданням розрахунку
надійності є визначення показників, які характеризують безвідмовність та
ремонтопридатність системи.
Враховуючи специфіку розробки програмно-апаратного комплексу тарифікації
і білінгу вирахуємо ймовірність його безвідмовної роботи протягом
заданого напрацювання.
Джерелом помилок програмного забезпечення є логічні помилки в проекті,
неправильне кодування і помилки при компонуванні. Оскільки в даний час
відсутні стандартні методи розрахунку надійності програмного
забезпечення, тому можна використовувати експериментально-аналітичні
методи прогнозування надійності.
Одним із цих методів є використання моделі Шумана [16]. Дана модель
виходить з наступних передумов:
в початковий момент компонування програм в систему програмного
забезпечення в них міститься Е0 помилок; в процесі коректування нові
помилки не вносяться,
загальне число І машинних команд в програмах постійне,
інтенсивність відмов програми ? пропорційна числу помилок, що залишилися
в ній після відлагодження протягом часу ?, тобто:
, (5.1)
де ?с(?) – відношення числа помилок, що усунені впродовж часу
відлагодження ? , до загального числа команд на машинній мові.
Таким чином, в моделі розрізняють два значення часу: час відлагодження ?
(звичайно становить декілька місяців) і час роботи програми t – сумарне
напрацювання програми (звичайно становить декілька годин). Час
відлагодження містить затрати на виявлення помилок за допомогою тестів,
контрольні перевірки і т.п. Час справного функціонування при цьому не
враховується.
Таким чином, значення інтенсивності відмов ? вважається постійним
впродовж всього часу напрацювання (0, t) і визначається
співвідношенням
p(t, ?) =exp(–?t) . (5.2)
Cереднє напрацювання програми до відмови:
(5.3)
Для практичного використання вищенаведених формул необхідно оцінити С і
Е0 за експериментальними даними. Для цього використаємо метод моментів.
Застосовуючи метод моментів і, розглядаючи два періоди відлагодження
програми ?1 і ? 2 , отримаємо наступні співвідношення:
(5.4)
де n1 і n2 – кількість помилок у програмному забезпеченні, виявлених
відповідно в періодах ?1 і ?2 ;
Т1 і Т2 – тривалості роботи системи, що відповідають ?1 і ?2..
Застосуємо вищенаведені міркування для розрахунку показників надійності
програми.
Оцінимо кількість команд програми. Загальний об’єм вихідних текстів
складає 250 кілобайт. Якщо рахувати по 40 строк на кілобайт, то
отримаємо 250*40 = 10000 строк програмного коду. В одній строці
знаходиться в середньому 2 команди. Таким чином, сумарна кількість
команд складає I = 20000 команд на мові високого рівня.
Для оцінки надійності програмної частини комплексу було проведено два
тестування тривалістю 20 днів і 30 днів. Під час цих тестувань було за
перший період усунено 3 критичні помилки, а за другий лише одну.
Оскільки програма працювала в цілодобовому режимі, то:
Т1 = 480 год, T2 = 720 год, n1 = 3, n2 = 1.
Тому:
,
.
Врахувавши отримані значення, знайдемо згідно (5.4):
,
.
Звідси знаходимо коефіцієнт С*, згідно з (5.4):
.
За період тестування в програмі усунено n = n1 + n2 помилок, тому:
n = 3 + 1 = 4,
.
Інтенсивність відмов програми згідно з (5.1):
.
Середнє напрацювання програми до відмови (5.3):
160 (год).
Ймовірність відсутності помилок програми впродовж періоду напрацювання
від 0 до t за формулою (5.2):
.
6 ОХОРОНА ПРАЦІ
В розділі розглянуто питання важливості охорони праці на місці розробки
і експлуатації програмно-апаратного комплексу, проаналізовано потенційні
небезпеки для здоров’я операторів і описано як забезпечити нормальні
умови праці. В останньому підрозділі розраховано освітлення для
приміщення оператора ЕОМ.
6.1 Аналіз потенційних небезпек виробничого середовища
Потенційну небезпеку для працюючих становлять: несприятливі
метеорологічні умови, недостатня освітленість, шум, ультразвук,
електричний струм, електромагнітні поля, іонізуючі та теплові
випромінювання та інші шкідливі фактори [3].
При роботі з комп’ютером основна небезпека криється в погіршенні зору.
Численні дослідження виявили наступні основні чинники ризику виникнення
розладів стану здоров’я у користувачів комп’ютерів:
особливості екранного зображення, що відрізняють його від традиційного
паперового тексту (самопідсвітка, дискретність, мерехтіння, тремтіння,
наявність полисків);
особливості роботи зорового апарату, пов’язані з двома
взаємодоповнюючими (для виникнення зорового стомлення) чинниками:
тривалою фіксацією погляду на екран монітора і періодичною інтенсивною
перефокусовкою ока з клавіатури (паперу) на екран і назад;
особливості власне діяльності, що полягає в монотонному, тривалому її
характері, часто в умовах дефіциту часу і нервово-емоційних навантажень
внаслідок високої ціни за допущену помилку;
особливості рухової активності, пов’язані зі статичністю пози і
постійним напруженням невеликої групи м’язів.
Практична реалізація вказаних чинників ризику може приводити до зорового
і загального стомлення, болевих відчуттів в хребті і різних групах
м’язів. Цих порушень можна уникнути, людина повинна залишатися здоровою
і працездатною під час тривалої роботи з комп’ютером і після неї.
У ГОСТ 12.0.003-74 “ССБТ. Небезпечні і шкідливі виробничі чинники.
Класифікація” приводиться класифікація елементів умов праці, виступаючих
в ролі небезпечних і шкідливих виробничих чинників. Вони поділяються на
чотири групи: фізичні, хімічні, біологічні, психофізіологічні.
При роботі з ЕОМ ми зіштовхуємось, в основному, з фізично і
психофізіологічно-небезпечними виробничими чинниками. Біологічно і
хімічно-небезпечні чинники при цій роботі не зустрічаються.
До фізичних чинників при роботі з ЕОМ, можна віднести:
електромагнітні випромінювання;
підвищена напруженість електричних і магнітних полів;
підвищена запиленість повітря в робочій зоні;
підвищена температура повітря в робочій зоні;
підвищений рівень шуму на робочому місці;
недолік або відсутність природного світла;
неправильне розміщення джерел штучного освітлення.
Коротко розглянемо природу найбільш небезпечних фізичних чинників, що
впливають на людину при роботі з комп’ютером.
Рентгенівське випромінювання генерується внаслідок гальмування
електронів в шарі люмінофор на поверхні екрана монітора. При
прискорюючому анодному напруженні менше за 25 кВ енергія рентгенівського
випромінювання повністю поглинається склом екрана.
Електростатичний потенціал поза монітором з’являється внаслідок високого
напруження в електронно-променевій трубці (ЕПТ), а його природа
аналогічна електричному полю кінескопа звичайного телевізора.
Напруження, виникаюче на тілі людини, може досягати декілька
кіловольтів; його величина залежить від одягу, від вогкості
навколишнього повітря.
До психофізіологічних небезпечних і шкідливих виробничих чинників
відносяться фізичні (статичні і динамічні), нервово-психічні
перевантаження (розумове перенапруження, перенапруження аналізаторів,
монотонність праці, емоційні перевантаження).
Застосування комп’ютерної техніки неможливе без використання електрики.
Тому питанням електробезпеки потрібно приділяти необхідну увагу.
Проходячи через організм, електричний струм спричиняє термічну (опіки,
нагрів судин, нервів), електролітичну (розкладання крові) і біологічну
(збудження живих тканин організму, що супроводжується мимовільним
скороченням м’язів) дії. Таке різноманіття дій електричного струму,
нерідко призводить до різних електротравм, які зводять до двох видів:
місцевих і загальних електротравм.
Таблиця 1 – Аналіз потенційно-небезпечних виробничих факторів при роботі
з ЕОМ
Небезпечний
фактор Фактичне значення Нормативне значення Характер дії на людину
Рентгенівське випромінювання 40 мкР/год 75 мкР/год Загальна втома, різь
в очах, роздратування
Ультрафіолетове випромінювання 0,003 мкР/год 0,01 Вт/м2
Видимий діапазон 4 Вт/м2 10 Вт/м2
Яскравість 50 кД/м2 (35 кД/м2
ІЧ-випромінювання Вт/м2 Вт/м2
Електоростатичне поле 40 кВт/м 20-60 кВт/м
Шум 20 дБ 50 дБ Втрата слуху, головний, втомлюваність
Електричний струм U=220 В, I=3 А, F=50 Гц U=220 В, I(100 мА
(=50 Гц Ураження електричним струмом
6.2 Забезпечення нормальних умов праці
Ергономічна безпека роботи оператора ЕОМ може бути охарактеризована
вимогами:
до візуальних параметрів засобів відображення інформації (монітори);
до емісійних параметрів ЕОМ (параметри випромінювань дисплеїв, системних
блоків, джерел живлення і інш.).
Крім того, важливою умовою ергономічної безпеки людини при роботі перед
екраном монітора є правильний вибір візуальних параметрів самого
монітора і світлотехнічних умов робочого місця.
Робота з дисплеєм при неправильному виборі яскравості і освітленості
екрану, контрастності знаків, кольорів знаків і фону, при наявності
полисків на екрані, тремтінні і мигтінні зображення приводить до
зорового стомлення, головних болів, до значного фізіологічного і
психічного навантаження, до погіршення зору і т.п.
Якщо при роботі на ПК необхідно одночасно користуватися документами, то
потрібно мати на увазі, що зорова робота з друкарським текстом і
зображенням на екрані має принципової відмінності: зображення світить,
мигтить, тремтить, складається з дискретних елементів, менш контрастне.
Знизити або усунути стомлення можна тільки правильним вибором режиму
відтворення зображення на екрані, джерела освітлення (місцевого або
загального), розташування матеріалів (з метою зменшення довжини або
частоти перекладу погляду).
Людина повинна так організувати своє робоче місце, щоб умови праці були
комфортними і відповідали вимогам СНіП [1]:
зручність робочого місця (ноги повинні твердо спиратися на підлогу;
голова повинна бути нахилена трохи вниз; повинна бути спеціальна
підставка для ніг);
достатній простір для виконання необхідних рухів і переміщень (руки при
роботі з клавіатурою повинні знаходитися перед людиною; пальці повинні
володіти найбільшою свободою пересування; клавіші повинні бути досить
чутливі до легкого натиснення);
необхідний огляд (центр екрана монітора повинен бути розташований трохи
нижче за рівень очей; монітор повинен відстояти від очей людини на
відстані 45-60 сантиметрів; повинна регулюватися яскравість і
контрастність зображення);
раціональне розташування апаратури і її органів управління і контролю
(монітор повинен бути розташований на відстані 60 сантиметрів і більш
від монітора сусіда; людина повинна використовувати тримачі паперу);
достатнє освітлення (зовнішнє освітлення повинно бути достатнім і
рівномірним; повинна бути настільна лампа з регульованим плафоном для
додаткової підсвітки робочої документації);
нормальні умови відносно шуму і вібрації;
нормальний температурний режим;
нормальна вологість повітря;
необхідна вентиляція.
Оптимальні параметри мікроклімату приведені в таблиці 1.
Таблиця 2 – Оптимальні параметри мікроклімату в робочій зоні приміщення
для оператора ЕОМ
Категорія важкості фізичних робіт Період року Температура
повітря,
?С Відносна
вологість,
% Швидкість руху повітря,
м3
I,a холодний 22 – 24 60 – 40 0.1
теплий 23 – 25 60 – 40 0.1
Таблиця 3 – Характеристика системи вентиляції
Назва приміщення Вид вентиляції Вентиляційне обладнання Кратність пов.
обміну (1/год)
Приміщення для оператора ЕОМ Механічна місцева Кондиціонер повного
кондиціювання повітря Samsung AS-2-4-HPBN 2
Таблиця 4 – Характеристика освітленості робочих мість
Назва приміщення Розряд та підрозряд зорової роботи Освітленість, Лк
Типи світильників
Загальна Комбінована Аварійна
Приміщення для оператора ЕОМ IV, в 400 450 10 ЛПО-12-“Кососвітло”, 3
лампи ЛБ-40
Запиленість повітря не повинна перевищувати 0.75 мг/м3. На одного
оператора ЕОМ повинен бути об’єм приміщення 15м3 при площі 4.5 м2 (без
урахування проходів і обладнання). Протягом трудового дня необхідно
забезпечити повітрообмін приміщення об’ємом 25–50 м3, відведення вологи
350–500 г і тепла 50 кДж на кожний кілограм маси тіла працюючого.
Рівень шуму для оператора ЕОМ складає не більше за 50 дБ.
Вимоги і норми на параметри випромінювань дисплеїв: напруженість
електромагнітного поля в 50 сантиметрах навколо дисплея по електричній
складовій рівна 2.5 В/м. Щільність магнітного потоку в 50 сантиметрах
навколо дисплея становить 250 нТл в діапазоні частот 5Гц–2КГц;
поверхневий електростатичний потенціал становить 500 В. Час роботи за
дисплеєм не повинен перевищувати 4-х годин на добу.
Для забезпечення вимог ергономіки і технічної естетики конструкція
робочого місця, розташування і конструкція органів управління повинні
відповідати анатомічним і психофізичним характеристикам людини. Разом з
цим все обладнання, прилади і інструменти не повинні викликати
психологічних подразнень.
Робоче місце оператора ЕОМ складається з монітора, системного блоку,
клавіатури, миші, принтера. Клавіатура повинна бути розташована
безпосередньо перед оператором. Відстань від очей оператора до монітора
повинна становити 0.5 – 0.7 м. На столі, на якому розташована ЕОМ,
повинно залишатися місце для наочного, графічного матеріалу, для
можливості працювати з літературою, робити які-небудь помітки.
Головними елементами робочого місця оператора ЕОМ є письмовий стіл і
крісло. Основним робочим положенням є положення сидячи. Раціональне
планування робочого місця передбачає чіткий порядок і постійність
розміщення предметів, засобів праці і документації. Те, що потрібно для
виконання робіт частіше, розташоване в зоні легкої досяжності робочого
простору (рис 8.1).
Рухоме поле – простір робочого місця, в якому можуть здійснюватися
рухомі дії людини.
Максимальна зона досяжності рук – це частина рухомого поля робочого
місця, обмеженого дугами, що описуються максимально видовженими руками
при згинанні їх в плечовому суглобі.
Оптимальна зона – частина рухомого поля робочого місця, обмеженого
дугами, що описуються передпліччями при згинах в ліктьових суглобах з
опорою в точці ліктя і з відносно нерухомим плечем.
Розглянемо оптимальне розміщення предметів праці і документації в зонах
досяжності рук:
дисплей розміщується в зоні а (в центрі);
клавіатура – в зоні г/д;
системний блок розміщується в зоні б (зліва);
принтер знаходиться в зоні а (праворуч);
документація знаходиться або в зоні легкої досяжності долоні в
(література і документація, необхідна при роботі), або у висувних ящиках
стола (література, що використовується рідко).
До розмірів робочого місця пред’являються вимоги:
висота робочої поверхні 655 мм;
висота сидіння 420 мм (бажано регульованого);
відстань від сидіння до нижнього краю робочої поверхні 150мм;
розміри простору для ніг 650x500x600.
а) зона максимальної досяжності;
б) зона досяжності пальців при видовженій руці;
в) зона легкої досяжності долоні;
г) оптимальний простір для грубої ручної роботи;
д) оптимальний простір для тонкої ручної роботи.
Рисунок 6.1 – Зони досяжності рук в горизонтальній площині.
Перед початком роботи треба пересвідчитися в підключенні заземляючого
провідника до загальної шини заземлення. Необхідно не рідше за один раз
в рік проводити вимірювання опору ізоляції проводки, оскільки несправна
ізоляція може привести до витоку струму, що може бути причиною
виникнення пожежі або ж до поразки людей струмом. Ізоляція кабеля мережі
живлення 220 В повинна витримувати без пробою дію випробувального
напруження 750 В протягом однієї хвилини, опір ізоляції кабеля повинен
бути не менше за 500 кОм. Як додаткові захисні засоби оператором можуть
бути використані гумові килимки. При початку роботи з
енергоустаткуванням людина повинна бути ознайомлена з інструкцією по
техніці безпеки.
Як наведено вище, шумовий вплив є чинником, що негативно впливає на
продуктивність. Шум виникає під час роботи обладнання, джерелом його
також можуть бути розмови в приміщенні, звуки що долинають з вулиці. Шум
– це безладне поєднання звуків різної частоти і інтенсивності.
Для запобігання негативному впливу шуму необхідно дотримуватися
правильної експлуатації обладнання, проводити його профілактичне
обслуговування і своєчасний ремонт. Для зниження шуму застосовують
глушителі з використанням звукоізоляційних матеріалів, екрани, що
захищають працюючого від прямого впливу звукової енергії. Для боротьби з
шумом на шляху його поширення встановлюють звукоізолюючі конструкції, а
також глушителі аеродинамічних шумів. Найбільш дійовим способом
полегшення роботи, є короткочасні відпочинки протягом робочого дня при
вимкнених джерелах шуму.
Для створення в робочому приміщенні нормального мікроклімату, а також
видалення з нього шкідливих газів, пару і пилу необхідно застосовувати
вентиляцію. У лабораторіях, дисплейних аудиторіях широко застосовують
кондинціонування повітря. Кондиціонування – це створення і підтримка в
робочій зоні виробничих приміщень постійних або параметрів повітряного
середовища, що змінюються по заданій програмі, здійснюване автоматично.
Для кондиціонування повітря застосовують кондиціонери.
Єдиним засобом боротьби з випромінюванням донедавна були захисні
фільтри. По технології виготовлення фільтри бувають сіточні, плівкові і
скляні. Фільтри можуть кріпитися до передньої стінки монітора,
навішуватися на його верхню кромку, вставлятися в спеціальний жолобок
навколо екрана або одягатися на монітор.
Сіточні фільтри практично не захищають від електромагнітного
випромінювання. Однак вони непогано ослабляють полиски від зовнішнього
освітлення, що при інтенсивній роботі за комп’ютером є важливим
чинником.
Плівкові фільтри також не захищають від статичної електрики, але значно
підвищують контрастність зображення, практично повністю поглинають
ультрафіолетове випромінювання і знижують рівень рентгенівського
випромінювання.
Що стосується скляних фільтрів, то вони випускаються в декількох різних
модифікаціях. Прості скляні фільтри знімають статичний заряд, ослабляють
низькочастотні електромагнітні поля, знижують інтенсивність
ультрафіолетового випромінювання і підвищують контрастність зображення.
Випускаються також скляні фільтри категорії “повний захист”. Вони
володіють найбільш повною сукупністю захисних засобів.
Створення сприятливих умов праці і правильне естетичне оформлення
робочих місць на виробництві має велике значення як для полегшення
праці, так і для підвищення його привабливості, що позитивно впливає на
продуктивність праці. Забарвлення приміщень і меблів повинне сприяти
створенню сприятливих умов для зорового сприйняття, хорошого настрою. У
службових приміщеннях, в яких виконується одноманітна розумова робота,
що вимагає значного нервового напруження і великого зосередження,
забарвлення повинне бути спокійних тонів – малонасичені відтінки
холодного зеленого або блакитного кольорів.
6.3 Розрахунок виробничої освітленості
Необхідно розрахувати освітленість для приміщення оператора ЕОМ.
Улаштовуючи електричне освітлення, необхідно враховувати такі
особливості:
освітленість потрібна для якісного виконання зорових робіт, має
забезпечуватися з урахуванням економічних факторів, що характеризуються
нормованими освітленістю і якістю освітлення;
джерела світла, які вибираються з урахуванням різних умов, мають
забезпечувати функціональні та економічні вимоги;
елементи освітлювальних установок мають відповідати вимогам якості,
довговічності, економічності й умовам навколишнього середовища.
Штучне освітлення проектується двох систем: загальне і комбіноване, коли
до загального додається місцеве освітлення робочих місць.
Систему загального освітлення застосовують для освітлення всього
приміщення, в тому числі й робочих поверхонь. Воно може здійснюватись
двома способами: з рівномірним і нерівномірним розміщенням світильників
під стелею освітлюваного приміщення. В даному приміщенні немає
необхідності створювати різні умови освітленості, тому використовується
система загального освітлення з рівномірним розміщенням світильників.
Приміщення оператора ЕОМ освітлюється люмінесцентними лампами типу ЛБ40
потужністю 40 Вт кожна. Використовуються світильники типу ЛПО 2х40.
Розрахунок освітленості можна здійснювати двома методами: точковим і
методом коефіцієнта використання [2]. Для даного випадку простіше
використати метод коефіцієнта використання.
Світловий потік, необхідний для створення заданої мінімальної
освітленості при одному джерелі світла визначається за формулою, лм:
, (6.1)
де Е – мінімальна нормована освітленість, лк;
S – площа освітлюваного приміщення або поверхні, м2 ;
kз – коефіцієнт запасу, приймаємо рівним 1.5;
z – коефіцієнт нерівномірності освітлення, приймаємо рівним 1.1;
N – кількість джерел світла;
? – коефіцієнт використання світлового потоку джерела світла.
Коефіцієнт використання світлового потоку ? є складною функцією багатьох
змінних; при розрахунку його визначають з врахуванням типу світильника,
коефіцієнтів відбиття стін ?стін , підлоги ?підлоги і стелі ?стелі та
індексу приміщення:
, (6.2)
де S – площа приміщення, м2;
h – висота підвісу світильника над розрахунковою поверхнею;
А і В – сторони приміщення, м.
Розміри приміщення оператора ЕОМ А = 10 м, В = 5 м, Н = 4.3 м. Висота
розміщення розрахункової площини 0.8 м. Стіни, стеля і підлога середньої
світлості ?стін = 50? , ?стелі = 30? , ?підлоги = 10?. У приміщенні
оператора ЕОМ повинна бути освітленість 200 лк, при коефіцієнт запасу
1.5.
Визначаємо індекс приміщення за формулою (2):
Для і = 1, знаходимо ? = 0.36 в таблиці 2.
Тоді необхідний світловий потік складає згідно (8.1):
Для лампи ЛБ40 світловий потік складає 3000 лм. Відповідно, для
світильника ЛПО2х40 світловий потік Ф’ = 6000 лм.
Таблиця 2 – Коефіцієнт використання світлового потоку ( в залежності від
індекса приміщення i
Індекс приміщення, i Коефіцієнт використання світлового потоку, (
0,5 0.22
1 0.36
2 0.48
3 0.54
4 0.59
5 0.61
Кількість світильників:
Отже, щоб забезпечити освітленість 200 лк у приміщенні оператора,
необхідно встановити по чотири світильники ЛПО 2х40 в два ряди.
Література
ДСТУ 2293-93. Система стандартів безпеки праці. Терміни та визначення.
Самгин Э.Б. Освещение рабочих мест. – М.: МИРЭА, 1989.
Павлова С.П. Охрана труда в радио- и электронной промышленности. – М.:
Энергия, 1979.
7 ЕКОНОМІЧНЕ ОБГРУНТУВАННЯ РОЗРОБКИ КОМПЛЕКСУ
Основними передумовами для застосування розроблюваного комплексу є:
потреба в системі реєстрації, обліку і виписки фінансової інформації про
інтернет з’єднання;
зменшення загальних витрат по статті “зв’язок” на підприємстві;
підвищення організаційної дисципліни співробітників;
забезпечення елементів безпеки в сфері збереження конфіденційної
інформації і контролю над співробітниками;
розв’язання проблем взаєморозрахунків з вищестоящими операторами;
оптимізація використання канальної, транзитної і абонентської ємностей.
Ці об’єктивні потреби є достатньо вагомими, щоб зрозуміти необхідність
розробки, проте завжди потрібно обгрунтувати рішення економічно. В цьому
розділі розглянуто, з однієї сторони, доцільність розробки комплексу
виконавцем, так і закупки та впровадження його, з іншої сторони,
користувачем.
7.1 Сітковий графік та його характеристики
Автоматизовані системи управління спираються на економіко-математичні
моделі моделювання, наукову організацію економічної інформації,
використання обчислювальних машин. В плануванні і управлінні складними
розробками, високоефективними виявились сіткові методи, що отримали в
останні роки широке розповсюдження.
Сіткове планування і керування – це системи планування комплексу робіт,
що орієнтована на виконання кінцевої мети. В системах широко
використовується графічне зображення та аналітичний опис плану робіт,
які відображають їх логічну послідовність, взаємозв’язок і тривалість, і
створюються з метою наступної оптимізації розробленого плану [1].
Сітковий графік є основним плановим документом в системі сіткового
планування і керування, що представляє собою інформаційно-динамічну
модель, в якій зображаються взаємозв’язки і результати всiх робіт,
необхідних для досягнення кінцевої мети розробки, тобто сітковий графік
– це наглядне відображення плану робіт.
В сітковому графіку детально чи укрупнено показано, що, в якій
послідовності, коли, за який час, для чого необхідно виконати, щоб
забезпечити закінчення вcіх робіт не пізніше заданого, директивного
часу.
Головними елементами є події і роботи.
Подія – це стан, момент досягнення проміжної або кінцевої цілі розробки.
Подія має протяжність в часі.
Робота – це розтягнений в часі процес, необхідний для здійснення події.
Кожна робота має попередню подію і закінчується визначеною подією. На
сіткових графіках подія відображається колом, а робота – стрілкою.
До основних параметрів сіткового графіку відносяться: критичний шлях,
резерви часу подій, резерви часу робіт. Ці параметри є вихідними для
одержання ряду додаткових характеристик, а також для аналізу мережі чи
для аналізу складеного плану розробки.
Критичний шлях – найбільш тривала по часу послідовність робіт, які
ведуть від вихідної до завершальної події, яка ставиться при плануванні
розробки.
При плануванні комплексу операцій критичний шлях дозволяє знайти термін
настання завершальної події. В процесі керування ходом розробки увага
керівництва зосереджується на роботах критичного шляху. Це дозволяє
найбільш доцільно і оперативно контролювати обмежене число робіт, що
впливають на термін розробки, а також краще використати існуючі ресурси.
Основними параметрами сіткової моделі, крім критичного шляху, є резерви
часу завершення події і різноманітні резерви часу робіт.
Резерви часу існують в сітковому графіку в усіх випадках, коли існує
більш ніж один шлях різної тривалості.
Ранній строк настання Tр(і) події і дорівнює мінімальному з можливих
моментів настання цієї події, якщо задано тривалості робіт і початковий
момент (без урахування директивного строку завершення комплексу). Цей
строк визначається протяжністю максимального шляху, який пов’язує
вихідну подію сітки з розглядуваною подією.
Пізній строк настання Tп(і) події і – максимальний з допустимих
моментів настання даної події, при якому ще можна виконати всі наступні
роботи, додержавши директивного строку настання завершальної події (якщо
директивний строк не задано, то за пізній строк завершальної події
береться її ранній строк).
Рeзерв і-ї події визначається як різниці між пізнім і раннім строком
завершення події за формулою:
R = Tп – Tр (7.1)
Для кожної роботи ( i, j ) визначаються :
Ранній строк початку:
Tр.поч(i,j) = Tр(і) (7.2)
Пізній строк початку:
Tп.поч(i,j)= Tр(і) – T(і, j) (7.3)
Ранній строк закінчення:
Tр.зак(i,j)= Tр(і) + T(і, j) (7.4)
Пізній строк закінчення:
Tп.зак(i,j) = Tп(і) (7.5)
У системах використовуються чотири види резервів часу:
повний резерв;
вільний резерв;
частковий резерв першого роду;
частковий резерв другого роду.
Роботи, які лежать на критичному шляху резервів часу не мають.
Повний резерв часу показує на який термін (максимальний) може бути
пересунуто або продовжено виконання якоїсь роботи і визначається за
формулою:
Rп = Tп(j) – Tр(і) – T(і, j) (7.6)
Вільний резерв часу – це додатковий резерв понад час виконання роботи
між пізніми або ранніми її термінами строками і визначається за
формулою:
Rв = Tр(j) – Tр(і) – T(і, j) (7.7)
Порядок побудови сіткового графіка визначається прийнятою технологією і
організацією робіт. Сітковий графік відображає тільки існуючу або
проектовану черговість і взаємозв’язок виконання робіт.
По кожній роботі необхідно враховувати:
які роботи повинні бути завершені раніше, ніж почнеться дана робота;
які роботи можуть початися після завершення даної роботи;
які інші роботи повинні виконуватись одночасно з виконанням даної
роботи.
Всі вихідні дані для розробки сіткового графіка представлені в табл. 1 і
в табл. 2.
Таблиця 1 – Таблиця подій
№ події Подія
1 визначення теми проекту
2 отримання технічного завдання
3 вибір мови програмування
4 підбір літератури і документації
5 розробка інформаційного забезпечення
6 розробка структури системи
7 розробка блок-схеми
8 визначення модулів програми1
9 визначення модулів програми2
10 розробка БД програми1
11 розробка БД програми2
12 відладка програми
13 тестування програми
14 виправлення помилок
15 аналіз отриманих результатів
16 написання пояснювальної записки
17 завершення роботи
Таблиця 2 – Види робіт та їх тривалості
№ події Вид роботи Тривалість
1-2 отримання технічного завдання 3
2-3 вибір програмних і апаратних засобів 4
2-4 розгляд аналогічних систем 5
2-5 підбір літератури і документації 9
3-6 визначення робочих характеристик ОС 2
4-6 визначення необхідних властивостей і характеристик системи 2
6-7 розробка структури системи 10
5-7 узгодження структури з даними стандартами 2
6-7 розробка загальної блок-схеми 5
8-9 визначення модулів програми1 6
9-10 визначення модулів програми2 5
10-11 розробка БД програми1 2
11-12 розробка БД програми2 4
7-8 розробка користувацького інтерфейсу 3
12-13 відладка програми 2
13-14 тестування програми 2
14-15 виправлення помилок 1
15-16 аналіз отриманих результатів 1
16-17 написання пояснювальної записки 18
17-18 завершення роботи 2
Для отримання сіткового графіку (рис. 7.1) знаходимо критичний шлях і
розраховуємо ранній і пізній строки подій, а також резерв часу подій.
Оскільки в нашому випадку сітковий графік має розгалужені вітки, тому
для знаходження критичного шляху знайдемо максимальні тривалості
процесів на розгалужених ділянках:
L1-2-3-6-7-8-9-10-11-12-13-14-15-16 = 54,
L 1-2-4-6-7-8-9-10-11-12-13-14-15-16 = 60,
L 1-2-5-7-8-9-10-11-12-13-14-15-16 = 59.
Отже, критичний шлях Lкр = 60 днів.
На рисунку 1 критичний шлях виділено товстою лінією.
Рисунок 7.1 – Сітковий графік
Розрахуємо для даного графіка ранні і пізні строки подій за формулами
(7.1) – (7.4), а також вільний і повний резерви за формулами (7.5) –
(7.6).
Отримані результати заносимо у табл. 3.
З табл. 3 випливає, що деякі події мають нульовий резерв часу, тобто для
цих подій найбільший допустимий строк дорівнює найменшому очікуваному.
Вихідна і заключна події також мають нульовий резерв часу. Таким чином,
найбільш простий та надійний спосіб виявлення критичного шляху – це
визначення всіх послідовно розміщених подій, які мають нульовий резерв
часу.
Можна переконатись, що знайдений попереднім методом критичний шлях
співпадає з критичним шляхом, знайденим з допомогою резерву часу подій.
Таблиця 3 – Таблиця часу і резервів подій
Робота Тij Ранні строки Пізні строки Резерви
Tр.поч(i,j) Tр.зак(i,j) Tп.поч(i,j) Tп.зак(i,j) Rп Rв
1 2 3 4 5 6 7 8
1-2 3 0 3 0 3 0 0
2-3 4 3 7 4 8 1 1
2-4 5 3 8 18 8 0 0
2-5 9 3 12 10 18 6 6
3-6 2 8 10 10 10 0 0
4-6 2 7 9 20 10 0 0
6-7 10 10 20 25 20 0 0
5-7 2 12 14 20 20 6 6
7-8 5 20 25 20 25 0 0
8-9 6 25 31 25 31 0 0
9-10 5 25 31 25 31 1 1
10-11 2 25 31 25 31 4 4
11-12 4 25 31 25 31 2 2
12-13 3 31 34 31 34 0 0
13-14 2 34 36 34 36 0 0
14-15 2 36 38 36 38 0 0
15-16 1 38 39 38 39 0 0
16-17 1 39 40 39 40 0 0
17-18 18 40 58 40 58 0 0
18-19 2 58 60 58 60 0 0
У випадку, коли директивний час не співпадає з критичним виникають
проблеми. Вони полягають у тому, що необхідно здійснити прискорене
виконання комплексу робіт на величину
(Ткр=Тдир – Ткр (7.8)
Покриття дефіциту часу можна здійснити за рахунок прискорення вибраних
критичних робіт.
При наявності обмежень в ресурсах необхідно знайти власні резерви, тобто
здійснити перекидку з некритичних робіт на критичні.
7.2 Розрахунок витрат на розробку
Розробка програмно-апаратного комплексу полягає в написанні програмного
забезпечення і впровадженні його на технічних засобах користувача. Щодо
апаратної частини, то, оскільки потрібно лише провести випробування
існуючих систем згідно документації, витрати на розробку можна віднести
до постановки задачі програмної частини.
В успішному завершенні проекту і його ефективній експлуатації
зацікавлені всі його учасники, що реалізують у такий спосіб свої
індивідуальні інтереси.
Бізнес-планування і моніторинг дозволяють легше перебороти перешкоди,
зв’язані з такими зовнішніми і внутрішніми факторами, характерними для
перехідного періоду в Україні, як:
нестабільна економіка;
дефіцит і обмеженість засобів і ресурсів;
зростаючі вимоги до якості програмної продукції.
Якщо ці зміни не аналізуються і не враховуються, то це приводить до
таких негативних результатів, як [2]:
перевищення раніше установленої вартості, тривалості і термінів
завершення проектів;
відставання в реалізації і практичному використанні результатів наукових
досліджень і дослідно-конструкторських розробок;
зниження ефективності і збільшення строків окупності проекту.
В умовах, що створилися, робота інженера має на увазі не тільки
знаходження прогресивних рішень, але і їхнє техніко-економічне
обгрунтування, доказ того, що обраний варіант є найбільш вигідним і
економічно ефективним.
Для даного комплексу сумарні витрати на розробку програмної частини
будуть складатися із витрат на програмування і витрат на експлуатацію
персонального комп’ютера, на якому проводиться програмування [1].
Сумарні витрати на розробку програми Sр.п. (грн.) визначаються як:
Sр.п. = (1 + ?н){?tр1Вр.о1[(1 + ?д) (1 + ?с) + ?н]}, (7.9)
tр1 – час, що витрачається на розробку даної програми працівником 1-ї
кваліфікації, міс;
Вр.о1 – основна заробітна плата розробника 1-ї кваліфікації, грн/міс;
?д – коефіцієнт, що враховує додаткову заробітну плату розробника
програми, в долях до основної заробітної плати;
?с – коефіцієнт, що враховує нарахування органам соціального захисту на
заробітну плату розробника програми, в долях до суми основної та
додаткової заробітної плати;
?н – коефіцієнт, що враховує накладні витрати установи, в якій
розробляється ця програма, в долях до основної заробітної плати
розробника;
?н – норматив рентабельності, що враховує прибуток установи, яка
розробляє дану програми, в долях до всіх витрат даної установи на
розробку програми. В цих розрахунках звичайно приймають:
?д = 0.12; ?с = 0.08; ?н = 0.5; ?н = 0.14.
Оскільки в нашому випадку розроблена програма повинна бути відпрацьована
на ЕОМ, сумарні витрати на її розробку Sр.п визначаються як:
Sр.п. = (1 + ?н){?tр1Вр.о1[(1 + ?д) (1 + ?с) + ?н]+tм.о.еч.}, (7.10)
де tм.о. – машинний час ЕОМ, необхідний для розробки даної програми;
еч – експлуатаційні витрати, що припадають на 1 годину машинного часу
цієї ЕОМ.
Термін налагодження даної програми становитиме два місяці, тобто 40
робочих днів. При восьмигодинному робочому дні час налагодження даної
програми становитиме tм.о. = 320 годин.
Розрахуємо тепер експлуатаційні витрати, що припадають на 1 годину
машинного часу цієї ЕОМ. Основними складовими експлуатаційних витрат
буде амортизаційний знос ЕОМ та вартість електроенергії. Середня
потужність комплексу ЕОМ (до складу ЕОМ може входити принтер, модем,
сканер), становитиме 200 Вт. При вартості 1кВт електроенергії для
підприємств та установ, що становить 0.38 грн., тому вартість спожитої
електроенергії за одну годину становитиме 0.38*0.2кВт = 0.076 грн/год.
Експлуатаційні витрати, що припадають на 1 годину машинного часу можуть
бути визначені за витратами електроенергії:
, (7.11)
де Pcn – споживана потужність ЕОМ, Вт;
Cгод – вартість 1 кВт/год електроенергії.
Оскільки P cn = 0.2 кВт, Cгод = 0.38 грн., то згідно (11):
eг = 0.2(0.38 = 0.076 грн/год.
Необхідний час налагодження програми становить 320 машино-годин.
Оскільки до роботи на комп’ютері необхідно виконати визначені підготовчі
роботи з програмування, то сумарні витрати на розробку програми (пакету
програм) визначається як :
Sр.п. = (1 + ?н){?tріВр.оі[(1 + ?д) (1 + ?с) +
?н]+??tnhbчh[(1+?д)(1+?с)]+
+? tм.о.еч.}, (7.12)
де tnh – витрати робочого часу програміста 1-ї кваліфікації для виходу
на машину, людино-години;
bчh – основна погодинна заробітна плата програміста 1-ї кваліфікації,
грн./год.
Для даного випадку tnh = 200 годин, bчh = 5 грн., крім того, дві останні
формули можна поєднати, оскільки програму розробляє одна людина.
При тривалості розробки програми 4 місяці і потребі 320 годин машинного
часу, при умові що програма розробляється тільки однією особою отримаємо
наступні сумарні витрати:
Sр.п. = (1+0.14){4*800*[(1+0.12)*(1+0.8)+0.5]+
200*5*[(1+0.12)*(1+0.8)]+320*0.022}.
Sр.п. = 11484.63 грн.
Вартість розробленої програми (в грн.) визначається як:
zn = Sр.п. / nn (7.13)
де zn – вартість, за якою продається програма, грн;
Sр.п. – сумарні витрати на розробку цієї програми, грн;
nn – кількість користувачів, які придбають дану програму.
Щодо установ, на які орієнтований цей програмно-апаратний комплекс, то
планується що розроблений продукт, будуть замовляти організації,
установи і фірми. Одними із основних замовників стануть готелі і
туристичні бази.
Виходячи з вищенаведених міркувань, можна припустити, що в середньому по
Україні при наявності приблизно 15 тисяч потенційних клієнтів (готелів,
установ, що здають в аренду приміщення і підприємств, що бажають
контролювати витрати за телефонний зв’язок та інтернет), можна буде
реалізувати за короткий термін кожному тисячному клієнту 1 одиницю
продукції. Виходячи з цього приймемо в середньому nn = 15.
Тоді:
zn = 11484.63 / 15 = 765.64 грн.
Розроблений програмно-апаратний комплекс буде реалізовуватися за ціною
765.64 грн.
Така ціна комплексу, по відношенню до користі, яку він приносить,
контролюючи витрати на телефонні розмови, дасть можливість проводити
певну цінову політику по усуненню конкурентів з ринку, або підняття
ціни до межі, що принесе серйозніші прибутки.
7.3 Розрахунок капітальних вкладень
Додаткові капітальні вкладення (Кд2/1, пов’язані з впровадженням
розробленої системи визначаються за формулою [2]:
, (7.14)
де KEOM – капітальні вкладення в ЕОМ та інші складові системи;
Tм.в2 – машинний час ЕОМ необхідний користувачу для тих задач, які він
розв’язує за допомогою розробленої програми машино-год./рік;
Tпол – корисний річний фонд роботи цієї ЕОМ (без врахування простоїв в
ремонті);
zn – ціна нової програми, грн.
Капітальні вкладення в ЕОМ та інші складові системи визначаються за
формулою:
, (7.15)
де Ссер.і – вартість ЕОМ (серверів), грн згідно специфікації, що подана
в таблиці 4;
Ском.і – вартість комунікацій, грн.
Таблиця 4 – Специфікація вартості ЕОМ
Товар Ціна, грн
ПК Duron-800, 128M, 20G, 40x, KMP 2000
Монітор Samsung SM 551s 800
ППЗ Microsoft Windows 98 400
Додаткові аксесуари 200
Разом: 3400
Значення капітальних вкладень становить:
КEOM = 3400+500 = 3900 грн.
Корисний річний фонд роботи ЕОМ визначається за формулою:
, (7.16)
де Др – дійсний річний фонд часу, дні;
kn – коефіцієнт, що враховує профілактичні роботи та плановий ремонт (kn
= 0,1);
tp – тривалість робочої зміни, год (tp = 8).
Корисний фонд часу ЕОМ становить:
Tпол = 256 * (1- 0.1)*8 = 1843.2 год/рік.
Машинний час ЕОМ необхідний користувачу для вирішення задачі з допомогою
ЕОМ обчислюється:
, (17)
де tз – час, який витрачає користувач на вирішення задачі з ЕОМ, год.
Машинний час ЕОМ становить:
Tм.в2 = 256 * (1 – 0.1) * 6 =1382.4 год./рік.
Додаткові капітальні вкладення становлять:
(Кд2/1 = (1382.4/1843.2)*3900+765.64=3690.64 грн.
7.4 Розрахунок експлуатаційних витрат
Економія витрат пов’язаних з експлуатацією програми (Ee2/1 визначається
за формулою [2]:
, (7.18)
де Boi – основна заробітна плата i-ого робітника, який розв’язував цю
задачу вручну, грн/рік;
Tc – строк служби програми до її морального зносу, роки.
Приймемо Тс = 10 років.
Економія експлуатаційних витрат становить:
(Ee2/1 = (1+0.08)*(1+0.12)*1200 – (1382.4*0.022+765.64 / 10) = 1170.41
грн.
7.5 Розрахунок зведених економічних показників
Строк окупності додаткових капітальних вкладень визначається за
формулою:
. (7.19)
Отже, за формулою (7.19):
(r2/1 = 3690.64 / 1170.41 = 3 (роки).
Грошовий річний ефект, який отримує користувач при застосуванні системи
визначається за формулою:
, (7.20)
де (n – нормативний коефіцієнт окупності капітальних вкладень, що
становить 0.15.
Далі, отримуємо:
(Wр.е.2/1 = 1170.41 – 0.15*3690.64 = 616.81 грн.
В табл. 5 наведені зведені економічні показники проектованого ПЗ.
Таблиця 5 – Зведені економічні показники розробки системи
Показник Розмірність Значення
Витрати на розробку програмного забезпечення грн 11484.63
Капітальні вкладення грн 3690.64
Економія експлуатаційних витрат грн/рік 1170.41
Строк окупності рік 3
Грошовий річний ефект грн/рік 616.81
З вищенаведених розрахунків видно, що розробка та впровадження даної
системи є економічно доцільною. Використана при розрахунках методологія
не є досконалою і не враховує всі переваги застосування інформаційних
комп’ютерних систем, таких як:
уніфікація;
адаптованість;
ведення електронного архіву.
Також слід враховувати, що реальні початкові вкладення в багатьох
випадках не будуть включати комп’ютер, оскільки, для тарифікації і
білінгу можна використовувати вже існуючий комп’ютер в пасивному режимі.
Література
1. Велипанов К.М. экономика и организация производства в дипломных
проектах: Навчальний посібник. – М: Машиностроение, 1887.
2. Зинченко В.П., Мунипов В.М. Основы экономики. – М.: МГУ, 1989. – 205
с.
ВИСНОВКИ
Під час дипломного проектування було широко досліджено потенційний ринок
систем тарифікації і білінга і розглянуто значну кількість аналогічних
комплексів. Аналіз конкурентних розробок виявив їхні недоліки і
обгрунтував технічну доцільніть розробки програмно-апаратного комплексу
тарифікації і білінга телефонних розмов. На основі цієї інформації було
поставлено задачу для дипломного проектування і вирішено усі
технологічні ланки процесу розробки.
Далі, на основі досліджень економічних показників, прийнято рішення про
економічну доцільність розробки комплексу, прораховано його
собівартість, час розробки і економічний ефект від його використання.
Значну увагу було приділено питанням охорони праці і безпеки
життєдіяльності, особливо було пророблено питання ергономіки в процесі
експлуатації комплексу.
Під час розробки комплексу було пророблено різні варіанти зістикування
програмної і апаратної частини і розроблено дві програми, використовуючи
сучасні засоби об’єктного програмування.
Програмно-апаратний комплекс тарифікації телефонних з’єднань було
впроваджено в тестовому режимі в одному готелі області. В ході тестової
експлуатації було виявлено помилки, і комплекс було допрацьовано з
урахуванням їх. На основі виявлених даних про помилки було прораховано
основні показники надійності програмної частини.
Отже, в результаті дипломного проектування отримано реально діюючу
систему, яка, будучи впроваджена на підприємствах України, дасть
відчутний економічний ефект.
ПЕРЕЛІК ПОСИЛАНЬ НА ДЖЕРЕЛА
Енго Ф. Самовчитель Access 2000. – К.: Наука, 2001.
Дейт К. Введение в системы баз даных. – К.: Наука, 1980.
Ульман Дж. Основы систем баз даных. – М.: Финансы и статистика, 1983. –
265 с.
Шумаков П.В. Язык С/С++ и разработка приложений баз данных. – М.:
Нолидж, 1999. – 504 с.
Сурков К.А., Сурков Д.А., Вальвачев А.Н. Программирование в среде Visual
C++. – Мн.: Попурри, 1997.
Когаловский М.Р. Технология баз данных на персональных ЭВМ. – М.:
Финансы и статистика, 1992. – 432 с.
Hаумов А.H., Вендров А.М. Системы управления базами данных и знаний. –
М.: Финансы и статистика, 1991. – 234 с.
Брябрин В.М. Программное обеспечение персональных ЭВМ. – М.: Hаука,
1989. – 342 с.
Аппак М.А. Автоматизированные рабочие места на основе персональных
ЭВМ. – М.: Радио и связь, 1989.
Шумаков П.В.Visual C++ и создание баз данных. – М.: Наука, 1997. – 340
с.
Мартин Дж. Организация баз данных в вычислительных системах. – М: Мир,
1978. – 373 с.
Диго С.М. Проектирование и использование баз данных. – М.: Финансы и
статистика, 1995. – 522 с.
Епанешников A.M. Программирование в среде С/С++. – К.: Наука, 1998. –
433 с.
Казаков С.И. Основы сетевых технологий. – М.: Радио и связь, 1999. – 193
с.
Кириллов В.В. Структуризованный язык запросов (SQL). – М: ИТМО, 1994. –
80 с.
Заміховський Л.М. і ін. Методичні вказівки до дипломного проектування
для студентів спеціальності 7.091401. – Івано-Франківськ: 1999. – 49 с.
Велипанов К.М. экономика и организация производства в дипломных
проектах: Навчальний посібник. – М: Машиностроение, 1887.
Зинченко В.П., Мунипов В.М. Основы экономики. – М.: МГУ, 1989. – 205 с.
ДСТУ 2293-93. Система стандартів безпеки праці. Терміни та визначення.
Самгин Э.Б. Освещение рабочих мест. – М.: МИРЭА, 1989.
Павлова С.П. Охрана труда в радио- и электронной промышленности. – М.:
Энергия, 1979.
База даних модуля тарифікатора.
Схема структурна
База даних білінгу.
Схема структурна
Алгоритм програми тарифікації
Алгоритм роботи модуля тарифікації
Автоматизована система білінгу.
Схема функціональна
Автоматизована система білінгу.
Схема структурна
PAGE
PAGE 1
Змн.
Арк.
№ докум.
Підпис
Дата
Арк.
ДП.АУ – XX.00.00.000ПЗ
25
58
0
58
18
40
0
40
17
39
0
39
16
38
0
38
15
60
0
60
19
36
0
36
14
34
0
34
13
31
0
31
12
25
0
25
8
20
0
20
7
10
0
10
6
8
0
8
4
7
1
8
3
12
6
18
5
3
0
3
2
0
0
0
1
1
1
4
29
10
25
1
26
9
25
2
27
11
Нашли опечатку? Выделите и нажмите CTRL+Enter