



























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
An overview of open and foom, two integrated object-oriented software development methodologies. Open, introduced in 1996, is a process framework that offers flexibility and configurability through its well-defined guidelines for instantiating tailored-to-fit processes. Foom, on the other hand, is based on functional and structural modeling of the problem domain and the system, with a focus on traceability to requirements and interface design. The open process, its strengths and weaknesses, and the foom analysis and design phases.
Typology: Slides
1 / 35
This page cannot be seen from the preview
Don't miss anything!




























1
Sharif University of Technology
and FOOM
Software Development Methodologies – Lecture 7
Object-oriented Process, Environment and Notation (OPEN)
j
(
)
First introduced in 1996 as the result of the integration of four
th d l
i
th
i
d Fi
ith
l t
methodologies: MOSES, SOMA, Synthesis and Firesmith; laterdeeply influenced by BON and OOram
Has
its
own
modeling
language,
Modeling
Language), yet also supports UML
g
g )
y
pp
Presented
as
a
framework
called
Process
k)
Framework)Contains a component lib a
f om
hich indi id al p ocess
Contains
a component library from which individual process-
component
instances
can
be
selected
and
put
together
to
create a specific process instance
2
Sharif University of Technology
p
p
Software Development Methodologies – Lecture 7
Work Products: any significant thing of value (document, diagram,model
class
application) developed during the project
model, class, application) developed during the project.
Languages: the media used to document work products, such asnatural languages
modeling languages such as UML or OML
and
natural languages, modeling languages such as UML or OML, andimplementation languages such as Java, SQL, or CORBA-IDL.P
d
ti
titi
(h
h
) th t d
l
th
k
P
roducers: active entities (human or nonhuman) that develop the work products.
Work Units: operations that are performed by producers whendeveloping work products. One or more
producers develop a
work
product during the execution of one or more
work units.
Stages: durations or points in time that provide a high-levelorganization to the work units.
4
Sharif University of Technology
Software Development Methodologies – Lecture 7
Activity:
a major work unit consisting of a related collection of jobs that produce
j
g
j
p
a set of work products
Coarse-grained descriptions of what needs to be done
Some important instances defined by OPEN are: Project Initiation,
f
p
y
j
Requirements Engineering, Analysis and Model Refinement, ProjectPlanning, and Build k
Task:
Smallest atomic unit of work
Small-scale jobs associated with and comprising the activities
Resulting in the creation, modification, or evaluation of one or morework products
Technique:
Define how the jobs are to be done
Ways of doing the tasks and activities
5
Sharif University of Technology
y
g
Software Development Methodologies – Lecture 7
7
Sharif University of Technology [Firesmith and Henderson-Sellers 2001]
Software Development Methodologies – Lecture 7
OPEN: Process Instance
8
Sharif University of Technology
[Graham et al. 1997]
Software Development Methodologies – Lecture 7
OPEN: Strengths and Weaknesses^
Covers enterprise-level activities and business-process-reengineering
ee g
ee
g
Incorporates a rich library of process components
Provides guidelines as to how customized processesshould be built (especially how stages should beshould be built (especially how stages should bestructured and organized)
ccommodates comprehensive modeling at all levels
p
g
(problem domain to objects; logical to physical)
Rich modeling-language support (UML and OML)
10
Sharif University of Technology
Software Development Methodologies – Lecture 7
OPEN: Strengths and Weaknesses^
As a result of merging various methodologies, OPEN is not a specificmethodology, but rather a process framework; in trying to remain
gy,
p
;
y
g
noncommittal to any single process, it has lost concreteness.
OPEN is huge and complex; many developers tend to use typical
g
p
y
p
yp
instances introduced by the authors rather than instantiate theirown.
T
he developer is responsible for constructing the methodology; even though OPEN prescribes the framework, components, and guidelinesas to how to construct the process, bad instances
can be built (very
as to how to construct the process, bad instances
can be built (very
much like a Lego game).
11
Sharif University of Technology
Software Development Methodologies – Lecture 7
Analysis:
concerned with requirements elicitation and problem-domain
modeling; two activities performed in parallel or iteratively:
g;
p
p
y
Data Modeling: modeling the class structure of the problem domain.
Functional Modeling: identifying/modeling functional requirements.
Data Elaboration: detailing the data elements in a Data Dictionary.
Design:
concerned with designing implementation-specific classes and
Design:
concerned
with designing implementation specific classes and
adding structural and behavioural detail to the models:^
Discovery and Top-level Design of Transactions:
transactions are chains of
processes performed in response to external stimuli.processes performed in response to external stimuli.
UI Design: designing a menu-based user interface for the system, and definingthe relevant classes.
I
t/O t
t D
i^
d
i
i
th
i
t f
/
d th
t
t
Input/Output Design: designing the input forms/screens and the outputreports/screens, and defining the relevant classes.
Design of System Behaviour: providing detailed specifications for thetransactions
detailing object interactions and class operations
13
Sharif University of Technology
transactions
, detailing object interactions and class operations.
Software Development Methodologies – Lecture 7
14
Sharif University of Technology
[Shoval 2007]
Software Development Methodologies – Lecture 7
Class Diagram
g
g
16
Sharif University of Technology
[Shoval 2007]
Software Development Methodologies – Lecture 7
Functional Analysis
y
Functional Analysis
Functional requirements of the system are elicited and modeledin a hierarchy of
Object-Oriented Data Flow Diagrams (OO-
DFDs)DFDs).
Classes replace traditional
data stores.
External entities have been expanded to include:
User entities: interact with human actors.
Time entities: act as modeling proxies for clocks.
Real-time entities: act as generators of asynchronous sensor events fromthe system environmentthe system environment.
Communication entities: represent other systems interacting with oursystem via communication channels.
17
Sharif University of Technology
Software Development Methodologies – Lecture 7
Data Elaboration
Data Elaboration:
A Data Dictionary is created during the
Data
Elaboration:
Data Dictionary is created during the
analysis phase:
A Data Dictionary is a database or repository of data containing details
A Data Dictionary is a database or repository of data containing detailsabout the components of the object oriented data flow diagram(OODFD):
Processes
External entities
Classes
Data elements carried by data flows.
It will be updated and extended throughout the design phase to includedetails about design products.
19
Sharif University of Technology
Software Development Methodologies – Lecture 7
Transaction Discovery and Design
y
g
Transaction
Analogous to the modern-day use case.
A unit of functionality performed by the system in direct support of an externalentityentity.
Triggered (initiated) as a result of an
event, originating from an external entity.
Transaction Discovery and Design:
consists of three activities:
Transaction
Discovery and Design:
consists
of three activities:
Identification of transactions: the transactions of the system are identifiedfrom the hierarchy of analysis OO-DFDs.
Description of transactions: top-level transaction descriptions are provided in astructured language.
Definition of the “Transaction” class: a “Transaction” class is added to the classdiagram, acting as a
utility class.
20
Sharif University of Technology