Sie sind auf Seite 1von 6

Architectural Analysis

Objectives: Architectural Analysis


Understand the purpose of Architectural Analysis and where
in the lifecycle it is performed
Describe a representative architectural pattern and set of
analysis mechanisms, and how they affect the architecture
Understand how to read and interpret the results of
Architectural Analysis
Architectural Layers and their relationships
High-level packages and their relationships
Key concepts
Modeling conventions

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

So Where Are We?

Architect

Architectural
Analysis

Architectural Analysis Overview

Architectural Describe
Design Concurrency

Describe
Distribution

Review the Architecture


Reviewer
Architecture

Glossary
Supplementary
Specifications
Use-Case
Analysis

Subsystem
Design

Designer

Use-Case
Design

Review the
Design

Architecture Document
Design
Guidelines

Architectural
Analysis

Design
Reviewer

Class
Design

Architectural Analysis Topics

Key Architectural Analysis Concepts


Modeling Conventions
Analysis Mechanisms
Key System Concepts
Initial Architectural Layers
Architectural Analysis Checkpoints

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Use Case Realization

Design Model

Use-Case Model

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Architectural Analysis Topics

Design
Guidelines

Design Model

Database
Design

Database
Designer

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Key Architectural Analysis Concepts


Modeling Conventions
Analysis Mechanisms
Key System Concepts
Initial Architectural Layers
Architectural Analysis Checkpoints

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Page 1
1

What is Architecture: The 4+1 View Model

Logical View

Analysts/Designers
Structure

What is a Package?
A package is a general purpose mechanism for organizing
elements into groups
A model element which can contain other model elements

Implementation View

End-user
Functionality

Programmers
Software management

Use-Case View
Process View

Deployment View

Uses

System engineering
System topology
Delivery, installation
communication

System integrators
Performance
Scalability
Throughput

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Package Name

Organize the model under development


A unit of configuration management

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Package Relationships: Dependency

Avoiding Circular Dependencies

Packages can related to one another using a dependency


relationship

A
A

Dependency relationship
ClientPackage

SupplierPackage

Hierarchy
should be
acyclic

Dependency Implications

Changes to the Supplier package may affect the Client


package
The Client package cannot be reused independently because it
depends on the Supplier package
OOAD Using the UML - Architectural Analysis, v 4.0
Copyright 1994-1998 Rational Software, all rights reserved

B
A'
C

Circular dependencies make it impossible to reuse


one package without the other

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Architectural Analysis Topics

11

Modeling Conventions

Key Architectural Analysis Concepts


Modeling Conventions
Analysis Mechanisms
Key System Concepts
Initial Architectural Layers
Architectural Analysis Checkpoints

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

10

What Are They?


What diagrams and modeling elements to use
Rules for the use of modeling elements and diagrams
Naming conventions

Examples
What modeling constructs should not be used
What diagrams must exist
What diagrams should be used to model the architectural
views

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

12

Page 2
2

Example: Modeling Conventions

Architectural Analysis Topics

Use Case View

Use Cases will be named with short active phrases such as


Submit Grades

Logical View
A Use Case Realization package will be created that includes:
At least one realization per use case traced to the use case
A View Of Participating Classes diagram that shows the
participants in the realization and their relevant relationships

Key Architectural Analysis Concepts


Modeling Conventions
Analysis Mechanisms
Key System Concepts
Initial Architectural Layers
Architectural Analysis Checkpoints

Classes will be named with noun names matching the


problem domain as much as possible.

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

13

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Architectural Mechanisms: What Are They?

Analysis Mechanisms (conceptual)


Design Mechanisms (concrete)
Implementation Mechanisms (actual)

15

Legacy interface

Granularity
Volume
Duration
Access mechanism
Access frequency (creation/deletion, update, read)
Reliability

Latency
Duration
Access mechanism
Access frequency

Security
Data granularity
User granularity
Security rules
Privilege types

Communication

17

16

Analysis Mechanism Characteristics (cont.)

Persistency

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Persistency
Communication (IPC and RPC)
Message routing
Distribution
Transaction management
Process control and synchronization (resource contention)
Information exchange, format conversion
Security
Error detection / handling / reporting
Redundancy
Legacy Interface

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Analysis Mechanism Characteristics

