eamf applied9/18/2006 2 architectural analysis using eamf 5 september 15 2006 from requirements to...

14
Understanding the EAMF Approach Part I: Requirements Engineering Requirements Model Engineering Business Architecture Modeling Architectural Analysis Using EAMF 2 September 15 2006 Learning Objectives • Understand requirements engineering “ala” EAMF • Command of requirements model engineering “ala” EAMF • Ability to use EAMF to analyze and design business architectures Architectural Analysis Using EAMF 3 September 15 2006 Topical Outline In this presentation: • Traditional/Object-Oriented Architecture Analysis & Design Approach • EAMF Architecture Analysis & Design Approach Architectural Analysis Using EAMF 4 September 15 2006 Roadmap Object Oriented Architecture Analysis & Design Approach From Requirements to Analysis Analysis Class Use Case Realization Example: Pay Invoice Use Case Pay Invoice Use Case: Flow of Events Analysis Class Diagram Realizing a Pay Invoice Use Case Collaboration Diagram Realizing a Pay Invoice Use Case Analysis and Design Workflow Defining the Architecture Analysis and Design Roles, Activities, and Artifacts

Upload: others

Post on 31-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

1

Understanding the EAMF Approach

Part I:Requirements Engineering

Requirements Model EngineeringBusiness Architecture Modeling

Architectural Analysis Using EAMF 2 September 15 2006

Learning Objectives

• Understand requirements engineering “ala” EAMF

• Command of requirements model engineering “ala” EAMF

• Ability to use EAMF to analyze and design business architectures

Architectural Analysis Using EAMF 3 September 15 2006

Topical Outline

In this presentation:• Traditional/Object-Oriented Architecture Analysis & Design Approach

• EAMF Architecture Analysis & Design Approach

Architectural Analysis Using EAMF 4 September 15 2006

Roadmap

Object Oriented Architecture Analysis & Design Approach• From Requirements to Analysis

• Analysis Class

• Use Case Realization

• Example: Pay Invoice Use Case

• Pay Invoice Use Case: Flow of Events

• Analysis Class Diagram Realizing a Pay Invoice Use Case

• Collaboration Diagram Realizing a Pay Invoice Use Case

• Analysis and Design Workflow

• Defining the Architecture

• Analysis and Design Roles, Activities, and Artifacts

Page 2: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

2

Architectural Analysis Using EAMF 5 September 15 2006

From Requirements to Analysis

• Requirements specify the behavior of the largest-grained component: the system– Specifies the behaviors the system provides for and

with the actors– “The system shall…”

• Object-oriented analysis is reduction of a system to a coarse set of discovered objects with responsibilities, so that the set of objects is able to fulfill the behavioral requirements of the user

• Analysis limits the effort to objects found in the domain –otherwise you are doing design

Architectural Analysis Using EAMF 6 September 15 2006

Analysis Class

• Analysis classes represent an early conceptual model for ‘things in the system which have responsibilities and behavior’

• Class, stereotyped as «boundary», «entity» or «control»– Entity classes

– Long-lived, real-life object or event in the application domain– Data and behavior– Usually persistent (saved in a file or database)

– Boundary classes– Interaction between the system and its actors– At the system boundary

– Control classes– Coordination and sequencing of system behavior– Transactions

Entity

Control

Boundary

Analysis Class

Architectural Analysis Using EAMF 7 September 15 2006

Collaboration diagram

Sequence diagram

Class diagram

GrpFile

read( )open( )create( )f illFile( )

rep

Repository

name : char * = 0

readDoc( )readFile( )

(from Persistence)

FileMgr

fetchDoc( )sortByName( )

DocumentList

add( )delete( )

Document

name : intdocid : intnumField : int

get( )open( )close( )read( )sortFileList( )create( )f illDocument( )

fList

1

FileList

add( )delete( )

1

File

read( )

read() f ill the code..

Use Cases

Use Case Use-Case Realization

• A use-case realization is a description of how a particular use case is realized within the design model, in terms of collaborating objects

<<trace>>

Use-Case Realization

Architectural Analysis Using EAMF 8 September 15 2006

Example: Pay Invoice Use Case

• The use case Pay Invoice is used by a Buyer to schedule invoice payments. The Pay Invoice use case then completes the payment on the due date

• Pre-condition: The Buyer has received the goods or services ordered and at least one invoice from the system. The Buyer now plans to schedule the invoice(s)

• Post-condition: The use-case ends when the invoice has been paid or the invoice payment was canceled and no money was transferred

Page 3: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

3

