Nur Schall und Rauch?

690 Aufrufe

Veröffentlicht am

Die Folien zu meinem Vortrag auf der PyUnconf HH 2014 über die Verifikation von Entwürfen auf Basis systematisch formulierter Operationsbezeichner.

Veröffentlicht in: Software
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
690
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
43
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Nur Schall und Rauch?

  1. 1. Nur Schall und Rauch? Wie systematisch formulierte Namen im Alltag helfen können ... Jan Christian Krause (AKRA GmbH) auf der #pyunconfhh 2014
  2. 2. Wozu Namen?
  3. 3. Volkswagen Typ 2 T3 Quelle: http://www.vw-bulli.de/de/modelle/t3-bis-1990/modell-nachricht-detailansicht/article/vom-nutzfahrzeug-zum-pkw-t3-caravelle-und-t3- multivan/news-browse/1.html
  4. 4. Volkswagen Typ 2 T3? Quelle: http://de.wikipedia.org/wiki/Deutz-Fahr_Agrotron Nein!
  5. 5. Volkswagen Typ 2 T3? Quelle: Eigenes Foto Ja, aber mit Lücken ...
  6. 6. Volkswagen Typ 2 T3? Quelle: http://www.kaeferblog.com/vw-bus-t3-top-chop ?
  7. 7. Namen erlauben Verifikation. == VW Typ 2 T3 == Konzept Konkretes
  8. 8. Verben in Operationen (I)
  9. 9. Verben in Operationen (II) 1. get (74.790) 2. add (6.105) 3. create (4.929) 4. delete (4.769) 5. update (4.398) 6. send (3.176) 7. list (2.658) 8. check (1.944) 9. remove (1.861) 10. is (1.845) 11. load (1.762) 12. search (1.742) 13. run (1.727) 14. find (1.367) 15. echo (1.146) 16. submit (1.041) 17. save (1.018) 18. wait (949) 19. modify (944) 20. do (913) 21. validate (841) 22. register (836) 23. insert (728) 24. edit (701) 25. query (553) 26. retrieve (539) 27. process (535) 28. change (526) 29. test (524) 30. describe (500)
  10. 10. Verifikation durch Namen (von Operationen)
  11. 11. Was fehlt hier?
  12. 12. Typen von Operationen? Schema pro Operationstyp?
  13. 13. Typ: Sendende Operation (I) Eine sendende Operation informiert ein oder mehrere OBJECTs an einer oder mehreren DESTINATIONs über ein Ereignis. Die Benachrichtigung geschieht über eine MESSAGE eines bestimmten Typs (E-Mail, Brief, etc.) in einem bestimmten FORMAT. Die MESSAGE wird mit einem INSTRUMENT verschickt bzw. transportiert. Ein REPORT gibt an, ob die MESSAGE erfolgreich abgeschickt werden konnte oder nicht.
  14. 14. Typ: Sendende Operation (II) public void sendInvoice(Customer addressee, Order whatIsPaid) { // ... } def sendInvoice(self, addressee, whatIsPaid): # ... OBJECT Customer DESTINATION ? MESSAGE ? FORMAT ? INSTRUMENT ?
  15. 15. Typ: Sendende Operation (III) public void sendInvoice(Customer addressee, Order whatIsPaid) { // ... } def sendInvoice(self, addressee, whatIsPaid): # ... ERROR OBJECT ? ERROR DESTINATION ? ERROR MESSAGE ? ERROR FORMAT ? ERROR INSTRUMENT ?
  16. 16. Weitere Operationstypen ... Prüfende Operation Schlussfolgernde Operation Konvertierende Operation Erzeugende Operation Beschreibende Operation Duplizierende Operation Verbindende Operation Lesende Operation Zusammenführende Prototokollierende Operation Operation Berechnende Operation Parsende Operation Deponierende Operation Löschende Operation Rücksetzende Operation Suchende Operation Initiierende Operation Substituierende Operation Traversierende Operation
  17. 17. Unterm Strich ... Namen können die Verifikation eines SW-Entwurfes ermöglichen Standardisierung / Konventionen für Operationsnamen erforderlich Derzeitiger Katalog enthält 20 Operationstypen Katalog dokumentiert in meiner Dissertation unter http://ediss.sub.uni-hamburg.de/volltexte/2014/7022/
  18. 18. Fragen oder Anmerkungen? Twitter: @idocit Blog: idocit.blogspot.de Mail: jan-christian.krause@akra.de Skype: jan-christian_krause

×