Object-oriented role analysis and modeling (OOram) is a method, based on the concept of ''role'', for performing object-oriented modeling.
[
(Presented at OOPSLA 1996 Workshop: ''Exploration of Framework Design Principles'')]
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
Agent-oriented programming (AOP) is a programming paradigm where the construction of the software is centered on the concept of software agents. In contrast to object-oriented programming which has objects (providing methods with variable paramete ...
.
Enterprise models created according to OOram may have a number of views, with each view presenting certain aspects of a model.
[Terje Totland (1997)]
5.2.8 Object-Oriented role analysis and modeling (OOram)
Thesis, Norwegian University of Science and Technology (NTNU), Trondheim. The following ten views are proposed:
[(Reenskaug, 1996:60)]
# ''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.
See also
*
Object modeling language
*
View model
Acornsoft was the software arm of Acorn Computers, and a major publisher of software for the BBC Micro and Acorn Electron. As well as games, it also produced a large number of educational titles, extra computer languages and business and ut ...
*
Unified modeling language
The Unified Modeling Language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.
UML provides a standard notation for many types of diagrams which can be roughly ...
*
i*
References
Further reading
* {{cite book
, first = Trygve
, last = Reenskaug
, author2=P. Wold , author3=O. A. Lehne
, year = 1996
, title = Working with Objects: The OOram Software Engineering Method
, publisher = Manning/Prentice Hall
, id =
* 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.
Object-oriented programming