Využitie doménovo špecifických jazykov v procese vývoja softvéru Diplomant : Školiteľ : Gabriel Ščerbák Peter Grec 01.03.10
Hra na „hluchý telefón“
Vývoj softvéru
Automatizácia <ul><li>Automatizované testovanie, zostavovanie (build), priebežná integrácia (continuous integration), …
Architekt vytvorí návrh </li><ul><li>Dokument špecifikácie architektúry, ktorý programátor musí pochopiť a správne realizo...
Automatické generovanie dokumentácie a kostry architektúry </li></ul></ul>
Abstrakcia <ul><li>Programovacie paradigmy, framework-y, metaprogramovanie, ...
Analytik identifikuje entity vystupujúce v systéme </li><ul><li>Jednoznačné pomenovanie, vytvorenie potrebných služieb v r...
Definícia na správnej úrovni abstrakcie a na jednom mieste </li></ul></ul>
Komunikácia <ul><li>Komunikácia vrámci vývoja softvéru </li><ul><li>So zákazníkom
V tíme </li></ul><li>Plánovacie hry, denné stretnutia (daily standup meetings), párové programovanie (pair programming), r...
Zákazník nerozumie systému, vývojár zasa biznisu – tlmočník (analytik) </li></ul>
DDD <ul><li>Domain-Driven Design: Tackling Complexity in the Heart of Software, - Eric Evans
Doménový model
Všade prítomný jazyk
of 15

Prezentácia: Diplomový seminár

Published on: Mar 4, 2016
Published in: Education      
Source: www.slideshare.net


Transcripts - Prezentácia: Diplomový seminár

  • 1. Využitie doménovo špecifických jazykov v procese vývoja softvéru Diplomant : Školiteľ : Gabriel Ščerbák Peter Grec 01.03.10
  • 2. Hra na „hluchý telefón“
  • 3. Vývoj softvéru
  • 4. Automatizácia <ul><li>Automatizované testovanie, zostavovanie (build), priebežná integrácia (continuous integration), …
  • 5. Architekt vytvorí návrh </li><ul><li>Dokument špecifikácie architektúry, ktorý programátor musí pochopiť a správne realizovať
  • 6. Automatické generovanie dokumentácie a kostry architektúry </li></ul></ul>
  • 7. Abstrakcia <ul><li>Programovacie paradigmy, framework-y, metaprogramovanie, ...
  • 8. Analytik identifikuje entity vystupujúce v systéme </li><ul><li>Jednoznačné pomenovanie, vytvorenie potrebných služieb v rôznych častiach systému
  • 9. Definícia na správnej úrovni abstrakcie a na jednom mieste </li></ul></ul>
  • 10. Komunikácia <ul><li>Komunikácia vrámci vývoja softvéru </li><ul><li>So zákazníkom
  • 11. V tíme </li></ul><li>Plánovacie hry, denné stretnutia (daily standup meetings), párové programovanie (pair programming), revízia kódu, retrospektívy, …
  • 12. Zákazník nerozumie systému, vývojár zasa biznisu – tlmočník (analytik) </li></ul>
  • 13. DDD <ul><li>Domain-Driven Design: Tackling Complexity in the Heart of Software, - Eric Evans
  • 14. Doménový model
  • 15. Všade prítomný jazyk
  • 16. Vzory taktického návrhu </li><ul><li>Entity, Value Object, Service, Repository, Factory, Aggregate, …
  • 17. Guardian.co.uk </li></ul></ul>
  • 18. BDD
  • 19. DSL <ul><li>Zväčša malý jazyk, formálne definovaný, nie nevyhnutne programovací, ktorý prináša hodnotu doménovým expertom </li><ul><li>biznis domény, technické domény </li></ul><li>Základné súčasti </li><ul><li>konkrétna, abstraktná syntax a sémantika </li></ul><li>Notácia – textová, grafická, tabuľková, ...
  • 20. Spracovanie – generovanie, interpretácia
  • 21. Návrh – interné, externé
  • 22. SQL – externý, textový, interpretovaný
  • 23. BPMN – externý, grafický, generovanie
  • 24. ActiveRecord – interný, textový </li></ul>
  • 25. MDSD <ul><li>I nformácie zachytené v modeloch </li><ul><li>UML diagramy, XML konfigurácia, doménovo špecifické jazyky, ... </li></ul><li>Transformácie spracujúce modely </li><ul><li>program, ktorý načíta model a upraví ho alebo vytvorí nový </li></ul><li>Generátory vytvárajúce zdrojové kódy z modelov </li><ul><li>šablóny, interpretátor, kompilátor, ... </li></ul></ul>
  • 26. PLE <ul><li>Inžinierstvo produktových línií
  • 27. Rodina produktov
  • 28. Model čŕt (Feature model)
  • 29. „ stavebné kamene“ - platforma (Core assets)
  • 30. Správa variantov (Variant Managment)
  • 31. Riadiace panely lietadiel a lodí, softvér v mobilných telefónoch, integrované systémy v elektronike, integrované systémy v automobiloch… </li></ul>
  • 32. MDSF a DSL Workbench
  • 33. DSLDD <ul><li>Domain specific language driven development </li><ul><li>Agilná metodika vývoja
  • 34. Založená na spomenutých technikách implementovaných pomocou doménovo špecifických jazykov a modelom riadeného vývoja softvéru
  • 35. Oblasť riadenia osobného času (personal time management) </li><ul><li>Webová aplikácia podporujúca techniku Pomodoro v Ruby on Rails
  • 36. Desktopová aplikácia na správu úloh/agilného plánovania (?) v Java-e
  • 37. Produktová linka </li></ul></ul></ul>
  • 38. Otázky? Priestor na diskusiu ?
  • 39. Ďakujem Vám za pozornosť! Gabriel Ščerbák 01.03.10