OPEN and FOOM: Integrated Object-Oriented Software Development Methodologies, Slides of Software Development Methodologies

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

2011/2012

Uploaded on 02/20/2012

hester
hester 🇮🇷

4.5

(13)

84 documents

1 / 35

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Development
Methodologies
Lecturer: Raman Ramsin
Lecture 7
Integrated Object-Oriented Methodologies:
OPEN and FOOM
Department of Computer Engineering 1Sharif University of Technology
OPEN
and
FOOM
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Partial preview of the text

Download OPEN and FOOM: Integrated Object-Oriented Software Development Methodologies and more Slides Software Development Methodologies in PDF only on Docsity!

Software Development Methodologies Lecturer:

Raman Ramsin

Lecture 7 Integrated Object-Oriented Methodologies:OPEN and FOOM

1

Sharif University of Technology

OPEN

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

MOSES

SOMA

S

th

i

d Fi

ith

l t

methodologies: MOSES, SOMA, Synthesis and Firesmith; laterdeeply influenced by BON and OOram

„

Has

its

own

modeling

language,

OML

(OPEN

Modeling

Language), yet also supports UML

g

g )

y

pp

„

Presented

as

a

framework

called

OPF

(OPEN

Process

F

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

OPF: Component Classes

p

„

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

OPF: Work Units

„

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

OPEN: Process Instantiation

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^ „

Strengths (Contd.)

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)

A

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^ „

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

FOOM: Process

„

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

FOOM: Process

14

Sharif University of Technology

[Shoval 2007]

Software Development Methodologies – Lecture 7

FOOM: Analysis

  • Data Modeling –

Class Diagram

y

g

g

16

Sharif University of Technology

[Shoval 2007]

Software Development Methodologies – Lecture 7

FOOM: Analysis –

Functional Analysis

y

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

FOOM: Analysis

Data Elaboration

y

„

Data Elaboration:

A Data Dictionary is created during the

„

Data

Elaboration:

A

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

FOOM: Design

Transaction Discovery and Design

g

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