Architectural Analysis Using EAMF 9 September 15 2006

Pay Invoice Use Case: Flow of Events

• Primary Scenario (i.e., basic path)1. The buyer invokes the use case by beginning to browse the invoices received by

the system. The system checks that the content of each invoice is consistent with the order confirmations received earlier (as part of the Confirm Order use case) and somehow indicates this to the buyer. The order confirmation describes which items will be delivered, when, where, and at what price.

2. The buyer decides to schedule an invoice for payment by the bank, and the system generates a payment request to transfer money to the seller’s account. Note that a buyer may not schedule the same invoice for payment twice.

3. Later, if there is enough money in the buyer’s account, a payment transaction is made on the scheduled date. During the transaction, money is transferred from the buyer’s account to the seller’s account, as described by the abstract use case Perform Transactions (which is used by Pay Invoice). The buyer and the seller are notified of the result of the transaction. The bank collects a fee for the transaction, which is withdrawn from the buyer’s account by the system.

4. The use-case instance terminates

Architectural Analysis Using EAMF 10 September 15 2006

Order Confirmation

Buyer Payment Request UI

Order Handler

Invoice

Payment Scheduler Payment Request

Analysis Class Diagram Realizing a Pay Invoice Use Case

Architectural Analysis Using EAMF 11 September 15 2006

Scott : Buyer : Payment Request UI

: Order Handler

: Payment Scheduler : Payment Request

: Order Confirmation

: Invoice

1: Browse Invoice

6: Schedule Invoice for Payment

2: Browse

9: setStatus(scheduled)

3: Check Invoice

7: Schedule payment

4: Get

5: Get

8: New

Collaboration Diagram Realizing a Pay Invoice Use Case

Architectural Analysis Using EAMF 12 September 15 2006

Analysis and Design Workflow

Page 4: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

4

Architectural Analysis Using EAMF 13 September 15 2006

Summary: Architecture Engineering Steps

• Create an initial sketch of the architecture of the system

• Define an initial set of architecturally significant elements to be used as the basis for analysis– Issues that are typically architecturally significant include

performance, scaling, process and thread synchronization, and distribution

• Define an initial set of analysis mechanisms

• Define the initial layering and organization of the system

• Define the use-case realizations to be addressed in the current iteration

• Identify analysis classes from the architecturally significant use cases

• Update the use-case realizations with analysis class interactions

Architectural Analysis Using EAMF 14 September 15 2006

Summary: Architecture Engineering Steps (cont.)

• How to Staff– Small team with cross-functional team members– The team should include members with domain experience who

can identify key abstractions– The team should also have experience with model organization

and layering

• Work Guidelines– The work is best done in several sessions, perhaps performed

over a few days (or weeks and months for very large systems)– Iterate between Architectural Analysis and Use-Case Analysis

Architectural Analysis Using EAMF 15 September 15 2006

Summary: Architecture Engineering Steps (cont.)

Architectural Analysis Using EAMF 16 September 15 2006

Summary: Architecture Engineering Artifacts

Page 5: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

5

Architectural Analysis Using EAMF 17 September 15 2006

Roadmap

EAMF Architecture Analysis & Design Approach• Building Pattern Cluster Networks Using EAMF

• EAMF Methodology

• EAMF-Augmented Incremental/Iterative SDLC Used for ABS-B2

• ABS-B2’s Project Requirements Types and Enterprise Requirements Categories

• Requirements Traceability Graph

• Use of IBM Rational ReqPro for ABS-B2 Requirements Engineering Phase

• Building Pattern Cluster Networks Using EAMF

• EAMF Requirements Model Engineering

• etc.

Architectural Analysis Using EAMF 18 September 15 2006

Building Pattern Cluster Networks Using EAMF

Architectural Analysis Using EAMF 19 September 15 2006

EAMF Methodology

ManagementEnvironment

Enterprise Planning

Detailed AnalysisDetailed Design

High-Level Design

Preliminary Iteration(s)

Iter.#1

SDLC StagesDisciplines & Process Workflows

Iterations

Supporting Workflows

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Product Mapping

Administration

High-Level Analysis

Deployment

Planning Build/TestInitiation Tech Design Install/Close ROI Benefits

Iter.#m+2

Architectural Analysis Using EAMF 20 September 15 2006

EAMF-Augmented Iterative/Incremental SDLC Used for ABS-B2

Page 6: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

6

Architectural Analysis Using EAMF 21 September 15 2006

ABS-B2's Project Requirements Types and Enterprise Requirements Categories

