Yevgen Grynechko INYNIERSKA PRACA DYPLOMOWA Projekt systemu organizacji

  • Slides: 16
Download presentation
Yevgen Grynechko INŻYNIERSKA PRACA DYPLOMOWA Projekt systemu organizacji e-sport z implementacją zarządzania środowiskiem w

Yevgen Grynechko INŻYNIERSKA PRACA DYPLOMOWA Projekt systemu organizacji e-sport z implementacją zarządzania środowiskiem w MSSQL Server 2017 Promotor: dr inż. Szymon Supernak

Cel i zakres pracy Cel Analiza środowiska e-sport i projekt oprogramowania pozwalającego na śledzenie

Cel i zakres pracy Cel Analiza środowiska e-sport i projekt oprogramowania pozwalającego na śledzenie oraz prezentację wyników rozgrywek e-sportowych Zakres ◎ Analizę procesów biznesowych firmy e-sportowej ◎ Analizę wymagań funkcjonalnych i pozafunkcjonalnych ◎ Przegląd statystyk i śledzenie dynamiki gry oraz osiągnięć graczy ◎ Prezentację wyników i analiz wyników rozgrywek esportowych 2

Dziedzina problemu E-Sport w grze Dota 2 ◎ Środowisko e-sportowe w grze Dota 2

Dziedzina problemu E-Sport w grze Dota 2 ◎ Środowisko e-sportowe w grze Dota 2 ◎ Procesy biznesowe firmy e-sport 3

Główni interesariusze w e-sport 4

Główni interesariusze w e-sport 4

Diagram kontekstowy systemu 5

Diagram kontekstowy systemu 5

Projekt bazy danych 6

Projekt bazy danych 6

Place your screenshot here Interfejs użytkownika Okno logowania, widok menu głównego oraz okno obsługi

Place your screenshot here Interfejs użytkownika Okno logowania, widok menu głównego oraz okno obsługi zgłoszeń 7

Place your screenshot here System do analizy danych Analiza danych z aplikacji wykonana w

Place your screenshot here System do analizy danych Analiza danych z aplikacji wykonana w Qlik Sense 8

Implementacja systemu 4. Qlik Sense Stworzenie systemu do analizy danych 3. C# Dota 2

Implementacja systemu 4. Qlik Sense Stworzenie systemu do analizy danych 3. C# Dota 2 Stats 2. SSIS Przygotowanie pakietu SSIS do zasilania bazy danych 1. SQL Server Zaprojektowanie bazy danych 9

Implementacja systemu SSIS Pakiet SSIS służący do wypełniania tabeli ‚Teams’ 10

Implementacja systemu SSIS Pakiet SSIS służący do wypełniania tabeli ‚Teams’ 10

Implementacja systemu Skrypt do obróbki REST API public class Script. Main : User. Component

