-
Notifications
You must be signed in to change notification settings - Fork 1
Organizacja i infrastruktura projektu
PROJEKT Emulator procesora Sharp LR35902
Link:
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 |
Wersja | Data | Opis zmiany |
---|---|---|
0.1 | 2020.03.02 | Utworzenie dokumentu |
0.2 | 2020.03.11 | Wersja kompletna |
Emulator procesora Sharp LR35902
Celem projektu jest wytworzenie działającego emulatora konsoli przenośnej Game Boy Color, umieszczonego na platformie komputerowej SBC Raspberry Pi.
Grudzień 2020
- 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.
- Członkowie projektu - studenci
- Opiekun projektu
- Prowadzący RPI
- Specyfikacja techniczna GameBoy Color
- Członkowie projektu - studenci
- Opiekun projektu
- Oceniający projekt
- Entuzjaści z dostępem do repozytorium
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 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.
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 |
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ę.
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.
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 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 zdalna z dr Bikonisem odbywa się drogą emailową.
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.
https://github.com/galeblon/GBC_Emulator
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.
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.
- Messenger
- Poczta MojaPG
- GitHub
- Slack - https://gbcemu.slack.com/
- GitHub Projects
- GitHub Wiki
- Microsoft Word
- Slack
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
Emulator procesora Sharp LR35902, A. Misiak, Ł. Mrugała, M. Zalewski
Project related:
RPI related: