21
A Development Process Lecture Oo13 Objectory based method

A Development Process Lecture Oo13 Objectory based method

Embed Size (px)

Citation preview

A Development Process

Lecture Oo13

Objectory based method

References

Ambler, S., The Object Primer, Cambridge Univ. Press, 2001, Section 10.1 - 10.6, 10.9

Teaching Points

Macro Process Micro Process Work Products

Review

What are packages? Can a class appear in more than one

package? What is a software engineering

method?

The Method

Process (Macro/Micro) Notation (UML) Tool (Rational Rose)

Macro ProcessBased on Objectory process:

Establish business rational and scope (Inception)

High level requirements analysis, architectural design (Elaboration)

Evolve the implementation (Construction)

Performance tuning, user training, beta test (Transition)

Micro Process

Identify the classes and objects at a given level of abstraction

Identify the semantics of these classes and objects

Identify the relationships among these classes and objects

Specify the interface and then the implementation of these classes and objects

Iteration

The process of elaboration/construction is a repetitive application of the micro process

Inception (Purpose)

Establish roughly how much it will cost and what the benefit will be.

Establish a vision for the system and validate its assumptions

Initial analysis to get sense of the project’s scope

Inception (Products)

Preliminary business case Initial Use Case diagrams

Elaboration (Purpose)Domain Analysis Provide a description of the problem Elaboration focuses on behavior, not form NOT an exhaustive understanding of the

system=s behavior.– It is sufficient to accomplish an Elaboration of

all the primary behaviors of the system, with some secondary behaviors considered as well to ensure that no essential patterns of behavior are missed.

Elaboration (Products)Domain Analysis

Use Case Diagrams Object interaction diagrams to denote

each use case. Class diagrams to show associations

among object classes Rudimentary class specifications STD=s

Elaboration (Purpose)Architecture and planning

To create an architecture for the evolving implementation

To establish common tactical policies that must be used by disparate elements of the system– localized mechanisms that appear throughout the

system (eg. Error detection/handling, memory management, data storage management, approaches to control, domain specific tactics, etc.)

Elaboration (Products)Architecture and planning

Class/Package diagrams Executable release plan Executable release prototype

Construction (Purpose)

To grow and change the implementation through successive refinement, ultimately leading to the production system

Construction (Products)

A stream of executable releases representing successive refinement to the initial architectural release.

Releases every 6-8 weeks, depending on complexity.– Who gets an executable release?

Behavioral prototypes Evolving system documentation

Transition (Purpose)

No new development to add functionality

There is development to correct faults found

Product tuning Optimization

Transition (Products)

Maintain Analysis/Design documentation

Maintenance (Purpose)

Is the activity of managing post delivery construction

Similar to construction phase, but:– Architectural innovation is less of an issue.– Localized changes are made as new

requirements are added and lingering bugs fixed.

Maintenance (Products)

Similar to construction

Teaching Points

Macro Process Micro Process Work Products