Latency
Synchronicity
Message Size
Protocol

Sample Analysis Mechanisms

Architectural Mechanisms

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

14

etc.

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

18

Page 3
3

Describing Analysis Mechanisms

Describing Analysis Mechanisms - Example

Collect all analysis mechanisms in a list


Draw a map of the client classes to the analysis
mechanisms
Analysis Class

Client

Analysis

Class

Mechanism
(Conceptual)

Analysis Mechanism(s)

Course

Student

Persistency

Persistency

Identify characteristics of the Analysis Mechanisms


RegistrationController

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Analysis

19

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Architectural Analysis Topics

Distribution

20

Identify Key Concepts

Key Architectural Analysis Concepts


Modeling Conventions
Analysis Mechanisms
Key System Concepts
Initial Architectural Layers
Architectural Analysis Checkpoints

Define preliminary entity analysis classes


Domain knowledge
Requirements
Glossary
Domain Model, or the Business Model (if exists)

Define analysis class relationships


Model analysis classes and relationships on Class Diagrams
Include brief description of analysis class

Map analysis classes to necessary analysis mechanisms

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Analysis classes will evolve

21

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Example: Key Concepts


<<entity>>
Student

(from University Artifacts)

(from University Artifacts)

(from University Artifacts)

<<entity>>
Grade
(from University Artifacts)

<<entity>>
CourseCatalog

<<entity>>
CourseOffering

<<entity>>
Course

(from Course Catalog)

(from University Artifacts)

(from University Artifacts)

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Architectural Analysis Topics

<<entity>>
Professor

<<entity>>
Schedule

22

23

Key Architectural Analysis Concepts


Modeling Conventions
Analysis Mechanisms
Key System Concepts
Initial Architectural Layers
Architectural Analysis Checkpoints

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

24

Page 4
4

Patterns and Frameworks

Design Patterns

Pattern

A design pattern is a solution to a common design problem

A common solution to a common problem in a context

Describes a common design problem


Describes the solution to the problem
Discusses the results and trade-offs of applying the pattern

Analysis/Design Pattern
A solution to a narrowly-scoped technical problem
A fragment of a solution, or a piece of the puzzle

Design patterns provide the capability to reuse successful


designs

Framework
Defines the general approach to solving the problem
Skeletal solution, whose details may be analysis/design
patterns

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Pattern Name
Parameterized
collaboration

25

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Architectural Patterns

Context
26

Collaboration

Typical Layering Approach

Layers
Model-view-controller (M-V-C)
Pipes and filters
Blackboard

Specific
functionality

General
functionality
OOAD Using the UML - Architectural Analysis, v 4.0
Copyright 1994-1998 Rational Software, all rights reserved

27

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

Example: High-Level Organization of the Model


StudentInterface
(from User Interface)

Registration
(from Business Services)

Finance System
(from Business Services)

Architectural Analysis Topics

User Interface Layer


RegistrarInterface
(from User Interface)

28

ProfessorInterface
(from User Interface)

Student Evaluation
(from Business Services)

Key Architectural Analysis Concepts


Modeling Conventions
Analysis Mechanisms
Key System Concepts
Initial Architectural Layers
Architectural Analysis Checkpoints

Business Services Layer

Course Catalog
(from Business Objects)

Business Objects Layer

University Artifacts
(from Business Objects)
OOAD Using the UML - Architectural Analysis, v 4.0
Copyright 1994-1998 Rational Software, all rights reserved

29

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

30

Page 5
5

Architectural Analysis Checkpoints

Architectural Analysis Checkpoints (cont.)

General

Classes

Is the package partitioning and layering done in a logically


consistent way?
Have the necessary analysis mechanisms been identified?

Have the key entity classes and their relationships been


identified and accurately modeled?
Does the name of each class clearly reflect the role it plays?
Have the entity classes been mapped to the necessary
analysis mechanisms?

Packages
Have we provided a comprehensive picture of the services of
the packages in upper-level layers?

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

31

OOAD Using the UML - Architectural Analysis, v 4.0


Copyright 1994-1998 Rational Software, all rights reserved

32

Page 6
6

Das könnte Ihnen auch gefallen