Ticketsystem in Java programmieren

Status
Nicht offen für weitere Antworten.
Hallo,
Ich muss ein Ticketsystem in java programmieren.
Das Ticketsystem soll folgendermaßen aussehen:
Es soll ein internes Ticketsystem für auftauchende Probleme werden (innerhalb der Firma).

Optionen:
- Ticket anlegen
- Ticket versenden(über E-Mail am besten Outlook)
- Ticket mit Datenbankanbindung (interne Daten der Mitarbeiter)
- Ticket speichern

Da ich Anfänger in Java bin und noch nicht richtig weiß wie ich anfangen soll bzw. wie man dies am besten realisiert,
bräuchte ich eure Hilfe, also wäre für Tips oder beispiel quellcode sehr dankbar.

Im Voraus schon mal vielen Dank
 
Schritt für Schritt durchdenken und Schrtt für Schritt das Problem angehen.

Ich würde mit Tickets erstellen anfangen.

Überleg dir wie das Objekt Ticket aussehen soll. Eine Möglichkeit die Tickets zu erstellen sei es Intranet oder eine Netzwerk Application. Tickets verwalten wäre auch ein großer Punkt.

Selber einarbeiten und ggf. hier konkrete Fragen mit einer Problemstellung stellen.
 
Ich bin gerade dabei mir zu überlegen wie Ticket anlegen aussehen soll und zwar habe ich es mir folgendermaßen vorgestellt:
Ticket erstellen()
beeinhaltet:
- Textbox mit Namen des Mitarbeiters
- Textbox Betreff:
- Textbox Problem:

Button:
Nachricht Senden

was hälst du davon?
 
Grob richtig aber ne Menge an Daten die fehlen.

- Was ist mit Datum/ Zeit der Erstellung/Beendigung
- Ist das Ticket noch offen/gelöst?
- Mitarbeiter der das Ticket bearbeitet bzw. Abteilung

edit
Noch eingefallen Kontaktdaten.

Denke genau drüber nach was du brauchst den im nachhinein ist es nur Stressig alles zu erweitern.

edit 2
Ich galube wir reden etwas aneinader Vorbei. Ich rede nicht von einer GUI ich rede nur von einer Classe Ticket
 
Du solltest nicht mit dem Entwurf der GUI beginnen.

Überleg dir erstmal, welche Daten zu einem Ticket gehören, und welche Workflows benötigt werden (Ticket erfassen, Ticket einem zuständigen Mitarbeiter zuweisen, Rückfragen stellen, Erledigt melden, ...).
 
Ach ja für die Oberfläche würde ich wenn es Webbasiert ist JSF/JSP nehmen. Dahinter vielleicht ne Hybernate Datenbank um die Tickets zu hinterlegen.

Das Grundgerüst natürlich mit Java / Servlets/ Beans realisieren.

Plan schonmal 6 Monate ein. 😉
 
ohh stimmt daran hab ich gar nicht gedacht.
- ich brauche noch ein Datum für Ticket erstellt und ein Datum für ticket abgeschlossen
- Abteilung kann man auch mit aufnehmen
- offen/gelöst ist auch ein wichtiger Punkt

Bearbeiter des Tickets wollte ich in der Klasse 'Ticket lösen' einbringen
 
In drei Wochen kannst du vielleicht ein fertiges Ticketsystem aufsetzen, aber bestimmt keins programmieren.
 
Ich würde das Ticket nicht in verschiedene Classen spliten.

Wenn die Tickets stark Abweichen von Abteilung zu Abteilung bzw von Problem zu Problem könnte das Stichwort Vererbung da eine kleine Abhilfe sein. Aber ich würde es nicht komplizierter machen als die Aufgabe eingentlich schon ist.

Ticket lösen könnte ich mir so vorstellen. Mitarbeiter öffnet ein Ticket (das gewnschte Object wir aus der DB geholt).
Gibt ein Text ein "Problem gelöst und blablabla" sezt einen Hacken Problem gelöst. Das object wird daraufhin mit einem Attributt versehen solved=true. Optional könnte er noch ein Attribut setzen wird bearbeitet und eben später auf solved setzen wenns erledigt ist.

Du brauchst ausserdem noch einen Weg der verhindert das mehere Mitarbeiter am selben Ticket sitzen.

