Software Development Methodologies Lecturer: Raman Ramsin Lecture - - PowerPoint PPT Presentation

software development methodologies
SMART_READER_LITE
LIVE PREVIEW

Software Development Methodologies Lecturer: Raman Ramsin Lecture - - PowerPoint PPT Presentation

Software Development Methodologies Lecturer: Raman Ramsin Lecture 16 Process Metamodels Sharif University of Technology Department of Computer Engineering 1 Software Development Methodologies Lecture 16 Process Metamodels Process


slide-1
SLIDE 1

Software Development Methodologies

Lecturer: Raman Ramsin Lecture 16 Process Metamodels

Department of Computer Engineering

1

Sharif University of Technology

slide-2
SLIDE 2

Software Development Methodologies – Lecture 16

Process Metamodels Process Metamodels

l f l b f d l

  • Results of applying abstraction to software development processes
  • Highlight the high-level features of a process or family of processes
  • Can be instantiated in order to produce concrete processes
  • The two most well-known object-oriented process metamodels:
  • OPEN Consortium’s OPEN Process Framework (OPF)
  • OMG’s Software and Systems Process Engineering Metamodel (SPEM 2.0)

Department of Computer Engineering

2

Sharif University of Technology

slide-3
SLIDE 3

Software Development Methodologies – Lecture 16

Software Process Engineering Metamodel (SPEM 1.0) g g ( )

Similar in essence to OPF yet much simpler Primarily based on Rational Corporation’s Unified Software Process

Metamodel (USPM), which was chiefly intended as a metamodel for Metamodel (USPM), which was chiefly intended as a metamodel for the RUP process M i l t th d li f UML b d i il t RUP

Mainly supports the modeling of UML-based processes similar to RUP Unlike OPF SPEM 1 0 Unlike OPF, SPEM 1.0

  • does not include a process component library.
  • does not offer a specific procedure for instantiating a software development
  • does not offer a specific procedure for instantiating a software development

process using the metamodel (only well-formedness rules are provided).

Department of Computer Engineering

3

Sharif University of Technology

slide-4
SLIDE 4

Software Development Methodologies – Lecture 16

SPEM 1.0: Core Structure SPEM 1.0: Core Structure

Regards the core structure of a software development process as

consisting of: consisting of:

process roles

k d t

work products activities

Regards a software development process as a collaboration of active entities (process roles) a collaboration of active entities (process roles)

aimed at performing specific operations (activities)

f d t f t ibl t f t ( k d t )

performed on a set of tangible artefacts (work products) continued until the artefacts are brought to a well-defined state,

and declared as complete.

Department of Computer Engineering

4

Sharif University of Technology

p

slide-5
SLIDE 5

Software Development Methodologies – Lecture 16

SPEM 1.0: Core Structure SPEM 1.0: Core Structure

Department of Computer Engineering

5

Sharif University of Technology

[OMG 2002]

slide-6
SLIDE 6

Software Development Methodologies – Lecture 16

SPEM 1.0: Detailed Structure SPEM 1.0: Detailed Structure

Work products:

Work products:

may be composed of other work products; can be associated with a state machine can be associated with a state machine.

Activities:

can be partitioned into disciplines based on their common structural

and functional themes;

may consist of atomic sub-activities called steps; can have a precondition and a goal as constraints on its enactment; may be associated with an activity graph, which shows the flow of

steps in the activity.

Department of Computer Engineering

6

Sharif University of Technology

slide-7
SLIDE 7

Software Development Methodologies – Lecture 16

SPEM 1.0: Lifecycle Definition SPEM 1.0: Lifecycle Definition

SPEM incorporates definitions for

SPEM incorporates definitions for

Iteration Phase Lifecycle

Intended to constrain the order in which the activities are

performed, and to define the lifecycle structure of the process l h d d f

Very similar to their corresponding definitions in RUP

Department of Computer Engineering

7

Sharif University of Technology

slide-8
SLIDE 8

Software Development Methodologies – Lecture 16

SPEM 1.0: Strengths and Weaknesses

  • Strengths

SPEM 1.0: Strengths and Weaknesses

  • Flexibility and configurability due to the generality of the

