Zum Inhalt springen

Projektantrag: maestrte_process


hbspike

Empfohlene Beiträge

Hallo zusammen. Ich bin grad dabei meinen Projektantrag fertig zustellen, jedoch hab ich da so ein - zwei stolpersteine drinnen wo es auch Unstimmigkeiten mit einem Lehrer in der BF gab. Also bezüglich meiner Zeitplanung und was rein soll und was nicht.

Aber hier erstma mein Antrag:

Projektantrag

1. Projektbezeichnung (Auftrag/Teilauftrag)

Programmieren eines Tools zur Erstellung von Überweisungs- und XML-Dateien auf Basis einer „******-******“-Datei.

1.1. Kurze Projektbeschreibung

1.1.1. fachlicher Hintergrund

An jedem Bankarbeitstag wird eine Email von ******** mit "******-*******" Daten an die ** ********** geschickt(kurz ****). In diesen Advisements sind die Summen der Verfügungen deutscher Karteninhaber im In- und Ausland aufgeführt. Die wichtigen Daten aus der Email werden per Hand in eine Überweisungs-, kurz DTE genannt, und eine XML-Datei umgewandelt.

Die XML-Datei wird erstellt damit die **** die Daten in ein eigenes ****** ****** System importieren kann. Die Daten werden zur Planung von Zahlungsausgängen verwendet die nach erfolgter Buchung

mit den Kontoauszugsdaten abgeglichen werden.

Die erstellten Dateien werden dann zur Weiterverarbeitung auf einem Server zwischengespeichert.

Dies wird bisher von einem Mitarbeiter erledigt, der auch an bestimmten Feiertagen, im konkreten an allen TARGET2 Tagen (Feiertage an denen deutsche Banken verpflichtet sind Transaktionen weiterzuleiten, ca 5 Tage im Jahr), in den Betrieb kommen muss um diese Daten zu verarbeiten.

Dies ist notwendig, da die **** verpflichtet ist auch an Feiertagen Verfügungen weiterzuleiten. Sollte dies nicht geschehen, ist sie Schadensersatzpflichtig (bis **.*** € pro Fall).

1.1.2. Ziel des Projektes

Ziel des Projektes ist es, ein konsolenbasiertes Verarbeitungs-Tool zu schreiben, welches täglich, automatisiert die Datei, in der die „******-*******“-Daten gespeichert sind, einliest, die notwendigen Daten herauszieht und die benötigten Dateien(dte und XML) erstellt.

Dazu müssen insgesamt 8 Felder aus der „*******-*******“-Datei extrahiert und weiterverarbeitet werden.

Die erstellten Dateien sollen dann in verschiedenen Ordnern für die Weiterverarbeitung abgelegt werden.

Der Server, auf dem das Programm laufen wird, soll eine Linux-Maschine sein.

Sollte eine „*******-*******“ -Datei nicht bearbeitet werden und eine neue geht ein, wird die neue an die alte angehangen und nur die Daten der neuen sind zu verarbeiten.

Bei Fehlerfällen, z.B. keine Datei vorhanden oder ein Zugriffsfehler, soll das Programm eine Email mit einer Fehlerbeschreibung an die verantwortlichen Mitarbeiter schicken und die Datei beim nächsten Cron job-Start erneut verarbeiten.

2. Projektumfeld

Ich bin Auszubildender zum Fachinformatiker der Fachrichtung Anwendungsentwicklung bei der ** *************** **** und werde das Projekt in der Abteilung „Softwareentwicklung“ durchführen. Projektverantwortlicher ist der Abteilungsleiter der „Softwareentwicklung“ Herr ******. Anforderungsstelle Herr *****, Team ****, Abteilung Cards. Als Ansprechpartner steht mir Herr ******, Herr ****und Herr ****, ebenfalls ein Mitarbeiter des Team **** zur Verfügung.

Die Planung, Analyse, Programmierung und das Testen des Verarbeitungs-Tools erfolgt an meinem Arbeitsplatz in der ***. Somit habe ich kurze Wege zu den Ansprechpartnern und kann das Programm direkt in der dafür vorgesehenen Umgebung(Linux) testen.

3. Projektplanung einschließlich Zeitplanung

3.1. Arbeitspaketliste

1. Initialisierungsphase 13 Std.

1.1. Analyse des Projektauftrags 3 Std.

1.2. Ist-Analyse 2 Std.

1.3. Soll-Konzept 2 Std.

1.4. Feinkonzepterstellung (Pflichtenheft) 6 Std.

2. Planungsphase 7 Std.

2.1. Arbeitspaketliste und Projektstrukturplan 3 Std.

2.2. Zeit-, Kosten- und Ressourcenplan 3 Std.

2.3. Wirtschaftlichkeitsanalyse 1 Std.

3. Realisierungsphase 19 Std.

3.1. Erstellung des DV-Konzept 9 Std.

3.2. Programmieren der Verarbeitungs-Software 10 Std.

4. Testphase 6 Std.

4.1. Erstellen eines Testfallkatalogs 3 Std.

4.2. Durchführung der Test 3 Std.

5. Projektabschlussphase 20 Std.

5.1. Ist-Soll Vergleich 1 Std.

5.2. Erstellen der Installationsanleitung 1 Std.

5.3. Erstellen der Kurzbeschreibung 2 Std.

5.4. Übergabe 1 Std.

5.5. Prozessorientierter Bericht 15 Std.

Pufferzeit 5 Std.

Summe 70 Std.

3.2. Netzplan

post-83057-1443044903532_thumb.png

4. Geplante Dokumentation zur Projektarbeit

Prozessorientierte Projektbericht inkl.:

- Initialisierung

 Projektantrag

 Ist-Analyse

 Soll-Konzept

 Pflichtenheft

- Planung

 Projektstrukturplan

 GANT-Diagramm

 Zeit-, Kosten- und Ressourcenplan

 Wirtschaftlichkeitsanalyse

- Realisierung

 KD und DFD’s

 PAP’s und DataDictionary

 Dokumentierter Code

- Testing

 Testfallkatalog

- Projektabschluss

 Installationsanleitung

 Kurzbeschreibung

 Übergabe-Protokoll

- Zusätzliche Unterlagen zum Projektbericht:

 Besprechungsprotokolle

So. Soweit bin ich. Nun die Knackpunkte.

Mein Lehrer meinte das das Lastenheft nicht wirklich aufgelistet werden soll, da es quasi der Projektantrag sei und ich einfach nur das Lastenheft selbst schreiben soll und mir es vom Auftragsgeber unterzeichnen lassen soll. Desshalb ist es nicht mit in der Zeitplanung... Ausserdem hatte ich die Wirtschaftlichkeitsanalyse am Ende des Projekts...

Ich dachte, da ich ja erst wenn das Projekt durchgeführt ist, analysieren kann ob es wirtschaftlich war oda nich. Jedoch nach Aussage des Lehrers, muss ich die früher machen um zu sehen ob das Projekt sich überhaupt lohnt. jetzt stell ich mir die Frage. Mach ich quasi die WA 2x? Einmal für mein Projekt und einmal für mein Programm?

