FileMaker Konferenz2010                 Programmstrukturen -- FileMaker                  Skripten nicht nur für Experten  ...
FileMaker Konferenz2010                                                 Einführung              Programmieren             ...
Volker Krambrich         NORSULT Database Professionals         •    FileMaker seit 1989         •    FMK seit 2010       ...
Was istProgrammieren?Programmierung (von griechisch  prógramma „Vorschrift“) bezeichnet  die Tätigkeit, Computerprogramme ...
Algorithmen    Eine Berechnungsvorschrift zur Lösung eines Problems    heißt genau dann Algorithmus, wenn eine zu dieser  ...
Algorithmen →  ProgrammeDr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 SalzburgProgrammstrukturen -...
Algorithmen →  Programme                          Anfang                            EndeDr. Volker Krambrich, NORSULT     ...
Algorithmen →  Programme                          Anfang                  Vorbereitung                  Durchführung      ...
Algorithmen →  Programme                          Anfang                                             Prüfung der Eingabe  ...
Praktische Anforderungen   an FileMaker-Programme              Qualitätskriterien:                •                Korrekt...
Was werden wir                           machen?         •     erste Schritte:               Einen Schalter umlegen       ...
Demo 1Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMak...
Was werden wir                           machen?         ✓erste Schritte:                    Was soll das?               E...
Was soll man machen?Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- Fi...
Was soll man machen?                                             Prüfung der EingabeDr. Volker Krambrich, NORSULT         ...
Was soll man machen?                                             Prüfung der Eingabe                                      ...
Was soll man machen?                                             Prüfung der Eingabe                                      ...
Was soll man machen?                                             Prüfung der Eingabe                                      ...
Was soll man machen?                                             Prüfung der Eingabe                                      ...
Was soll man machen?                                             Prüfung der Eingabe                                      ...
Was soll man machen?                              tf re i!       Prüfung der Eingabe                         nte x        ...
Was soll man machen?         •     Keep your programs DRY               *) Don‘t Repeat Yourself         •     Ein Script ...
KommentierenDr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker ...
Kommentieren         •     Standard: Wer hat wann was warum gemachtDr. Volker Krambrich, NORSULT                 FileMaker...
Kommentieren         •     Standard: Wer hat wann was warum gemacht         •     Das nicht Offensichtliche beschreibenDr....
Kommentieren         •     Standard: Wer hat wann was warum gemacht         •     Das nicht Offensichtliche beschreiben   ...
Kommentieren         •     Standard: Wer hat wann was warum gemacht         •     Das nicht Offensichtliche beschreiben   ...
Kommentieren         •     Standard: Wer hat wann was warum gemacht         •     Das nicht Offensichtliche beschreiben   ...
Arbeitstechniken         •     Kommentieren         •     Planen und dokumentieren             •     Prosa, Skizzen, Diagr...
Arbeitstechniken         •     Kommentieren         •     Planen und dokumentieren             •     Prosa, Skizzen, Diagr...
Special                                             Script UniverseDr. Volker Krambrich, NORSULT                          ...
ArbeitstechnikenBeispiel: Programmentwurf  Nassi-Shneidermann diagrammeDr. Volker Krambrich, NORSULT                  File...
ArbeitstechnikenBeispiel: Programmentwurf, zwei Modelle  Flussdiagramm vs. Nassi-Shneidermann diagrammeDr. Volker Krambric...
Was werden wir                           machen?         ✓erste Schritte:               Einen Schalter umlegen            ...
FEIM                                             FileExportImportMngr            FEIM File Export- and               Impor...
FEIM File Export- and               Import-ManagerDr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Sa...
V.1.2 (16.2.2012) vk               Create Offers and Reservations to be               synchronized with external system    ...
Repeat for all rows          and check completeness            Check for completeness                                     ...
Diagram Export Winpos XML                                                            FEIM                           Exampl...
…und in FileMakerDr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileM...
…und in FileMaker                                        1FileReference                                            1 Skrip...
Demo 2Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMak...
FileMaker Konferenz2010                   Vielen Dank unseren Sponsoren      Danke für das Bewerten dieses Vortrages    Dr...
Nächste SlideShare
Wird geladen in …5
×

FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …

1.307 Aufrufe

Veröffentlicht am

