Zintegrowane środowisko automatyzujące procesy wytwarzania oprogramowania w zespołach – Wstęp – Cele pracy



Zintegrowane środowisko automatyzujące procesy wytwarzania oprogramowania w zespołach – Wstęp – Cele pracy

0 0


mgr-prezentacja


On Github MrJacek / mgr-prezentacja

Zintegrowane środowisko automatyzujące procesy wytwarzania oprogramowania w zespołach

Jacek Hojczak

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Presentation powered by Reveal.js

Witam, nazwywam się Jacek Hojczak i zaprezentuje państwu moją prace dyplomową zatytułowaną "System synchronizacji i udostępniania planu imprezy sportowej".

Agenda

Wstęp Motywacja Kryteria doboru narzędzi Analiza narzędzi Integracja narzędzi Testy kompatybilności Podsumowanie Wyświetlony slajd przedstawia agnde wedułg której poprowadze prezentacje. Najpierw opowiem parę słów wstępu, następnie umotywuje swoją prace. Wymienie zastosowane technologie, przedstawie kryteria jakimi się kierowałem odbierając narzędzia, Omuwie kategorie narzędzi, zarprezentuje projekt integracji narzędzi w system systemu,testy oraz na koniec podsumuje pracę.

Wstęp

  • Procesy wytwarzania oprogramowania
  • Automatyzacja
  • Cele pracy

Chronoligiczny spis wydarzeń które składają się na plan imprezy. Pojedyńcze wydarzenie składa się z: opisu,miejsca oraz daty rozpoczęcia i zakończenia. Udostępnienie uczestnikom planu imprezy jest wymogiem prawnym w Polsce.

Najczęsciej do udostępniania planu stosowane są strony internetowe.

Główny celem pracy było stworzenie systemu udostępniania planu nie wykorzystującego stron internetowych.

Celame dodatkowymi stanowiły: Stworzenie specyfikacji systemu Stworzenie projektu architektury Implementacja projektu z urzyciem wybranych technologi Wykonanie testów

Motywacja

  • Alternatywa dla małych i średnich firm
  • Z minimalizowanie czasu poświęconego na pracę "wokół produktu"
  • Open Source

Motywacją do stworzenia takiego systemu stanowiła niedogodność - gdy uczestnik chcący być na bieżąco z planem imprezy musiał zapoznawana się z treścią strony. W przypadku zaistnienia zmian w planie, uczestnik nie był automatycznie o tym poinformowany. System będący wynikiem tej pracy automatycznie infromuje uczestników o zmianach w planie.

Obeceni insteją podobne systemy ale żeden z nich nie jest bezpłatny dla tego stworzony system jest udostępniony na licencji GPL.

Kryteria doboru narzędzi

  • Open Source
  • Linux
  • Self-hosted
  • Możliwość integracji z ekosystemem firmy tzn. LDAP(AD),email
  • Wsparcie
W projekcie wykorzystałem następujące technologie: JEE - java Jboss- server aplikacyjny postgres- baza danych web service rest - komunikacja android - aplikacja kliencka

Analiza narzędzi

Wedułg funkcji narzędzi

  • Repozytorium kodu źródłowego
  • Przegląd kodu/zarządzanie kodem
  • Ciągła integracja (CI)
  • Repozytorium binariów
Do stworzenia specyfikacji systemu zastosowałem przpadki urzycia w postaci diagramów UML

Repozytorium kodu źródłowego

Operacje udostępniane użytkownikowi aplikacji klienckiej to : wyświetlanie planu imprezy i synchronizacji/aktualizacja planu imprezy automatyczna i na żadanie.

Przegląd kodu/zarządzanie kodem

Operacje wykonywane przez aplikacje kliencką automatycznie to wyświetlanie notyfikacji infromującej o potrzebie synchronizacji i zakonczonej synchronizacji.

Ciągła integracja i ciągłe dostarczanie (CI/CD)

Dodawanie i usuwanie wydarzeni, dodawania i usuwanie lokalizacji.

Repozytorium binariów

Dodawanie i usuwanie wydarzeni, dodawania i usuwanie lokalizacji.

Integracja narzędzi

Teraz omówie projektu architektury systemu.

Docker

System został zaprojektowany w architekturze klient-serwer. Jako protokuł komunikacji między klientem a serwerem wykorzystywany jest web-service typu REST. Po stronie klienta znajdują się moduły: komunikacji, synchronizacji oraz lokalna baza danych. Po stronie serwera znajdują się moduły: komunikacji, synchronizacji, serwer aplikacyjny jboss baza danych postgres, interfejs pgAmin

konfiguracja środowiska za pomocą narzędzi

  • bash
  • docker-compose
  • saltstack?
Moduł komunikacji odpowiedzialny jest za wspóprace z serwisem GCM (Google Cloud Messeging) oraz przesyłanie planu imprezy z serwera do aplikacji klienckich.

Share.jar umożliwia:

  • zapisywanie poleceń sql w formacie json
  • odczytywanie poleceń sql zapisanych w formacie json
  • wykonanie poleceń sql przez interfejs jdbc

Testy kompatybilności

Różne dystrybucje linuxa

  • Fedora
  • CentOS
  • Ubuntu
  • Debian
Testy miały na celu sprawdzenie poprawności działania systemu oraz sprawdzenie wydajności sposobu komunikowania się międy aplikacjami klienckimi a serwerem. Testy komunikacji polegały na symulowaniu wielu aplikacji które wysyłaly żadanie synchronizacji do serwera. Testy synchronizacji polegały na dokonywaniu kolejnych zmian w planie imprezy i sprawdzaniu czy na aplikacji klienckiej pojawia się .

Podsumowanie

  • osiągnięcie założonych celów
  • możliwości rozwoju
W przedstawionej pracy osiągnięto założony główny cel jakim było stworzenie systemu synchronizacji i udostępniania planu imprezy sportowej, a także zrealizowano następujące cele szczegółowe: przesyłanie aktualnego planu imprezy na aplikację kliencką informowanie użytkownika, gdy plan imprezy uległ zmianie umożliwienie użytkownikowi aktualizację planu imprezy poprzez internet stworzenie projektu architektury modułu komunikacyjnego stworzenie projektu architektury modułu synchronizacji danych implementowanie projektu z wykorzystaniem narzędzi: Java EE JBoss AS PostgreSQL Java Android} Eclipse, wykonanie testów wydajności modułu komunikacji, wykonanie testów wydajności modułu synchronizacji danych.

Dziękuję za uwagę.