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
Upcoming SlideShare
Loading in …5
×

Prezentácia: Diplomový seminár

637 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
637
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Prezentácia: Diplomový seminár

  1. 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. 2. Hra na „hluchý telefón“
  3. 3. Vývoj softvéru
  4. 4. Automatizácia <ul><li>Automatizované testovanie, zostavovanie (build), priebežná integrácia (continuous integration), …
  5. 5. Architekt vytvorí návrh </li><ul><li>Dokument špecifikácie architektúry, ktorý programátor musí pochopiť a správne realizovať
  6. 6. Automatické generovanie dokumentácie a kostry architektúry </li></ul></ul>
  7. 7. Abstrakcia <ul><li>Programovacie paradigmy, framework-y, metaprogramovanie, ...
  8. 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. 9. Definícia na správnej úrovni abstrakcie a na jednom mieste </li></ul></ul>
  10. 10. Komunikácia <ul><li>Komunikácia vrámci vývoja softvéru </li><ul><li>So zákazníkom
  11. 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. 12. Zákazník nerozumie systému, vývojár zasa biznisu – tlmočník (analytik) </li></ul>
  13. 13. DDD <ul><li>Domain-Driven Design: Tackling Complexity in the Heart of Software, - Eric Evans
  14. 14. Doménový model
  15. 15. Všade prítomný jazyk
  16. 16. Vzory taktického návrhu </li><ul><li>Entity, Value Object, Service, Repository, Factory, Aggregate, …
  17. 17. Guardian.co.uk </li></ul></ul>
  18. 18. BDD
  19. 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. 20. Spracovanie – generovanie, interpretácia
  21. 21. Návrh – interné, externé
  22. 22. SQL – externý, textový, interpretovaný
  23. 23. BPMN – externý, grafický, generovanie
  24. 24. ActiveRecord – interný, textový </li></ul>
  25. 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. 26. PLE <ul><li>Inžinierstvo produktových línií
  27. 27. Rodina produktov
  28. 28. Model čŕt (Feature model)
  29. 29. „ stavebné kamene“ - platforma (Core assets)
  30. 30. Správa variantov (Variant Managment)
  31. 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. 32. MDSF a DSL Workbench
  33. 33. DSLDD <ul><li>Domain specific language driven development </li><ul><li>Agilná metodika vývoja
  34. 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. 35. Oblasť riadenia osobného času (personal time management) </li><ul><li>Webová aplikácia podporujúca techniku Pomodoro v Ruby on Rails
  36. 36. Desktopová aplikácia na správu úloh/agilného plánovania (?) v Java-e
  37. 37. Produktová linka </li></ul></ul></ul>
  38. 38. Otázky? Priestor na diskusiu ?
  39. 39. Ďakujem Vám za pozornosť! Gabriel Ščerbák 01.03.10

×