Architectural Analysis Using EAMF 22 September 15 2006

Requirements Traceability Graph

Architectural Analysis Using EAMF 23 September 15 2006

Use of IBM Rational ReqPro for ABS-B2's Requirements Engineering Phase

Ente

rpris

e P

roje

ct R

equi

rem

ents

type

s ar

e th

e sa

me

as P

roje

ct R

equi

rem

ents

Typ

es

Enterprise Project D

ocuments types are the sam

e as Project D

ocuments Types

Architectural Analysis Using EAMF 24 September 15 2006

Building Pattern Cluster Networks Using EAMF

Page 7: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

7

Architectural Analysis Using EAMF 25 September 15 2006

EAMF Requirements Model Engineering

Traceable Artifacts

Architectural Analysis Using EAMF 26 September 15 2006

Requirements and Definitions Traceability Graph

Architectural Analysis Using EAMF 27 September 15 2006

Reasoning About Business Entities and Their Dependencies and Goals

Architectural Analysis Using EAMF 28 September 15 2006

Pattern Language Structure for Agent Patterns Selection

Page 8: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

8

Architectural Analysis Using EAMF 29 September 15 2006

Requirements Model Engineering Activities for ABS-B2

Document New Requirements

Traceability

Document Traceability

Between Modeling Constructs and

Req. Model Definitions

Map Business Requirements into

Requirements Model

<analysis input> Project

Requirements

Document Traceability

between Project Requirements and

Req. Model Definitions/

Requirements

Draw Actor and Dependency Diagram(s)

Draw Goal and Task Diagram(s)

Document Modeling

Constructs

Populate Requirements

Model Categories

Sparx Systems EA

EAMF CatalogSparxSystems EARepository ReqPro

Reqs Repository

Shared File System

<analysis input> R

equirements M

odel

Business Analyst Business Architect

1 2 3

4

5

ReqPro JUCMNav

ReqPro

<definition>all<requirement>some

Def(s) and Req(s)Traceability Info <requirement>

Business Entity

EAMF ProcessPatterns

EAMF ProcessPatterns

<requirement>Business Entity

<requirement>Business Entity

<requirement>Business Use Case

<requirement>Organizational<requirement>Location

6

7

8

Def

Req

Req

Modeling ConstructsTo Req. Model Defs

TraceabilityInformation

Legend:

1. ReqPro Doc(s)

2. ReqPro Req(s)

3. ReqPro Traceab. Info*

4. EA Doc Ref(s)*

5. EA Def(s)

6, EA Req(s)

7. EA Traceab. Info*

8. jUCMNav Diagram

9. EAMF Patterns

Def

Req

Def Req

Req

Req(s) Traceability Info

Architectural Analysis Using EAMF 30 September 15 2006

Use of Sparx Systems EA to Engineer the ABS-B2 EAMF Requirements Model

Project Bus. Vocabulary Definition

Strategy Definition

Concept Definition

Business Use Case Requirements

Business Model

Requirements

Requirements Definition

Project Requirements ModelCategories

RequirementsModel Engineering

Proj. Bus. Directives

Business Objective

Features and Events

Functional Requirements

Non-Functional Requirements

Business Entity Requirements

Business Process

Requirements

Bus/Workflow Rules Reqs

Process Model

Requirements

Location Requirements

Organizational Requirements

EAMF Catalogs and Enterprise Requirements Model Categories

Enterprise Glossary

Enterprise Business Rules

Enterprise Solution Patterns

Enterprise Strategies

Pattern/Product/Enterprise Solutions Catalog

Enterprise Projects (e.g., Ent. Worker Services)

<analysis input> Requirements ModelWithin EA EAMF- Compliant Project

Template

<definition> Project Business Vocabulary

<definition> Strategy Definition

<definition> Concept Definition

<requirement> Business Entity Requirements

<requirement> Business Use Case Requirements

<requirement> Business Model Requirements

<requirement> Requirements Definition

EAMF Pattern, Product and Enterprise Solutions Catalogs

EAMF Enterprise Requirements Model

Enterprise Projects(EAMF-Compliant)

Architectural Analysis Using EAMF 31 September 15 2006

Sparx Systems EA Template for ABS-B2

Architectural Analysis Using EAMF 32 September 15 2006

Use of IBM Rational ReqPro for ABS-B2's Requirements Model Engineering Phase

Ent

erpr

ise

Pro

ject

Req

s M

odel

type

s ar

e th

e sa

me

as P

roje

ct R

eqs

Mod

el T

ypes

Enterprise P

roject Req M

