Zum Inhalt springen

Abschlussprojekt | Grundidee


Henn0r

Empfohlene Beiträge

Hallo,

Ich habe nächstes Jahr im Frühling meine Abschlussarbeit und muss natürlich auch ein Abschlussprojekt machen. Nun mache ich mir seit einer gewissen Zeit Gedanken über das Thema der Projektarbeit.

Aus meinen Gedanken übrig geblieben sind 2 Projekte, welche beide ein kleines Problem haben (komm ich gleich zu), und ich würde gern Feedback zu diesen Ideen (Es ist noch kein ausformulierter Projektantrag) von euch hören, beispielsweise gute oder schlechte Idee, schwierigkeiten im Projekt oder ähnliche Themen...

====================================

Thema 1: Automatisierte Schnittstellendokumentation

Hintergrund / Ausgangssituation: Ich arbeite in einer Firma die im gröbsten Sinne eine Vergleichssoftware (Webbasiert) unseren Kunden zur Verfügung stellt. Diese Vergleichssoftware kann auch von Großkunden über unsere Schnittstelle angesprochen werden. Um diese Schnittstelle in ihren Möglichkeiten zu Dokumentieren pflegen wir derzeit eine Schnittstellenbeschreibung mit Altova. In dieser Pflegen und generieren wir unser Schema. Diese Schnittstellenbeschreibung benutzen wir Techniker ausschließlich Firmenintern. Desweiteren pflegen wir eine zweite Dokumentation im Textverarbeitungsprogramm von LaTeX, welche wir für unsere Kunden zusammenstellen.

Ist Zustand: Aufgrund der Technischen Dokumentation (in Altova), die wir Intern benutzen aber nicht an Kunden rausgeben und dadurch eine zweite Dokumentation in LaTeX pflegen, ist der Aufwand hierfür immens. Beide Tools werden manuell und per Hand gepflegt. Das Fehlerpotential ist dadurch sichtlich groß (Übertrag aus der Technischen Dokumentation in die Kundendokumentation).

Soll Zustand: Diese zwei manuellen Vorgänge auf einen Vorgang runterbrechen und den Übertrag in die LaTeX Dokuemtation automatisieren. Das heißt: Ich möchte ein Tool schreiben welches mir alle Möglichkeiten die wir in unserer Schnittstelle haben in ein XML generieren lassen und dieses XML auslesen und unser LaTeX Dokument damit befüllen.

Probleme: Mein Problem was ich in diesen Vorschlag derzeit sehe ist folgender: Altova bietet von Haus aus an, das es eine Schnittstellenbeschreibung aus dem Schema in ein Word Dokument erzeugt. Allerdings ist es von unserer Firmenstruktur so vorgesehen das wir weiterhin LaTeX benutzen um unsere Schnittstellenbeschreibung unseren Kunden zu schicken. Nun weiß ich bei dieser Grundidee nicht ob es sich von vorne herein beißt, da Altova mir ja die Möglichkeit bietet ein Dokument zu erzeugen. Die Angst ist daher groß das dieser Vorschlag abgelehnt werden könnte.

====================================

Thema 2: Automatisierte Schnittstellentest

Ist Zustand: Wie bereits im ersten Thema angesprochen, bieten wir unseren Kunden eine Schnittstelle zu unseren Tools an. Derzeit haben wir innerhalb unserer Firma den Missstand das wir keine automatisierten Testvorgänge für unsere Schnittstelle besitzen. Das heißt: Bei großen Releases müssen wir unsere gesamte Schnittstelle per Hand durchtesten ob diese noch richtig funktioniert. Dieses ist selbstverständlich ein sehr schlechter und aufwendiger Zustand.

Soll Zustand: Ein Tool entwickeln (Beispielsweise mithilfe von SoapUI für die Schnittstelle), welches unsere Schnittstelle nach einem Release bzw unseren Release Canditate auf funktionalität überprüft. Also Testfälle / Klassen für unsere Schnittstelle schreiben und diese auf Funktionalität prüfen. Optional schwebt mir noch der Gedanke vor das Tool Selenium mit in das Projekt mit aufzunehmen, welches mir eine Anbindung an die Oberfläche generiert. Falls dies nicht möglich ist bliebe nur eine Technische Übertpüfung ob die Schnittstelle noch "existiert".

Probleme: Bei dieser Idee habe ich Angst das der Anwendertechnische Part deutlich zuu kurz kommt. Leider muss ich auch gestehen das mein Kenntnisstand zu SoapUI recht gering ist und ich es noch nicht überblicken kann, wieviel dieses Tool von meiner Arbeit schon abnehmen könnte, außerdem habe ich das Gefühl das dies sich eher nach einen FISI Projekt sich dann anhört, wenn man 2 Tools miteinander konfiguriert und diese aufeinander abstimmt. Ich bin bei dieser Idee noch schwammig.

====================================