Vielen Dank.

Ich bin für Kritik,Anregungen und Fragen natürlich immer bereit :D

mfg chris

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Antworten 59
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

Top-Benutzer in diesem Thema

Veröffentlichte Bilder

Sprachlich ganz dringend überarbeiten, Wörter wie "herausziehen", gehören nicht in den Antrag, ebenso "ich"-Formulieren. Welche "Wege" für das Projekt notwendig sind, das spielt auch keine Rolle.

Warum ein "konsolenbasiertes Verarbeitungs-Tool" (auch hier die Wortwahl noch einmal überdenken). Warum muss bei einem solchen Vorgehen überhaupt noch ein Mensch ein Programm starten? Ich werfe mal das Wort "Dienst" in den Raum. Man kann das Problem auch voll automatisieren und nur bei Fehlern das System eine Nachricht genieren lassen.

Programmiersprache(n) wird / werden nicht evaluiert oder genannt und das Zielsystem als "Linux" zu bezeichnen ist zu wenig Information, denn ist das eine Sparc, x64, x32 o.ä. spielt für die Entwicklung schon eine Rolle. Welche zusätzlichen Bibliotheken werden für die XML Verarbeitung eingesetzt, ich hoffe, dass überhaupt welche eingesetzt werden. Ich werfe mal Begriffe wie Use-Case, UML in den Raum, das sich alles unter Punkt 3 wieder finden sollten. Im Moment klingt es sehr nach der Entwicklung eines Shell-Skriptes und das reicht fachlich nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Soderle. Danke für die schnellen Antworten.

Das herausziehen hab ich durch :

gespeichert sind, einliest, die notwendigen Daten filtert und die benötigten Dateien(DTE und XML) erstellt.
ersetzt.

Das mit der Ich-Form ist so eine Sache, wenn ich meinen Arbeitsplatz und mein Arbeitsumfeld beschreibe. Was soll ich den anderes sagen als Ich bin. Projektdurchführer C.M. ist Mitarbeiter in Abteilung XYZ? ...

Welche "Wege" für das Projekt notwendig sind, das spielt auch keine Rolle.

Was meinst du damit?

Mir wurde mehrmals gesagt, das die Programmiersprache nicht in den Antrag gehört, da genau dies Teil des Projekts ist, sprich die Evaluierung dieser (Nutzwertanalyse).

Warum ein "konsolenbasiertes Verarbeitungs-Tool" (auch hier die Wortwahl noch einmal überdenken). Warum muss bei einem solchen Vorgehen überhaupt noch ein Mensch ein Programm starten? Ich werfe mal das Wort "Dienst" in den Raum. Man kann das Problem auch voll automatisieren und nur bei Fehlern das System eine Nachricht genieren lassen.

Meinst du das "Tool" unglücklich gewählt ist?

Richtig, das Programm soll von keinem Anwender gestartet werden. Es soll automatisiert laufen, daher Cronjob.

Das System auf dem es laufen wird, ist ein Linux, da es aber unabhängig von der Plattform (Suse,Redhat,etc..) laufen soll, hab ich einfach nur schlicht Linux angegeben. Wichtig für die Speicherorte...

Da ich es mit der Strukturierten Analyse machen möchte, fallen use-case diagramme weg.

Es wird kein Shell-Script sondern ein Perl-Programm.

Also ich hab es so verstanden das der Projektantrag nur extrem grob das Problem beschreiben soll (sonst hät ich noch ne Daten-Datei und deren Aufbau mit eingebracht) und das Pflichtenheft alles ins Detail klärt. :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was meinst du damit?

Ich beziehe mich auf "Somit habe ich kurze Wege zu den Ansprechpartnern ...", rein formal lege ich Dir Wege als geographische Wege aus und dann erklär' mir mal bitte den Zusammenhang zu Deinem Projekt

Mir wurde mehrmals gesagt, das die Programmiersprache nicht in den Antrag gehört, da genau dies Teil des Projekts ist, sprich die Evaluierung dieser (Nutzwertanalyse).

Es gibt mehrere Möglichkeiten: Entweder hast Du vom Betrieb eine feste Vorgabe welche Sprache verwendet werden soll, d.h. diese Information gehört das Projektumfeld oder eben Du musst einen Punkt aufnehmen und die Sprache evaluieren. Beides fehlt bei Dir.

Meinst du das "Tool" unglücklich gewählt ist?

Richtig, das Programm soll von keinem Anwender gestartet werden. Es soll automatisiert laufen, daher Cronjob.

Du solltest fachlich richtige Termini verwenden:

Dienst (Informatik)

Systemdienst

Netzwerkdienst

Das System auf dem es laufen wird, ist ein Linux, da es aber unabhängig von der Plattform (Suse,Redhat,etc..) laufen soll, hab ich einfach nur schlicht Linux angegeben. Wichtig für die Speicherorte...

Nein die Plattform ist schon relevant und auch die Komponenten, die Du einsetzt. Versuch mal ein unter Linux kompiliertes C/C++ Programm auf einer Sun Sparc laufen zu lassen oder unter FreeBSD. Da Du keine Info über die eingesetzte Technik lieferst, kann ich alles mir hinzu dichten. Darum musst Du schon in den Antrag schreiben, in welche Richtung Du arbeitest. Wenn Du z.B. Java als Sprache verwendest (verwenden musst), dann wirst Du was die Portierbarkeit der Anwendung angeht, flexibler sein, bei C/C++ sieht es schon schwieriger aus (aber z.B. mit Hilfe der Boost auch ohne weiteres möglich, setzt aber dann OOP als Konzept voraus. siehe unten).

Es wird kein Shell-Script sondern ein Perl-Programm.

Diese Information, wenn Du jetzt weißt, dass Du Perl verwendest, gehört in den Antrag. Aber ich stelle hier direkt die Frage, warum Perl. Perl ist eine Interpretersprache, d.h. man schleppt immer den Interpreter mit. Für einen Dienst, der ggf. gut in der Leistung skalieren muss, sollte man keine Interpretersprache verwenden. Warum nicht C++, D, o.ä.? Gerade bei Perl wäre eine zentrale Frage, warum keine OOP Sprache? Ich könnte wenn ich bei den Interpretersprachen bleibe auch Java, PHP oder Python einsetzen, wobei mir Java und Python direkt die OOP mitliefern. (das wären später Fragen, die z.B. im Fachgespräch kommen könnten).

Da ich es mit der Strukturierten Analyse machen möchte, fallen use-case diagramme weg.

siehe Strukturierte Analyse und das Zitat:

Ansonsten ist die Strukturierte Analyse vielerorts durch die Objektorientierte Analyse (OOA) abgelöst, wird aber noch in vielen Projekten eingesetzt.

