Object Oriented Role Analysis and Modeling
The OOram (Object-oriented Role Analysis and Modeling) is a method, based on the concept of role, for performing object-oriented modeling.[1]
Originally (1989) coined Object Oriented Role Analysis, Synthesis and Structuring (OORASS), the method focuses on describing patterns of interaction without connecting the interaction to particular objects/instances. OOram was originally developed by Trygve Reenskaug (1996), a professor at the University of Oslo and the founder of the Norwegian IT company Taskon. The use of "roles" in OOram is similar in application to that of agent-oriented programming.
Enterprise models created according to OOram may have a number of views, with each view presenting certain aspects of a model.[2] The following ten views are proposed:[3]
- Area of concern view: Textual description of a phenomenon represented in the role model.
- Stimulus-response view: Describes how environment roles may trigger activities in the organization (stimulus), together with the effect (response).
- Role list view: List describing all roles of a role model together with attributes and textual explanation.
- Semantic view: Describes meaning of roles and relationships between roles.
- Collaboration view: Describes patterns of roles and message paths.
- Interface view: Describes all messages that can be sent along a message path.
- Scenario view: Provides a sample sequence of messages flowing between roles (a concrete example).
- Process view: Describes data flow between roles and associated activities performed by the roles.
- State diagram view: For each role, the legal states can be described together with messages that trigger transitions.
- Method specification view: Describes what messages to send for each method belonging to a role. May also specify procedures to perform.
OOram suggests a varied mix of formal and informal notations and languages for representing and communicating models. Which view to use depends upon the needs in a particular situation.[2]
See also
- Object modeling language
- View model
- Unified Modeling Language
- i*
References
- ↑ Reenskaug, Trygve (1996). "Working with Objects: OOram Framework Design Principles". Taskon, Norway. http://home.ifi.uio.no/trygver/1996/Frameworks/frameworks.pdf. (Presented at OOPSLA 1996 Workshop: Exploration of Framework Design Principles)
- ↑ 2.0 2.1 Terje Totland (1997). 5.2.8 Object-Oriented role analysis and modeling (OOram) Thesis, Norwegian University of Science and Technology (NTNU), Trondheim.
- ↑ (Reenskaug, 1996:60)
Further reading
- Reenskaug, Trygve; P. Wold; O. A. Lehne (1996). Working with Objects: The OOram Software Engineering Method. Manning/Prentice Hall.
- Rebecca J. Wirfs-Brock and Ralph E. Johnson (1990). Surveying Current Research in Object-Oriented Design. Communications of the ACM, vol. 33, no. 9 (September 1990), pp. 105–124. OORASS on pp. 113–116.