Skip to content

Organizacja i infrastruktura projektu

galeblon edited this page Mar 29, 2020 · 8 revisions

CZW_10A-3_1 Organizacja i infrastruktura projektu

PROJEKT Emulator procesora Sharp LR35902

Link:

Streszczenie:

Dokument ten ma na celu zdefiniowanie organizacji i infrastruktury projektu.

Przez infrastrukturę rozumiemy organizację pracy zespołu, komunikację, spotkania, wymianę dokumentów i kodu ze szczególnym uwzględnieniem narzędzi wspomagających.

Wersja: 0.2
Data wydania: 2020.03.11
Redaktor: Łukasz Mrugała
Współautorzy: Adrian Misiak, Michał Zalewski
Etap/zadanie: Etap 1 – Organizacja i infrastruktura projektu
Nazwa pliku: Organizacja i struktura projektu.doc
Status poufności: JAWNE
Liczba stron: 8

Historia zmian

Wersja Data Opis zmiany
0.1 2020.03.02 Utworzenie dokumentu
0.2 2020.03.11 Wersja kompletna

Opis projektu i produktu

Nazwa projektu

Emulator procesora Sharp LR35902

Cel projektu

Celem projektu jest wytworzenie działającego emulatora konsoli przenośnej Game Boy Color, umieszczonego na platformie komputerowej SBC Raspberry Pi.

Termin

Grudzień 2020

Główne etapy projektu

  • Ustalenie tematu i wstępnej organizacji projektu
  • Wytworzenie działającego szkieletu projektu, zawierającego wszystkie główne moduły, nawet jeśli one same nie są w pełni funkcjonalne
  • Zapewnienie działania ekranu podłączonego do platformy komputerowej
  • Pełna emulacja GBC
  • Opcjonalne etapy:
    • Zapewnienie działania ekranu na innych ekranach
    • Napisanie własnego ROMu testującego działanie systemu
    • Umieszczenie emulatora we własnej obudowie, z odpowiednimi: ekranem, guzikami, etc.

Interesariusze i użytkownicy, persony

Interesariusze

  • Członkowie projektu - studenci
  • Opiekun projektu
  • Prowadzący RPI
  • Specyfikacja techniczna GameBoy Color

Użytkownicy

  • Członkowie projektu - studenci
  • Opiekun projektu
  • Oceniający projekt
  • Entuzjaści z dostępem do repozytorium

Persony

Joshua Briggs, fan gier na GBC i entuzjasta SBC

Joshua to 22 letni student psychologii, studiuje dziennie. Wolny czas spędza grając w gry komputerowe. Lubi kolekcjonować gadżety związane z grami i lubi styl retro. Joshua chciałby być w stanie uruchomić dowolną grę przeznaczoną na konsole GameBoy i GameBoy Color. Posiada szeroką kolekcje przeróżnych kontrolerów i chiałby aby większość z nich była obsługiwana przez emulator. Joshua często uczestniczy w konwentach i spotkaniach dla graczy, podczas których lubi pokazywać innym swoje nowo nabyte akcesoria i dzielić się wynikami w grach. Oczekuje, żeby płytka, na której znajduje się emulator, posiadała zasilanie dające możliwość kilku godzin grania bez ładowania.

Csaba Szendrey, pracownik działu wsparcia IT

Csaba pracuje na pełen etat w dużej firmie produkującej surówki. Jego odpowiedzialnością jest wspieranie pracowników administracji w zakresie diagnozy i naprawy sprzętu elektronicznego. Pomaga również w przyłączaniu klientów do sieci. W wieku 7 lat dostał na święta konsolę GameBoy Advanced. Spędził wiele czasu w swoim dzieciństwie grając w różne gry i czytając magazyny o konsolach. Aktualnie po godzinach pracy rozwija grę na GameBoy Color. Dla zwiększenia efektywności szuka wiernego emulatora konsoli GBC. Ze względu na jego problemy ze wzrokiem, zależy mu, aby obraz mógł być wyświetlany poprawnie na większych ekranach.

Zespół

Członkowie zespołu

Członek Umiejętności Odpowiedzialności Kontakt
Zalewski Michał programowanie C, walidacja implementacja, infrastruktura s171671@student.pg.edu.pl
Misiak Adrian programowanie C, projektowanie implementacja, kontakt z opiekunem Misiakadrian97@gmail.com
Mrugała Łukasz programowanie C, dokumentacja implementacja, redaktor dokumentacji lukasz-mrugala@o2.pl
dr inż. Bikonis Krzysztof Adiunkt Politechniki Gdańskiej opiekun projektu binio@eti.pg.edu.pl

Charakter pracy