Warum nutzt Du eine Technik, die durch eine andere Technologie abgelöst wurde? Du entwickelst also in meinen Augen eine Software nach einem veralteten Modell. Was rechtfertigt dieses Vorgehen? Wie gehst Du z.B. damit um wenn der Dienst auf Nebenläufigkeit, verteilte Strukturen (Webservices, asynchroner Datentransfer) erweitert werden muss? Diese Fragen sind für mich vom Konzept her sehr wichtig, denn Software soll letztendlich auch wartbar / erweiterbar sein. Warum wird also mit einer veralteten Strukturierungstechnik gearbeitet, wenn man es konzeptionell auch anders lösen kann? Gerade diese Punkte sind für mich entscheidend bei dem Projekt.

Z.B. bei einer XML Datei kann man via Document Object Model oder Simple API for XML die Daten vollständig oder eventbasiert verarbeiten bzw. durch XPath direkt entsprechende Knoten im XML Baum anspringen. Durch entsprechende Objekte / Klassen kann man hier sehr strukturiert die Daten verarbeiten (teilweise muss man dafür schon selbst keinen Code schreiben, sondern anhand von Modellen der Daten, den dazugehörigen Code automatisch generieren lassen). D.h. hier hast Du schon einige Punkte, die gegen Dein Konzept sprechen. Wie würdest Du das z.B. im Fachgespräch erklären?

Bearbeitet von flashpixx
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich beziehe mich auf "Somit habe ich kurze Wege zu den Ansprechpartnern ...", rein formal lege ich Dir Wege als geographische Wege aus und dann erklär' mir mal bitte den Zusammenhang zu Deinem Projekt

Ich dachte es wäre schon interessant zu wissen wo ich mein Projekt durchführe und warum.

Kurze Kommunikationswege sind sinnvoll, da bei etwaigen Fragen/Problemen ich nit durch 6 Stockwerke im Betrieb eiern muss. Ok. ob es in den Antrag gehört, bezweifele ich auch...

Es gibt mehrere Möglichkeiten: Entweder hast Du vom Betrieb eine feste Vorgabe welche Sprache verwendet werden soll, d.h. diese Information gehört das Projektumfeld oder eben Du musst einen Punkt aufnehmen und die Sprache evaluieren. Beides fehlt bei Dir.

Mein Antrag beinhaltete den Punkt:

3.4. Auswahl der Programmiersprache 1 Std.

Jedoch hat mein SEW-Lehrer und IHK-Prüfer gesagt:

Das ist zu speziell, das soll nit in den Projektantrag, sonst haste schon vor dem Projektbeginn zuviel gemacht. Also ich hats drinnen und habs auf anraten eines IHK-Prügers rausgenommen. Das ist doch ****e sowas -.-

Nein die Plattform ist schon relevant und auch die Komponenten, die Du einsetzt. Versuch mal ein unter Linux kompiliertes C/C++ Programm auf einer Sun Sparc laufen zu lassen oder unter FreeBSD. Da Du keine Info über die eingesetzte Technik lieferst, kann ich alles mir hinzu dichten. Darum musst Du schon in den Antrag schreiben, in welche Richtung Du arbeitest. Wenn Du z.B. Java als Sprache verwendest (verwenden musst), dann wirst Du was die Portierbarkeit der Anwendung angeht, flexibler sein, bei C/C++ sieht es schon schwieriger aus (aber z.B. mit Hilfe der Boost auch ohne weiteres möglich, setzt aber dann OOP als Konzept voraus. siehe unten).

Richtig, es ist klar das eignetlich das System ganz genau beschrieben werden soll. Jedoch wäre das doch schon viel zu viel. Was willst du denn alles für den Antrag machen? Es ist z.B. genauso Unsinnig, die Zeitplanung zu machen für den Projektantrag, obwohl du mit dem Projekt gar nit anfangen darfst...

Diese Information, wenn Du jetzt weißt, dass Du Perl verwendest, gehört in den Antrag. Aber ich stelle hier direkt die Frage, warum Perl. Perl ist eine Interpretersprache, d.h. man schleppt immer den Interpreter mit. Für einen Dienst, der ggf. gut in der Leistung skalieren muss, sollte man keine Interpretersprache verwenden. Warum nicht C++, D, o.ä.? Gerade bei Perl wäre eine zentrale Frage, warum keine OOP Sprache? Ich könnte wenn ich bei den Interpretersprachen bleibe auch Java, PHP oder Python einsetzen, wobei mir Java und Python direkt die OOP mitliefern. (das wären später Fragen, die z.B. im Fachgespräch kommen könnten).

Warum Strukturierte Analyse und kein OOP. Nunja ich finde, das es für so ein "Progrämmchen" mit 10Std Programmieraufwand es sich nicht lohnt objektorientiert zu arbeiten.

Da das Programm genau 2x am Tag ausgeführt wird und nichtmal 1min läuft, finde ich den Punkt mit dem Interpreter nicht so gravierend.

Ausserdem kenne ich mich mit Java und C im Allgemeinen recht gut aus und perl war für mich neu. (Ich will ja auch was beim Projekt lernen). Darüber hinaus hat mir die Benutzung von reg-Exp sehr gut in Perl gefallen.

Warum Perl? Richtig das gehört in das Projekt selbst, aber nicht in den Antrag. Wie oben schon erwähnt würdest du viel zuviel machen für den Antrag.

Die Evaluierung gehört zum Projekt und nicht zum Antrag, darum allgemein Beschreiben.

Ich glaube du überschätzt den Umfang und den späteren Verwendungszweck dieser Software.

Sie soll klein, schnell und einfach zu warten sein und möglichst fehlerfrei laufen.

Das ist wichtiger als Erweiterbarkeit und OOA.

Warum nutzt Du eine Technik, die durch eine andere Technologie abgelöst wurde? Du entwickelst also in meinen Augen eine Software nach einem veralteten Modell. Was rechtfertigt dieses Vorgehen? Wie gehst Du z.B. damit um wenn der Dienst auf Nebenläufigkeit, verteilte Strukturen (Webservices, asynchroner Datentransfer) erweitert werden muss? Diese Fragen sind für mich vom Konzept her sehr wichtig, denn Software soll letztendlich auch wartbar / erweiterbar sein. Warum wird also mit einer veralteten Strukturierungstechnik gearbeitet, wenn man es konzeptionell auch anders lösen kann? Gerade diese Punkte sind für mich entscheidend bei dem Projekt.

Falsch. ich entwickele meine Software nach einer veralteten, aber immer noch gültigen Strategie. Bitte vergiss nicht das beide Analysen zugelassen sind.

Ich finde für meine Software ist die SA besser geeinget, da der Funktionsumfang des Programms nicht gigantisch ist und die modelierung wesentlich Einfacher ist.

Ich weis das persönliche Geschmäcker nicht darein gehören nur ich mag die UML nicht. Darum will ich es mit der SA machen.

Das Programm soll auch nicht unendlich erweitert werden. Es wird auch nicht die Daten selbst verschicken oder Prozesse parallel ablaufen lassen. Es wird immer genau eine Datei einlesen. Das wird sich nicht verändern.

