Medien Rückgabe
parent
c58e4e9dcf
commit
76334da35f
|
@ -3,6 +3,10 @@ package domain.AusleiheSystem;
|
|||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import domain.Benutzer.Ausweis;
|
||||
import domain.Benutzer.Benutzer;
|
||||
import domain.Benutzer.Kunde;
|
||||
import domain.Medium.Buch;
|
||||
import domain.Medium.Medium;
|
||||
import domain.Medium.Mediumverwalter;
|
||||
|
||||
|
@ -10,15 +14,18 @@ public class Ausleihe {
|
|||
|
||||
private SimpleDateFormat simpleFormatter;
|
||||
private Date ausleiheBeginn, ausleiheEnde;
|
||||
|
||||
private Mediumverwalter medium;
|
||||
private Benutzer benutzer;
|
||||
private int verlängerungen;
|
||||
|
||||
public Ausleihe(Mediumverwalter medium,Date ausleiheBeginn, Date ausleiheEnde) {
|
||||
public Ausleihe(Mediumverwalter medium, Benutzer benutzer,Date ausleiheBeginn, Date ausleiheEnde) {
|
||||
this.medium = medium;
|
||||
this.ausleiheBeginn = ausleiheBeginn;
|
||||
this.ausleiheEnde = ausleiheEnde;
|
||||
this.simpleFormatter = new SimpleDateFormat("dd-MM-yyyy HH:mm");
|
||||
this.verlängerungen = 0;
|
||||
this.benutzer = benutzer;
|
||||
}
|
||||
|
||||
public Date getAusleiheBeginn() {
|
||||
|
@ -37,12 +44,24 @@ public class Ausleihe {
|
|||
this.ausleiheEnde = ausleiheEnde;
|
||||
}
|
||||
|
||||
public Mediumverwalter getMedium() {
|
||||
public Mediumverwalter getMediumverwalter() {
|
||||
return medium;
|
||||
}
|
||||
|
||||
public Benutzer getBenutzer() {
|
||||
return benutzer;
|
||||
}
|
||||
|
||||
public void setBenutzer(Benutzer benutzer) {
|
||||
this.benutzer = benutzer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Ausgeliehene Mediums= "+ medium.toString()+ " Ausleihe Beginn= " +simpleFormatter.format(ausleiheBeginn) + " ,Ausleihe Ende= " + simpleFormatter.format(ausleiheEnde) + " ,verlängerungen= " + verlängerungen;
|
||||
return "Ausgeliehene Mediums= "+ medium.toString()+
|
||||
" Ausleihe Beginn= " +simpleFormatter.format(ausleiheBeginn) +
|
||||
" ,Ausleihe Ende= " + simpleFormatter.format(ausleiheEnde) +
|
||||
" ,verlängerungen= " + verlängerungen +
|
||||
" ,inhaber= " + benutzer.toString() ;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,9 +31,8 @@ public class AusleiheSystem {
|
|||
|
||||
calendar.add(Calendar.WEEK_OF_YEAR, mediumAusleihen.getLeihdauer());
|
||||
this.ausleiheEnde = calendar.getTime();
|
||||
Ausleihe neueAusleihe = new Ausleihe(mediumAusleihen,ausleiheBeginn,ausleiheEnde);
|
||||
benutzer.ausleihen(neueAusleihe);
|
||||
System.out.println(benutzer.getAusgeliehenenMedien());
|
||||
Ausleihe neueAusleihe = new Ausleihe(mediumAusleihen,benutzer,ausleiheBeginn,ausleiheEnde);
|
||||
|
||||
return neueAusleihe;
|
||||
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ public abstract class Benutzer {
|
|||
private ArrayList<Ausleihe> ausgeliehenenMedien;
|
||||
private boolean angemeldet;
|
||||
private double gebühren;
|
||||
private Date anmeldebeginn,anmeldeEnde;
|
||||
private Date anmeldebeginn;
|
||||
private SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
|
||||
|
||||
public Benutzer(Ausweis bibAusweis, String name, int alter, boolean istStudent) {
|
||||
|
@ -103,22 +103,28 @@ public abstract class Benutzer {
|
|||
this.anmeldebeginn = formatter.parse(anmeldebeginn);
|
||||
}
|
||||
|
||||
public Date getAnmeldeEnde() {
|
||||
return anmeldeEnde;
|
||||
}
|
||||
|
||||
public void setAnmeldeEnde(String anmeldeEnde) throws ParseException {
|
||||
this.anmeldeEnde= formatter.parse(anmeldeEnde);
|
||||
}
|
||||
// public Date getAnmeldeEnde() {
|
||||
// return anmeldeEnde;
|
||||
// }
|
||||
//
|
||||
// public void setAnmeldeEnde(String anmeldeEnde) throws ParseException {
|
||||
// this.anmeldeEnde= formatter.parse(anmeldeEnde);
|
||||
// }
|
||||
|
||||
public abstract double getJahresgebühr();
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Benutzer [bibAusweisNummer= " + bibAusweis.getKartenNummer() + ", name=" + name + ", alter=" + alter + ", istStudent="
|
||||
+ istStudent + ", ist im System Online = " + angemeldet + "Gebühren= "+ gebühren +"Anmeldet seit= " + formatter.format(anmeldeEnde) + ", ausgeliehenenMedien=" + ausgeliehenenMedien + "]";
|
||||
return "Benutzer [bibAusweisNummer= " + bibAusweis.getKartenNummer() +
|
||||
", name=" + name +
|
||||
", alter=" + alter +
|
||||
", istStudent=" + istStudent +
|
||||
", ist im System Online = " + angemeldet +
|
||||
" ,Gebühren= "+ gebühren + "]";
|
||||
}
|
||||
|
||||
|
||||
public String zeigeAusgeliehenMediums() {
|
||||
return "Ausgeliehene Mediums= " + ausgeliehenenMedien;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,8 +4,8 @@ package domain.Medium;
|
|||
public class Brettspiel extends Medium {
|
||||
private String Verlag;
|
||||
|
||||
public Brettspiel(String title, int erscheinungsjahr, String Verlag) {
|
||||
super(title, erscheinungsjahr);
|
||||
public Brettspiel(String ID,String title, int erscheinungsjahr, String Verlag) {
|
||||
super(ID,title, erscheinungsjahr);
|
||||
|
||||
if (Verlag.isEmpty())
|
||||
this.Verlag = "-";
|
||||
|
|
|
@ -5,8 +5,8 @@ public class Buch extends Medium {
|
|||
|
||||
private String autor;
|
||||
|
||||
public Buch(String title, int erscheinungsjahr, String autor) {
|
||||
super(title, erscheinungsjahr);
|
||||
public Buch(String ID,String title, int erscheinungsjahr, String autor) {
|
||||
super(ID,title, erscheinungsjahr);
|
||||
|
||||
if (autor.isEmpty())
|
||||
this.autor = "-";
|
||||
|
|
|
@ -5,8 +5,8 @@ import java.util.Date;
|
|||
public class Cd extends Medium {
|
||||
|
||||
private String Künstler;
|
||||
public Cd(String title, int erscheinungsjahr,String Künstler) {
|
||||
super(title, erscheinungsjahr);
|
||||
public Cd(String ID,String title, int erscheinungsjahr,String Künstler) {
|
||||
super(ID,title, erscheinungsjahr);
|
||||
|
||||
if (Künstler.isEmpty())
|
||||
this.Künstler = "-";
|
||||
|
|
|
@ -4,8 +4,8 @@ package domain.Medium;
|
|||
public class Dvd extends Medium {
|
||||
|
||||
private String regisseur;
|
||||
public Dvd(String title, int erscheinungsjahr,String regisseur) {
|
||||
super(title, erscheinungsjahr);
|
||||
public Dvd(String ID,String title, int erscheinungsjahr,String regisseur) {
|
||||
super(ID,title, erscheinungsjahr);
|
||||
|
||||
if (regisseur.isEmpty())
|
||||
this.regisseur = "-";
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
package domain.Medium;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public abstract class Medium {
|
||||
|
||||
private String title;
|
||||
private int erscheinungsjahr;
|
||||
private String ID;
|
||||
|
||||
public Medium(String title, int erscheinungsjahr) {
|
||||
public Medium(String ID,String title, int erscheinungsjahr) {
|
||||
super();
|
||||
this.title = title;
|
||||
this.erscheinungsjahr = erscheinungsjahr;
|
||||
this.ID = ID;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
|
@ -20,10 +21,14 @@ public abstract class Medium {
|
|||
public int getErscheinungsjahr() {
|
||||
return erscheinungsjahr;
|
||||
}
|
||||
|
||||
public String getID() {
|
||||
return ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "title=" + title + ", erscheinungsjahr=" + erscheinungsjahr;
|
||||
return "ID= "+ ID + " ,title=" + title + ", erscheinungsjahr=" + erscheinungsjahr;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -48,9 +48,13 @@ public class Mediumverwalter {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Medium=" + medium.toString() + " ,verlängerbar=" + verlängerbar + ", anzahl=" + anzahl + ",ist Ausgeliehen= " + istAusgeliehen + ", Leihdauer="
|
||||
+ leihdauer ;
|
||||
return "Medium=" + medium.toString() +
|
||||
" ,verlängerbar=" + verlängerbar +
|
||||
", anzahl=" + anzahl +
|
||||
",ist Ausgeliehen= " + istAusgeliehen +
|
||||
", Leihdauer=" + leihdauer ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@ public class Videospiel extends Medium {
|
|||
|
||||
private String plattform;
|
||||
|
||||
public Videospiel(String title, int erscheinungsjahr, String plattform) {
|
||||
super(title, erscheinungsjahr);
|
||||
public Videospiel(String ID,String title, int erscheinungsjahr, String plattform) {
|
||||
super(ID,title, erscheinungsjahr);
|
||||
|
||||
if (plattform.isEmpty())
|
||||
this.plattform = "-";
|
||||
|
|
|
@ -25,12 +25,14 @@ import domain.UserRegistieren.Registieren;
|
|||
|
||||
public class BibSystem {
|
||||
private ArrayList<Benutzer> alleBibBenutzer;
|
||||
private HashMap<String,Mediumverwalter> medien;
|
||||
private HashMap<String, Mediumverwalter> medien;
|
||||
private ArrayList<Ausleihe> ausleihe;
|
||||
private AusleiheSystem ausleiheSystem;
|
||||
private Date heutigesDatum;
|
||||
private SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
|
||||
|
||||
|
||||
private Benutzer temp;
|
||||
|
||||
public BibSystem() {
|
||||
|
||||
this.alleBibBenutzer = new ArrayList<>();
|
||||
|
@ -40,60 +42,83 @@ public class BibSystem {
|
|||
this.ausleihe = new ArrayList<>();
|
||||
mediumsAufladen();
|
||||
}
|
||||
|
||||
public ArrayList<String> mediumDurchsuchen(String auswahl, String bibKartenNummer) throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||
|
||||
ArrayList<String> treffer = new ArrayList<>();
|
||||
|
||||
public ArrayList<String> medienRückgabe(String eindeutigeKennung) {
|
||||
Ausleihe ausgelieheneMedium = ausleihe.stream()
|
||||
.filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
|
||||
.orElse(null);
|
||||
|
||||
ArrayList<String> ausgeliehenMedien = new ArrayList<>();
|
||||
|
||||
if (ausgelieheneMedium != null) {
|
||||
ausgelieheneMedium.getBenutzer().removeMedium(ausgelieheneMedium);
|
||||
ausleihe.remove(ausgelieheneMedium);
|
||||
ausgelieheneMedium.getMediumverwalter().setIstAusgeliehen(false);
|
||||
ausgelieheneMedium.getMediumverwalter().setAnzahl(ausgelieheneMedium.getMediumverwalter().getAnzahl() + 1);
|
||||
for (Ausleihe a : ausgelieheneMedium.getBenutzer().getAusgeliehenenMedien())
|
||||
ausgeliehenMedien.add(a.toString());
|
||||
|
||||
}
|
||||
return ausgeliehenMedien;
|
||||
}
|
||||
|
||||
public ArrayList<String> mediumDurchsuchen(String auswahl, String bibKartenNummer)
|
||||
throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||
|
||||
ArrayList<String> treffer = new ArrayList<>();
|
||||
Mediensuchen medienSuchen = new Mediensuchen();
|
||||
|
||||
if(auswahl.equalsIgnoreCase("ausgeliehen"))
|
||||
|
||||
if (auswahl.equalsIgnoreCase("ausgeliehen"))
|
||||
treffer = medienSuchen.ausgeliehen(auswahl, medien);
|
||||
|
||||
else if(auswahl.equalsIgnoreCase("nicht Ausgeliehen"))
|
||||
|
||||
else if (auswahl.equalsIgnoreCase("nicht Ausgeliehen"))
|
||||
treffer = medienSuchen.nichtAusgeliehen(auswahl, medien);
|
||||
|
||||
else if(auswahl.equalsIgnoreCase("Bücher") || auswahl.equalsIgnoreCase("Brettspiele") || auswahl.equalsIgnoreCase("Dvds") || auswahl.equalsIgnoreCase("Cds") || auswahl.equalsIgnoreCase("Videospiele") )
|
||||
|
||||
else if (auswahl.equalsIgnoreCase("Bücher") || auswahl.equalsIgnoreCase("Brettspiele")
|
||||
|| auswahl.equalsIgnoreCase("Dvds") || auswahl.equalsIgnoreCase("Cds")
|
||||
|| auswahl.equalsIgnoreCase("Videospiele"))
|
||||
treffer = medienSuchen.medienart(auswahl, medien);
|
||||
|
||||
|
||||
else
|
||||
treffer = medienSuchen.title(auswahl, medien);
|
||||
|
||||
|
||||
|
||||
if (treffer.size() == 0)
|
||||
throw new MediumNichtGefundenException("Kein treffer");
|
||||
|
||||
|
||||
return treffer;
|
||||
|
||||
}
|
||||
|
||||
public void userRegistrieren(String name, String type, int alter,String istAdmin) throws FalscheEingabeException {
|
||||
|
||||
public void userRegistrieren(String name, String type, int alter, String istAdmin) throws FalscheEingabeException {
|
||||
Benutzer bibBenutzer = Registieren.userRegistrieren(name, type, alter, istAdmin);
|
||||
alleBibBenutzer.add(bibBenutzer);
|
||||
alleBibBenutzer.add(bibBenutzer);
|
||||
}
|
||||
|
||||
|
||||
public boolean userAnmdelden(String bibKartenNummer) throws BenutzerNichtGefundenException {
|
||||
Benutzer bibBenutzer = findeBenutzer(bibKartenNummer);
|
||||
Benutzer bibBenutzer = findeBenutzer(bibKartenNummer);
|
||||
bibBenutzer.setAngemeldet(true);
|
||||
return bibBenutzer.isAngemeldet();
|
||||
}
|
||||
|
||||
|
||||
public String mediumAusleihen(String bibKartenNummer, String eindeutigeKennung) throws Exception {
|
||||
Benutzer tempBenutzer = findeBenutzer(bibKartenNummer);
|
||||
this.temp = findeBenutzer(bibKartenNummer);
|
||||
|
||||
if (tempBenutzer instanceof Mitarbeiter)
|
||||
if (temp instanceof Mitarbeiter)
|
||||
throw new Exception("Mitarbeiter können keine Mediums ausleihen!");
|
||||
|
||||
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||
|
||||
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||
|
||||
Ausleihe neueAusleihe = ausleiheSystem.mediumAusleihen(tempBenutzer,eindeutigeKennung);
|
||||
|
||||
|
||||
Ausleihe neueAusleihe = ausleiheSystem.mediumAusleihen(temp, eindeutigeKennung);
|
||||
ausleihe.add(neueAusleihe);
|
||||
return "Das Medium wurde erfolgreich ausgeliehen";
|
||||
temp.ausleihen(neueAusleihe);
|
||||
|
||||
return "Das Medium wurde erfolgreich ausgeliehen";
|
||||
}
|
||||
|
||||
|
||||
public Date getHeutigesDatum() {
|
||||
return heutigesDatum;
|
||||
}
|
||||
|
@ -104,18 +129,22 @@ public class BibSystem {
|
|||
|
||||
// Temporäre Test Methode
|
||||
private void mediumsAufladen() {
|
||||
Mediumverwalter buch = new Mediumverwalter(true, 10, 4, new Buch("Effektives Java Programmieren", 2018, "Joshua Bloch"));
|
||||
medien.put("B001",buch);
|
||||
|
||||
Mediumverwalter buchIStAusgeliehen = new Mediumverwalter(true, 10, 4, new Buch("Effektives C++ Programmieren", 2018, "Joshua Bloch"));
|
||||
Mediumverwalter buch = new Mediumverwalter(true, 10, 4,
|
||||
new Buch("B001", "Effektives Java Programmieren", 2018, "Joshua Bloch"));
|
||||
medien.put(buch.getMedium().getID(), buch);
|
||||
|
||||
Mediumverwalter buchIStAusgeliehen = new Mediumverwalter(true, 10, 4,
|
||||
new Buch("B00", "Effektives C++ Programmieren", 2018, "Joshua Bloch"));
|
||||
buchIStAusgeliehen.setIstAusgeliehen(true);
|
||||
medien.put("B00", buchIStAusgeliehen);
|
||||
|
||||
Mediumverwalter buchIStNichtAusgeliehen = new Mediumverwalter(true, 10, 4, new Buch("Javascript lenren", 2018, "Joshua Bloch"));
|
||||
medien.put("BG001",buchIStNichtAusgeliehen);
|
||||
|
||||
Mediumverwalter Videospiel = new Mediumverwalter(true,2,1,new Videospiel ("The Legend of Zelda: Breath of the Wild", 2017,"Nintendo Switch"));
|
||||
medien.put("BG00122",Videospiel);
|
||||
medien.put(buchIStAusgeliehen.getMedium().getID(), buchIStAusgeliehen);
|
||||
|
||||
Mediumverwalter buchIStNichtAusgeliehen = new Mediumverwalter(true, 10, 4,
|
||||
new Buch("BG001", "Javascript lenren", 2018, "Joshua Bloch"));
|
||||
medien.put(buchIStNichtAusgeliehen.getMedium().getID(), buchIStNichtAusgeliehen);
|
||||
|
||||
Mediumverwalter Videospiel = new Mediumverwalter(true, 2, 1,
|
||||
new Videospiel("BG00122", "The Legend of Zelda: Breath of the Wild", 2017, "Nintendo Switch"));
|
||||
medien.put(Videospiel.getMedium().getID(), Videospiel);
|
||||
}
|
||||
|
||||
private boolean checkIfUserImSystemAngemeldetIst(String bibKartenNummer) {
|
||||
|
@ -125,7 +154,8 @@ public class BibSystem {
|
|||
private Benutzer findeBenutzer(String bibKartenNummer) throws BenutzerNichtGefundenException {
|
||||
return alleBibBenutzer.stream()
|
||||
.filter(k -> k.getBibAusweis().getKartenNummer().equalsIgnoreCase(bibKartenNummer)).findFirst()
|
||||
.orElseThrow(() -> new BenutzerNichtGefundenException("Benutzer mit Kartennummer " + bibKartenNummer + " nicht gefunden"));
|
||||
.orElseThrow(() -> new BenutzerNichtGefundenException(
|
||||
"Benutzer mit Kartennummer " + bibKartenNummer + " nicht gefunden"));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package domain.fassade;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class MedienRückgabeTest {
|
||||
|
||||
private BibSystem bib;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() throws Exception {
|
||||
this.bib = new BibSystem();
|
||||
}
|
||||
|
||||
@Test
|
||||
void test() throws Exception {
|
||||
bib.userRegistrieren("obai", "student", 15, "nein");
|
||||
bib.userAnmdelden("K1000");
|
||||
bib.mediumAusleihen("K1000", "B001");
|
||||
|
||||
ArrayList<String> test = bib.medienRückgabe("B001");
|
||||
test.forEach(System.out::println);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package tui;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Scanner;
|
||||
|
||||
import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException;
|
||||
|
@ -52,11 +53,33 @@ public class Tui {
|
|||
case "4":
|
||||
mediumAusleihenProzess();
|
||||
break;
|
||||
|
||||
case "5":
|
||||
mediumsRückgabeProzess();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void mediumsRückgabeProzess() throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
String eindutigekennung;
|
||||
boolean mediumsRückgabeProzess = true;
|
||||
|
||||
while (mediumsRückgabeProzess) {
|
||||
System.out.println("Geben Sie bitte das eindutige Kennung des Mediums an");
|
||||
eindutigekennung = eingabe.nextLine();
|
||||
ArrayList<String> ausgeliehneMedien = fassade.medienRückgabe(eindutigekennung);
|
||||
System.out.println("Medium ist erfolgreich zurückgegeben");
|
||||
if (ausgeliehneMedien.size() == 0)
|
||||
System.out.println("Sie haben keine Mediums mehr");
|
||||
|
||||
else
|
||||
ausgeliehneMedien.stream().forEach(System.out::println);
|
||||
|
||||
startBibProgramm();
|
||||
}
|
||||
}
|
||||
|
||||
private void mediumAusleihenProzess(){
|
||||
String kartennummer;
|
||||
String eindutigeKennung;
|
||||
|
|
|
@ -1,18 +1,27 @@
|
|||
Projektstruktur aufsetzen:
|
||||
|
||||
ich werde erst das Git-Repository und die Grundstruktur erstellen.
|
||||
werde danach die Hauptverzeichnisse und grundlegende Klassen erstellen.
|
||||
|
||||
Ich werde in meiner Hauptverzeichnisse drei Packages anlegen:
|
||||
1. domain für das Geschäftslogik
|
||||
2. Tui texteulle user Interface Benutzeroberfläche (UI) und Controller-Logik
|
||||
- die BibliotheksUI-Klasse, die die Interaktion mit dem Benutzer ermöglicht.
|
||||
- hierbei werde ich Methoden für Anmeldung, Medienausleihe, Medienrückgabe, Verlängerung, und Gebührenerfassung erstellen
|
||||
3. Main main klasse damit ich mein Software ausführe
|
||||
|
||||
|
||||
Anforderungsanalyse:
|
||||
Für das Bibliotheksverwaltungssystem werde ich zunächst eine gründliche Analyse der Anforderungen durchführen.
|
||||
Hierbei werde ich festlegen, welche Funktionen und Ziele die Software erfüllen soll. Ein wesentlicher Aspekt ist auch,
|
||||
die unterschiedlichen Akteure zu identifizieren, die die Software verwenden werden, um ihre Bedürfnisse und Anforderungen zu berücksichtigen.
|
||||
Hierbei werde ich festlegen, welche Funktionen und Ziele die BibSoftware erfüllen soll.
|
||||
|
||||
Das Bibsystem unterstützt 6 Aktionen:
|
||||
Aktion1 : Registrieren
|
||||
Also hier werde ich in der UI dem Benutzer die Möglichkeit seine Daten einzugeben(Name,alter,etc...)
|
||||
die Fassade nimmt die Daten entgegen und erstellt für die Benutzer ein neues Konto und ein neuer Ausweis
|
||||
hier soll der kunde eingeben, ob er normale Kunde ist oder ein Mitarbeiter(Admin)
|
||||
danach werde ich festlegen, welche Klassen ich für mein Software benötige
|
||||
- Entwickle die abstrakte Klasse Medium mit Attributen und Methoden.
|
||||
- Implementiere spezifische Medienklassen (Buch, DVD, CD, Brettspiel, Videospiel).
|
||||
- Erstelle eine abstrakte Klasse Benutzer und spezifische Benutzerklassen (Erwachsener, Schüler, Student).
|
||||
- Implementiere die AdminBenutzer-Klasse für spezielle Verwaltungsfunktionen.
|
||||
|
||||
|
||||
|
||||
Design und Datenstrukturentscheidung:
|
||||
In diesem Schritt plane und entwerfe ich die grundlegende Klassenstruktur.
|
||||
Dazu werde ich ermitteln, wie viele Klassen benötigt werden und welche Attribute und Methoden jede Klasse enthalten soll.
|
||||
ich werde auch die Beziehungen zwischen den Klassen definieren(z.b Vererbung, Assoziation, etc..)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue