















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Integrated Object-Oriented Methodologies OPM and Catalysis, Object Process Methodology, OPM, Object Process Diagram, OPD, Object Process Language, Catalysis, Raman Ramsin, Lecture Slides, Software Development Methodologies, Department of Computer Engineering, Sharif University of Technology, Iran.
Typology: Slides
1 / 23
This page cannot be seen from the preview
Don't miss anything!
















Software Development Methodologies – Lecture 5 Object Process Methodology (OPM)Object Process Methodology (OPM)
Introduced by Dori in 1995
Primarily intended as a novel approach to analysis modeling, combiningthe classic process-oriented modeling approach with object-orientedmodeling techniquesmodeling techniques
Has evolved into a full-lifecycle methodology
Only one type of diagram is used for modeling the structure, functionand behaviour of the system.
Single-model approach avoids the problems of model multiplicity, butthe model produced can be complex and hard to grasp.
OPM process is little more than an abstract framework, and resemblesthe generic software development process.
g p p
Software Development Methodologies – Lecture 5 OPM: Initiating g Identifying: the needs and/or opportunities justifying y g pp j y g the development of the system are determined. Conceiving: the system is “conceived” throughdetermining its scope and ensuring that theresources necessary for the development effort areresources necessary for the development effort areavailable. Initializing: the high-level requirements of the systemare determined.
Software Development Methodologies – Lecture 5 OPM: Developing p g Analyzing: typically involves:
eliciting the requirements
eliciting the requirements
modeling the problem domain and the system in Object Process Diagrams(OPD) and their Object Process Language (OPL) equivalents
selecting a skeletal architecture for the system Designing: typically involves:
adding implementation-specific details to the models
fi i th hit t f th t b d t i i it h d
refining the architecture of the system by determining its hardware,middleware and software components
designing the software components by detailing the process logic, thedatabase organization, and the user interface Implementing: constructing the components of the system and linking themtogether; typically involves:
di d t ti th ft t
coding and testing the software components
setting up the hardware architecture
installing the software platform (including the middleware)
Software Development Methodologies – Lecture 5 Object Process Diagram (OPD) j g ( ) Uses elements of types object and process to model the structural, functional and behavioural aspects Notation was later expanded to also include elements of type state, which were particularly useful in modeling real-time systems Every OPD can also be expressed in textual form, using a constrained naturallanguage called the OPL (Object-Process Language) A set of OPDs is built for the system being developed, typically forming ahierarchy Multi-dimensional nature makes it difficult to focus on a particular aspect ofthe system without being distracted by other aspects. Some important behavioural aspects (such as object interactions, especiallywith regard to message sequencing) cannot be adequately captured
Software Development Methodologies – Lecture 5 Object Process Diagram j g OPD
[Dori 2002]
Software Development Methodologies – Lecture 5 OPM: Strengths and Weaknesses^ Strengths
Simplicity of process
Some degree of seamless development and traceability to
Some degree of seamless development and traceability torequirements due to the singularity of the model typeused (disrupted, though, because of OPD’s limitedmodeling capacity)
Innovative structural and functional modeling in a singletype of diagram (OPD)type of diagram (OPD)
Strong structural modeling at the inter-object level
Software Development Methodologies – Lecture 5 OPM: Strengths and Weaknesses^ Weaknesses
Process is defined at a shallow level, with ambiguitiesand inadequate attention to detailS l d t bilit di t d d t l k
S eamlessness and traceability are disrupted due to lack of behavioural models (especially at the inter-object andintra-object levels, directly affecting the identification andd i f l ti ) design of class operations)
No basis in system-level behaviour and usage scenarios
Poor behavioural modeling
Poor behavioural modeling
No formalism
Poor intra-object structural modeling j g
Models are prone to over-complexity
No modeling of physical configuration
Software Development Methodologies – Lecture 5 Catalysis: Business Systems Development Process y y p
Identify and Model the Requirements: exploration and modeling of theproblem domain and the requirements of the systemproblem domain and the requirements of the system
Develop the System Specification: identifying and modeling thefunctionality and high-level class-structure of the system Designing the functionality and high-level class-structure of the system. Designing theUser Interface (UI) usually overlaps with this activity. 3 Develop the Architectural Design:
Develop the Architectural Design:
designing the internal component (logical) architecture of the system
designing the technical (physical) architecture defining the domain-independent parts of the system such as the hardware and software independent parts of the system, such as the hardware and softwareplatforms
designing of the database architecture should also start at this stage
Develop the Component Internal Design: designing the internal detailof the components, which are then implemented and tested
Software Development Methodologies – Lecture 5 Catalysis: Business Systems Development Process y y p
[D’Souza and Wills1998]
Software Development Methodologies – Lecture 5 Catalysis: Business Systems Development Process y y p
A class ( type) diagram showing the system as a type, emphasizing its attributes (internal types) and its associationsemphasizing its attributes (internal types) and its associationswith other types in the problem domain A set of operations, depicting the actions that the systemperforms (functionality), usually captured in statecharts Software Development Methodologies – Lecture 5 Catalysis: Business Systems Development Process y y p
Component ( Application) Architecture is usually described with package diagramsdiagrams.
Specification types (system attributes) identified during the previousactivity are split across different components.
Interaction among components is modeled through collaboration
Interaction among components is modeled through collaborationdiagrams. Identify the architecture of the domain-independent parts of the system: d l d i th T h i l A hit t i^ k di d modeled in the Technical Architecture. using package diagrams and collaboration diagrams. Components include:
hardware and software platforms
infrastructure components (such as middleware and databases)
infrastructure components (such as middleware and databases)
utilities for logging/exception-handling/start-up/shutdown
design standards and tools
the choice of component architecture (such as JavaBeans or COM)
the choice of component architecture (such as JavaBeans or COM)
Software Development Methodologies – Lecture 5 Catalysis: Process Patterns y Object Development from Scratch: for when there is no i i existing systemReengineering: for when the objective is to improve an Reengineering: for when the objective is to improve an existing system Business Process Improvement: for applying objecttechnology to organizations and systems other than ft software Separate Middleware from Business Components: for Separate Middleware from Business Components: forhandling legacy systems as well as for insulating asystem from certain changes in technology
Software Development Methodologies – Lecture 5 Catalysis: Strengths and Weaknesses^ Strengths
Based on requirements identified and modeled as systemfunctionality and behaviour in the context of the problemdomain: the system is modeled as a class – type – among other classes in the problem domain
Seamless development through uniform approach to modeling
Seamless development through uniform approach to modelingat different levels
Traceability to requirements via usage scenarios and use-case-
Traceability to requirements via usage scenarios and use casebased testing
Gradual refinement from problem domain to the systemboundary, then to the component architecture of the system,and finally to the class architecture of the components