Ein Vortrag im Rahmen der FileMaker Konferenz 2012 in Salzburg.

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.307
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
76
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …

    1. 1. FileMaker Konferenz2010 Programmstrukturen -- FileMaker Skripten nicht nur für Experten Neue und moderne Programmierkonzepte für FileMaker Entwickler. * Dr. Volker Krambrich, NORSULT Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    2. 2. FileMaker Konferenz2010 Einführung Programmieren Konzepte aus modernen Programmiersprachen (zum Beispiel Java, Objective C…) kann man auch in FileMaker brauchen: • Kapselung, • Information hiding, • Methoden, • Vererbung. Daneben gibt es Arbeitstechniken wie Dekomponieren (Decomposition), und methodische Ansätze ( Algorithmische Optimierung) die vorgestellt werden. Die Idee „generischer Scripte“ oder „generischer Operationen” ist jedem Entwickler vertraut. Der ScriptSchritt ,Neuer Datensatz‘ ist ein typisches Beispiel. Wie funktioniert das und wie können wir etwas ähnliches selbst bauen? Ich werde zeigen und erklären, was man darunter versteht, warum Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    3. 3. Volker Krambrich NORSULT Database Professionals • FileMaker seit 1989 • FMK seit 2010 • zertifiziert als Entwickler und Trainer • Linguist und Informatiker • dr.filemaker@mac.comDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    4. 4. Was istProgrammieren?Programmierung (von griechisch prógramma „Vorschrift“) bezeichnet die Tätigkeit, Computerprogramme zu schreiben. Dies umfasst vor allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode und, je nach verwendeter Programmiersprache, dessen Übersetzung in die Maschinensprache. (Wikipedia)Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    5. 5. Algorithmen Eine Berechnungsvorschrift zur Lösung eines Problems heißt genau dann Algorithmus, wenn eine zu dieser Berechnungsvorschrift äquivalente Turingmaschine existiert, die für jede Eingabe, die eine Lösung besitzt, stoppt.Aus dieser Definition sind folgende Eigenschaften einesAlgorithmus ableitbar: 1. Das Verfahren muss in einem endlichen Text eindeutig beschreibbar sein (Finitheit). 2. Jeder Schritt des Verfahrens muss tatsächlich ausführbar sein (Ausführbarkeit). 3. Das Verfahren darf zu jedem Zeitpunkt nur endlich viel Speicherplatz benötigen (Dynamische Finitheit, siehe Platzkomplexität). 4. Das Verfahren darf nur endlich viele Schritte benötigen (Terminierung, siehe auch Zeitkomplexität).Darüber hinaus wird der Begriff Algorithmus in praktischenBereichen oft auf die folgenden Eigenschaften eingeschränkt: 1. Der Algorithmus muss bei denselben Voraussetzungen das gleiche Ergebnis liefern (Determiniertheit). 2. Die nächste anzuwendende Regel im Verfahren ist zu jedem Zeitpunkt eindeutig definiert (Determinismus).Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    6. 6. Algorithmen → ProgrammeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    7. 7. Algorithmen → Programme Anfang EndeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    8. 8. Algorithmen → Programme Anfang Vorbereitung Durchführung Abschluss EndeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    9. 9. Algorithmen → Programme Anfang Prüfung der Eingabe Vorbereitung Prüfung der Zulässigkeit Durchführung Prüf. d. Durchführbarkeit Abschluss Versuch Durchführung Kontrolle Durchführung Ende Ergebnis liefernDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    10. 10. Praktische Anforderungen an FileMaker-Programme Qualitätskriterien: • Korrektheit • Robustheit • Wartbarkeit • Performanz Effizient programmiert •(richtige) ArbeitsmittelDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    11. 11. Was werden wir machen? • erste Schritte: Einen Schalter umlegen • Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import ManagerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    12. 12. Demo 1Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    13. 13. Was werden wir machen? ✓erste Schritte: Was soll das? Einen Schalter umlegen • Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import ManagerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    14. 14. Was soll man machen?Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    15. 15. Was soll man machen? Prüfung der EingabeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    16. 16. Was soll man machen? Prüfung der Eingabe Prüfung der ZulässigkeitDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    17. 17. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. DurchführbarkeitDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    18. 18. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch DurchführungDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    19. 19. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch Durchführung Kontrolle DurchführungDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    20. 20. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch Durchführung Kontrolle Durchführung Ergebnis liefernDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    21. 21. Was soll man machen? tf re i! Prüfung der Eingabe nte x Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Ko Versuch Durchführung Kontrolle Durchführung Ergebnis liefernDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    22. 22. Was soll man machen? • Keep your programs DRY *) Don‘t Repeat Yourself • Ein Script für eine Problemklasse! • Mach es gut und richtig – einmal! • Nichts einbauen, was nicht zum Problem gehört. • Kommentieren!Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    23. 23. KommentierenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    24. 24. Kommentieren • Standard: Wer hat wann was warum gemachtDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    25. 25. Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreibenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    26. 26. Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhaltenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    27. 27. Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhalten • Für wen?Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    28. 28. Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhalten • Für wen? • Für Mich! Ich bin wahrscheinlich der andere Entwickler der in zwei Monaten reinschaut…Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    29. 29. Arbeitstechniken • Kommentieren • Planen und dokumentieren • Prosa, Skizzen, Diagramme • Werkzeuge benutzen • DDR, CrossCheck, BaseElements, Inspector • Das Web als Hilfe und Anregung benutzenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    30. 30. Arbeitstechniken • Kommentieren • Planen und dokumentieren • Prosa, Skizzen, Diagramme • Werkzeuge benutzen • DDR, CrossCheck, BaseElements, Inspector • Das Web als Hilfe und Anregung benutzenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    31. 31. Special Script UniverseDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    32. 32. ArbeitstechnikenBeispiel: Programmentwurf Nassi-Shneidermann diagrammeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    33. 33. ArbeitstechnikenBeispiel: Programmentwurf, zwei Modelle Flussdiagramm vs. Nassi-Shneidermann diagrammeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    34. 34. Was werden wir machen? ✓erste Schritte: Einen Schalter umlegen Anwendung ✓Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import ManagerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    35. 35. FEIM FileExportImportMngr FEIM File Export- and Import-Manager • Ein Kunde hat ein komplexes, gewachsenes FM System • Das System kommuniziert mit anderen Systemen • Es wird mit internen und externen Servern verbunden • Es wurden > 280 einzelne Kontaktskripten entdeckt • Die Architektur war zu unflexibel • Was tun?Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    36. 36. FEIM File Export- and Import-ManagerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    37. 37. V.1.2 (16.2.2012) vk Create Offers and Reservations to be synchronized with external system The overall data model says that each object (offer or reservation) can have one or many positions; An offer refers to an (public, externally known) client. An OfferRow points to the containing Offer and one product, that must be both internally Client Product Offer OfferRow the model implicitly states that 1) Clients and Products are mutually known and for both system identifiably tagged, 2) the idea of an offer must be compatible. In SAP e.g. each offer contains only one row from our picture, combined with data that we store in Offer. This will need to be reflected in the supporting routines. Add New! Begin Statusfields in tables Offer OfferRow Revoke the mark to be Storage LastRun Storage LastRun enter an offer manually synched open no RunID local no RunID Set offer This status combination means| the offer has never been to be opened to the external system and all local editing is allowed, synched Transition including deletion of rows and offers without outside effect. Repeat for all rows affects here! and check completeness Check for completeness Check for status Set AddOffer marker Revoke AddOffer marker local no RunID Close and lock the offer local no RunID Re-open the offer, editing (editing of certain parts is of all parts is allowed still allowed) This status combination means| the offer has never been opened to the external system and all local editing is allowed, including deletion of rows and offers without outside effect, also the SetToBeSynched maybe revoked, still. End. In the above state an offer or reservation respectively may be set to "Open to SAP" if at least one complete row is filled in. Further business rules as to what complies with completeness in terms of SAP have still to be defined! Export New! Begin Statusfields in tables Offer OfferRow select all new to be Storage LastRun Storage LastRun added local no RunID local no RunIDDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen foundFileMaker Skripting… FEIM -- any? Yes call $Current RunID www.filemaker-konferenz.com getFileName w RunID
    38. 38. Repeat for all rows and check completeness Check for completeness Check for status Set AddOffer marker Revoke AddOffer marker local no RunID Close and lock the offer local no RunID Re-open the offer, editing (editing of certain parts is of all parts is allowed still allowed) This status combination means| the offer has never been opened to the external system and all local editing is allowed, including deletion of rows and offers without outside effect, also the SetToBeSynched maybe revoked, still. End. In the above state an offer or reservation respectively may be set to "Open to SAP" if at least one complete row is filled in. Further business rules as to what complies with completeness in terms of SAP have still to be defined! Export New! Begin Statusfields in tables Offer OfferRow select all new to be Storage LastRun Storage LastRun added local no RunID local no RunID call FEIM found any? Yes $Current RunID getFileName w RunID No call FEIM success? write export file xxxADD.xls tellNoExport w reason No No success? Yes Transition affects here call FEIM call FEIM all status fields! doRollback w ErrorID doCommit Change status in exported Records End. More than one process exporting and reporting to FEIM may access and modify records. The saved RunID must thus be synch $current RunID synch $current RunID constructed as a combined value from ProcessID and $currentRunID. Only then can a process and file be determined uniquely.Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    39. 39. Diagram Export Winpos XML FEIM Example Nassi-Shneiderman / 20120220 gbn Initialize process setting Set Focus (Layout) Find records to export Records found and no error Yes No Call Feim GetFileName Got filename Yes No export records Call OK ? Yes No Call Feim Commit Error to report ? Yes No Call Feim Rollback No records found ? Yes No Call Feim Call NoRecordsfoundDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    40. 40. …und in FileMakerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    41. 41. …und in FileMaker 1FileReference 1 Skript 1 Customfunction FEIMDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    42. 42. Demo 2Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
    43. 43. FileMaker Konferenz2010 Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com

    ×