Zum Inhalt springen

hbspike

Mitglieder
  • Gesamte Inhalte

    219
  • Benutzer seit

  • Letzter Besuch

Beiträge von hbspike

  1. Also. Ich hab mich mal was mit XML beschäftigt und bitte erklärt mir warum soetwas für mein Projekt bei der Größe sinnvoll ist:

     public DomXmlExample() {
    
            try {
    
                /////////////////////////////
    
                //Creating an empty XML Document
    
    
                //We need a Document
    
                DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
    
                DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
    
                Document doc = docBuilder.newDocument();
    
    
                ////////////////////////
    
                //Creating the XML tree
    
    
                //create the root element and add it to the document
    
                Element schema = doc.createElement("xs:schema");
    
                schema.setAttribute("xmlns:xs", "http://www.w3.org/2001/XMLSchema");
    
    
                Element sa = doc.createElement("xs:element");
    
    
                sa.setAttribute("name", "SettlementAdvicement");
    
    
                Element cT = doc.createElement("xs:complexType");
    
    
                Element sequence = doc.createElement("xs:sequence");
    
    
                Element SD = doc.createElement("xs:element");
    
                SD.setAttribute("name", "SettlementDate");
    
                SD.setAttribute("type", "xs:string");
    
                Element MID = doc.createElement("xs:element");
    
                MID.setAttribute("name", "MemberID");
    
                MID.setAttribute("type", "xs:string");
    
                Element REF = doc.createElement("xs:element");
    
                REF.setAttribute("name", "References");
    
                Element TA = doc.createElement("xs:element");
    
                TA.setAttribute("name", "TotalAmount");
    
    
                Element refCT = doc.createElement("xs:complexType");
    
                Element refSEQ = doc.createElement("xs:sequence");
    
                refSEQ.setAttribute("maxOccurs", "unbounded");
    
                Element FileID = doc.createElement("xs:element");
    
                FileID.setAttribute("name", "FileID");
    
                FileID.setAttribute("type", "xs:string");
    
                refSEQ.appendChild(FileID);
    
                REF.appendChild(refCT);
    
                refCT.appendChild(refSEQ);
    
                refSEQ.appendChild(FileID);
    
    
                sequence.appendChild(SD);
    
                sequence.appendChild(MID);
    
                sequence.appendChild(REF);
    
                sequence.appendChild(TA);
    
                cT.appendChild(sequence);
    
    
                sa.appendChild(cT);
    
                schema.appendChild(sa);
    
    
                doc.appendChild(schema);
    
                /////////////////
    
                //Output the XML
    
    
                //set up a transformer
    
                TransformerFactory transfac = TransformerFactory.newInstance();
    
                Transformer trans = transfac.newTransformer();
    
                trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
    
                trans.setOutputProperty(OutputKeys.INDENT, "yes");
    
    
                //create string from xml tree
    
                StringWriter sw = new StringWriter();
    
                StreamResult result = new StreamResult(sw);
    
                DOMSource source = new DOMSource(doc);
    
                trans.transform(source, result);
    
                String xmlString = sw.toString();
    
    
    
    
                //print xml
    
                System.out.println("Here's the xml:\n\n" + xmlString);
    
    }
    
    }
    
    

    und die Ausgabe ist:

    < xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >

    < xs:element name="SettlementAdvicement" >

    < xs:complexType >

    < xs:sequence >

    < xs:element name="SettlementDate" type="xs:string"/ >

    < xs:element name="MemberID" type="xs:string"/ >

    < xs:element name="References" >

    < xs:complexType >

    < xs:sequence maxOccurs="unbounded" >

    < xs:element name="FileID" type="xs:string"/ >

    < /xs:sequence >

    < /xs:complexType >

    < /xs:element >

    < xs:element name="TotalAmount"/ >

    < /xs:sequence >

    < /xs:complexType >

    < /xs:element >

    < /xs:schema >

    was kann ich damit jetzt machen? und vorallem wie krieg ich die daten darein? Brauch ich dazu ein passendes SettlementAdvicement Objekt? Mit dazu passenden Variable Namen?

    ich weis das das nit zum thema gehört nur ihr kennt euch damit ja scheinbar richtig gut aus ^^

  2. Dann ma ne kleine Gegenfrage:

    Du hast eine Datei der Form:

    REPORT: XXXXXXX-XXX DATE: 08 SEP 2009

    PAGE: 1 TIME: 08:34

    DELIVERY MEDIA: AT&T E-MAIL

    DESTINATION: XXXXXXX@XXXXXXX.DE

    TO TRANSFER AGENT: DZ BANK AG

    TRANSFER AGENT ID: XXXXXX

    TRANSFER AGENT BANK: DZ BANK AG

    CONTACT NAME: XXXXXX XXXXXXXX

    SETTLEMENT SERVICE NAME: XXX XXXXXX - XXXXX

    SETTLEMENT SERVICE ID: XXXXXXXX

    SETTLEMENT SERVICE TYPE: Regional

    SCHEDULED CUTOFF TIME: 09:00

    SCHEDULED SETTLEMENT CYCLE: 1

    SETTLEMENT BANK NAME: DEUTSCHE BANK AG

    SETTLEMENT DATE: 08 SEP 2009

    SETTLEMENT ACCOUNT NBR: XXXXXXXXX

    SETTLEMENT ROUTING NBR: DEUTDEFF

    AGENT ACCOUNT NUMBER: XXXXXXXXX

    BANK ROUTING NUMBER: GENODEFF1

    CURRENCY NAME: EURO

    CURRENCY CODE: EUR/978

    COUNTRY CODE: DEU

    VALUE DATE: 08 SEP 2009

    MEMBER NAME: EURO KARTENSYSTEME GMBH

    MEMBER ID: XXXXXX

    INTERNAL ID: XXXXXX

    Wie würdest du jetzt ohne reguläre Ausdrücke dir die Inhalte der zeilen member id , date , agent account number und sagen wir settlement service name herrausziehen?

  3. Du hast Recht. Ich kenn mich mit XML leider echt wenig aus.

    Ich hab quasi ne Spezifikation bekommen und eine Beispiel XML Datei. Die Beispiel XML Datei enthällt keinen Anfangs XML tag.

    [settlementAdvicement]

    [settlementDate]30.01.2011[/settlementDate]

    [MemberID]83147[/MemberID]

    [References]

    [FileID]0011105180000000035308888[/FileID]

    [FileID]0011105180000000035307777[/FileID]

    [FileID]0011105190000000035306666[/FileID]

    [FileID]0011105190000000035305555[/FileID]

    [FileID]0011105190000000035304444[/FileID]

    [FileID]0011105190000000035303333[/FileID]

    [FileID]0011105190000000035302222[/FileID]

    [FileID]0011105190000000035301111[/FileID]

    [/References]

    [TotalAmount]-1180448,22[/TotalAmount]

    [/settlementAdvicement]

    So sah sie aus.

    Bitte bedenke genauso wie bei meinem vorherigen post das [] = < > sind. Weil das Forum <> direkt als Tags erkennt und filtert.

  4. Mhh. Aber ich bau das XML ja händisch zusammen.

    $XML_Text = "[SettlementAdvicement]\n[SettlementDate]".$XML_settlement_date."[/SettlementDate]\n[MemberID]".$maestrte_Values[6]."[/MemberID]\n[References]\n";
    
    				foreach(@FileID){
    
    				$XML_Text = $XML_Text."[FileID]".$_."[/FileID]\n";
    
    				}
    
    $XML_Text = $XML_Text."[/References]\n[TotalAmount]".$XML_leadingSign.$XML_money_value."[/TotalAmount]\n[/SettlementAdvicement]";

    [ ] = < > , irgendwie wollte er die spitzen Klammern nit nehmen.

    Vielleicht bin ich grade etwas verpeilt. Nur wie genau soll da jetzt was falsch laufen, ausser wenn die Werte nicht stimmen?

  5. 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...

  6. 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

  7. 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.

  8. 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?

  9. 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.

  10. 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?

  11. 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 -.-

  12. 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.

  13. 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:

  14. 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

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...