Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pydica - eine Open-Source-Pla­ttform zum Scanne...

Avatar for Daniel Szoska Daniel Szoska
November 01, 2012

Pydica - eine Open-Source-Pla­ttform zum Scannen und Validieren von Formularen in Python

Vortrag auf der PyCon DE 2012

Avatar for Daniel Szoska

Daniel Szoska

November 01, 2012
Tweet

Other Decks in Business

Transcript

  1. Pydica-Projektpartner • Auftraggeber: Daniel Szoska (Rechenzentrum für Berliner Apotheken Stein

    & Reichwald GmbH) • Projektleitung: Veit Schiele • Programmierung: Christian Tismer
  2. Anforderungen • Berücksichtigung des deutschen Datenschutzgesetzes • skalierbare und komponentenbasierte

    Architektur • Administration und Monitoring • Effektive Bedienbarkeit
  3. Entwicklung als OSS Vorteile für die Anwender • Software kann

    vor dem Einsatz umfassend getestet werden. • Unabhängigkeit von einem Hersteller und dessen Geschäftsentwicklung. • Möglichkeit, auf den Entwicklungsprozess Einfluss nehmen zu können. • Einfache Weitergabe der Daten an andere Systeme durch offene und erweiterbare Interfaces.
  4. Entwicklung als OSS Vorteile für den Auftraggeber • erleichtert das

    Marketing - Vertrauensvorschuss • vereinfacht die Distribution: Download, Fork • mehr Aufträge in den Bereichen: • Scanning als eigenständigen Service • manuelle Überprüfung der Dokumente des Kunden • Schulungen, Handbücher • Anpassungen - Scanner-Treiber, Validatoren, ... • Hosting (SaaS)
  5. Überprüfen (Server-Validator) Das Modul übernimmt folgende Aufgaben: • Zeichen- und

    Felderersetzungen • feldbezogene Validatoren • feldübergreifende Validatoren • Auswahl eines Form-Sets
  6. Überprüfen (Server-Validator) Feldbezogene Validatoren: Überprüfung der Feldinhalte … Beispiele: •

    … nach Datentypen, z. B. Datum, Integer, minimale und maximale Werte • … nach Prüfziffern • … nach Datenbankabfragen, z.B. nach Produkt- oder Kundennummern • … nach regulären Ausdrücken
  7. Überprüfen (Server-Validator) feldübergreifene Validatoren: Überprüfen die Konsistenz zwischen verschiedenen Feldern

    Beispiele: • Summenprüfung auf einer Rechnung • früheres oder gleiches Datum • maximale Differenz zwischen zwei Datumswerten
  8. Überprüfen (Server-Validator) Auswahl eines Form-Sets: Form-Set: Dienen dem Abbilden von

    Unterschieden bei ansonsten gleichen Formularen. Beispiele: • Datum steht an einer anderen Stelle • Inhalt einzelner Felder hat eine andere Bedeutung ➡ Es wird das Form-Set ausgewählt, welches die wenigsten Korrekturen erfordert.
  9. • Das GUI wird Qt/PySide implementiert. • Das Formular-Layout wurde

    mit dem Qt Designer erstellt, die Gestaltung der Elemente erfolgt durch CSS-Dateien. • Die Weiterentwicklung erfolgte hybrid: • Das mit dem Qt Designer generierte Formular bleibt unverändert. • Funktionale Erweiterungen werden grundsätzlich aus den Klassen und Methoden des generierten Formulars abgeleitet. Bestätigen (Client-Validator)
  10. Bestätigen (Client-Validator) Gedanken zur Gestaltung des User-Interfaces • Ein großer

    Abstand zwischen Image und Text verlangsamt die Überprüfung. • Durch die heute üblichen großen Monitore mit hoher Auflösung kann ein sehr guter Überblick gegeben werden. • Das Originalbild wird links dargestellt und rechts daneben der zu korrigierende Text im annähernd selben Layout. • Anzeige von leicht verständlichen Statusmeldungen mit den Gründen für die manuelle Überprüfung.