Z.B. bei einer XML Datei kann man via Document Object Model oder Simple API for XML die Daten vollständig oder eventbasiert verarbeiten bzw. durch XPath direkt entsprechende Knoten im XML Baum anspringen. Durch entsprechende Objekte / Klassen kann man hier sehr strukturiert die Daten verarbeiten (teilweise muss man dafür schon selbst keinen Code schreiben, sondern anhand von Modellen der Daten, den dazugehörigen Code automatisch generieren lassen). D.h. hier hast Du schon einige Punkte, die gegen Dein Konzept sprechen. Wie würdest Du das z.B. im Fachgespräch erklären?

Wieso so komplex?

Erklären? Es ist nicht gewünscht gewesen, ganz einfach. Die Verarbeitung sollte per RegEx genau die Werte filtern und in zwei Dateien bereitstellen, nix mit DOM oda ähnliches.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mein Antrag beinhaltete den Punkt:

3.4. Auswahl der Programmiersprache 1 Std.

Der Punkt 3.4 ist nicht in Deinem ersten Antrag enthalten, es geht nur bis 3.2 (im ersten Posting)

Das ist zu speziell, das soll nit in den Projektantrag, sonst haste schon vor dem Projektbeginn zuviel gemacht. Also ich hats drinnen und habs auf anraten eines IHK-Prügers rausgenommen. Das ist doch ****e sowas -.-

Wie schon gesagt, nimm es rein, wenn es feststeht, wenn Du es evaluieren musst, dann mache einen Punkt mit 1-2 Stunden für die Evaluation der Programmiersprache. Wo ist das Problem !?

Warum Strukturierte Analyse und kein OOP. Nunja ich finde, das es für so ein "Progrämmchen" mit 10Std Programmieraufwand es sich nicht lohnt objektorientiert zu arbeiten.

Diese Aussage bestreite ich, es geht ja in erster Linie nicht um das Coding, sondern das Konzept.

Da das Programm genau 2x am Tag ausgeführt wird und nichtmal 1min läuft, finde ich den Punkt mit dem Interpreter nicht so gravierend.

Ausserdem kenne ich mich mit Java und C im Allgemeinen recht gut aus und perl war für mich neu. (Ich will ja auch was beim Projekt lernen). Darüber hinaus hat mir die Benutzung von reg-Exp sehr gut in Perl gefallen.

Genau dieses hatte ich erwartet. Wie unten geschrieben, sind reguläre Ausdrücke für Baumstrukturen fachlich eine schlechte Wahl. Du musst hier fachlich begründen, warum Du eben Perl nimmst und nur weil Perl reguläre Ausdrücke gut umsetzen kann, ist das kein Grund. Ich nehme C++ mit libxml2++ und schon kann ich direkt auf der Baumstruktur Deiner XML arbeiten und ohne, dass ich reguläre Ausdrücke erstellen muss.

Das mit dem Interpreter kann man erst einmal so stehen lassen.

Sie soll klein, schnell und einfach zu warten sein und möglichst fehlerfrei laufen.

Das ist wichtiger als Erweiterbarkeit und OOA.

Bei Perl ist häufig der Hang zu sehr unverständlichen Codekonstruktionen, d.h. unter Umständen ist der Code wesentlich schwerer wartbarer als ein OOP Konzept.

Falsch. ich entwickele meine Software nach einer veralteten, aber immer noch gültigen Strategie. Bitte vergiss nicht das beide Analysen zugelassen sind.

Ich finde für meine Software ist die SA besser geeinget, da der Funktionsumfang des Programms nicht gigantisch ist und die modelierung wesentlich Einfacher ist.

Nein das sehe ich sehr skeptisch, denn im Grunde müsstest Du auch die Entwicklung der regulären Ausdrücke als Code abbilden, denn sie sind entscheidend für die Funktion des Systems. Außerdem wäre hier die Frage auch wieder nach der Einsetzbarkeit, denn wenn Du z.B. XML nach irgendwas transformierst, dann brauchst Du gar kein Programm, denn mit Hilfe von XSLT kann ich das vollständig in XML beschreiben und mit dem Sax-Parser z.B. direkt auf der Kommandozeile umwandeln lassen.

Alternativ würde man hier sagen, dass man eben ein kleines Programm drum herum baut, dass eben via DOM / Sax und XSLT die Daten transformiert, d.h. das Programm öffnet die Daten XML und die Umwandlungs-XML und liefert das umgewandelte Ergebnis. Aber das würde keine Projekt im Umfang von 70h rechtfertigen.

Ich weis das persönliche Geschmäcker nicht darein gehören nur ich mag die UML nicht. Darum will ich es mit der SA machen.

Nur weil Du UML nicht magst, ist das kein Grund.

Das Programm soll auch nicht unendlich erweitert werden. Es wird auch nicht die Daten selbst verschicken oder Prozesse parallel ablaufen lassen. Es wird immer genau eine Datei einlesen. Das wird sich nicht verändern.

Eine entscheidende Frage in diesem Zusammenhang bleibt, wie stellst Du fest, ob die XML Datei valide ist bzw. der Struktur (inhaltlich) entsprichst, die Du erwartet. Wenn man davon ausgeht, dass zwei unterschiedliche Systeme mit der Datei arbeiten, können hier Inkonsistenzen auftreten. Wenn ein System die Datei schreibt und das andere schon beginnt diese zu lesen, dann musst Du feststellen, dass hier keine Fehler auftreten. Bzw. was passiert, wenn z.B. diverse schließende Tags in der XML Datei fehlen, dann musst Du eigentlich prüfen, ob das Dokument valide. Dateizugriff kann man prüfen, aber mit regulären Ausdrücken kannst Du nicht einfach prüfen, ob die XML valide ist bzw. ob sie inhaltlich korrekt aufgebaut ist. Validität kann der Parser prüfen und Inhaltsprüfung kann ich via DTD oder WSDL machen.

Die Verarbeitung sollte per RegEx genau die Werte filtern und in zwei Dateien bereitstellen, nix mit DOM oda ähnliches.

Wenn Du mit RegExpr arbeitest, kannst Du je nach Struktur der XML Datei Probleme bekommen. Die zentrale Frage, ohne hier tiefer in die Theorie zu gehen, ist warum Du eine Baumstruktur mit einem endlichen Automaten parst. Ich kann hier von der Theorie her Beispiele konstruieren, die Du nicht mehr mit einem regulären Ausdruck verarbeiten kannst. Die Frage ist also somit, warum erfindest Du das Rad neu, wenn Du mit einer fertigen Bibliothek den kompletten Parsingprozess fertig bekommst und nur den Inhalt verarbeiten musst. Mit XPath z.B. kann ich mir direkt die Inhalte der Knoten liefern lassen bzw. durch diese iterieren.

Sorry, aber das ist für mich vom Konzept her eine schlechte Wahl und das Argument "ist nicht gewünscht" ist auch fachlich nicht haltbar. Wenn es so umgesetzt werden soll, dann müsstest Du aber ggf eine alternative in der Dokumentation aufzeigen.