Edit:
Als Anfänger es in 3 wochen zu schaffen, dass ist nicht möglich.

Swing ist für Java Applicationen, JSP/JSF ist würs Web bzw. Geschäftsprozesse die mit dem Browser erledigt werden sollen.
 
Die Classe Ticket besitzt keinen Workflow. Sie besitzt nur Attribute die etwas über den Status des Tickets was aussagen.

Variablen und geter/seter. Du musst dir dann noch einen Container konstruieren für die Classe Ticketmit eben lösen() erstellen() etc.
 
oh ha
Code:
       //geter
	public String getXslOption() {
		return xslOption;
	}

	/**
	 * seter
	 */
	public void setXslOption(String xslOption) {
		this.xslOption = xslOption;
	}
 
Lass es mich zusammenfassen:

- Du bist ziemlicher Anfänger (noch nie was von Getter/Setter und Servlets gehört)
- Du bist dir nicht mal selbst über den genauen Aufwand im Klaren
- Du weißt nicht, was alles genau rein muss
- Du willst mit der GUI anfangen und hast so wie ich das rausgelesen habe auch kein Interesse daran eine eigene Ticket-Klasse für die Daten (keine GUI) zu erstellen
- Du hast einen Zeitrahmen von 3 Wochen

das ist nicht mal möglich, wenn du sofort anfängst und Tag und Nacht ohne Unterbrechung arbeitest!
 
@IchBraucheHilfe

n Ticketsystem ohne GUI :shock: !? Ändert auch nichts an der Tatsache, dass du das knicken kannst

@Zed

Es heißt getter und setter nicht geter und seter 😉 .
 
😳
Klar getter und setter

Wer schnell tippt der macht auch schnell Fehler 😉



Ich hoffe mal jetzt kannst du dir da was drunter vorstellen.
Code:
public class Ticket(){

  boolean solved= false;

public void setSolved (boolean  solved){
  this.solved=solved;
}
public boolean getSolved(){
 return solved;
}

}
 
Generell sollte man sich mit demjenigen, der den Auftrag erteilt hat im Klaren sein, was für Funktionalitäten benötigt werden und das ganze am besten schriftlich festhalten.
Ansonsten hat das Ganze ohnehin wenig Aussicht.
 
Ich denke mal der er ist etweder Prakti oder Werkstudent.

Da ist das so normal. Betreuer kommt. Wir brauchen das überleg dir was.

Das kommt auch noch dazu. Ist ja net so was du nur ein Ticketsystem machen musst sonder die Doku/Systemstruktur wahrscheinlich gleich mit. Da kannst gleich zu deinem Betreuer gehen und sagen das 3 Wochen nie Ausreichen. Du brauchst 3 Monate um mit den ganzen Techniken vertraut zu werden und 3 Monate für die Umsetzung + Doku
 
egal ich lass mich deswegen nicht entmutigen, ich hab auch schon etwas in c++ gearbeitet, ich werd das schon irgendwie schaffen auch wenn ich etwas länger brauche.

Trotzdem finde ich das nett das ihr mir hilft
 
ich habe ein Buch über Java2 von der uni hannover.
welche Themen brauche ich den für dieses Ticketsystem?
also AWT und Swing wollt ich mir ankucken
was bräuchte ich dafür noch(falls es nicht in dem Buch steht das ich mir noch eins kaufen kann)
 
Du solltest am Anfag mit deinem Betreuer abklären was er sich vorstellt.

1 Möglichkeit die ich sehe ist.
Eine Anwendung die im Browser abläuft. Tickets schreiben.
Tickets bearbeiten könnte auch im Browser passieren eventl. auch in einem seperaten Programm. Die beide nutzen natürlich dann die selbe DB

2. Möglichkeit: Ein Server Programm und Clientprogramme. Eins mit minimalen Möglichkeiten (Tickets erstellen). Das 2 mit eben allen Möglichkeiten für die Servicemitarbeiter.

Für Möglichkeit 1 ganz klar JSP/JSF envtl. auch XSLT für die Darstellung wenn du die Tickets im XML Format lagerst.

Für Möglichkeit 2 Java mit Swing oder vielleicht sogar MFC/C++

Das Serverprogramm würde ich auf alle fälle mit C++/C machen.
 
