Редокументація продукту SIP клієнт для IP телефонії на базі ОС Андроїд

Автор работы: Пользователь скрыл имя, 27 Марта 2013 в 02:38, курсовая работа

Краткое описание

Результат реінженерії значною мірою залежить від повноти та якості документації успадкованого ПЗ. На практиці таке ПЗ, найчастіше, не має документації або наявна документація є неповною і застарілою. Тому задачею редокументування стає забезпечення розробників, залучених до проектів реінженерії, достатньою і адекватною документацією успадкованого ПЗ, створеною на основі відновленої у зворотній інженерії інформації.
Реінженерія ПЗ включає процеси зворотної інженерії, які забезпечують відновлення інформації з успадкованого ПЗ, та прямої інженерії, яка дає можливість створення нового ПЗ і, зазвичай, є процесами технології розробки ПЗ.

Прикрепленные файлы: 1 файл

Курсова2013.docx

— 319.55 Кб (Скачать документ)


Вступ

Процеси,  зворотні до створення програмного забезпечення (ПЗ) — реінженерія, реструктуризація,  редокументування,  базуються на дослідженні вже існуючих програмних продуктів.

Істотне поширення  зворотні процеси отримали у 80-х  роках минулого століття у зв’язку  зі збільшенням кількості супроводжуваного та успадкованого ПЗ, що піддається модифікації, переробці або повторному використанню.

Результат реінженерії  значною мірою залежить від повноти  та якості документації успадкованого  ПЗ. На практиці таке ПЗ, найчастіше, не має документації або наявна документація є неповною і застарілою. Тому задачею  редокументування стає забезпечення розробників,  залучених до проектів реінженерії, достатньою і адекватною документацією успадкованого ПЗ, створеною на основі відновленої у зворотній інженерії інформації.

Реінженерія ПЗ включає процеси зворотної інженерії,  які забезпечують відновлення інформації з успадкованого ПЗ,  та прямої інженерії, яка дає можливість створення нового ПЗ і,  зазвичай,  є процесами технології розробки ПЗ.

Саме технологія прямої інженерії визначає вимоги до складу, структури та змісту документів. Тому реалізація редокументування полягає в створенні документації,  яка відповідає вимогамтехнології, вибраної для прямої інженерії.

У роботі для ре інженерії  використовується програмний продукт  3CX Phone. 

  1. Визначення системних  архітектур

Для роботи клієнта необхідна наступна конфігурація:

    • апаратне забезпечення:
      • ЦП: AMD Athlon 64 X2 Dual-Core TK-55 1.8 ГГц чи еквівалент;
      • 512 Мб ОЗУ;
      • 50 Гб і більше дискового простору;
    • необхідне програмне забезпечення:
      • монтований образ Android 4.0
      • ОС Windows 7
      • протоколи TCP/IP.
      • Пропускна здатність мережі 10 Mbit/sec.
      • Eclipse
      • JRE 7.0 та вище
      • ADT Plugin
      • Android SDK
      • Oracle VM VirtualBox.

 

  

  1. Побудова функціональної моделі

    1. Визначення акторів

Користувачами системи можуть бути будь які користувачі. У

магістерській роботі наукова новизна полягає у створенні класу заглушки зчитування з СМС деякого коду у процесі створення нового користувача під час верифікації. Таким чином, результат роботи передбачає використання додатку зазвичай розробниками та тестувальниками ПЗ. Основна мета продукту полягає у написанні Unit тестів додатку. Не зважаючи на це, в програмний продукт не містить користувачів з різними правами та ролями, тому існує тільки один, єдиний «Користувач» системи. Для реінженерії мною було обране ПЗ «3CX Phone»

Рис.2.1.1 Користувач

 

 

 

    1. Визначення варіантів використання

Інтерфейс додатку «3CX Phone» складається із основного вікна,

що містить  єдине головне меню ( рис.2.2.1 ). Відповідно користувач постійно взаємодіє із функціями системи здебільшого через це меню.

 
Рис.2.2.1 Діаграма варіантів використання

 

Рис.2.2.2 Головне меню «3CX Phone»

 

 

    1. Визначення взаємодій акторів і варіантів використання

Головне меню містить наступні наступні підменю:

  • Налаштування
  • З’єднання
  • Виклики
  • Про програму
  • Відладка
  • Вихід
  • Допомога

Кожний елемент  підменю дозволяє користувачу виконати той чи інший функціонал. Виклик будь-якого підменю запустить  відповідне вікно додатку.

Лише підменю  виклики потребує детаталізації. Так, воно включає наступні елементи:

  • Пропущені
  • Прийняті
  • Набрані
  • Запис
  • Історія
  • Телефонна книга

