- •1 Техніко-економічне обґрунтування доцільності розробки програми резервування даних про звукові файли в інформаційних системах контакт-центрів стеганографічними засобами
- •Суть технічної проблеми резервування даних про звукові файли
- •1.5 Розрахунки, що підтверджують економічну доцільність нової розробки
- •2 Проектування програмного забезпечення
- •2.4 Розробка алгоритму програмного забезпечення
- •2.5 Вибір мови програмування для розробки програмного забезпечення
- •3 Розробка програмного забезпечення
- •3.1 Розробка структури та інтерфейсу програми
- •3.2 Розробка програми
- •4 Охорона праці та безпека в надзвичайних ситуаціях
- •5 Економічна частина
- •5.1 Розрахунок витрат на розробку нового програмного продукту
- •5.2 Калькуляція собівартості одиниці матеріального носія з програмним продуктом
- •5.3 Визначення ціни інноваційного товару
- •5.4 Визначення експлуатаційних витрат
- •5.5 Оцінка рівня якості інноваційного рішення
3 Розробка програмного забезпечення
3.1 Розробка структури та інтерфейсу програми
На етапі проектування користувацького інтерфейсу програми необхідно визначитися з її складовими елементами. Програма складається з кнопок для задання вхідного та збереження вихідного файлів, кнопок запуску алгоритму впровадження та вилучення текстового повідомлення, кнопки з інформативним способом дії.
Важливо, щоб користування програмою було зручним, простим і зрозуміли для кінцевого користувача – оператора.
Головне вікно програми представлено на рисунку 3.1.
Рисунок 3.1 – Головне вікно програми.
Завдяки табличній верстці на базі компонента SpliterPanel, інтерфейс матиме “резиновий ефект”, тобто при масштабуванні вікна пропорції між його елементами будуть зберігатись.
Головне вікно програми вміщає в себе усі елементи курування – це допомагає досягти мети - зробити програму зручною, простою і зрозумілою для користувача. П’ять кнопок в верхній частині програми забезпечують доступ до усіх основних можливостей програми – запису, прослуховування запису до впровадження інформації, впровадження, прослуховування запису після впровадження інформації, вилучення текстового повідомлення з аудіо файлу. Під кнопками розміщений регулятор гучності запису/відтворення. Форма розміщена під кнопками призначена для внесення оператором найбільш важливої інформації про розмову з клієнтом у відповідні поля. Кнопка «Очистити» під формою очищає інформацію внесену в форму.
3.2 Розробка програми
Для того, щоб програма мала не лише зручний інтерфейс, а й якісний функціонал на етапі проектування програми, потрібно врахувати ряд обмежень.
Розроблена програм складається з чотирьох основних модулів: бібліотека для роботи з файлами формату wav – Wave.pas, бібліотека з логікою кодування (приховування/витягування) повідомлення – Steganography.pas, і виконуваного файла Sound.exe.
Модуль Wave.pas включає в себе 6 процедур і 4 функції:
- procedure TWave.ConvertTo16Bits; (призначена для конвертації аудіо в звуковий інформаційний потік 16 біт);
- procedure TWave.ConvertToStereo; (призначена для конвертації аудіо в стерео);
- procedure TWave.SetValue (Position: longword; Value: longword); (відповідає за задання основних параметрів роботи з програмою);
- procedure TWave.SaveWave (FileName: TFileName); (призначена для збереження аудіо файлів в *.wave форматі);
- procedure TWave.FSetFileName (FileName: TFileName); (основна процедура роботи з файлами з розширенням .wave);
- procedure TWave.LoadBuf;(загружає аудіо у оперативну память);
- function TWave.GetValue;
- function TWave.FGetLength;
- function TWave.FGetSampleRate;
- function TWave.FGetBitsPerSample.
Модуль програми Wave.pas реалізує чотири інтерфейси: Windows, Messages, SysUtils, Classes, MMSystem, що забезпечує синхронізовану роботу з операційною системою Windows та утилітами.
Модуль Steganography.pas реалізує чотири інтерфейси: Classes, Windows, SysUtils, Wave. Що дозволяє синхронізувати роботу з іншими модулями програми, системними утилітами, та операційною системою Windows.
Модуль Steganography.pas представлений трьома основними процедурами:
- procedure stegFile.Load (fn: ansistring; textorfile: boolean) – забезпечує загрузку тексту для впровадження;
- procedure stegFile.Save (fn: ansistring; textorfile: boolean) – призначена для збереження інформації з дешифрованогоwav файла;
- procedure stegFile.Catch – процедура вилучення тексту з файлу.
Також до модулю входять 5 допоміжних процедур:
- procedure stegFile.SaveWave – відповідає за збереження wav файла;
- procedure stegFile.PutBit – призначена для побітової вставки інформації у файл;
- procedure stegFile.PutByte – призначена для побайтової вставки інформації у файл;
- procedure stegFile.PutInteger – призначена для вставки цілих чисел у зашифровуваний файл;
- procedure stegFile.PutWord – призначена для вставки цілих слів.
Виконуваний файл представлено класом MainForm Його завдання – зв'язок з користувачем. В данному класі реалізована підтримка 23 інтерфейсів: Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, ActiveX, ComCtrls, MMSystem, Menus, sSkinManager, Buttons, sBitBtn, sMemo, sEdit, sLabel, sDialogs, sTrackBar, ExtCtrls.
Створення користувацького інтерфейсу, що складається з основного меню, шести кнопок управління та формою, забезпечується десятьма основними процедурами:
- procedure FormCreate(Sender: TObject);
- procedure sBitBtn1Click(Sender: TObject);
- procedure sBitBtn6Click(Sender: TObject);
- procedure sBitBtn5Click(Sender: TObject);
- procedure sBitBtn3Click(Sender: TObject);
- procedure sBitBtn4Click(Sender: TObject);
- procedure sBitBtn2Click(Sender: TObject);
- procedure sBitBtn7Click(Sender: TObject);
- procedure N3Click(Sender: TObject);
- procedure sBitBtn8Click(Sender: TObject);
Процедура TfmMain.FormCreate перевіряє версію операційної системи та створює форму користувацького інтерфейсу у відповідності з її особливостями.
Процедура TfmMain.N3Click відповідальна за вивід інформації про автора програми з головного меню.
Процедура TfmMain.sBitBtn1Click забезпечує запис аудіофайла після натискання кнопки «Запис».
Кнопка користувацького інтерфейсу «Програти» пов’язана з процедурою TfmMain.sBitBtn2Click.
Кнопка користувацького інтерфейсу «Впровадити» пов’язана з процедурою TfmMain.sBitBtn3Click, яка в свою чергу зберігає аудіо файл з впровадженою в нього інформацією. Ім’я файлу відповідає ПІБ клієнта заповненим у формі користувацького інтерфейсу.
Процедура TfmMain.sBitBtn4Click забезпечує дешифрування даних з аудіо файла. Дана процедура активується при натисненні клавіші «Вилучити». При натисненні даної клавіші користувачеві пропонується обрати файл в який буде збережена вилучена текстова інформація.
Процедура TfmMain.sBitBtn5Click відповідає за приведення програми в базовий режим, де поля форми очищені від інформації, а кнопки програти не активні. Процедура запускається одразу після натиснення клавіші «Очистити» в користувацькому інтерфейсі програми.
Після запуска запису розмови кнопка користувацького інтерфейсу «Запис» міняється на «Стоп». Процедура TfmMain.sBitBtn6Click запускається після натискання кнопки «Стоп». Вона забезпечує збереження записаного файлу у директорію програми з назвою test.wav.
3.3 Робота програми
Для запису розмови необхідно скористатися кнопкою «Запис» в верхній частині вікна програми. Результат її натиснення наведено на рисунку 3.2.
Рисунок 3.2 – Головне вікно програми під час запису аудіофайла.
Для зупинення запису передбачена кнопка «Стоп» у верхньому вікні програми. Після того як запис буде зупинений кнопкою «Стоп» новий аудіофайл записується в директорію програми під назвою «test.wav».
В процессі розмови з клієнтом, або після неї оператор заповнює спеціальну форму. Приклад заповнення показаний на рисунку 3.3.
Рисунок 3.3 – Головне вікно програми з прикладом заповнення форми.
Тепер у користувача програми з’являється можливість прослухати аудіо запис, натиснувши кнопку «Програти». Результат роботи програми в цьому режимі представлений на Рисунку 3.4. В нижній частині програми з’являється повідомлення «Файл програється». І також зявляється нова кнопка в користувацькому інтерфейсі «Стоп», що дозволяє зупиняти прослуховування запису.
Одразу після запису користувач може впровадити текстову інформацію з форми у аудіофайл натиснувши кнопку «Впровадити». Після впровадження в нижньому вікні програми з’являється повідомлення «Шифрування виконано. Файл ХХХ.wav збережено» Де ХХХ – це назва аудіофайла, яка генерується з ПІБ клієнта.
Для того щоб вилучити текстову інформацію з аудіофайла передбачена кнопка «Вилучити» в користувацькому інтерфейсі програми. Результат роботи програми після її натиснення показаний на рисунку 3.5. Користувачеві пропонується обрати файл з якого він хоче вилучити текстову інформацію.
Рисунок 3.4 – Головне вікно програми при активації режиму прослуховування запису розмови.
Рисунок 3.5 – Головне вікно програми після натиснення кнопки «Вилучити».
Потім користувач може зберегти текст закодованого повідомлення в текстовий файл обравши імя файлу і дерикторію збереження. По замовченню пропонується директорія в якій збережено програму.
3.4 Вимоги до роботи програми
Для нормальної роботи програми, необхідний персональний комп’ютер з наступною мінімальною конфігурацією:
- процесор Intel з частотою не менше 1,8 Гц;
- оперативна пам’ять ємністю не менше 512 Mb;
- запам’ятовуючий пристрій ємністю 20 Gb.
- операційна система Windows XP/ Vista/ 7/ 8;
- платформа .NET Framework 2.0;
- при запуску програма займає 13956 Кб оперативної пам’яті.