Integrated Object-Oriented Methodologies-Software Development Methodologies- Lecture 5 Slides-Computer Engineering, Slides of Software Development Methodologies

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

2011/2012

Uploaded on 02/20/2012

hester
hester 🇮🇷

4.5

(13)

84 documents

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Development
Methodologies
Lecturer: Raman Ramsin
Lecture 5
Integrated Object-Oriented Methodologies:
OPM and Catalysis
Department of Computer Engineering 1Sharif University of Technology
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download Integrated Object-Oriented Methodologies-Software Development Methodologies- Lecture 5 Slides-Computer Engineering and more Slides Software Development Methodologies in PDF only on Docsity!

Software Development Methodologies Lecturer:

Raman Ramsin

Lecture 5 Integrated Object-Oriented Methodologies:OPM and Catalysis

Sharif University of Technology

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.

Sharif University of Technology

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.

Sharif University of Technology

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)

Sharif University of Technology

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

Sharif University of Technology

Software Development Methodologies – Lecture 5 Object Process Diagram j g OPD

Sharif University of Technology

[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

Sharif University of Technology

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

Sharif University of Technology

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

Sharif University of Technology

Software Development Methodologies – Lecture 5 Catalysis: Business Systems Development Process y y p

Sharif University of Technology

[D’Souza and Wills1998]

Software Development Methodologies – Lecture 5 Catalysis: Business Systems Development Process y y p

  1. Develop the System Specification „ The system specification mainly consists of:
 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 

Sharif University of Technology

Software Development Methodologies – Lecture 5 Catalysis: Business Systems Development Process y y p

  1. Develop the Architectural Design „ Identify the components comprising the system and their architecture:

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)

Sharif University of Technology

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

Sharif University of 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

Sharif University of Technology