hm, eigentlich hab ich schon angefangen zu schreiben dass ihr irgendwie blödsinn redet und statt so demotivierend zu sein lieber mal konstruktive anfängerhilfen geben solltet anstatt sowas "Du bist ziemlicher Anfänger (noch nie was von Getter/Setter und Servlets gehört) "; "Als Anfänger musst du mindestens ein Buch von vorne bis hinten lesen!"; "Plan schonmal 6 Monate ein. "
aber nach dem letzten post hab ich keine lust mehr :applaus:
 
@Roar

Hör mal, wenn man Java-Anfänger ist, ist es schlichtweg unmöglich ein Ticket-System in 3 Wochen zu planen, entwerfen, programmieren und testen!
 
nö, es verlangt ja auch niemand einen konkurrenten zu mantis o.Ä. aber außerdem stimm ich mit deiner definition von anfänger ("Du bist ziemlicher Anfänger (noch nie was von Getter/Setter und Servlets gehört) ") eh nicht zu 🙂
 
Da fängts ja schonmal an ... keiner weiß, wie umfangreich das Ganze werden soll.

Er hat ja selber gesagt, dass er Anfänger ist. Und wenn man noch nichts von Gettern und Settern gehört hat, bestätigt das diese Aussage nochmal.
 
Kann dir mal ein wenig Hilfe geben. Meine letzte Arbeit war ein Ticketsystem.
Das Projekt läuft nun ca 2 Jahre (ich 6Mte)

Technologien:

JavaSE
Hibernate (OR-Mapper)
Struts
Velocity (TemplateEngine)
Spring
Tomcat
etc...

Das ganze wird auch eingesetzt und kann gekauft werden *Schleichwerbung*.
Als Anfänger sehe ich kaum eine möglichkeit da etwas Schlau zu machen.
Zumal die Anforderungen (wie auch immer?) recht heftig sein können.
ITIL?
Was braucht das System alles?
UserDB?
Mailsystem?
workflow-basiert?
Knowledgebase?
CMDB? was ist kaputt und gibt immer Tickets?
Fremdsysteme (Discovery....)
und die Liste würde noch viel länger werden....

Naja....langer Worte kurzer Sinn....
Kann sehr Aufwendig sein.
 
Was wäre denn ein gutes Anfänger Projekt, welches man auch innerhalb von 2 - 3 Wochen realisieren kann???
 
z.B. ein Ticketsystem ohne GUI, Email und DB..

irgendwas mit wenig Eingaben und viel internen Datengewurschtel (Collections)+ eigene Klassen/ Objekte, die miteinander agieren

Dateisytem (Ordern), oder Textdateien bearbeiten, Strings sortieren, zerlegen, analysieren,
jegliche mathematische Aufgaben, Kombinatorik, Statistik, Simulation
 
Vielleicht müssen wir einfach mal davon absehen "TicketSystem" als Titel zu verwenden. Unter einem TicketSystem stell ich mir auch ein recht umfangreiches System vor. Um aber die Idee beizubehalten, aber auf einen Anfänger einzustellen, kann man das ganze doch runterschrauben, indem man das vielleicht eher als eine Art Todo-Liste mit erweiterten Möglichkeiten erstellt. Zunächst mal in eine einzelne Anwendung (ohne Server etc)

D.h. "Ticket" einstellen (mit Attributen wie Zeit, Zuständigkeit, Beschreibung etc) und Möglichkeit zur Beantwortung und schliesslich zum "lösen" in Form von abhaken. Man braucht also nicht mehr Funktionen als "Ticket erstellen" und "Ticket bearbeiten".

Dann würde sich das in der Struktur doch schnell runterbrechen lassen, auf ein Objekt "Ticket" mit eben den Gettern und Settern und einem BusinessController, der eben die Tickets verwaltet (z.b. in einer Liste hält, neue Tickets erstellt und vorhandene aus der Liste such und verändert wieder speichert) und schliesslich eine ganz einfache Swing GUI. Das finde ich, kann man schaffen und ist genau das richtige, für den Einstieg in Java.


