Använder du rätt verktyg - Johan Hernefeldt och Emil Nordling

627 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
627
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Använder du rätt verktyg - Johan Hernefeldt och Emil Nordling

  1. 1. Använder du rätt verktyg? Att verktyga eller inte verktyga, det är frågan! Presentation på Agila Sverige 2009
  2. 2. Kundkontakt Presentation på Agila Sverige 2009
  3. 3. X == A X == B Tillståndsmaskin (ändlig) Presentation på Agila Sverige 2009 1 3 2
  4. 4. Kaffemaskinen Presentation på Agila Sverige 2009
  5. 5. Kaffemaskinen Presentation på Agila Sverige 2009 #inputs: i, j #prototype: FSM(type1 i, type2 j) #stateprefix: CoffeeMakerFSM_ digraph FSM {    Initialize -> Idle [label="Init_Ok"];       Idle -> No_coffee_grounds_error [label="There_is_no_coffee_grounds"];    Idle -> No_water_error [label="There_is_no_water"];    Idle -> Heat_water [label="User_has_requested_coffee"];       Heat_water -> Broken_heater_or_thermometer_error [label="Water_not_warm_after_2_mins"];    Heat_water -> Dispense_coffee_grounds [label="Water_is_warm"];    Dispense_coffee_grounds -> Pour_water [label ="Grounds_dispensed"];       Pour_water -> Stop_pouring_water [label="Poured_2_deciliters_of_water"];    Stop_pouring_water -> Idle [label="No_further_user_requests"]; }
  6. 6. Verktyg för kopplingen FSM - Kod Presentation på Agila Sverige 2009
  7. 7. Verktyg för kopplingen FSM - Kod Presentation på Agila Sverige 2009
  8. 8. Kaffemaskinen Presentation på Agila Sverige 2009
  9. 9. Kaffemaskinen Presentation på Agila Sverige 2009 #inputs: i, j #prototype: FSM(type1 i, type2 j) #stateprefix: CoffeeMakerFSM_ digraph FSM {    Initialize -> Idle [label="Init_Ok"];       Idle -> No_coffee_grounds_error [label="There_is_no_coffee_grounds"];    Idle -> No_water_error [label="There_is_no_water"];    Idle -> Heat_water [label="User_has_requested_coffee"];       Heat_water -> Broken_heater_or_thermometer_error [label="Water_not_warm_after_2_mins"];    Heat_water -> Dispense_coffee_grounds [label="Water_is_warm"];    Dispense_coffee_grounds -> Pour_water [label ="Grounds_dispensed"];       Pour_water -> Stop_pouring_water [label="Poured_2_deciliters_of_water"];    Stop_pouring_water -> Idle [label="No_further_user_requests"];    Stop_pouring_water -> Pour_milk [label ="User_has_requested_milk"];    Pour_milk -> Stop_pouring_milk [label="Poured_1_centiliter_of_milk"];    Stop_pouring_milk -> Idle [label="No_further_user_requests"]; }
  10. 11. Fördelar med verktyget Presentation på Agila Sverige 2009 <ul><li>Visuell DSL ger bra förståelse för programflödet </li></ul><ul><li>Kodgenerering tillsammans med designmönster ger bra modularitet </li></ul><ul><li>God testbarhet </li></ul><ul><li>Underlag till dokumentationen </li></ul><ul><li>Förändringar av programflödet är väldigt enkelt </li></ul><ul><li>Slipper skriva tråkig kod och får en kodutväxling på en faktor 10  </li></ul>
  11. 12. <ul><li>Automatisering är enkelt! </li></ul>Slutklämmen Presentation på Agila Sverige 2009
  12. 13. Presentation på Agila Sverige 2009 Never send a human to do a machine’s job…

×