Allgemein: Auch wenn nur eine "begrenzte" Funktionsweise umzusetzen ist, bedeutet das nicht, dass man hier am Konzept spart. Gerade für XML Verarbeitung gibt es eine große Anzahl an Technologien, die ein wesentlich strukturiertes Konzept mit sich bringen. Für mich hat das "rumfrickeln mit regulären Ausdrücken" eher einen sehr negativen Beigeschmack, denn es klingt danach, als hättest Du noch nie mit XML gearbeitet, deswegen würde ich bei so etwas XPath / XSLT oder mindestens DOM / Sax erwarten. Du überführst letztendlich eine XML Datei in eine andere Struktur und das kann man konzeptionell sehr schön abbilden und auch mit Hilfe der OOP modellieren. Ich kann diese Transformation sogar mit entsprechenden Tools schon fast, ohne selbst eine Zeile Code schreiben zu müssen, generieren.

Für mich sind da im Antrag noch viele Punkte, die ich extrem kritisch sehe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kurzer schneller Einwand:

Ich parse eine Datei die eine Email enthällt mit den Daten, keine XML Datei.

Ich baue aus diesesn Daten eine DTE (Verarbeitungsdatei) und eine XML Datei zusammen und speicher sie irgendwohin (nicht näher definiert). Was mit den Daten geschieht, wofür sie benötigt werden ist mir relativ schnuppe.

Der Aufbau der DTE datei ist größtenteils gleich nur hier und da werden Variablen hinzugefügt. Der Aufbau der XML Datei ist ebenfalls immer gleich. Und ich bau mir quasi nur die Datei aus den Daten zusammen. Mehr nicht.

Also im großen und ganze soll das Prog:

Datei einlesen, zeilenweise parsen --> gefundene Daten zwischenspeichern und am Ende alles in eine DTE und eine XML Datei umwandeln. Natürlich ExceptionHandling mit Email-Versand und der Cronjob.

Nur zum besseren Verständniss

PS: Das oben is Projektantrag. V 1.4 ^^

der Punkt 3.4 war in Antrag v 1.2. bis der IHK-Prüfer/SWE-Lehrer gesagt hat, nimms raus -.-

Bearbeitet von hbspike
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich parse eine Datei die eine Email enthällt mit den Daten, keine XML Datei.

Warum eine Datei, wenn Du eine Mail hast, dann kannst Du diese direkt aus dem Mailserver verarbeiten z.B. via Procmail. Dann brauchst Du gar keinen Dienst + Cronjob !? Email kommt über den Server und wird dann von Procmail erkannt und an Dein Programm weiter gegeben.

Ich baue aus diesesn Daten eine DTE (Verarbeitungsdatei) und eine XML Datei zusammen und speicher sie irgendwohin (nicht näher definiert). Was mit den Daten geschieht, wofür sie benötigt werden ist mir relativ schnuppe.

DTE ist kein allgmeiner Begriff. Da müsstest Du schon mal mehr Infos liefern. Ist das eine CSV, binäres Format o.ä.

Der Aufbau der DTE datei ist größtenteils gleich nur hier und da werden Variablen hinzugefügt. Der Aufbau der XML Datei ist ebenfalls immer gleich. Und ich bau mir quasi nur die Datei aus den Daten zusammen. Mehr nicht.

Wenn DTE und XML größtenteils gleich sind, warum dann nicht aus den Daten einmal den XML Baum aufbauen und ihn dann einmal via XSLT in die DTE und einmal in die ZielXML transformieren? Vorteil davon ist, die Struktur des Baums kann validiert werden, die Transformation ist extrem flexibel gehalten und kann bei Änderungen sehr effizient geändert werden und zusätzlich ist die Validität bezüglich XML und Inhalt gesichert.

Datei einlesen, zeilenweise parsen --> gefundene Daten zwischenspeichern und am Ende alles in eine DTE und eine XML Datei umwandeln. Natürlich ExceptionHandling mit Email-Versand und der Cronjob.

Warum nicht: Empfang => MTA => Procmail => Transformierung durch Dein Programm => Procmail => MTA => Versand

Kein Cronjob, direkte Verarbeitung bei Empfang, keine Probleme mit Locking, da die Mail direkt und immer vollständig durch das System geht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Warum Strukturierte Analyse und kein OOP. Nunja ich finde, das es für so ein "Progrämmchen" mit 10Std Programmieraufwand es sich nicht lohnt objektorientiert zu arbeiten.

Ab wann lohnt es sich denn? Das ist ein 70-stündiges Projekt. Da programmiert man kein Officepaket, das ist klar. Dann wäre UML aber in jedem Abschlussprojekt überflüssig, denn die paar Stunden Unterschied bei den einzelnen Projekten macht es doch dann nicht aus, oder?

Mit dem Argument kann man auch ganz schön auf die Schnauze fliegen. Prüfungsfrage: "Ach so, wenn Sie das beurteilen können, dann haben Sie sicherlich schon größere Projekte mit UML umgesetzt. Was ist denn dann der Unterschied von statischen und dynamischen Diagrammen? Können Sie Beispiele nennen?".

Da das Programm genau 2x am Tag ausgeführt wird und nichtmal 1min läuft, finde ich den Punkt mit dem Interpreter nicht so gravierend.

Sehe ich auch so.

Ausserdem kenne ich mich mit Java und C im Allgemeinen recht gut aus und perl war für mich neu. (Ich will ja auch was beim Projekt lernen). Darüber hinaus hat mir die Benutzung von reg-Exp sehr gut in Perl gefallen.

Das ist aber kein Grund. Wenn ich als Kunde höre, dass der Entwickler das absichtlich so und so macht, weil er das noch nicht kann oder nicht kennt, dann würde mir eher mulmig werden. Es ist auch nicht das primäre Ziel des Abschlussprojekts etwas zu lernen, denn dazu hatte man vorher 3 Jahre lang Zeit und nun soll man zeigen, WAS man gelernt hat.

Von einem Handwerker erwarte ich auch, dass er aus meinen Aufträgen keine Experimente macht.

Sie soll klein, schnell und einfach zu warten sein und möglichst fehlerfrei laufen. Das ist wichtiger als Erweiterbarkeit und OOA.

Hört sich an, als sei OOA und Einfachheit/Schnelligkeit ein Widerspruch. Kleines Programm, wenig OOA. Wo ist das Problem? Die (langfristigen) Vorteile von UML sind belegbar. Einen großen Zeitverlust kann man eigentlich nur haben, wenn man sich erst noch einarbeiten muss.

Falsch. ich entwickele meine Software nach einer veralteten, aber immer noch gültigen Strategie. Bitte vergiss nicht das beide Analysen zugelassen sind.

Ich finde für meine Software ist die SA besser geeinget, da der Funktionsumfang des Programms nicht gigantisch ist und die modelierung wesentlich Einfacher ist.

Ich weis das persönliche Geschmäcker nicht darein gehören nur ich mag die UML nicht. Darum will ich es mit der SA machen.

Letztlich ist nichts "verboten", was zum Ergebnis führt. Von einem professionell arbeitenden Menschen erwartet man aber eigentlich, dass er mit zeitgemäßen Werkzeugen umzugehen weiß. Von dem besagten Handwerker erwartet man auch, dass er mit modernen Mitteln arbeitet. Du müsstest das für das Prüfungsgespräch schon begründen können, was denn da die herausragenden Vorteile der alten Methode sind.