Implementacja systemu Skrypt do obróbki REST API public class Script. Main : User. Component { public override void Create. New. Output. Rows() { //Set Webservice URL string w. Url = "https: //api. opendota. com/api/teams? json"; try { //Call get. Web. Service. Result to return our Teams array Root. Object[] out. Put. Response = Get. Web. Service. Result(w. Url); foreach (var r in out. Put. Response) { Output 0 Buffer. Add. Row(); Output 0 Buffer. teamid = r. team_id; Output 0 Buffer. rating = r. rating; Output 0 Buffer. wins = r. wins; Output 0 Buffer. losses = r. losses; Output 0 Buffer. lastmatchtime = r. last_match_time; Output 0 Buffer. name = r. name; Output 0 Buffer. tag = r. tag; Output 0 Buffer. logourl = r. logo_url; } } catch (Exception e) { Fail. Component(e. To. String()); } } private Root. Object[] Get. Web. Service. Result(string w. Url) { Http. Web. Request http. WReq = (Http. Web. Request)Web. Request. Create(w. Url); Http. Web. Response http. WResp = (Http. Web. Response)http. WReq. Get. Response(); Root. Object[] json. Response = null; try { //Test the connection if (http. WResp. Status. Code == Http. Status. Code. OK) { Stream response. Stream = http. WResp. Get. Response. Stream(); string json. String = null; //Set json. String using a stream reader using (Stream. Reader reader = new Stream. Reader(response. Stream)) { json. String = reader. Read. To. End(); reader. Close(); } //Deserialize our JSON Java. Script. Serializer sr = new Java. Script. Serializer(); json. Response = sr. Deserialize<Root. Object[]>(json. String); } //Output connection error message else { Fail. Component(http. WResp. Status. Code. To. String()); } } //Output JSON parsing error catch (Exception e) { Fail. Component(e. To. String()); } return json. Response; } private void Fail. Component(string error. Msg) { bool fail = false; IDTSComponent. Meta. Data 100 comp. Metadata = this. Component. Meta. Data; comp. Metadata. Fire. Error(1, "Error Getting Data From Webservice!", error. Msg, "", 0, out fail); } } public class Root. Object { public int team_id { get; set; } public double rating { get; set; } public int wins { get; set; } public int losses { get; set; } public int last_match_time { get; set; } public string name { get; set; } public string tag { get; set; } public string logo_url { get; set; } } 11

Implementacja systemu Wybrane procedury składowe Procedura służąca do wyszukiwania oraz wyświetlania rankingu zespołów. CREATE

Implementacja systemu Wybrane procedury składowe Procedura służąca do wyszukiwania oraz wyświetlania rankingu zespołów. CREATE PROCEDURE [dbo]. [Matches. View. Or. Search] @Team. Name nvarchar(50), @League. Name nvarchar(100) AS Select DATEADD(second, start_time, '19700101') as Start. Time, radiant_name, dire_name, league_name, radiant_score, dire_score from dbo. Pro. Matches Where (dire_name like @Team. Name+'%' or radiant_name like @Team. Name+'%') and league_name like @League. Name +'%' order by start_time desc GO Procedura dodająca bądź aktualizująca użytkownika z poziomu „Administratora”. create procedure [dbo]. [User. Add. Or. Edit] @mode nvarchar(10), @User. ID int, @First. Name varchar(255), @Last. Name varchar(255), @Email varchar(255), @Date. Of. Birth date, @User. Name varchar(255), @Password varchar(255), @Role varchar(255) AS IF @mode = 'Add' BEGIN insert into Users (First. Name, Last. Name, Email, Date. Of. Birth, User. Name, Password, Role) Values( @First. Name, @Last. Name, @Email, @Date. Of. Birth, @User. Name, @Password, @Role) END Else if @mode='Edit' BEGIN UPDATE dbo. Users SET User. Name = @User. Name, First. Name = @First. Name, Last. Name = @Last. Name, Email = @Email, Date. Of. Birth = @Date. Of. Birth, Password = @Password, Role = @Role where User. ID = @User. ID END GO 12

Implementacja systemu GUI Wypełnianie tabel Wyświetlanie zdjęć Wysyłanie maili 13

Implementacja systemu GUI Wypełnianie tabel Wyświetlanie zdjęć Wysyłanie maili 13

Implementacja systemu Stworzenie modelu danych w Qlik Sense Połączenie z bazą danych SQL Server

Implementacja systemu Stworzenie modelu danych w Qlik Sense Połączenie z bazą danych SQL Server Model danych w Qlik Sense 14

PODSUMOWANIE Wnioski z pracy ◎ Spełnienie założonych na początku celów. ◎ Kompletny proces aktualizacji

PODSUMOWANIE Wnioski z pracy ◎ Spełnienie założonych na początku celów. ◎ Kompletny proces aktualizacji bazy danych. ◎ Wbudowany system obsługi zgłoszeń użytkowników systemu. ◎ Dodatkowy system raportujący. ◎ Rozwiązanie pojawiających się problemów programistycznych. 15

KONIEC Dziękuję za uwagę! 16

KONIEC Dziękuję za uwagę! 16