Vorher zum Betreuer gehen und erklären, dass sich während der Einarbeitungsphase herausgestellt hat, dass in der gegebenen Zeit von drei Wochen nicht mehr möglich ist. Auch das gehört zu einem guten Entwickler, finde ich, dass er eben auch einschätzen kann, wenn die Anforderungen zu hoch sind. Das ist ja auch nichts schlimmes.
Das läuft im Leben eines Programmierers ja oft so:
"Du hast 15 Tage Zeit."
"Oh, ich brauche 30"
"Gut, machs in 7, mehr zahlt der Kunde nicht!"
 
Ja, das hört sich gut an ich werd mich daran mal versuchen.
Muss ja auch nicht zu komplex sein.
Hauptsache ich hab ein Ergebnis mit dem man etwas anfangen kann.
 
jetzt mal ganz ehrlich so tragisch ist das dann auch wieder nicht oder?

ticketsystem! ist ein sehr dehnbarer begriff, hab mal innerhalt eines nachmittages einen php shop geschrieben. kommt immer auf den funktionsumfang an.

ok wir reden hier nicht über konzert tickets oder? also user hat ein problem und sendet ein ticket und support bearbeitet es dann und support bietet im besten fall eine lösung.

ok eine jsp seite mit der man ein neues tickets senden kann und bestehende betrachten kann.
vielleicht eine kleine swing gui für den support der die tickets lesen kann und bearbeiten kann.

dann halt überlegen wie ein ticket aussehen kann. ticket hat einen titel, einen ersteller ein erstelldatum, und dann eine reihe von nachrichten die ihm angehänget sind. eine nachricht einen autor, datum, us, text.
tipp: nachrichten seperat von den tickets in der db halten

dann vielleicht noch user in der db verwalten, kannst dir ja überlegen obst das brauchst.


schau dir mal das mvc pattern an und versuch eine kleine swing anwendung zu schreiben, mit der man tickets betrachten, bearbeiten und erstellen kann.
für die gui empfehl ich dir jformdesigner, das kann man 3-4 mal evaluieren, da hast genug zeit.

ich würde anfangs einmal mit DAOs für die speicherung in die db anfangen.

später wenn das funktioniert, kannst ja noch mal schaun, obst eine jsp seite schaft mit der man tickets posten kann.
=============
also ich würd nun so vorgehen:
1. mit dem Betreuer die genauen Funktionen absprechne und schriftlich festhalten
2. die datenstrukturen überlegen für objekte und db
3. die ungefähre architektur der anwendung, model, view, controller
dann kannst ja schon mal ein wenig testen.
4. mal ein paar test datensätze in die datenbank geben
5. mal eine kleine mvc anwendung mit der du die datensätze bearbeiten kannst.
6. und dann halt erweitern....

was solltest du durchgehen:
bissal grundlagen, wie collections usw... was klassen und interfaces sind weißt du oder?
jdbc, DAO
das mvc pattern


also ich find das eine gute praktikumsaufgabe
 
Sorry, total offtopic...
...aber da passiert was mit meiner Hutschnur:

ARadauer hat gesagt.:
jetzt mal ganz ehrlich so tragisch ist das dann auch wieder nicht oder?

Für jemanden der einen kleinen Shop in einem Nachmittag schreibt, natürlich nicht. Hier geht es aber um jemanden, der nicht wußte, was die Begriffe Getter und Setter sind. Da musst Du schon die Verhältnismäßigkeit sehen. Was meinst Du, wie lange so jemand braucht, um überhaupt die von mir beschriebenen Funktionen zu schreiben, ganz von Deinem ganzen Kauderwelsch.
Ich gehe mal davon aus, dass er auch noch nie mit einer Datenbank was gemacht hat und nicht weiß, was SQL ist. D.h. der Gute ist mal eben einen kompletten Tag damit beschäftigt, seine ersten SQL Statements, mit Java abzusetzen. Und bitte jetzt nicht mit irgendeinem Persistenzschichtframework kommen - wer die Grundlagen nicht versteht, sollte mit sowas auch nicht gleich anfangen. Ganz zu schweigen von dem ganzen anderen lächerlichen Kram.
Genauso "mal eben das MVC Pattern durchgehen" - äh... der Mensch hat noch nie programmiert, der stellt sich als erstes die Frage: "Pattern? Passt das gut zu Pfannkuchen?", bevor er auf die Idee kommt, "MVC" auseinanderzuschlüsseln.

Wenn man Überflieger ist, und auf einmal doch schneller als erwartet ist: Erweiterungsmöglichkeiten gibt es immer...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben