The Object Model

640 views

Published on

#5 in my series, Design of Digital Machines

Describes what a object model is, what an object is, visualization standards, and object modeling challenges.

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
640
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

The Object Model

  1. 1. Object ModelHow does this thing work?№ 5, 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. The four sub models of the machine object model Input Controller Output View Model Digital Machine interaction model data model conceptual model The object model corresponds most closely to the controller.0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 2
  3. 3. How does the thing work?The object model defines system logic๏ what are the functional objects and what do they do?๏ how are these objects connected to each other?๏ what is the currency they exchange?0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 3
  4. 4. The object model is narrativeThe object model is like a story so you can use narrativeanalytic techniques to design or uncover it.For example:1. Tell a story about system with the same purpose as the machine you are designing2. Identify the characters in the story, what they care about, who they speak to and what they can do3. The complicated character is the human part of your system, the flat, one-dimensional characters are the software objects0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 4
  5. 5. Some common object classes๏ Document the thing the user creates with the system๏ Container groups or organizes a list of other objects๏ Navigator enables movement between views, workflows or objects๏ Editor enables a transformation on an object๏ Reporter presents read only information about an object๏ Connector translates object metadata from one format to another0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 5
  6. 6. Find the objects: social network0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 6
  7. 7. Find the objects: social networkContainer Container0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 6
  8. 8. Find the objects: social networkContainerContainer ContainerContainer0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 6
  9. 9. Find the objects: social network EditorContainerContainer Container Editor ReporterContainer0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 6
  10. 10. Find the objects: e-commerce0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 7
  11. 11. Find the objects: e-commerceNavigator Navigator Container0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 7
  12. 12. Find the objects: e-commerceNavigator Navigator Container Container Container0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 7
  13. 13. Find the objects: e-commerceNavigator Navigator Container Document Container Container0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 7
  14. 14. Find the objects: designer app0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 8
  15. 15. Find the objects: designer appContainerNavigator Document 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 8
  16. 16. Find the objects: designer appContainerNavigator Container or EditorContainer Document Editor 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 8
  17. 17. The object definition๏ Name Usually descriptive of the object’s role in the system๏ Description Elaborates the value or utility of the object; why it is required๏ Attributes The object’s metadata, the values that make one instance unique compared to another instance of the same object๏ Operations Usually what the user can do to the object, sometimes what the object can do to other objects๏ Privacy What roles can access what operations of this object extension of Johnson & Henderson, Conceptual Models, 20120.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 9
  18. 18. Communicating the Object ModelSeveral standard forms๏ prose list๏ table๏ illustration0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 10
  19. 19. Object Model Example Prose List Familiar information presentation for all users, but must actually be read to have value. Does not include a visual presentation of object connections so generally needs to be supplemented with some kind of illustration. 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.
  20. 20. Object Model Example* Table  4.1:  Object/operations  analysis  for  simple  of4ice  calendar  application.   Table Effective and clearObjects Attributes Operations method forCalendar owner,  current  focus examine,  print,  create,  add   communicating object event,  delete  event specifics. Not best forEvent name,  description,  date,   examine,  print,  edit   time,  duration,  location,   (attributes) communicating repeat,  type  (e.g.  meeting) narrative, subtlety or object connections.To-­‐Do  item name,  description,  deadline,   view,  print,  edit  (attributes) priority,  statusPerson name,  job-­‐description,   send  email,  view  details of4ice,  phone *redrawn from Johnson & Henderson, Conceptual Models, 2012, p. 35 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.
  21. 21. Object Model Example Illustration The best way to communicate the flow of currency within or the narrative of the system. Unless extensively annotated, requires some prose-based supplement to define the object details. 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.
  22. 22. Object Modeling Challenges๏ Level of modularity objects contain objects, what is the right level of detail to consider for the object model?๏ When to group, when to separate, how much to distinguish are two things different because they are different objects or different instances of the same object and then how many types of an object are there?๏ User invisible objects and non-interactive objects tracking objects that are not part of the view, but are relevant to the model and controller0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 14
  23. 23. fin0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 15

×