Członkowie zespołu deweloperskiego w zamyśle pracują w rozproszeniu, jednakże przypadki pracy w jednym miejscu są możliwe w sprzyjających im sytuacjach. Członkowie wykonują określone zadania leżące w zakresie ich odpowiedzialności, które jednak w dużej mierze pokrywają się. Większość zadań może zostać wykonana przez każdego z członków zespołu, co umożliwia zrównoważenie nakładu pracy na osobę.

Komunikacja w zespole i interesariuszami

Organizacja spotkań

Spotkania student-student

Spotkania między członkami projektu nie odbywają się z ustalonym wcześniej terminarzem spotkań. Miast tego, studenci przede wszystkim wykorzystują do spotkań projektowych czas, gdy przebywają na uczelni, a nie uczestniczą w zajęciach – przerwy oraz tak zwane „okienka” w planie. Jest to ułatwione tym, że wszyscy studenci w zespole należą do tej samej grupy dziekańskiej, tym samym zmniejszając problemy z niedopasowanym planem zajęć.

W razie potrzeby dodatkowe spotkania można umówić za pomocą komunikacji zdalnej.

Spotkania z opiekunem projektu

Członkowie-studenci spotykają się z opiekunem projektu w wypadkach, gdy uznają jego opinię i wkład za potrzebne w danym momencie lub gdy wyrazi on chęć odbycia spotkania. Odbywa się to w godzinach, w których dr Bikonis nie ma zajęć i przebywa w swoim biurze.

W razie potrzeby dodatkowe spotkania można umówić za pomocą komunikacji zdalnej.

Komunikacja zdalna

Komunikacja student-student

Komunikacja zdalna pomiędzy studentami odbywa się przez serwis komunikacyjny Slack, służącą również do przechowywania plików nie umieszczanych w ramach repozytorium kodu źródłowego. Aplikacja Facebook Messenger jest używana jako dodatkowy środek komunikacji zdalnej. Kwestie związane z planowaniem wytwarzania emulatora i jego implementacją są dyskutowane w komentarzach dotyczących zmian i rozmowach projektowych w serwisie GitHub.

Komunikacja z opiekunem projektu

Komunikacja zdalna z dr Bikonisem odbywa się drogą emailową.

Współdzielenie dokumentów i kodu

Wymiana dokumentów i kodu

Wytwarzany kod źródłowy jest wymieniany za pośrednictwem serwisu GitHub z użyciem systemu kontroli wersji Git.

Dokumenty projektowe tworzone są z użyciem funkcji Wiki serwisu GitHub umożliwiającej wersjonowanie dokumentacji z użyciem systemu kontroli wersji Git i wyświetlanie napisanych w języku Markdown dokumentów w przyjazny sposób. Ostateczne wersje dokumentów projektowych kopiowane są do szablonu dokumentacji projektowej w edytorze tekstu Word i zapisywane w serwisie Slack.

Repozytorium

Adres

https://github.com/galeblon/GBC_Emulator

Osoby odpowiedzialne

Założycielem i właścicielem repozytorium jest Adrian Misiak. Jednakże każdy członek projektu jest odpowiedzialny za cały projekt, ze szczególnym naciskiem na elementy, które sam wytworzył. Oznacza to, że to osoba, która rozpoczęła Pull Requesta jest odpowiedzialna za jego zakończenie, jak i to, że każdy z członków-studentów projektu powinien zaakceptować zmiany przed ich wprowadzeniem.

Dokumentacja

Zarządzanie dokumentacją odbywa się z użyciem Wiki stanowiącego część projektu w serwisie GitHub. Dokumenty rozwijane są w ramach Wiki. Gdy dokument jest gotowy, jego treść zostaje przepisana do szablonu dokumentacji projektowej w pliku edytora Word, który zostaje następnie umieszczony w serwisie Slack do wglądu wszystkich użytkowników.

W wypadku zaistnienia potrzeby aktualizacji istniejącego dokumentu, jego treść powinna zostać zaktualizowana w ramach Wiki. Po osiągnięciu gotowości do wydania kolejnej wersji należy przepisać treść do szablonu dokumentacji i umieścić nową wersję w serwisie Slack.

Narzędzia

Komunikacja

Organizacja i zarządzanie

  • GitHub Projects

Dokumentacja

  • GitHub Wiki
  • Microsoft Word
  • Slack

Wytwarzanie i testowanie

Wspólnymi narzędziami wytwarzania i testowania są:

  • GCC
  • GNU Make
  • Git
  • GitHub

Dodatkowo, każdy z użytkowników może używać własnego środowiska wytwórczego zgodnego z ww. wspólnym środowiskiem. Niektóre z używanych przez członków zespołu wytwórczego narzędzia wytwarzania to:

  • MinGW
  • Visual Studio
  • Code::Blocks
  • Eclipse CDT
  • GNU Emacs