Von Sven Oppliger, Robin Leanman und Dimitrios Lanaras.
Als Projekt möchten wir eine Chatplattform erstellen. Das ganze soll ein bisschen eine Anlehnung an Discord sein. Im Animationdesign möchten wir uns jedoch ein bisschen am Spiel Cyberpunk orientieren. Wir nennen unser Projekt dissociate. Abgrenzen wollen wir die Funktionen in dem wir nur einen Login- und Chatscreen haben. Wir werden eine Datenbank anbinden in welchem wir die Chatnachrichten, Benutzer und Profile speichern. Dazu wollen wir das ganze Projekt in C# mit dem EntityFramework umsetzen. Da man sich einloggen muss, werden wir auch ein Sessionhandling implementieren müssen. Bilder kann man im Chat nicht senden da dies zu aufwändig wäre.
Als aller erstes haben wir für unser Projekt einen Prosa Text geschrieben. Aus diesem wollen dir danach mit der Verben-/Substantiven Methode unsere CRC Karten erstellen.
Eine Person kann sich bei unserer Applikation registrieren. Falls er schon registriert ist kann er sich anmelden. Angemeldet kann der Benutzer seine Server anschauen. Er kann auch seine Freunde anzeigen lassen. Man kann sich Profile von anderen Leuten anschauen. Man kann andere Leute anschreiben. Auch kann man anderen eine Freundschaftsanfrage senden. Man kann seine eigenen Server erstellen. Man kann in Servern mit anderen Leuten schreiben. Man kann sein eigenes Profil anpassen. Zum Profil gehören Bio, Profilbild und Profilbanner.
Wir haben den Text danach analysiert und uns wichtige Klassen herausgeschrieben.
Klasse "Nachricht" Wir dachten für die Nachrichten brauchen wir auf jeden Fall eine Klasse. Methoden wird diese keine haben da Sie einfach Informationen in ein Objekt speichern soll.
Klasse "Benutzer" Wir brauchen auf jeden Fall die Klasse User um mit ihm zu interagieren. Wie bei der Message speichern wir hier nur Informationen über den User.
Klasse "Server" Um einzelne Server zu handeln bräuchten wir auch hier eine Klasse dafür.
Als Methoden brauchen wir sicher folgendes: -Login -Register -Send Message -Send Friend Request -Create Server -Join Server -Edit Profile -Show Friends
Aus dem Prosa und der Verben/Substantiven Methode haben wir anschliessend unsere CRC Cards auf Draw.io erstellt.
Wir haben den User und Nachricht wie in der Verben/Substantiven Methode herausgefunden implementiert. Dazu kam ein Controller welcher alles handelt und ein Context da wir mit dem Entity Framework arbeiten werden.
Aus den CRC Cards konnten wir so ziemlich unser Klassendiagramm einfach zusammenlegen.
Um Unser Programm noch besser zu beschreiben haben wir zwei Sequenzdiagramme gemacht.
Dieses holt alle Nachrichten einer Konversation.
Wir haben auch ein Use Case Diagramm gemacht.
Als letztes haben wir noch ein Aktivitätsdiagramm gezeichnet.
Zur Vollständigkeit ist hier noch unser ERD Diagramm.
Wir haben 2 respektive 3 Patterns implementiert.
Der DBContext ist ein Singleton da wir ihn natürlich nur eine Instanz davon brauchen. Das Facade Pattern benutzen wir in dem wir im Controller auf den Context zugreifen obwohl andere Klassen nur auf den Controller zugreifen. Dazu wenn man das Entity Framework benutzt implementiert man automatisch das Repository Pattern.
Wir denken unser Projekt ist uns für diese kurze Zeit sehr gut gelungen. Manchmal gab es Kommunikationsschwierigkeiten jedoch konnten wir diese immer bewältigen. Wir hätten vielleicht mehr zu Anfang des Projektes arbeiten sollen damit wir am schluss nicht mehr so viel haben. Wir konnten wegen des Zeitdrucks leider nur die Backend Funktionen umsetzen die für die Freunde und das chatten nötig wären. Dazu hatten wir keine Zeit das ganze mit dem Frontend zu verbinden. Zufrieden sind wir trotzdem da wir den Grundstein des Programmes schaffen konnten.. Manchmal war es schwer sich ganz genau an die UMLs zu halten. Im Team war die Arbeit immer gut aufgeteilt. Schwer war für uns eigentlich nichts da alles soweit klar war.