Dokumentacja projektu QUAIKE Architektura oprogramowania



Podobne dokumenty
Dokumentacja projektu QUAIKE Założenia ogólne

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

System zarządzający grami programistycznymi Meridius

Referat Pracy Dyplomowej

Dokumentacja projektu QUAIKE Instrukcja obsługi aplikacji klienta

Dokumentacja aplikacji Szachy online

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Konspekt pracy inżynierskiej

Galileo - encyklopedia internetowa Plan testów

Referat pracy dyplomowej

REFERAT PRACY DYPLOMOWEJ

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Stworzenie programu KSIĄŻKA ADRESOWA posiadającego funkcjonalności przechowywania danych o osobach dodanych przez użytkownika.

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Specyfikacja implementacyjna aplikacji mobilnej

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Szczegółowy opis zamówienia:

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Pobierz dane z Programu PŁATNIKA. e-deklaracji

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

Projektowanie aplikacji internetowych Tworzenie własnego portalu Internetowego przy użyciu oprogramowania SharePoint Services

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Bazy danych 2. Wykład 1

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Luxriot VMS. Dawid Adamczyk

ActionLab - oprogramowanie do tworzenia labiryntów interaktywnych V1.0.1

Specyfikacja implementacyjna aplikacji serwerowej

Opis Architektury Systemu Galileo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

finiownia loginów. W zależności od ustawionej opcji użytkownik login:

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Jednolite zarządzanie użytkownikami systemów Windows i Linux

Bazy danych dla MPZP. Aplikacja wspomagające projektowanie graficzne MPZP

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Przypadki testowe. Spis treści. Plan testów. From Sęp. Wstęp. 2 Plan testów

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

EXSO-CORE - specyfikacja

Łatwe zarządzanie treścią własnego portalu przy wykorzystaniu oprogramowania Windows Sharepoint Services

Instrukcja użytkownika

Poznań, dzień Zapytanie ofertowe

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Zagadnienia programowania obiektowego

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Plan nauczania informatyki Opracował: mgr Daniel Starego

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Programowanie MorphX Ax

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

Aplikacje WWW i PHP - opis przedmiotu

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Wybrane działy Informatyki Stosowanej

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

INŻYNIERIA OPROGRAMOWANIA

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Tomasz Grześ. Systemy zarządzania treścią, cz. II

PHP: bazy danych, SQL, AJAX i JSON

PRZEWODNIK PO PRZEDMIOCIE

OfficeObjects e-forms

PRZEWODNIK PO PRZEDMIOCIE

Wykład 1 Inżynieria Oprogramowania

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Alians AMReminder. Przypomnij kontrahentom o nierozliczonych płatnościach

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Komunikacja i wymiana danych

DESIGNER APPLICATION. powered by

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Dotacje na innowacje Inwestujemy w waszą przyszłość

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Odkrywanie CAQDAS : wybrane bezpłatne programy komputerowe wspomagające analizę danych jakościowych / Jakub Niedbalski. Łódź, 2013.

VALIO Sp. z o.o. Załącznik nr 1 do Zapytania ofertowego dotyczącego zakupu licencji części systemu B2B oraz wykonania Warstwy Prezentacyjnej.

Programowanie aplikacji dla Sklepu Windows w języku C#

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Do wersji Warszawa,

Aplikacje WWW - lab 5

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Propozycje projektów (gniazdka)

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Transkrypt:

Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura oprogramowania 11 października 2009 Wersja 0.7

QUAIKE. Architektura oprogramowania Tabela 1. Historia zmian w dokumencie Lp. Data Nr wersji Autor Zmiana 1. 2009-10-05 ε Jakub Kowalski Utworzenie dokumentu 2. 2009-10-05 0.4 Jakub Kowalski Uzupełnienie dokumentu 3. 2009-10-10 0.6 Jakub Kowalski Korekta i uzupełnienie treści 4. 2009-10-11 0.7 Jakub Kowalski Korekta Spis treści 1. Wstęp............................................. 3 2. Opis elementów architektury oprogramowania.................... 3 2.1. Serwer........................................... 3 2.2. Aplikacja klienta..................................... 3 2.3. Baza danych....................................... 3 2.4. Edytor map........................................ 3 2.5. Pliki konfiguracyjne................................... 3 2.6. Pliki zawartości..................................... 4 2.7. Pliki źródłowe...................................... 4 3. Perspektywa logiczna i implementacyjna....................... 4 4. Perspektywa procesowa.................................. 4 5. Architektura a cechy projektu Quaike......................... 5 5.1. Efektywność....................................... 5 5.2. Stabilność......................................... 5 5.3. Wygoda obsługi..................................... 5 5.4. Możliwość rozwoju.................................... 5 2