Dies waren nun meine beiden Grundsatzideen zu dem FIAE Abschlussprojekt. Meine persönliche Tendenz ist die Schnittstellendokumentation, denn dort habe ich den Vorteil ein Tool von Boden auf anfangen zu können (Ich laufe in keine Laufzeitfehler die auf Codebasen von 3ten steht) außerdem habe ich den Ablauf dort im großen und ganzen schon im Kopf, allerdings habe ich auch das Gefühl das der Zeitrahmen von 70std für das gesamte Projekt zu klein sein könnte.

Wie dem auch sei, über Anmerkungen zu den Ideen würde ich mich sehr freuen, natürlich auch ein "nein die Ideen sind völliger quatsch", dann aber natürlich mit Begründung :-).

Einen schönen Montag Abend wünsche ich dann noch

Liebe Grüße

Henrik

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zu Thema 1 würde ich sagen, da ist recht wenig zu machen, denn Eure Daten werden ja wohl als XML Struktur existieren, mit einer einfachen XSLT kannst Du Dir daraus den TeX Code generieren lassen.

Zu Thema 2 ist für mich die Frage, wer die Testcases generiert, d.h. wenn Du selbst die Testcases nicht generierst, was bleibt dann als Projekt !?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nabend Flashpixx,

Zum Thema 1:

Die Methodik von XSLT war mir nicht bekannt und ich werde mich diesbezüglich wohl noch weiter informieren müssen. Allerdings war die Idee hinter diesem Projekt das im Altova eben nur ein XML mit allen möglichen Einträgen erstellt wird, und ein Script, vermutlich PHP (welches meine Sprache ist, die ich auf der Arbeit einsetze) welches dieses eben abwickeln wird. Ob die realisierung mir XSLT abnimmt, muss ich noch prüfen. Wäre natürlich schade wenn die ProjektIdee hierdran schon scheitern sollte :/

Zu Thema 2:

Ja, die Cases würde natürlich ich erstellen müssen. Wobei hierbei unsere sehr umständliche Struktur es um einiges verschweren wird.

Sonstige Anmerkungen? :-)

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Methodik von XSLT war mir nicht bekannt und ich werde mich diesbezüglich wohl noch weiter informieren müssen. Allerdings war die Idee hinter diesem Projekt das im Altova eben nur ein XML mit allen möglichen Einträgen erstellt wird, und ein Script, vermutlich PHP (welches meine Sprache ist, die ich auf der Arbeit einsetze) welches dieses eben abwickeln wird. Ob die realisierung mir XSLT abnimmt, muss ich noch prüfen.

Es ist schon etwas her, dass ich mit Altova Produkten gearbeitet habe, aber meines Wissens müsstest Du nur eine XSLT schreiben, die eben aus Deiner gegebenen XML LaTeX Code erzeugt. Einen entsprechenden Prozessor bringt Altova schon mit, d.h. dann im Grunde nur XML laden, XSLT laden, Prozessor starten und man erhält de LaTeX Code. Wenn man das LaTex Dokument noch passend auftrennt, so dass man eben mehrere Dateien verwendet, dann wäre die Dokumentation schon "fast" automatisch zu erstellen. Selbst Diagramme wären mit TikZ and PGF | TeXample.net oder Welcome to MetaUML, UML for LaTeX/MetaPost kein Problem. Sollte der Code in einem SVN liegen kann man den Prozess via Script auch direkt automatisieren, so dass bei einem Branche o.ä. die Dokumentation direkt erzeugt wurd.

Ja, die Cases würde natürlich ich erstellen müssen. Wobei hierbei unsere sehr umständliche Struktur es um einiges verschweren wird.

Ich werfe einmal Boost Test Library bzw. JUnit in den Raum, wobei sich es dann wirklich "nur" um die Erzeugung von den Testfällen handelt (es gibt natürlich eine Vielzahl von Tools für das Problem). Ich sehe aber bei diesem Projekt fachliche Mängel, denn das erzeugen der Testcases macht im Grunde nur wirklich Sinn, wenn man eine Modellgetriebene Softwareentwicklung durchführt, ich gehe aber davon aus, dass das bei Dir nicht der Fall ist.

Denn Du wirst immer das Problem haben, wenn Du keine MDD hast, wie aussagekräftige sind Deine Tests. Das ist ein mathematisch / statistisches Problem, denn wenn Du für ein Problem keinen Testfall hast, existiert keine Aussage, umgekehrt musst Du auch sicherstellen, dass die Testfälle ebenfalls mit durch die Entwicklung gepflegt werden.

Das ist in meinen Augen eine Problemstellung, die sich viel weiter in die Produktentwicklung auswirkt, als es ein Abschlussprojekt je kann, hier ist einiges mehr an Wissen zur Softwareentwicklung / -design nötig, als ein paar Testcases zu erzeugen. Denn Du willst ja letztendlich mit Deinen Cases eine Aussage treffen können, ob das Produkt "fehlerfrei" ist.

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