Підменю «Виклики»  дозволяє здійснити операції над  вхідними та вихідними дзвінками ( рис.2.2.2 ).

 

Рис.2.2.1 Діаграма варіантів використання для головного меню

Рис.2.2.2 Меню виклики «3CX Phone» 

    1. Побудова навігації екранів

Одночасно з виділенням ВВ створюю навігацію екранів системи у вигляді діаграми класів UML. Кожен екран показується в моделі як окремий клас, в якому поля - атрибути відповідають, функціональним кнопкам - операції, а кнопкам меню - однойменні відносини. Кількість класів відповідає кількості екранів ( рис.2.3.1 ).

 

 
Рис.2.3.1 UML діаграма класів навігації екранів «3CX Phone»

 

  1. Пряма інженерія

Метою прямої інженерії є  створення нового програмного продукту на основі функціональних модулів «3CX Phone» на базі ОС Android.

Проаналізувавши функціональну  модель «3CX Phone» було створено додаток «3CX Demo» в якому основні функції додатку аналогічні «3CX Phone».

Для ініціалізації виклику  за допомогою SIP клієнта необхідно 2 пристрої із ОС Android, на яких встановлено SIP клієнт та вони мають прямий доступ до Internet. Ключовим елементом, для взаємодії двох абонентів, виступає SIP Server. Після реєстрації абонентів на сервері можна здійснювати виклики (Рис.2.1).

Рис.3.1.1 Схема взаємодії клієнтів SIP

 

Рис.3.1.2 Зразок головного екрану «3CX Demo»

«3CX Demo» працює на базі ОС Android для версії 4.0.

 

 

Для створення SIP клієнта на базі ОС Android заздалегідь потрібно налаштувати файл маніфесту. Правильно сконфігурований файл маніфесту представлено у додатку А.

Для використання SIP API, додаток повинен створити SipManager об'єкт. SipManager бере на себе наступні дії:

  • Ініціювання SIP сесій.
  • Ініціювання та отримувати дзвінки.
  • Реєстрація та скасування реєстрації у провайдера SIP.
  • Перевірка сесії підключення.

Створення нового екземляра SipManager відюувається наступним чином:

 

public SipManager mSipManager = null;

...

if(mSipManager == null) {

    mSipManager = SipManager.newInstance(this);

}

 

Реєстрація нових користувачів відбувається за допомогою сервера SIP.

SIP додаток включає в себе одного або кілька користувачів, кожен з яких має SIP аккаунт. Кожного зареєстрованого на сервері користувача описує об’єкт SipProfile.

SipProfile:

public SipProfile mSipProfile = null;

...

 

SipProfile.Builder builder = new SipProfile.Builder(username, domain);

builder.setPassword(password);

mSipProfile = builder.build();

 

Абонент може зробити наступні дзвінки за допомогою властивості  SipManager.makeAudioCall.

Наступний код встановлює SipRegistrationListener для SipManager. SipProfile :

mSipManager.setRegistrationListener(mSipProfile.getUriString(), new SipRegistrationListener() {

public void onRegistering(String localProfileUri) {

    updateStatus("Registering with SIP Server..."); }

public void onRegistrationDone(String localProfileUri, long expiryTime) {

    updateStatus("Ready");

}  

public void onRegistrationFailed(String localProfileUri, int errorCode,

    String errorMessage) {

    updateStatus("Registration failed.  Please check settings.");

}

Таким чином для ініціалізації  викликів використовується клас InitialingCallManager ( див. Додаток А ).

 

Висновки

  Створивши комплекс програмних модулів на стороні веб сервера я дослідив багато важливих процесів, таких як:

    • перевірка введених даних;
    • використання технологій доступу до даних ADO.NET, JDBC та ODBC;
    • створення StoredProcedures;
    • взаємодія між середовищем .NET і Java;
    • генерація звітів у відповідний файл за допомогою Java
    • перенесення даних з CSV файлів в базу даних
    • взаємодія між модулями;

Маючи досвід роботи з такими процесами, можна  впевнено приступати

до створення  складних і великих додатків на різних мовах програмування із складною архітектурою, оскільки комплекс модулів  даного курсового проекту має  не просту архітектуру на стороні  сервера та включає використання наступних мов програмування:

    • C#
    • C++
    • Java
    • HTML

 

Список  літератури

  1. Специфікація SPL для СУБД MS SQL Server (MSDN)
  1. C++ Coding Standard Specification

  1. Java Language and Virtual Machine Specifications

  1. C# Language Specification

  1. http://msdn.microsoft.com/ru-ru/library/ms123401.aspx

 



Информация о работе Редокументація продукту SIP клієнт для IP телефонії на базі ОС Андроїд