1. Wstęp 1. Wstęp Dokument architektury systemu ma na celu przedstawienie wizji architektury, wraz z uzasadnieniami i uargumentowaniem słuszności przyjętych rozwiązań. Opisana architektura może ulec zmianom, zwłaszcza w fazie implementacji, jednak ogólny obraz realizacji poszczególnych jej elementów nie powinien ulec większym modyfikacjom. 2. Opis elementów architektury oprogramowania 2.1. Serwer Serwer rozgrywek umożliwia prowadzenie walk pomiędzy botami różnych użytkowników, bez ujawniania implementacji tych botów. Planowane jest stworzenie ogólnodostępnej aplikacji serwera tak, aby każdy użytkownik był w stanie w stanie ją zainstalować i zarządzać własnym serwerem. 2.2. Aplikacja klienta Aplikacja klienta służy do wizualizacji prowadzonych gier i jest aplikacją projektu z którą najczęściej będzie miał do czynienia użytkownik. Aplikacja klienta będzie umożliwiała zapisywanie i odtwarzanie powtórek z wybranych rozgrywek, a także tworzenie pojedynków bez dostępu do serwera gry. 2.3. Baza danych Baza danych znajduje się na każdym serwerze i służy do przechowywania danych niezbędnych to jego działania. Baza danych serwera zawiera informacje o użytkownikach, wyekspediowanych na serwer botach, dostępnych mapach oraz prowadzonych grach. Informacje z bazy są pobierane przez użytkowników w trakcie np. tworzenia nowej gry lub ekspediowania botów i map na serwer (lub importowania ich stamtąd). Systemem zarządzania bazą w projekcie Quaike jest SQLite. 2.4. Edytor map Edytor map jest dodatkową aplikacją, pozwalającą użytkownikowi w wygodny sposób tworzyć nowe plansze oraz oglądać i modyfikować już istniejące. Za pośrednictwem edytora jest również możliwy import map z serwera i ich eksport. 2.5. Pliki konfiguracyjne Pliki konfiguracyjne zapisywane są w formacie XML i znajdują się w nich zarówno informacje o konfiguracji interfejsu użytkownika, jak i dotyczące mechaniki i zasad działania systemu (w wersji lokalnej). Edycja plików konfiguracyjnych serwera pozwala na zmiany zasad rządzących rozgrywką. 3

QUAIKE. Architektura oprogramowania 2.6. Pliki zawartości Są to pliki zawierające dane rozszerzające możliwości programu, które mogą być dodawane lub modyfikowane przez użytkowników i udostępniane publicznie. Takimi plikami są pliki map zapisywane z rozszerzeniem.qdl, które w rzeczywistości są plikami w formacie XML, oraz kody źródłowe botów napisane w języku C#. 2.7. Pliki źródłowe Kod źródłowy projektu Quaike jest napisany w języku C#. Wybrany został on ze względu na możliwość pracy z bibliotekami środowiska XNA oraz wygodę programowania w środowisku obiektowym. Kod źródłowy jako element architektury możemy podzielić na następujące klasy abstrakcji: - kod źródłowy serwera, - kod źródłowy aplikacji klienta, - kod źródłowy edytora map, - kod źródłowy zawierający mechanikę rozgrywki, - kod źródłowy zawierający interfejs dla botów, - pliki konfiguracyjne. Pliki źródłowe pełnią krytyczną rolę w projekcie, są bowiem elementem spajającym wszystkie pozostałe elementy architektury. 3. Perspektywa logiczna i implementacyjna Wykaz elementów architektury, wraz ze spisem technik użytych do ich implementacji znajduje się w tabeli 2. Tabela 2. Elementy architektury i techniki ich implementacji Element Technika Pliki źródłowe C# Baza danych SQLite Pliki konfiguracyjne XML Pliki zawartości XML, C# Interfejs użytkownika C#, XNA 4. Perspektywa procesowa Głównym problemem procesowym będzie równoczesne uruchamianie wielu programów botów na serwerze. Tak więc wydajność projektu będzie zależała w głównej mierze od konfiguracji komputera na którym zaostanie zainstalowany serwer gry, gdyż na nim będzie wykonywana zdecydowana większość obliczeń. 4

5. Architektura a cechy projektu Quaike Serwer będzie miał również za zadanie wysyłanie dużej ilości komunikatów do aplikacji klienckich, w związku z czym będzie wymagał szybkiego łącza. Aby zminimalizować problemy z tym związane nastąpi zmniejszenie objętości przesyłanych komunikatów. Dodatkowo, możliwość tworzenia przez użytkowników własnych serwerów gry, spowoduje odciążenie głównego serwera gry. 5. Architektura a cechy projektu Quaike 5.1. Efektywność Wysyłanie przez serwer w trakcie rozgrywki jedynie informacji niezbędnych do wizualizacji znacznie zmniejsza obciążenie komputera użytkownika. Kondensacja komunikatów pomiędzy serwerem, a aplikacją klienta powoduje odciążenie łącza serwera. 5.2. Stabilność Dojrzałość języka C# ułatwia wykrywanie błędów już we wczesnej fazie implementacji. Zmniejsza to liczbę przypadków, w których program zachowa się niezgodnie z oczekiwaniami autorów. Środowisko Quaike będzie gwarantowało swoją stabilność niezależnie od zachowania uruchamianych w nim programów botów. Jako, że na ten aspekt zostanie położony szczególny nacisk, będą przeprowadzane odpowiednie testy sprawdzające działanie aplikacji w wypadku krytycznych zachowań botów. 5.3. Wygoda obsługi W konstruowaniu wszystkich aplikacji przeznaczonych dla użytkownika duży nacisk jest kładziony na wygodę obsługi i intuicyjność interfejsu. Do każdego elementu projektu dołączona jest instrukcja obsługi pozwalająca użytkownikowi w szybki sposób zapoznać się z programem i jego funkcjami. Aby wspomóc pisanie przez użytkowników własnych botów, projekt udostępnia zaawansowaną bibliotekę funkcji do wykorzystania przez boty. Biblioteka ta jest szczegółowo opisana w dołączonym do programu dokumencie. Tworzenie botów ułatwia również samouczek, który krok po kroku opisuje w jaki sposób pisać coraz lepsze programy walczące i jak je uruchamiać oraz testować w środowisku Quaike. 5.4. Możliwość rozwoju Przewidziane możliwości rozwoju programu obejmują dodanie innych trybów rozgrywek oraz rozszerzenie gry o nowe przedmioty i sposoby interakcji botów. Ale sposób realizacji projektu, a w szczególności jego modularna budowa w perspektywie pozwalają na daleko bardziej idące zmiany. W szczególności w oparciu o architekturę projektu Quaike możliwa jest implementacja wielu, zupełnie innych gier. 5