Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВІРТУАЛЬНА 3D ЕКСКУРСІЯ МІСТОМ.docx
Скачиваний:
6
Добавлен:
27.10.2018
Размер:
1.44 Mб
Скачать

2.3 Структурна схема

Оскільки CityChat являється інтерактивним, то потрібно намагатися замаскувати всі програмні дії і показати користувачу гарну «картинку». Для цього створюється спеціальний інтерфейс, який перетворює інтерактивні дії користувача(переміщення, поворот, відправка повідомлень) на сукупність команд, що передаються по мережі.

Схема, що виражає структурну системи показана на рисунку.

Рисунок 2.9 – Структурна схема системи

Такий інтерфейс повинен забезпечити «спілкування» користувача з апаратною частиною. Так, наприклад, коли ми переміщуємось, то на сервер відправляються координати тривимірного персонажу в просторі, коли робимо поворот, то відправляються кути повороту на сервер.

2.4 Функціональна схема

Кожна більш-менш складна система розбивається на окремі блоки, що взаємодіють між собою. Функціональна схема містить пояснення взаємодії таких блоків, а також пояснює принцип роботи системи. Функціональна схема системи показана на рисунку.

Рисунок 2.10 – Функціональна схема системи

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

Якщо клієнт доступ має, то далі керування передається на блок посилки змін. Цей блок аналізує дії користувача в програмі і відправляю їх на сервер. Сервер приймає інформацію, обробляє її, а потім відсилає всім користувачам чату3D. Інформація приходить на клієнтську програму в блок прийняття змін. Цей блок відображає отримані зміні на екрані і передає керування блоку відправки змін. Такий процес відбувається ввесь час аж поки користувач не вийде з чату3D.

2.5 Діаграма процесів (карта станів та переходів)

Діаграма процесів відображає усі основні етапи роботи програми. Вона має ієрархічну структуру, і не можливо відразу потрапити на останній рівень, оминувши при цьому попередні.

Рисунок 2.11 – Карта станів та переходів клієнтської програми

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

Запуск

Відбувається запуск клієнтської програми

Ініціалізація програми

Відбувається ініціалізація тривимірної графіки, ресурсів програми, автоматичне підключення бібліотеки для роботи з мережею k-netlib

Підключення до серверу

В цьому стані клієнт підключається до сервера, відправляючи інформацію для авторизації в базі сервера

Обробка дій користувача

В цьому стані програма обробляє дії користувача, а саме переміщення миші, натискання кнопок клавіатури, тощо.

Запит Відправка змін

Зміни користувача перетворюються в спеціальну форму, тобто будуються пакети, а потім вони відправляються на сервер.

Отримання змін

Програма отримує зміни від серверу, що надійшли від інших користувачів. Це може бути переміщення в просторі, повороти, текстові повідомлення, тощо.

Відображення змін на екрані

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

Розірвання з’єднання

Потрапити в цей стан можна в двох випадках: якщо клієнт не має доступу до сервера і якщо з’єднання було розірване за ініціативою користувача.

Завершення

Вихід з чату