алізація програми мовою Perl. Взаємодія програми з Asterisk має відбуватися за допомогою інтерфейсу AGI.
Результатом стала представлена ??нижче блок - схема алгоритму роботи альтернативної процедури введення ПІН-коду (рис. 20).
Як видно зі схеми, програма починається програванням звукового файлу, шлях до якого переданий у змінній ARGV [0]. Далі в блоці 3, відбувається введення першого символу ПІН-коду і ознаки виникнення тайм-ауту в змінні result і to відповідно.
Блоки 4-7 здійснюють аналіз введених значень на допустимість.
Блок 4 покликаний виявити ситуацію, в якій нічого не було набрано, і просто була натиснута #. У цьому випадку програма завершується з передачею коду 2 (ознака необхідності повтору вводу) в змінну, ім'я якої передано через ARGV [4] (блок 8).
Блок 5 виявляє наступ тайм ауту при відсутності введеної інформації. У цьому випадку програма завершується з передачею коду 1 (нічого не набрано до закінчення тайм-ауту) в змінну, ім'я якої передано через ARGV [4] (блок 9).
Блок 6 аналізує наявність натискання *. Реакція програми в цьому випадку аналогічна реакції на натискання # в блоці 4 (блок 10).
Блок 7 виявляє можливу появу в ПІН-коді символів A, B, C, D. У цьому випадку програма завершується з передачею коду 3 (ознака хибності ПІН-коду) в змінну, ім'я якої передано через ARGV [4] (блок 11).
Блок 12 встановлює в змінній count кількість введених символів=1.
Малюнок 20 - Схема алгоритму роботи альтернативної процедури
введення ПІН-коду
У поясненні потребує той факт, що перший введений символ аналізується окремо від наступних. Справа в тому, що введення першого символу і всіх інших проводиться різними засобами. Для введення першого символу застосований виклик процедури GET DATA інтерфейсу AGI, яка дозволяє одночасно програвати вказаний звуковий файл. Наступні символи вводяться і аналізуються в циклі за допомогою процедури WAIT FOR DIGIT, цінність якої полягає в тому, що символ # для неї не є ознакою закінчення введення і може бути отриманий в якості результату поряд з іншими.
Блок 13 є перевіркою умови вічного циклу, в якому виробляється введення інших знаків ПІН-коду.
Блок 14 вводить другий і всі наступні символи ПІН-коду в змінну digit.
Блок 15 аналізує наступ тайм-ауту в процесі введення. У цьому випадку блоком 23 встановлюється ознака хибності ПІН-коду в змінній, ім'я якої передано через ARGV [4] і програма завершується.
Блок 16 збільшує кількість введених символів на 1.
Блок 17 перевіряє введений символ на відповідність * або #. У разі позитивного результату порівняння програма завершується з передачею коду 2 (ознака необхідності повтору вводу) в змінну, ім'я якої передано через ARGV [4] (блок 24).
Блок 18 виявляє можливу появу в ПІН-коді символів A, B, C, D. У цьому випадку програма завершується з передачею коду 3 (ознака хибності ПІН-коду) в змінну, ім'я якої передано через ARGV [4] (блок 25).
Блок 19 додає черговий введений символ до ПІН-коду.
Блок 20 Перевіряє ПІН-код на відповідність технічним. Якщо ПІН-код починається з 0 і його довжина досягла 8-і цифр, програма вважає, що введений технічний ПІН-код. Слідом за цим блоком 22 у змінній, ім'я якої передано через ARGV [3], встановлюється остаточне значення ПІН-коду, а в змінній, ім'я якої передано через ARGV [4] встановлюється ознака успішної операції і програма завершується.
Якщо ПІН-код у блоці 20 не визнана технічним, відбувається перевірка його поточної довжини на відповідність величині, переданої через ARGV [2]. Якщо необхідна довжина досягнута, блоком 22 у змінній, ім'я якої передано через ARGV [3], встановлюється остаточне значення ПІН-коду, а в змінній, ім'я якої передано через ARGV [4] встановлюється ознака успішної операції і програма завершується. В іншому випадку програма повертається до початку вічного циклу і виробляє введення чергового символу блоком 14.
Текст програми мовою Perl, відповідний описаному вище алгоритму, наведено у Додатку.
5. Розрахунок ціни системи надання послуг зв'язку «Віртуальний офіс»
5.1 Розрахунок собівартості розробки та впровадження проекту
Собівартість -?? то величина витрат даного підприємства, яка припадає на одиницю продукції. Рівень собівартості залежить від багатьох факторів: технічного прогресу, обсягу своєї продукції, продуктивності праці, норм витрати робочої сили, матеріалів, палива, енергії.
Як правило, ...