System Groupware

Autorzy: omikronomikron, astralastral

Repozytorium projektu.

Adresy SVN:

https://OpenSVN.csie.org/MOGroupware
http://OpenSVN.csie.org/MOGroupware

Adres traca:

https://opensvn.csie.org/traccgi/MOGroupware/

Wstępna specyfikacja.

Celem projektu jest stworzenie systemu typu groupware opartego o bibliotekę hibernate i bazę danych postgresql. System ten będzie miał za zadanie ułatwienie zarządzaniem grupą (lub grupami) programistów i realizowanymi przez nie projektami informatycznymi.

Proponowane możliwości systemu:

  1. Wyodrębnienie kilku rodzajów użytkowników o zróżnicowanych przywilejach (szef grupy, administrator, pracownik, klient?) korzystania z systemu.
  2. Dostęp do konta chroniony hasłem.
  3. Możliwość zarządzania projektami – tworzenie, kasowanie, edycja (ustawianie dat, czasu trwania, kamieni milowych, wybieranie dla których klientów jest robiony projekt), przydzielanie zespołów, konsultantów itp., wyodrębnianie podzadań, oglądanie historii?
  4. Możliwość administrowania systemem (tworzenie użytkowników, nadawanie przywilejów zależnych od funkcji (szef może więcej niż programista), być może dostosowywalne przywileje (typu „może zrobić to, ale nie może zrobić tamtego).
  5. Zarządzanie dostępnym sprzętem (przydzielanie, odbieranie (np. odebranie komuś monitora będzie u niego wyświetlało informacje typu „uwaga, oddaj monitor do działu sprzętowego”)
  6. Zostawianie wiadomości innym ludziom, realizowane ręcznie (przez wydanie polecenia typu „zostaw wiadomość”) lub automatycznie (np. po odebraniu komuś sprzętu lub po zaproszeniu kogoś na spotkanie będzie do niego wysyłana wiadomość)
  7. Zarządzanie ludźmi – przydzielanie do zespołów, wprowadzanie danych (w tym adres email), być może kwalifikacji (żeby potem móc wynaleźć do zespołu pracownika o odpowiednich kwalifikacjach), podział na pracowników, kontakty, konsultantów, osoby które odeszły już z pracy.
  8. Zarządzanie zespołem – uzyskanie informacji o zespole, być może statystyk, przydzielanie odpowiedzialności w ramach zespołu.
  9. Firmy – informacje (oglądanie, wprowadzanie, edycja) o własnej firmie, firmach klienckich, dostawcach, partnerach.
  10. Prosty issue tracker – oparty na systemie „biletów” typu „numer, typ, opcjonalnie projekt (moga być też zagadnienia sprzętowe), autor, właściciel, treść”. Wyszukiwanie, edycja (dodawanie komentarzy, zmiana właściciela, statusu…).
  11. Zarządzanie wymaganiami – na podobnej zasadzie co issue tracker (numer, projekt, autor, teść, status (spełnione, pracujemy nad tym, zrobimy to potem), priorytet i stopień trudności). Wymaganie będzie kolejnym typem zagadnienia.
  12. Kalendarz (być moze nie w formie graficznej, ale jako lista ustalonych „zdarzeń”), wyszukiwanie zdarzeń. Pracownik ma swój własny kalendarz, natomiast szef ma dostęp do kalendarza zespołu Każdego pracownika. Ustalanie spotkań (czas, miejsce, uczestnicy ( w tym także całe zespoły) obowiązkowi, uczestnicy opcjonalni). Ewentualnie opcje typu „zaproponuj inny czas”. Spotkanie będzie kolejnym typem zagadnienia.
  13. Banalne zarządzanie testami (numer, projekt, treść, wymaganie, którego dotyczy test). Informacje o testach są kolejnym typem zagadnienia.
  14. Manual (opcjonalny).
  15. Credits:P.

Wymagania funkcjonalne.

WU# Treść priorytet stopień trudności
001 Z systemu będzie mogło korzystać wielu użytkowników. ? ?
002 Funkcjonalność udostępniana użytkownikowi przez system będzie zależeć od jego uprawnień. ? ?
003 Niepowołane osoby nie będą mogły korzystać z systemu. ? ?
004 System będzie umożliwiał dostęp do wszystkich zasobów jednemu użytkownikowi, który nie będzie posiadał swoich danych - administratorowi. ? ?
005 System będzie umożliwiał dodawanie i edycję projektów, w tym dodawanie i edycję kamieni milowych. ? ?
006 System będzie umożliwiał dodawanie i [edycję uprawnień] użytkowników. ? ?
007 System będze umożliwiał przydział pracowików (użytkowników) do projektów. ? ?
008 Pracownik pracuje nad maksymalnie jednym projektem na raz. ? ?
009 System będzie umożliwiał dodawanie, usuwanie i przydzielanie sprzętu pracownikom. ? ?
010 System będzie informował użytkownika o dotyczących go zmianach (np. zabranie sprzętu). ? ?
011 System będzie umożliwiał przegchowywanie informacji o osobach trzecich (konsultanci, firmy, klienci, dostawcy…). (opcjonalne) ? ?
012 System będzie udostępniał mechanizm śledzenia zagadnień (dodawanie, edycja, przeglądanie z filtrowaniem). ? ?
013 Tylko autor zagadnienia (i administrator) będzie mógł je edytować. ? ?
014 Każdy pracownik będzie mógł dodać komentarz do zagadnienia. ? ?
015 Każdy pracownik będzie miał do dyspozycji kalendarz na prywatne wpisy. ? ?
016 Każdy użytkownik będzie mógł dowiedzieć się, kogo ma podziwiać za stworzenie tego genialnego systemu. ? ?
017 System będzie udostępniał informacje zarówno o pracownikach aktualnie pracujących w firmie, jak i o tych, którzy odeszli. ? ?
018 System będzie przechowywał informacje zarówno o projektach trwających, jak i ukończonych ? ?

Decyzje polityczne:

001 Hasło i login administratora będzie na sztywno wklepany w kod. Jego dane nie będą przechowywane w bazie.
002 Typ zagadnienia będzie obejmował kwestie sprzętowe, personalne, administracyjne, komunikacyjne, wymagania itd.

Formularze:

  1. dialog logowania.
  2. panel informacji o użytkownikach + dodawanie i przydział sprzętu
  3. panel informacji o zalogowanym użytkowniku (ten i poprzedni podpunkt jako jeden panel, al w drugim przypadku będą dostępne tylko swoje dane)
  4. zagadnienia (przeglądanie, wyszukiwanie, dodaj nowe(dialog))
  5. pojedyncze zagadnienie (dane dotyczące go + zamieszczanie komentarzy)
  6. Projekt (oglądanie info + tabelka/lista kamieni milowych + dodawanie kamieni i projektów - dialogi), uczestnicy(tabelka)
  7. Kalendarz (przeglądanie, ustalanie spotkań (zdarzeń) - przycisk i dialog do tworzenia spotkania z listami rozwijanymi)
O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-Share Alike 2.5 License.