odel Docs types are the sam

e as Project R

eq Model D

ocs Types

Page 9: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

9

Architectural Analysis Using EAMF 33 September 15 2006

jUCMNav GRL Modeling Constructs

Architectural Analysis Using EAMF 34 September 15 2006

jUCMNav GRL Modeling Constructs (continued)

Architectural Analysis Using EAMF 35 September 15 2006

jUCMNav User Interface

Architectural Analysis Using EAMF 36 September 15 2006

Actor-Dependency Diagram for the ESLM Domain (Early Requirements Discipline)

Page 10: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

10

Architectural Analysis Using EAMF 37 September 15 2006

Goal Diagram for AFLAC Service Request Processor (Early Requirements Discipline)

Architectural Analysis Using EAMF 38 September 15 2006

Business Architecture Analysis Using EAMF

Software Development Lifecycle Phases

Traceable Artifacts

Project Bus. Vocabulary Definition

Strategy Definition

Concept Definition

Business Use Case Requirements

Business Model

Requirements

Requirements Definition

Requirements ModelCategories

RequirementsModel Engineering

Proj. Bus. Directives

Business Objective

Features and Events

Functional Requirements

Non-Functional Requirements

Business Entity Requirements

Business Process

Requirements

Bus/Workflow Rules Reqs

Process Model

Requirements

Location Requirements

Organizational Requirements

EAMF Catalogs and Enterprise Requirements Model Categories

Enterprise Glossary

Enterprise Business Rules

Enterprise Solution Patterns

Enterprise Strategies

Pattern/Product/Enterprise Solutions Catalog

Enterprise Projects (e.g., Ent. Worker Services)

Relationships

Bus. Arch.

BUC Mdl

Entities

Bus. ProblemForce

Hierarchies

URN Mdl

Candidate Bus. Arch.

Styles

CandidateReferenceProjects

Req Mdl Analysis

Bus. Arch.Analysis Artifacts

Analysis

Org. Mdl

Loc. Mdl

Capab. Matrix

Candidate Bus Pattern Hierarchies

Architectural Analysis Using EAMF 39 September 15 2006

Pattern Language Structure for Agent Patterns Selection

Architectural Analysis Using EAMF 40 September 15 2006

UCM Notations Summarized

Figure 27

Page 11: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

11

Architectural Analysis Using EAMF 41 September 15 2006

UCM Notations Summarized (continued)

Architectural Analysis Using EAMF 42 September 15 2006

Inter-Scenario Relationships Design Patterns Used in EAMF’s BPM approach

Scenario Interactions

Scenario Aborting

Mutually Exclusive Scenarios

Scenario Composition

Waiting Place

Timed Waiting Place

Scenario Dependency

Inter-Scenario Relationships

Scenario Clustering

ConcurrentScenarios

Architectural Analysis Using EAMF 43 September 15 2006

Integration of Goal Oriented and Scenario-Based Modeling

Architectural Analysis Using EAMF 44 September 15 2006

Use of Sparx Systems EA to Analyze the ABS-B2 Business Architecture

Project Bus. Vocabulary Definition

Strategy Definition

Concept Definition

Business Use Case Requirements

Business Model

Requirements

Requirements Definition

Requirements ModelCategories

RequirementsModel Engineering

Proj. Bus. Directives

Business Objective

Features and Events

Functional Requirements

Non-Functional Requirements

Business Entity Requirements

Business Process

Requirements

Bus/Workflow Rules Reqs

Process Model

Requirements

Location Requirements

Organizational Requirements

EAMF Catalogs and Enterprise Requirements Model Categories

Enterprise Glossary

Enterprise Business Rules

Enterprise Solution Patterns

Enterprise Strategies

Pattern/Product/Enterprise Solutions Catalog

Enterprise Projects (e.g., Ent. Worker Services)

Relationships

Bus. Arch.

BUC Mdl

Entities

Bus. ProblemForce

Hierarchies

URN Mdl

Candidate Bus. Arch.

Styles

CandidateReferenceProjects

Bus. Arch.Analysis Artifacts

Analysis

Org. Mdl

Loc. Mdl

Capab. Matrix

Candidate Bus Pattern Hierarchies

<analysis input> Requirements ModelWithin EA EAMF- Compliant Project

Template

<definition> Business Vocbulary

<definition> Strategy Definition

<definition> Concept Definition

<requirement> Business Entity Requirements

<requirement> Business Use Case Requirements

<requirement> Business Model Requirements

<requirement> Requirements Definition

<view> Analysis within <perspective> Business Architecture of EAMF-

