Patterns - More than Mere Stencils

Post on 22-Apr-2015

1.567 views 0 download

description

This presentation is an introduction to patterns for software development using Sparx Systems Enterprise Architect. The presentation starts with GoF design patterns and then moves to up to business architecture patterns.

Transcript of Patterns - More than Mere Stencils

PatternsMore than Mere Stencils

Stencils

What is a pattern?

We use patterns to do repeatable work quickly and easily.

Important Elements of Patterns:

Context

Important Elements of Patterns:

They apply at many levels

Important Elements of Patterns:

Domain Specific Languages

Important Elements of Patterns:

Patterns are a two way street

“Drawings help people to work out intricate relationships between parts.” - Christopher Alexander

What’s Our Game Plan?Design Patterns

Architectural Patterns

Analysis Patterns

SOA Patterns

Business Architecture

Patterns

Creational Patterns

These design patterns are all about class instantiation. These patterns can be further divided into class-creation patterns and object-creational patterns. While class-creation patterns use inheritance effectively in the instantiation process, object-creation patterns use delegation effectively to get the job done.

Behavioural Patterns

These design patterns are all about class objects’ communication. Behavioural patterns are those patterns that are most specifically concerned with communication between objects.

Structural Patterns

These design patterns are all about class and object composition. Structural class-creation patterns use inheritance to compose interfaces. Structural object-patterns define ways to compose objects to obtain new functionality.

Use in Enterprise Architect

1 23

An object-oriented state machine

State Pattern

Context

+ Request()state->Handle()

State

+ Handle()

ConcreteStateA

+ Handle()

ConcreteStateB

+ Handle()

-state

An object-oriented state machine

State Pattern

Architectural Patterns

Model-View-Controller

Architectural Patterns

Application of Model-View-Controller

Architectural Patterns

Let’s compose the Model-View-Controller

Adding Patterns to EA

Bring up the Resources window: View -> More Project Tools -> Project Resources

Then…

Till this point we’ve been down in the weeds and seeds

“Patterns are a starting point, not a destination” - Martin Fowler

Analysis Level Patterns

Accounting - Posting

Event

Processor

+ Process(Event)

AccountingEntryreads creates

http://martinfowler.com/apsupp/accounting.pdf

Analysis Level Patterns

Workflow Pattern Categories

Workflow Pattern Categories

1. Control2. Resource3. Data4. Exception Handling

Workflow Pattern Example

Simple Merge

Analysis Level Patterns

Program Management Patterns

Australian Government Use of Patterns

Brokered Authentication Pattern

An example of a business model from Tom Graves (see http://weblog.tomgraves.org)

Mapping Osterwalder’s Business Model Canvas to Archimate

Not Matched

w: www.itstrategies.info

e: anthony.draffin@itstrategies.info

t: www.twitter.com/adraffin