Автор работы: Пользователь скрыл имя, 27 Марта 2013 в 02:38, курсовая работа
Результат реінженерії значною мірою залежить від повноти та якості документації успадкованого ПЗ. На практиці таке ПЗ, найчастіше, не має документації або наявна документація є неповною і застарілою. Тому задачею редокументування стає забезпечення розробників, залучених до проектів реінженерії, достатньою і адекватною документацією успадкованого ПЗ, створеною на основі відновленої у зворотній інженерії інформації.
Реінженерія ПЗ включає процеси зворотної інженерії, які забезпечують відновлення інформації з успадкованого ПЗ, та прямої інженерії, яка дає можливість створення нового ПЗ і, зазвичай, є процесами технології розробки ПЗ.
Процеси, зворотні
до створення програмного
Істотне поширення
зворотні процеси отримали у 80-х
роках минулого століття у зв’язку
зі збільшенням кількості
Результат реінженерії значною мірою залежить від повноти та якості документації успадкованого ПЗ. На практиці таке ПЗ, найчастіше, не має документації або наявна документація є неповною і застарілою. Тому задачею редокументування стає забезпечення розробників, залучених до проектів реінженерії, достатньою і адекватною документацією успадкованого ПЗ, створеною на основі відновленої у зворотній інженерії інформації.
Реінженерія ПЗ включає процеси зворотної інженерії, які забезпечують відновлення інформації з успадкованого ПЗ, та прямої інженерії, яка дає можливість створення нового ПЗ і, зазвичай, є процесами технології розробки ПЗ.
Саме технологія прямої інженерії визначає вимоги до складу, структури та змісту документів. Тому реалізація редокументування полягає в створенні документації, яка відповідає вимогамтехнології, вибраної для прямої інженерії.
У роботі для ре інженерії
використовується програмний продукт
3CX Phone.
Для роботи клієнта необхідна наступна конфігурація:
Користувачами системи можуть бути будь які користувачі. У
магістерській роботі наукова новизна полягає у створенні класу заглушки зчитування з СМС деякого коду у процесі створення нового користувача під час верифікації. Таким чином, результат роботи передбачає використання додатку зазвичай розробниками та тестувальниками ПЗ. Основна мета продукту полягає у написанні Unit тестів додатку. Не зважаючи на це, в програмний продукт не містить користувачів з різними правами та ролями, тому існує тільки один, єдиний «Користувач» системи. Для реінженерії мною було обране ПЗ «3CX Phone»
Рис.2.1.1 Користувач
Інтерфейс додатку «3CX Phone» складається із основного вікна,
що містить єдине головне меню ( рис.2.2.1 ). Відповідно користувач постійно взаємодіє із функціями системи здебільшого через це меню.
Рис.2.2.2 Головне меню «3CX Phone»
Головне меню містить наступні наступні підменю:
Кожний елемент підменю дозволяє користувачу виконати той чи інший функціонал. Виклик будь-якого підменю запустить відповідне вікно додатку.
Лише підменю виклики потребує детаталізації. Так, воно включає наступні елементи:
Підменю «Виклики» дозволяє здійснити операції над вхідними та вихідними дзвінками ( рис.2.2.2 ).
Рис.2.2.1 Діаграма варіантів використання для головного меню
Рис.2.2.2 Меню виклики «3CX Phone»
Одночасно з виділенням ВВ створюю навігацію екранів системи у вигляді діаграми класів UML. Кожен екран показується в моделі як окремий клас, в якому поля - атрибути відповідають, функціональним кнопкам - операції, а кнопкам меню - однойменні відносини. Кількість класів відповідає кількості екранів ( рис.2.3.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 бере на себе наступні дії:
Створення нового екземляра 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.
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 ( див. Додаток А ).
Створивши комплекс програмних модулів на стороні веб сервера я дослідив багато важливих процесів, таких як:
Маючи досвід роботи з такими процесами, можна впевнено приступати
до створення складних і великих додатків на різних мовах програмування із складною архітектурою, оскільки комплекс модулів даного курсового проекту має не просту архітектуру на стороні сервера та включає використання наступних мов програмування:
Список літератури
Информация о работе Редокументація продукту SIP клієнт для IP телефонії на базі ОС Андроїд