Compliant Project Template

EAMF Pattern, Product and Enterprise Solutions Catalogs

EAMF Enterprise Requirements Model

Enterprise EAMF-Compliant Project

Within EAMF Framework

Within EAMF Enterprise Solutions Catalog

Page 12: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

12

Architectural Analysis Using EAMF 45 September 15 2006

Business Architecture Design Using EAMF

Software Development Lifecycle PhasesDesign

Relationships

Bus. Arch. Engineering

BUC Mdl

Domain ModelEntities

Bus. ProblemForce

Hierarchies

URN Mdl

Candidate Bus. Arch.

Styles

CandidateReferenceProjects

Bus. Arch.Analysis Artifacts

Bus. Arch.Design Artifacts

Analysis

Org. Mdl

Loc. Mdl

BUC Mdl

Loc. Mdl

Org. Mdl

Process Mdl

Capab. Matrix

ReferenceEAMF

Project(s)

Reference BusinessArch(s)

Candidate Bus Pattern Hierarchies

Bus. Pattern Hierarchies

Bus. Arch.Model

Bus. Arch.Patterns/Reuse

Constraints

Architectural Analysis Using EAMF 46 September 15 2006

Use of Sparx Systems EA to Design the ABS-B2 Business Architecture

Architectural Analysis Using EAMF 47 September 15 2006

From Requirements Engineering to Business Architecture Engineering Using EAMF

Glossary

Stakeholder Requests

Business Objectives

Features and Events

Use Cases

Business Model

Business or Functional Requirements

Non Functional Requirements

Requirements Types

Software Development Lifecycle Phases

Requirements Engineering

Location

Organization

ProcessBusiness

Rules

Pattern/Product/Enterprise Solution Reqs

Business Rules Reqs Repository

Enterprise Solution Patterns Requirements

Enterprise Business Vocabulary Reqs

Business Strategy and Innovation Reqs

Enterprise Requirements

Enterprise Project Requirements

Req. Analysis

WorkflowRules

Project Bus. Vocabulary Definition

Strategy Definition

Concept Definition

Business Use Case Requirements

Business Model

Requirements

Requirements Definition

Requirements ModelCategories

RequirementsModel Engineering

Proj. Bus. Directives

Business Objective

Features and Events

Functional Requirements

Non-Functional Requirements

Business Entity Requirements

Business Process

Requirements

Bus/Workflow Rules Reqs

Process Model

Requirements

Location Requirements

Organizational Requirements

EAMF Catalogs and Enterprise Requirements Model Categories

Enterprise Glossary

Enterprise Business Rules

Enterprise Solution Patterns

Enterprise Strategies

Pattern/Product/Enterprise Solutions Catalog

Enterprise Projects (e.g., Ent. Worker Services)

Design

Relationships

Bus. Arch. Engineering

BUC Mdl

Domain ModelEntities

Bus. ProblemForce

Hierarchies

URN Mdl

Candidate Bus. Arch.

Styles

CandidateReferenceProjects

Req Mdl Analysis

Bus. Arch.Analysis Artifacts

Bus. Arch.Design Artifacts

Analysis

Org. Mdl

Loc. Mdl

BUC Mdl

Loc. Mdl

Org. Mdl

Process Mdl

Capab. Matrix

ReferenceEAMF

Project(s)

Reference BusinessArch(s)

Candidate Bus Pattern Hierarchies

Bus. Pattern Hierarchies

Bus. Arch.Model

Bus. Arch.Patterns/Reuse

Constraints

Architectural Analysis Using EAMF 48 September 15 2006

Actor/Dependency and Goal/Plan Diagram (Late Requirements Discipline)

Page 13: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

13

Architectural Analysis Using EAMF 49 September 15 2006

Actor/Dependency Diagrams (Late Requirements Discipline)

Architectural Analysis Using EAMF 50 September 15 2006

Composite UCM Root Map for ESLM

Architectural Analysis Using EAMF 51 September 15 2006

Plug-In Map for HandleAllEvents in Root Map

Architectural Analysis Using EAMF 52 September 15 2006

Generic Plug-In Map for HandlePolicyServiceEventsand HandleInvoiceServiceEvents

Page 14: EAMF Applied9/18/2006 2 Architectural Analysis Using EAMF 5 September 15 2006 From Requirements to Analysis •Requirements specify the behavior of the largest-grained component: the

9/18/2006

14

Architectural Analysis Using EAMF 53 September 15 2006

Generic Plug-In Map for ProcessAllRequests Stub in Root Map