Das Programm soll auch nicht unendlich erweitert werden. Es wird auch nicht die Daten selbst verschicken oder Prozesse parallel ablaufen lassen. Es wird immer genau eine Datei einlesen. Das wird sich nicht verändern.

Das sagst du heute. In zwei Jahren soll das Programm plötzlich geändert werden, damit es Daten mit einer weiteren Datei abgleicht. Und nun?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ab wann lohnt es sich denn? Das ist ein 70-stündiges Projekt. Da programmiert man kein Officepaket, das ist klar. Dann wäre UML aber in jedem Abschlussprojekt überflüssig, denn die paar Stunden Unterschied bei den einzelnen Projekten macht es doch dann nicht aus, oder?

Nunja. von den 70 Stunden sind genau 10 programmieren und 60Std Doku und Planung.

Das Projekt soll nicht gigantisch sein, sondern in den 10Std umsetzbar.

Warum eine Datei, wenn Du eine Mail hast, dann kannst Du diese direkt aus dem Mailserver verarbeiten z.B. via Procmail. Dann brauchst Du gar keinen Dienst + Cronjob !? Email kommt über den Server und wird dann von Procmail erkannt und an Dein Programm weiter gegeben.

Die Datei ist Vorgabe der Fachabteilung. Da soll ich nix dran machen. Es war auch angedacht einen kleinen Java-Server zu schreiben der auf dem Email-Socket lauscht und die ankommenden Daten verarbeitet. Das wurd aber wieder verworfen.

Soweit ich weis, wird das Umwandeln der Email in eine Datei schon heute von einem kleinen Prog gemacht(oder sowas), hab da nicht genau reingeschaut, da es ja nicht zu meinem Auftrag gehört.

Ausserdem kenne ich mich mit Java und C im Allgemeinen recht gut aus und perl war für mich neu. (Ich will ja auch was beim Projekt lernen). Darüber hinaus hat mir die Benutzung von reg-Exp sehr gut in Perl gefallen.

Natürlich. Ich würd das auch nicht in den Antrag schreiben =). Das war ein persönlicher Grund.

Sie soll klein, schnell und einfach zu warten sein und möglichst fehlerfrei laufen. Das ist wichtiger als Erweiterbarkeit und OOA.

Perl ist zwar oo fähig, jedoch finde ich das wesentlich unübersichtlicher. Ich programmier das Programm strukturiert. Ganz simpel. Von oben nach unten "ein Arbeitsschritt" mit ausgelagerten Funktionen.

Das sagst du heute. In zwei Jahren soll das Programm plötzlich geändert werden, damit es Daten mit einer weiteren Datei abgleicht. Und nun?

Da ich schon gestestet habe, wie das Prog mehrere Dateien einlesen soll, ist der Punkt schwächer, aber noch da ^^. Ich finde die Erweiterbarkeit beruht eher auf dem guten Konzept. An Hand dessen man die notwendigen Schritte (Und dann mit dem Bottom-Up-Prinzip) zur Erweiterung angehen kann.

DTE ist kein allgmeiner Begriff. Da müsstest Du schon mal mehr Infos liefern. Ist das eine CSV, binäres Format o.ä.

Nunja ich könnt dir jetzt das ganz genaue Format nach dem eine Verarbeitungsdatei aufgebaut werden muss, erörtern. Jedoch ist das wirklich wirklich uninteressant =).

Wichtig ist nur das ich bestimmte Daten aus der Email in bestimmte andere Formate z.B. Datum im Format TT MMM YYYY ins Format TT.MM.YYYY umwandeln muss. Die DTE Datei ist eine reine Textdatei!

Wenn DTE und XML größtenteils gleich sind, warum dann nicht aus den Daten einmal den XML Baum aufbauen und ihn dann einmal via XSLT in die DTE und einmal in die ZielXML transformieren? Vorteil davon ist, die Struktur des Baums kann validiert werden, die Transformation ist extrem flexibel gehalten und kann bei Änderungen sehr effizient geändert werden und zusätzlich ist die Validität bezüglich XML und Inhalt gesichert.

Der Aufbau ist komplett unterschiedlich. Die Daten müssen nur jeweils anders aufbereitet werden.

Z.B. Geldbetrag normal = 99,333.22 D|C =

Im DTE Format ist es 9933322 und im XML Format muss es +|-99333,22 sein.

Hört sich an, als sei OOA und Einfachheit/Schnelligkeit ein Widerspruch. Kleines Programm, wenig OOA. Wo ist das Problem? Die (langfristigen) Vorteile von UML sind belegbar. Einen großen Zeitverlust kann man eigentlich nur haben, wenn man sich erst noch einarbeiten muss.

Nein nicht zwangsläufig. Nur ich finde ein OOA-Konstrukt für so ein wirklich kleines Programm halt wie mit ner Pumpgun auf Läuse schießen.

Mit dem Argument kann man auch ganz schön auf die Schnauze fliegen. Prüfungsfrage: "Ach so, wenn Sie das beurteilen können, dann haben Sie sicherlich schon größere Projekte mit UML umgesetzt. Was ist denn dann der Unterschied von statischen und dynamischen Diagrammen? Können Sie Beispiele nennen?".

Sind statische Diagramme nicht solche die feste Strukturen abbilden, die sich nit verändern und dynamische, das Verhalten des Systems beschreiben?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sind statische Diagramme nicht solche die feste Strukturen abbilden, die sich nit verändern und dynamische, das Verhalten des Systems beschreiben?

Das ist in etwa richtig.

Also ich verstehe immer noch nicht, warum es nicht OOA/OOD/OOP sein soll. Wir sind nicht mehr in den 80ern oder 90ern, wo man vielleicht noch begründen musste, warum man OOP betreibt. Heute ist die Argumentation genau andersherum: Welchen triftigen Grund gibt es noch für strukturierte Programmierung? Nur weil es in Perl übersichtlicher zu sein scheint als OOP? Dann ist die Programmiersprache (vielleicht) schon ungeeignet!

OOP hat mit Geheimnisprinzip, Lokalität, Vererbung, Polymorphie, Modularität etc. unschlagbare Vorteile. Es gibt eine breite Werkzeugunterstützung, es ist standardisiert und für (fast) jeden Entwickler verständlich. Es gibt eine Reihe brauchbarer Softwaremaße im Zusammenhang mit OOP. Es gibt analytische Qualitätssicherungsmaßnahmen wie Unit-Tests. Man kann Testfälle aus OOA-Spezifikationen ableiten, die Fehlersuche wird erheblich vereinfacht, gute Erweiterbarkeit und und und.

Der einzige Grund für strukturierte Programmierung ist aus meiner Sicht, wenn es sich um ein Hochgeschwindigkeitsprogramm mit möglichst wenig Speicherverbrauch handeln soll. Da würde ich aber erstmal Perl gegen etwas anderes austauschen, bevor ich wegen der paar KB RAM auf OOP verzichte.

