0
From Systems to SoftwareThe Digital Machine№ 2, Design of Digital MachinesTim Sheiner0.5beta 2013 This work by Tim Sheiner...
Begin with a definition...0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 Unite...
A system is an interconnected set            of elements that is coherently            organized in a way that achieves   ...
Make an assumption...0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United Sta...
These real systems...0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United Sta...
...can be abstracted to this form:            1. Objects            2. Relationships                                      ...
In practice, how is this done?0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 U...
Step 1: define the abstraction          1. Observe the world          2. Learn the terminology          3. Find the curren...
Step 2: abstraction to machine model                                                                                      ...
The machine has a standard form                                   Controller                                              ...
What is the MVC idea?The idea is separation of function.The value is• modularity                                          ...
What is the MVC idea?The idea is separation of function.The value is• modularity                                          ...
What is the MVC idea?The idea is separation of function.The value is• modularity                                          ...
What is the MVC idea?The idea is separation of function.                                                                  ...
MVC is everywhere in digital machinesThe MVC concept is relevant tothe well-designed machine                              ...
The MVC Cycle                                                                                                            C...
The MVC Cycle                                                                                                            C...
The Design Problem = MVC + User                                                                                           ...
The Design Problem = MVC + User                                                                                           ...
The Design Problem = MVC + User                                                                                           ...
The Design Problem = MVC + User                                                                                           ...
The Design Problem = MVC + User                                                                                           ...
The models answer these questions0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3....
The models answer these questions                                 What does the machine do?                               ...
The models answer these questions                                 What does the machine do?                               ...
The models answer these questions                                 What does the machine do?                               ...
The models answer these questions                                 What does the machine do?                               ...
Correspondence between digital machineand the models                                                                      ...
fin0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.         19
Upcoming SlideShare
Loading in...5
×

From Systems to Software

346

Published on

#2 in my series, Design of Digital Machines

Introduces the process for modeling real world systems in software. Makes the connection between the machine model and the model-view-controller pattern.

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

  • Be the first to like this

No Downloads
Views
Total Views
346
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "From Systems to Software"

  1. 1. From Systems to SoftwareThe Digital Machine№ 2, Design of Digital MachinesTim Sheiner0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.
  2. 2. Begin with a definition...0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 2
  3. 3. A system is an interconnected set of elements that is coherently organized in a way that achieves something. Donella Meadows, Thinking in Systems0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 3
  4. 4. Make an assumption...0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 4
  5. 5. These real systems...0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 5
  6. 6. ...can be abstracted to this form: 1. Objects 2. Relationships A 3. Currency 4. Boundary 5. Purpose Output C Input B D0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 6
  7. 7. In practice, how is this done?0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 7
  8. 8. Step 1: define the abstraction 1. Observe the world 2. Learn the terminology 3. Find the currency 4. See relationships 5. Compare to archetypes 6. Play with the puzzle 7. Settle on simple0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 8
  9. 9. Step 2: abstraction to machine model Machine Model • Conceptual Model Software Machine • Object Model • Interaction Model • Data Model A Output C Input B D0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 9
  10. 10. The machine has a standard form Controller This is the digital machine. All digital machines are of this form. View Model A Output C Input B D0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 10
  11. 11. What is the MVC idea?The idea is separation of function.The value is• modularity Controller• flexibility• data integrity View Model0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 11
  12. 12. What is the MVC idea?The idea is separation of function.The value is• modularity Controller• flexibility• data integrity View Model observer0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 11
  13. 13. What is the MVC idea?The idea is separation of function.The value is• modularity Controller• flexibility• data integrity View Model observer recorder0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 11
  14. 14. What is the MVC idea?The idea is separation of function. mediatorThe value is• modularity Controller• flexibility• data integrity View Model observer recorder0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 11
  15. 15. MVC is everywhere in digital machinesThe MVC concept is relevant tothe well-designed machine View Controller Modelliterally, conceptually, tactically,strategically and at every level of Show Do Saveanalysis. Objects Actions Memory Observer Mediator Recorder Presentation Event Structure Front End Middle Tier Back End Interface Application Database CSS Javascript HTML0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 12
  16. 16. The MVC Cycle Controller View Model0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 13
  17. 17. The MVC Cycle Controller request request component state update update report confirm event state change View Model0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 13
  18. 18. The Design Problem = MVC + User Controller View Model0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 14
  19. 19. The Design Problem = MVC + User Controller View Model0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 14
  20. 20. The Design Problem = MVC + User Controller View Model0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 15
  21. 21. The Design Problem = MVC + User Controller feedback View Model action0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 15
  22. 22. The Design Problem = MVC + User Controller feedback View Model action We use models to design this system.0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 16
  23. 23. The models answer these questions0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  24. 24. The models answer these questions What does the machine do? Conceptual Model Concept How do I change the output? Interaction Model Flow How does it work? Object Model Structure How are the parts related? Data Model Inheritance0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  25. 25. The models answer these questions What does the machine do? Conceptual Model Concept How do I change the output? Interaction Model Flow How does it work? Object Model Structure How are the parts related? Data Model Inheritance0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  26. 26. The models answer these questions What does the machine do? Conceptual Model Concept How do I change the output? Interaction Model Flow How does it work? Object Model Structure How are the parts related? Data Model Inheritance0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  27. 27. The models answer these questions What does the machine do? Conceptual Model Concept How do I change the output? Interaction Model Flow How does it work? Object Model Structure How are the parts related? Data Model Inheritance0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  28. 28. Correspondence between digital machineand the models object model Input Controller Output View Model Digital Machine interaction model data model conceptual model Each sub model applies most directly to one aspect of the MVC machine. Of course, the well designed machine will have pieces of all the models throughout the entire system.0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 18
  29. 29. fin0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 19
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×