d l ( lb i li i d b f d d metamodel (albeit limited, because of dependence on RUP as a metamodel basis)

  • Well-defined general framework
  • Provision of well formedness rules to be observed when
  • Provision of well-formedness rules to be observed when

instantiating processes

Department of Computer Engineering

8

Sharif University of Technology

slide-9
SLIDE 9

Software Development Methodologies – Lecture 16

SPEM 1.0: Strengths and Weaknesses

  • Weaknesses

SPEM 1.0: Strengths and Weaknesses

  • Lack of a specific instantiation procedure
  • Lack of a detailed specification document: the specification

document adopted by the OMG is a very general description of the metamodel the metamodel.

  • Mainly targets the modeling of processes similar to RUP, hence

limiting applicability and generality (even the terminology is limiting applicability and generality (even the terminology is that used in RUP).

  • The developer is responsible for constructing the methodology,
  • The developer is responsible for constructing the methodology,

and well-formedness rules are not enough to prevent bad instantiations.

Department of Computer Engineering

9

Sharif University of Technology

slide-10
SLIDE 10

Software Development Methodologies – Lecture 16

SPEM 1.0: Strengths and Weaknesses

  • Weaknesses (Contd.)

SPEM 1.0: Strengths and Weaknesses

  • Lack of subtyping for important process components (let

l lib ) hi h k h d l alone a component library), which makes the metamodel

  • f very little practical use. Consequently:
  • Poor coverage of lifecycle activities
  • Lack of explicit support for umbrella activities
  • Lack of explicit support for umbrella activities
  • Modeling and artefact production issues not explicitly

addressed addressed

Department of Computer Engineering

10

Sharif University of Technology

slide-11
SLIDE 11

Software Development Methodologies – Lecture 16

Software and Systems Process Engineering Metamodel (SPEM 2.0) y g g

( )

Adopted by OMG in December 2006

p y

Addresses the weaknesses of SPEM 1.0 Provides necessary concepts for modeling documenting presenting Provides necessary concepts for modeling, documenting, presenting,

managing, interchanging, and enacting development methods and processes

Provides standardized representation and managed libraries of reusable

method content

Supports

systematic development management and growth

  • f

Supports systematic development, management, and growth of

development processes

Supports deployment of method content and process needed by

pp p y p y defining configurations of processes and method content

Supports enactment of process for development projects

Department of Computer Engineering

11

Sharif University of Technology

slide-12
SLIDE 12

Software Development Methodologies – Lecture 16

SPEM 2.0: Conceptual Usage Framework SPEM 2.0: Conceptual Usage Framework

Department of Computer Engineering

12

Sharif University of Technology

[OMG 2007]

slide-13
SLIDE 13

Software Development Methodologies – Lecture 16

SPEM 2.0: Separation of Method Content from Development Process (1)

p p ( )

Department of Computer Engineering

13

Sharif University of Technology

[OMG 2007]

slide-14
SLIDE 14

Software Development Methodologies – Lecture 16

SPEM 2.0: Separation of Method Content from Development Process (2)

p p ( )

Department of Computer Engineering

14

Sharif University of Technology

[OMG 2007]

slide-15
SLIDE 15

Software Development Methodologies – Lecture 16

SPEM 2.0: Separation of Method Content from Development Process (3)

p p ( )

Department of Computer Engineering

15

Sharif University of Technology

[OMG 2007]

slide-16
SLIDE 16

Software Development Methodologies – Lecture 16

SPEM 2.0: Method Content - Elements SPEM 2.0: Method Content Elements

l bl f k

  • Roles are responsible for work

products

Each work product is the Each work product is the

responsibility of a single role

  • Process roles perform tasks

E h k i l f d b

Each task is only performed by

a single role

  • Work products used as inputs to

p p tasks and outputs from tasks

  • “Somebody does something that

changes something” changes something

Department of Computer Engineering

16

Sharif University of Technology

slide-17
SLIDE 17

Software Development Methodologies – Lecture 16

SPEM 2.0: Method Content - Guidance SPEM 2.0: Method Content Guidance

  • Can be associated with any process model element to provide more

y p p detailed information about the element to the practitioner

  • Can standalone – does not have to be associated
  • Most often associated with activities and work products
  • SPEM comes with a set of built-in guidance types:
  • SPEM comes with a set of built in guidance types:

Checklist Template Template Example

T l t

Tool mentor Guideline

Department of Computer Engineering

17

Sharif University of Technology

slide-18
SLIDE 18

Software Development Methodologies – Lecture 16

SPEM 2.0: Process Components SPEM 2.0: Process Components

  • Allow the user to treat the actual definition of the work that produces the
  • utputs as a “black box ”
  • utputs as a black box.
  • Allow different styles or techniques of doing work to be replaced with
  • thers.

Department of Computer Engineering

18

Sharif University of Technology

[OMG 2007]

  • t e s
slide-19
SLIDE 19

Software Development Methodologies – Lecture 16

SPEM 2.0: Process Patterns SPEM 2.0: Process Patterns

Department of Computer Engineering

19

Sharif University of Technology

[OMG 2007]

slide-20
SLIDE 20

Software Development Methodologies – Lecture 16

SPEM 2.0: Modeling Enactable Processes SPEM 2.0: Modeling Enactable Processes

Department of Computer Engineering

20

Sharif University of Technology

[OMG 2007]

slide-21
SLIDE 21

Software Development Methodologies – Lecture 16

References

OMG, Software Process Engineering Metamodel Specification

(v1.0). Object Management Group (OMG), 2002.

OMG, Software and Systems Process Engineering Metamodel

Specification (v2.0). Object Management Group (OMG), 2007 2007.

Department of Computer Engineering

21

Sharif University of Technology