Naja, deine Entscheidung. Vielleicht überschätzen wir aber tatsächlich auch den Umfang des Programms. Ein Programm das derart klein ist, dass es sich nicht mal lohnt eine einzige Klasse zu schreiben, ist für einen FIAE aber vielleicht auch ungeeignet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nunja. von den 70 Stunden sind genau 10 programmieren und 60Std Doku und Planung.

Das Projekt soll nicht gigantisch sein, sondern in den 10Std umsetzbar.

Du verwechselst hier das Coding mit dem Projekt. Primär liegt es in der Planung, wie lange das Coding dauert. Du gehst hier, wie mir scheint, von Coding aus und das ist der falsche Ansatz.

Es war auch angedacht einen kleinen Java-Server zu schreiben der auf dem Email-Socket lauscht und die ankommenden Daten verarbeitet. Das wurd aber wieder verworfen.

Das ist wohl auch besser, denn wie sollte das funktionieren? Denn wenn Du einen eigenen Server implementieren solltest, dann hättest Du hier einen SMTP Server implementieren müssen.

Soweit ich weis, wird das Umwandeln der Email in eine Datei schon heute von einem kleinen Prog gemacht(oder sowas), hab da nicht genau reingeschaut, da es ja nicht zu meinem Auftrag gehört.

Wir kommen hier immer mehr in die wirklich wichtigen Details. Wenn Du dateibasiert arbeitest, dann entstehen hier ganz große Probleme (wie gesagt, wenn das eine Programm die Datei noch nicht fertig geschrieben hat bevor Dein Programm anfängt zu lesen). Nur weil das nicht direkt zu Deinem Auftrag gehört, ist dies nicht zu vernachlässigen, denn wenn Dein "Programm" zwar nach Definition arbeitet, aber im Realbetrieb nicht richtig funktioniert, dann wird dies letztendlich bei Dir wieder landen.

Perl ist zwar oo fähig, jedoch finde ich das wesentlich unübersichtlicher. Ich programmier das Programm strukturiert. Ganz simpel. Von oben nach unten "ein Arbeitsschritt" mit ausgelagerten Funktionen.

Genau an diesem Punkt würde ich Dir im Fachgespräch einige Fragen stellen. Wenn ich den Thread noch einmal auf mich wirken lassen, dann dann würde ich sagen, die Entscheidung für Perl ohne OOP ist, dass es Dir persönlich mehr liegt. Dies kann Dir im Projekt sprichwörtlich den Kopf kosten. Überlege Dir evtl noch einem sehr gut, ob Du Dir im Moment mit der "nicht-OOP" Variante nicht eher Probleme einfängst.

Wichtig ist nur das ich bestimmte Daten aus der Email in bestimmte andere Formate z.B. Datum im Format TT MMM YYYY ins Format TT.MM.YYYY umwandeln muss.

Nein das sind keine wichtigen Dinge, das ist ein bisschen handwerkliche Formatierung. Vom Konzept her kann ich das direkt automatisiert erledigen lassen.

Die DTE Datei ist eine reine Textdatei!

Dann kann ich dies mit Hilfe von XSLT und einer XML Beschreibung erledigen lassen. Schematisch gesehen ist das dann:

Urspungsdaten => XML Baum => XSLT + XML Beschreibung => Zielformat

Der Aufbau ist komplett unterschiedlich. Die Daten müssen nur jeweils anders aufbereitet werden.

Z.B. Geldbetrag normal = 99,333.22 D|C =

Im DTE Format ist es 9933322 und im XML Format muss es +|-99333,22 sein.

Das sind auch Details und würden nach der Idee, die ich Dir jetzt gegeben habe, in der Punkt "XML Beschreibung" sich unterscheiden. Sorry, aber das Du hier an Argumenten für Deine strukturierte Analyse anführst, sind alles Details, die innerhalb eines gutes Konzeptes in einen Punkt zusammen fassen kann.

Nur ich finde ein OOA-Konstrukt für so ein wirklich kleines Programm halt wie mit ner Pumpgun auf Läuse schießen.

Nein das stimmt nicht. Du verhedderst Dich Detailargumenten (siehe Datumsformatierung), anhand der OOP wäre dies das Objekt Datum + das Objekt Formatierung was sich letztendlich in das Objekt Zielformat abbilden lassen.

Sorry, aber aber ich komme immer zu dem Schluss, dass hier massive Punkte innerhalb der Planung nicht stimmen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich gebe dir ja Recht, das OOA wirklich gut ist.

ich programmier ja auch so hier, wenn ich an unserer Bankenportal arbeite. Voll und ganz, da geht mit SA nix mehr.

Der Aufwand des Programms ist ca genau 10 Std. +- 1. (Ich habs schon fertig).

Warum möchte ich keine Klassen benutzen bzw, warum bringt mir OOA nicht soviel.

Würde ich jetzte eine Software schreiben die 1000e (hätte auch seien können) Dateien verarbeitet, wäre ich sicherlich zu ooa und java oda ähnliches umgeschwenkt. Allein die Datenverwaltung wäre wesentlich einfach.

Doch genau aus diesem Grund mach ich SA. Es gibt genau 8 Variable, die Daten werden genau für diese zwei Dateien gebraucht, für nichts anderes(Ausser Logging maybe).

Ausserdem finde ich die perl-unterstützung von RegExp genial. Nit so wie bei c++ wo du dir ne lib nachladen musst.

Funktioniert einwandfrei und ohne probs.

Das Programm mag vielleicht klein sein, jedoch ist du Logik dahinter schon bissl mehr. Aber gut. Wir werden sehen was die IHK sagt. Ich bin gespannt.

Danke nochmals

Naja. Ich danke euch für eure Hilfe. Wirklich sehr toll =)

Ich werd den Antrag so jetzt abgeben und ma schaun. Vielleicht nehmen sie ihn ja nit an und dann muss ich eh nochma ran.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nur weil der Antrag angenommen wird, heißt das ja nicht, dass dich der PA dann nicht auseinander pflückt.

Die Problematik die ich hier sehe ist, du hast das Programm schon fertig geschrieben und willst jetzt irgendwie nen Antrag drum herum stricken. Und wenn das Programm wirklich so einfach und simpel ist wie du es beschreibst, versteh ich nicht, wie du da auf 60 Stunden Planung und Doku kommst. Also irgendwie wirkt das auf mich alles sehr gestellt und darauf ausgerichtet mit möglichst wenig Arbeit und einem fertigen Programm durch die Prüfung zu mogeln.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Aufwand des Programms ist ca genau 10 Std. +- 1. (Ich habs schon fertig).

Na, kein Wunder, dass alles auf den Kopf gestellt ist. Zu einem bereits vorhandenen Programm soll jetzt nachträglich die Planung und der Rest drangepappt wird.

Das Programm mag vielleicht klein sein, jedoch ist du Logik dahinter schon bissl mehr. Aber gut. Wir werden sehen was die IHK sagt. Ich bin gespannt.

Was soll das denn? Warum lässt du andere einen Projektantrag kommentieren, den du innerlich eh schon mit dir beschlossen hast?

Naja, dann viel Glück.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was soll das denn? Warum lässt du andere einen Projektantrag kommentieren, den du innerlich eh schon mit dir beschlossen hast?

