Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
4.0 kB
4
Indexable
Never
System do zarządzania projektami

Opis:

System Zarządzania Projektami to aplikacja, która umożliwia efektywne zarządzanie projektami w firmie lub zespole. Umożliwia tworzenie nowych projektów, dodawanie zadań, przypisywanie ich do członków zespołu, monitorowanie postępu prac oraz generowanie raportów. Aplikacja jest przeznaczona zarówno dla członków zespołu, jak i menedżerów projektu.

Klasy:

1. Project:
   - Reprezentuje pojedynczy projekt w aplikacji.
   - Zawiera informacje takie jak nazwa, opis projektu, termin realizacji, listę członków przypisanych do projektu.
   - Metody: AddTask(), RemoveTask(), AssignTeamMember(), RemoveTeamMember().
   
2. Task:
   - Reprezentuje pojedyncze zadanie w projekcie.
   - Przechowuje informacje takie jak tytuł, opis, priorytet, status, przypisany członek zespołu itp.
   - Metody: ChangeTaskStatus(), AssignTeamMember(), RemoveTeamMember().
   
3. TeamMember:
   - Reprezentuje członka zespołu pracującego nad projektem.
   - Zawiera informacje takie jak imię, nazwisko, stanowisko itp.
   - Metody: AddSkill(), RemoveSkill().
   
4. ProjectManager:
   - Zarządza projektami w aplikacji.
   - Odpowiedzialny za tworzenie, usuwanie i modyfikowanie projektów.
   - Metody: CreateProject(), RemoveProject(), AssignTeamMemberToProject().
   
5. ReportGenerator:
   - Generuje raporty na podstawie danych projektów i zadań.
   - Metody: GenerateReport().

Opis testów dla klas:

1. ProjectTest:
   - TestAddAndRemoveTask: Sprawdza, czy dodanie i usunięcie zadania z projektu jest poprawnie obsługiwane. Dodaje zadanie do projektu, usuwa je, a następnie sprawdza, czy zostało ono usunięte.
   - TestChangeDeadline: Testuje, czy zmiana terminu realizacji projektu jest poprawnie obsługiwana. Zmienia termin realizacji projektu i sprawdza, czy nowy termin został ustawiony poprawnie.

2. TaskTest:
   - TestChangePriority: Sprawdza, czy zmiana priorytetu zadania jest poprawnie obsługiwana. Tworzy nowe zadanie a następnie zmienia jego priorytet i sprawdza, czy został poprawnie ustawiony.
   - TestAssignAndRemoveTeamMember: Testuje przypisanie i usunięcie członka zespołu do lub z zadania. Tworzy nowego członka zespołu oraz zadanie, a następnie przypisuje członka zespołu do zadania i sprawdza, czy został poprawnie przypisany. Następnie usuwa przypisanego członka zespołu i sprawdza, czy został usunięty.
   - TestChangeDescription: Sprawdza, czy zmiana opisu zadania jest poprawnie obsługiwana. Tworzy nowe zadanie, a następnie zmienia jego opis i sprawdza, czy został poprawnie ustawiony.

3. TeamMemberTest:
   - TestAddAndRemoveSkill: Sprawdza, czy dodawanie i usuwanie umiejętności członka zespołu jest poprawnie obsługiwane. Tworzy nowego członka zespołu a następnie dodaje umiejętność do jego listy umiejętności i sprawdza, czy została ona dodana poprawnie. Następnie usuwa tą umiejętność z listy umiejętności i sprawdza, czy została ona usunięta.

4. ProjectManagerTest:
   - TestCreateAndRemoveProject: Sprawdza, czy tworzenie i usuwanie projektu jest poprawnie obsługiwane. Tworzy menedżera projektu oraz nowy projekt, a następnie sprawdza, czy projekt został poprawnie dodany do listy projektów. Następnie usuwa projekt i sprawdza, czy został poprawnie usunięty.
   - TestAssignTeamMemberToProject: Testuje przypisanie członka zespołu do projektu. Tworzy menedżera projektu, nowy projekt oraz nowego członka zespołu. Następnie przypisuje członka zespołu do projektu i sprawdza, czy został on poprawnie przypisany do listy członków zespołu projektu.

5. ReportGeneratorTest:
   - TestGenerateReport: Sprawdza, czy generowanie raportu jest poprawnie obsługiwane. Tworzy generator raportów, nowy projekt oraz nowe zadanie a następnie dodaje to zadanie do projektu. Generuje raport na podstawie projektu i sprawdza, czy raport został poprawnie wygenerowany (czy nie jest pusty lub nie zawiera błędnych informacji).
Leave a Comment