Äh. bitte versteh mich nicht falsch. Ich hab die Kritik und die ganzen Posts gelesen.

Das Programm ist fertig so oda so. Es ist soga in Java fertig und soga mit SMTP-Server.

Nur das wird nicht auf einem linux minimal system laufen, wo wir revisions-bedingt nicht alle pakete installieren dürfen die wir wollen.

ich versuch den projektantrag so hinzukriegen das es schlüssig ist. das Programm ist nebensächlich und die infos wie ich was im prog mache, war damit ihr versteht was das ding überhaupt machen soll.

und ich versteh auch nit warum ihr , sry, die sa so hasst.

Also irgendwie wirkt das auf mich alles sehr gestellt und darauf ausgerichtet mit möglichst wenig Arbeit und einem fertigen Programm durch die Prüfung zu mogeln.

und das verbitte ich mir. Wieviel Arbeit ich in das hier gesteckt habe, davon hast du keine Ahnung.

Na, kein Wunder, dass alles auf den Kopf gestellt ist. Zu einem bereits vorhandenen Programm soll jetzt nachträglich die Planung und der Rest drangepappt wird.

Ich musste das Projekt früher anfangen, da es so von der Firma gewollt und benötigt wurde. Und was soll ich machen, wenn es kein aktuelles Projekt gibt was sich als AP lohnt? Soll ich mir eins aus den Fingern saugen? mhh?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hass gegenüber einer Methode wäre völlig unangebracht. Es ist aus heutiger Sicht nur nicht mehr ganz nachvollziehbar, warum man diese Methode wählen sollte.

Wenn man sich andere Bereiche anschaut, kann man manchmal nur den Kopf schütteln was man vor 30 Jahren noch modern fand. Die IT-Branche macht da keine Ausnahme und neigt wegen ihrer Schnelllebigkeit noch mehr dazu sich selbst zu überholen. Nicht alles was alt ist, ist schlecht. Dennoch sollte man Konzepte, Methoden und Werkzeuge hin und wieder auf den Prüfstand stellen.

Wie gesagt, wir erwarten von anderen Berufsgruppen ja auch, dass sie professionell und zeitgemäß (besonders bei gerade erst Ausgelernten!) arbeiten. Den gleichen Maßstab sollte man an sich selbst anlegen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ajo klar.

Nur ich sehe hier speziell beim dem Projekt oder bei dem Umfang den das Programm haben wird nicht den Nutzen von OOP. Ich mein Kapselung, Sicherheit, Vererbung und und und. Ist alles schön und gut. Doch ich sehe den Nutzen für das Programm nicht. Weil ich würde quasi nen Objekt erstellen, es füllen, daraus die Daten generieren und dann wegschmeißen, bzw das Programm beenden.

Ich mach mir heute nochma Gedanken und meld mich Morgen, je nach dem.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bis vor 20 Jahren spielte man auch auf WM-Niveau noch mit Libero im Fußball. Heute würde ein FC Bayern München selbst gegen einen Bezirksligisten nicht mit Libero spielen - es ist einfach veraltet. Es macht mehr Mühe und Umstand sich wieder in alte Begriffswelten und Methoden hineinzudenken, als einfach bei dem zu bleiben, was man kann und internalisiert hat. Es lässt für mich eher den Verdacht aufkommen, dass du mit UML bzw. OOA/OOD/OOP Probleme hast.

Letztlich muss derjenige, der mit veralteten Sachen arbeitet, auch damit rechnen, dass ihm die Schuld in die Schuhe geschoben wird, sobald es Probleme gibt.

Naja, die Diskussion ist an der Stelle wohl ausreichend geführt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallöchen. Da bin ich nochmal.

Also das Problem liegt nicht vollständig darin das das Programm schon fertig ist.

Das Problem liegt eher darin das wir in der BF die OOA gerade mal angerissen und die SA doch recht ausführlich gemacht haben. Des weiteren bin ich zum Entschluss gekommen das Programm nicht nochmals umzuschreiben auf Java oder C. Es bleibt Perl. Allein die Verarbeitung von RegExp ohne laden von libs ist genial. Genauso das kein Compiler notwendig ist. Perl ist auf unseren Servern standartmäßig installiert, genauso Java aber Objekte werden für die Art der sequenziellen Verarbeitung nicht gebraucht.

Da das Programm aber auch die Daten nicht im Speicher halten muss, für z.B. weiterführende Systeme oder Funktionen und es ein reines Textverarbeitungsprogramm ist, ist Perl sehr gut geeignet.

Mein Fazit. Leider wurde zuviel über SA und OOA disskutiert, aber nicht über den eigentlichen Antrag >:

Trotzdem Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es bleibt Perl. Allein die Verarbeitung von RegExp ohne laden von libs ist genial.

Wie stellst Du sicher, dass es sich um ein valides XML handelt?

Genauso das kein Compiler notwendig ist.

Diese Aussage ist falsch, denn ein Interpreter hat auch einen Compiler dabei, sonst würde er niemals den Code ausführen können und mit Hilfe eines Parsers und Lexers den Code auf korrekten Syntax prüfen können

Mein Fazit. Leider wurde zuviel über SA und OOA disskutiert, aber nicht über den eigentlichen Antrag >:

Nein das wurde nicht, es geht darum sinnvoll Dein Problem, das Du bearbeiten sollst fachlich zu differenzieren. Ich habe Dir einige Punkte genannt, die durchaus in einem Fachgespräch kommen können.

P.S.: Der Hinweis noch, da das Projekt schon durchgeführt wurde, ist es als Abschlussprojekt nicht zulässig und kann unter Umständen zu einem Nichtbestehen führen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie stellst Du sicher, dass es sich um ein valides XML handelt?

Zurzeit überprüf ich halt ob die Werte die extahiert wurden korrekt sind. Sprich richtiges Format oda allgemein ob die zu verwendenden Variablen leer sind. Nur wenn alle Daten vorhanden sind werden die Dateien erstellt. Dadurch gewährleiste ich das keine "kaputten" XML-Files erstellt werden.

Diese Aussage ist falsch, denn ein Interpreter hat auch einen Compiler dabei, sonst würde er niemals den Code ausführen können und mit Hilfe eines Parsers und Lexers den Code auf korrekten Syntax prüfen können

Ok ich hätte mich anders ausdrücken sollen.

Der Code muss nicht extra plattformspezifisch kompiliert werden.

P.S.: Der Hinweis noch, da das Projekt schon durchgeführt wurde, ist es als Abschlussprojekt nicht zulässig und kann unter Umständen zu einem Nichtbestehen führen.

Ich weis. Ich würd auch lieber ein neues Projekt machen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zurzeit überprüf ich halt ob die Werte die extahiert wurden korrekt sind. Sprich richtiges Format oda allgemein ob die zu verwendenden Variablen leer sind. Nur wenn alle Daten vorhanden sind werden die Dateien erstellt. Dadurch gewährleiste ich das keine "kaputten" XML-Files erstellt werden.

Dafür gibt es XSD oder DTD.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...