MFESA – The Method-Framework for Engineering System Architectures MFESA-Compliant Architecture Engineering Method

MFESA Method Components

MFESA Metamethod

Donald Firesmith ½ Day Tutorial at the IEEE International System Conference In Montreal, Quebec, Canada 4 April 2011

MFESA Repository

MFESA Metamodel

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

1

Tutorial Objectives Introduce you to the Method Framework for Engineering System Architectures (MFESA): • MFESA Ontology of reusable concepts and terminology

• MFESA Metamodel of reusable method components • MFESA Repository of reusable method components: —

MFESA Architectural Work Units and Work Products



MFESA Architectural Workers

• MFESA Metamethod for generating appropriate project-specific

system architecture engineering methods

Help you determine whether Situational Method Engineering (SME) and MFESA are right for you. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

2

MFESA Project Started January 2007 Collaborators: • SEI Acquisition Support Program (ASP) –

Don Firesmith (Team Lead), Peter Capell, Bud Hammons, and Tom Merendino • MITRE – Dietrich Falkenthal (Bedford MA) • USAF – DeWitt Latimer (USC)

Current work products: • Reference Book (November 2008) • Tutorials and Training Materials • Articles

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

3

Intended Tutorial Attendees System and Subsystem Architects Process Engineers Requirements Engineers

Technical and Administrative Managers Acquirers Developers Testers Trainers and Educators Standards Developers Academic Researchers

Any other Stakeholders The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

4

Topics Motivation MFESA Overview MFESA Ontology of Concepts and Terminology MFESA Metamodel of Reusable Method Components MFESA Repository of Reusable Method Components • Architectural Work Units and Work Products

• Architectural Workers

MFESA Metamethod Conclusion

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

5

System Architecture – Traditional Definition System Architecture the organization of a system including its major components, the relationships between them, how they collaborate to meet system requirements, and principles guiding their design and evolution

Note that this definition is primarily oriented about the system‟s structure. Yet systems have many static and dynamic logical and physical structures. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

6

System Architecture – MFESA Definition System Architecture all of the most important, pervasive, top-level, strategic decisions, inventions, engineering tradeoffs, assumptions, and their associated rationales concerning how the system will meet its derived and allocated requirements Includes: •

All major logical and physical and static and dynamic structures



Other architectural decisions, inventions, tradeoffs, assumptions, and rationales: —

Approach to meet quality requirements



Approach to meet data and interface requirements



Architectural styles, patterns, mechanisms



Approach to reuse (build/buy decisions)



Strategic and pervasive design-level decisions



Strategic and pervasive implementation-level decisions

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

7

Architecture vs. Design

Architecture

Design

Pervasive (Multiple Components) Strategic Decisions and Inventions Higher-Levels of System Huge Impact on Quality, Cost, & Schedule Drives Design and Integration Testing Driven by Requirements and Higher-Level Architecture Mirrors Top-Level Development Team Organization (Conway‟s Law)

Local (Single Components) Tactical Decisions and Inventions Lower-Levels of System Small Impact on Quality, Cost, & Schedule Drives Implementation and Unit Testing Driven by Requirements, Architecture, and Higher-Level Design No Impact on Top-Level Development Team Organization

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

8

System Architecture Engineering System Architecture Engineering the subdiscipline of systems engineering consisting of all architectural work units performed by architectural workers (architects, architecture teams, and their tools) to develop and maintain architectural work products (including system or subsystem architectures and their representations)

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

9

System Architecture is Critical Supports achievement of critical architecturally significant requirements Enables engineering of system quality characteristics and attributes

Drives all logically-downstream activities (design, implementation, integration, deployment, …) Greatly affects cost, schedule, and risk

Greatly affects system acceptability and success

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

10

System Architecture Engineering is critical to Project Success

Joe Elm, Dennis R. Goldenson, Khaled El Emam, Nicole Donatelli, and Angelica Neisa, A Survey of Systems Engineering Effectiveness – Initial Results, CMU/SEI-2007-SR-014, Software Engineering Institute, November 2007, p. 222. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

11

Limitations of Current Methods and Standards Do not adequately address: • The increasing size and complexity of many current systems • All types of architectural components (especially software)

• All types of interfaces (interoperability and intraoperability) • All potentially important system structures, views, models, and

other architectural representations • All life cycle phases (production, evolution, and maintenance

of architectural integrity) • System quality characteristics, attributes, and requirements • Reuse and Component-Based Development (CBD)

• Specialty engineering areas (such as safety and security) The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

12

More Limitations of Current Methods and Standards2 Current methods: • Overemphasize two structures: — Static logical functional decomposition view — Static physical aggregation decomposition view • Are weak on structure, view, and model consistency. • Confuse requirements engineering with architecture engineering. • Tend to assume that One Size Fits All. • Produce only a single architectural vision. • Excessively emphasize architectural models over other architectural representations. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

13

Architecture Engineering Challenges1 Poor architecturally significant requirements: missing, incompatible, and poorly engineered (analyzed, specified, managed). How good is „Good enough‟? We lack sufficient adequately trained and experienced architects. • Many young architects must perform tasks for which they are under

qualified. • Field promotions

Architects may use multiple inconsistent architecture engineering methods. Architecture engineering methods are often incomplete or incompletely documented: different backgrounds, organizations, and training. Architects can rely too much on architectural engineering tools. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

14

Architecture Engineering Challenges2 Different stakeholders have different and possibly conflicting needs for different architectural representations at different levels of abstractions: • Requirements Engineers – Ensure architecturally significant (e.g., quality)

requirements are properly engineered • Architects – Capture and convey their architecture to themselves, other

architects, and other stakeholders • Designer and Implementers – Constrain designs and implementations

• Specialty Engineers – ensure architecture supports specialty engineering

requirements and incorporates related patterns/mechanisms. • Testers – Integration tests and whitebox system and component testing • Manufacturers – Producibility of the system given its architecture • Acquirers and Funders – Understand what is being acquired and paid for

• Managers – Manage development and Conway‟s Law • Certifiers, Accreditors, and Regulators – Ensure system will be able to be

safely and securely operated The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

15

Why Method Engineering? – Systems Vary Greatly Autonomy of subsystems: • Individually useful, self-contained, relatively independent • Synergistic symbiosis among collaborating interdependent subsystems

Complexity: • Simple through ultra-complex • Organized simplicity, organized complexity, unorganized complexity

Criticality: • Business, mission, safety, and security • System vs. individual subsystems

Domains (such as energy, finance, telecommunications, transportation, weapons)

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

16

Why Method Engineering? – Systems Vary Greatly2 Driven by: • Requirements (top-down) • Subsystem availability (bottom-up reuse)

Emergent behavior and characteristics: • Required, beneficial, and detrimental • Foreseeable vs. unexpected

Flexibility: • Configurability • Internationalization • Personalization

Geographical distribution of subsystems Homogeneity/heterogeneity of subsystems The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

17

Why Method Engineering? – Systems Vary Greatly3 Intelligence Operational dependence on other systems Reconfigurability (adding, replacing, or removing subsystems)

Relative amounts of data, hardware, software, people, facilities, manual procedures, … Requirements: • Existence, volatility • Functional, data, interface, quality characteristics and attributes, constraints

Self-regulation (proactive vs. reactive, homeostasis) Size (trivially small through ultra-large-scale)

Technologies used (including diversity, maturity, and volatility) The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

18

Why Method Engineering? – Organizations Vary Greatly

Number of organizations Degree of centralized/distributed governance: • Authority, policy, funding, scheduling • Directed, Acknowledged, Collaborative, or Virtual

Types of organizations: • Owner, Acquirer, Developer, Operator, User, Maintainer • Prime contractor / system integrator, subcontractors, vendors, open

source

Size of organizations Management and engineering culture Geographical distribution Staff expertise and experience The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

19

Why Method Engineering? – Endeavors Vary Greatly

Type (project, program of related projects, enterprise) Contracting: • Formality (informal in-house agreement vs. formal contract)

• Type (e.g., fixed-price or cost plus fixed fee)

New (greenfield) development vs. legacy enhancement Lifecycle scope (development, manufacturing, operations, and sustainment) System scope (subsystem, system, “system of systems”) Duration (weeks, months, years, or decades) Schedule (adequacy, criticality, coordination) Funding (adequacy, dependability, duration, and distribution) The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

20

Why Method Engineering? – Stakeholders Vary Greatly Number of stakeholders Diversity of stakeholders: • Acquirer, developer, maintainer, member of the public,

operator, regulator, safety/security accreditor/certifier, subject matter expert, user, … Authority (requirements, funding, policy, … )

Accessibility of the stakeholders to the architecture teams Volatility of stakeholder turnover (especially acquirers) Motivation and needs

Degree of trust The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

21

Why Method Engineering? – Profiling Systems (Programmatic Meters)

Endeavor Characteristics

Stakeholder Characteristics

Organizational Characteristics

Low Risk Systems Number of Organizations Size of Organizations Mgmt / Eng. Culture Geographic Distribution Expertise Experience Number of Stakeholders Stakeholder Accessibility Stakeholder Authority Degree of Trust Stakeholder Volatility Endeavor Cycle Endeavor Scope

High Risk Systems

One

Very High

Tiny

Huge

Late Adopters

Local

Early Adopters

Global

High

Low

Low

High

High

Low

High

Low

High

Low

Low

High

Single Phase

Individual Subsystem

Total Lifecycle

System of Systems

Duration Weeks

Decades

Funding Inadequate

Generous

Inadequate

Generous

Schedule

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

22

Why Method Engineering? – Profiling Systems (Quality Meters) Poor Quality Systems

High Quality Systems

Availability Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

Low

High

External Quality Characteristics

Capacity Interoperability Performance Reliability Robustness Safety Security Usability

Internal Quality Characteristics

Variability

Extensibility Financial Feasibility Maintainability Portability Testability

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

23

Why Method Engineering? – Profiling Systems (SoS Meters) Ultra-Large Scale Systems (“System of Systems”)

Trivial Systems Complexity

System Characteristics

Trivially Simple

Ultra -Complex

Evolution Negative Emergence

Highly Static

Constantly Evolving

Positive Emergence

Negative Emergence

Size Trivially Small

Ultra -Large-Scale

Variability Single Variant or Configuration

Ultra -large Amounts of Variability

Subsystem Characteristics

Autonomy Operationally Interdependent

Operationally Independent

Governance Centrally Governed

Independently Governed

Heterogeneity Completely Homogeneous

Physical Distribution

Contiguous Systems

Completely Heterogeneous

Extremely Distributed Systems

Reuse 100% New

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

100% Reuse

© 2011 Donald Firesmith

24

Why Method Engineering? – Bottom Line No single system architecture engineering method is sufficiently general and tailorable to meet the needs of all endeavors.

Method engineering enables the creation of appropriate, system/organization/endeavor/stakeholder-specific architecture engineering methods.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

25

Topics Motivation

MFESA Overview MFESA Ontology of Concepts and Terminology MFESA Metamodel of Reusable Method Components MFESA Repository of Reusable Method Components •

Architectural Work Units and Work Products



Architectural Workers

MFESA Metamethod Conclusion

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

26

Definition Method-Framework for Engineering System Architectures (MFESA) a method framework for engineering appropriate situation-specific system architecture engineering (SAE) methods

MFESA is not a single system architecture engineering method.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

27

As-Performed Processes

Process-Level Actual As Performed Project-Specific Process Components (and Processes)

Architecture Team 1

Architect Architect John Mary

Architecture Task 1 Execution

Architecture Plan

Architecture Task 2 Execution

Architecture

Architecture Model

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Architecture Document

© 2011 Donald Firesmith

28

As-Intended Methods

Method Level As Intended Methods and Standards (Method Components) SEI CMMI

SEI ADD

SEI EPIC

Process Level Actual As Performed Project-Specific Process Components (and Processes)

Prime Contractor Method RUP

Subcontractor Method

INCOSE Guidebook

Architecture Architect Architect Team 1 John Mary

SubsystemSpecific Method

System-Specific Method

Architecture Task 1 Execution

Aviation-Appropriate Method

DODAF

AutomotiveAppropriate Method

Architecture Plan

Architecture

Architecture Task 2 Execution

Architecture Model

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Architecture Document

© 2011 Donald Firesmith

29

Method Frameworks Metamethod Level Method Framework

MFESA

Method Level As Intended Methods and Standards (Method Components)

SEI CMMI

SEI ADD

SEI EPIC

Process Level Actual As Performed Project-Specific Process Components (and Processes)

Prime Contractor Method

RUP

Architecture Team 1

Subcontractor Method

INCOSE Guidebook

Architect Architect John Mary

SubsystemSpecific Method

System-Specific Method

Architecture Task 1 Execution

Aviation-Appropriate Method

DODAF

AutomotiveAppropriate Method

Architecture Plan

Architecture

Architecture Task 2 Execution

Architecture Model

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Architecture Document

© 2011 Donald Firesmith

30

Primary Inputs to MFESA Situational Method Engineering

ANSI/EIA 632-2003 ANSI/IEEE 1471-2000

System Architecture Engineering Methods

Department of Defense Architecture Framework (DODAF)

Software Architecture Engineering Methods

INCOSE SE Handbook ISO/IEC 15288-2002

System Engineering

Naval Systems Engineering Guide

Software Engineering

MFESA

SEI Attribute-Driven Design (ADD)

Component-Based Development / Reuse

SEI Capability Maturity Model Integrated (CMMI)

Systems of Systems Engineering

SEI Evolutionary Process for Integrating COTS-based Systems (EPIC)

Human-Centered Architecture Engineering

System Architecture Engineering Experience

Specialty Engineering (e.g., Performance, Reliability, Safety, and Security)

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

31

MFESA Components (Top View)

MFESA

MFESA Ontology

MFESA Metamodel

Method Engineering Framework

MFESA Repository

MFESA Metamethod

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

32

MFESA Components (Detailed View) Method Engineering Framework

MFESA

MFESA Ontology defines the concepts and terms used in the

MFESA Metamodel

MFESA Repository

MFESA Metamethod

stores the

describes how to engineer project-specific

Foundational MFESA Method Components tailored

Reusable MFESA Method Components

MFESA Architecture Engineering Method

Reusable MFESA Architecture Engineering Methods

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

33

MFESA Components (Usage) Method Engineering Framework

MFESA

MFESA Ontology defines the concepts and terms used in the

MFESA Metamodel

MFESA Repository

MFESA Metamethod

stores the

describes how to engineer project-specific

Foundational MFESA Method Components tailored

Reusable MFESA Method Components

MFESA Architecture Engineering Method

performs the

Architect performs the

may play the role of the

Reusable MFESA Architecture Engineering Methods

Process Engineer

selects and tailors the

selects, tailors, and integrates the

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

34

MFESA Addresses Size and Complexity

Third Generation Approaches Needed Maximum Size and Complexity of the System and its Architecture

Second Generation Method Frameworks and Project-Specific Methods First Generation General Purpose Individual Standards and Methods Date in Years

Today

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

35

Topics Motivation MFESA Overview

MFESA Ontology of Concepts and Terminology MFESA Metamodel of Reusable Method Components MFESA Repository of Reusable Method Components • Architectural Work Units and Work Products

• Architectural Workers

MFESA Metamethod Conclusion

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

36

MFESA Ontology More than merely an architectural glossary Information model of system architecture engineering Defines foundational architectural concepts and terminology Defines relationships between concepts

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

37

MFESA Ontology of Concepts and Terminology System System Architecture Architectural Structures

Architectural Styles, Patterns, and Mechanisms Architectural Drivers and Concerns Quality Model, Quality Requirements,

Architectural Representations Architectural Models, Structures, Views, and Focus Areas Architectural Quality Cases Architectural Visions The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

38

System - Definition System a cohesive integrated set of system components (i.e., an aggregation structure) that collaborate to provide the behavior and characteristics needed to meet valid stakeholder needs and desires

Important Ideas: • Modeled as hierarchical aggregate structure • Integrated system components • Components collaborate • Emergent behavior and properties

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

39

System Component Types Subsystems • Consumable materials (e.g., ammunition, fuel, lubricants, reagents, and

• • • •

• • • • • • • •

solvents) Data Documentation (both separate physical and built-in electronic documentation) Equipment (e.g., maintenance, support, and training equipment) Facilities (e.g., maintenance, manufacturing, operations, support, training, and disposal facilities including their component property, buildings, and their furnishings) Hardware Manual procedures Networks (for the flow of data, power, and material) Organizations Personnel Physical interfaces Software Tools

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

40

System – A Partial Example Aircraft System of Systems

Aircraft System

Airframe Segment

Ground Support System

Avionics Segment

Empennage Horizontal Stabilizers Vertical Stabilizer Tail Cone

Skin

Propulsion Segment

Vehicle Segment

Crew Compartment

Engines

Auxiliary Power

Communications

Passenger Compartments

Fuel

Electrical Power

Nacelles

Fire Protection

Pylons

Flight Control Surfaces

Crew Interface Entertainment Information Processing Navigation

Windows

Interiors Segment

Training System

Auto Flight

Fuselage

Doors

Maintenance System

Prognostics and Health Management Sensors

Cargo Compartments Galleys Lavatories

Ailerons

Emergency Provisions

Elevators

Water & Waste

Flaps

Environment

Rudder Hydraulic Power

Structure Wings

Air Conditioning

Pneumatic Power

Air Pressure Landing Gears Oxygen

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Shipside Lighting

© 2011 Donald Firesmith

41

Some System Characteristics Multiple Components Multiple Interactions between Components Multiple Structures (Logical and Physical, Static and Dynamic) Multiple: • Views and Viewpoints • Models • Focus Areas

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

42

What about Systems of Systems? System of Systems (SOS) a system composed of systems

Almost all systems are composed of systems (i.e., subsystems) When most people say systems of systems, what they really mean is something like this: an ultra-large and complex, highly flexible, dynamically evolving, technologically ambitious, and geographically-distributed system of pre-existing, heterogeneous, autonomous, self-contained, and independently governed (e.g., acquired, developed, operated, scheduled, and funded} systems, whereby the system of systems exhibits significant amounts of unexpected emergent behavior and characteristics

Engineering the architecture of such systems of systems calls for a different architecture engineering method than simpler systems. The Method Framework for Engineering System Architectures (MFESA) . Donald G. Firesmith

© 2011 Donald Firesmith

43

System and System Architecture - Ontology Architect(s)

Subsystem

System of Systems

Architectural Decisions

engineer the System 1

abstracts the 1

System Architecture

Architectural Inventions Architectural Tradeoffs

drive

Architectural Assumptions Associated Rationales

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

44

Architectural Structure, Element, and Component – Definitions Architectural Structure a cohesive set of architectural elements connected by associated relationships that captures a set of related architectural decisions, inventions, tradeoffs, assumptions, and rationales

Architectural Element a part of an architectural structure

Architectural Component a physical architectural element of a static physical aggregation structure

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

45

Architectural Structure – Ontology

System

1

abstracts the 1

Architectural Decisions System Architecture

1

1

are abstractions (models) of the Static Structures Dynamic Structures Logical Structures Physical Structures

Architectural Inventions Architectural Tradeoffs

consists primarily of

Architectural Assumptions

drive and constrain 1..*

1..* 0..* may have known 0..* Architectural Risks

Associated Rationales

1..*

Architectural Structures

incorporate most

1..* Architectural Elements

drive

1..* connect

Relationships Between Architectural Elements

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

46

Architectural Styles, Patterns, and Mechanisms – Definitions Architectural Pattern a well-documented reusable solution to a commonly occurring architectural problem within the context of a given set of existing architectural concerns, decisions, inventions, engineering trade-offs, and assumptions

Architectural Style a top-level architectural pattern that provides an overall context in which lower-level architectural patterns exist

Architectural Mechanism a major architectural decision or invention, often an element of an architectural pattern

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

47

Architectural Styles, Patterns, and Mechanisms - Ontology Architectural Styles <>

Architectural Patterns <>

Architectural Mechanisms <>

Architectural Decisions

System Architecture

incorporate consists most primarily of the 1..* Architectural Structures

1

1 abstracts the

are abstractions of the 1..*

1 System

1

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

48

Architectural Drivers and Concerns – Definitions Architectural Driver an architecturally significant product or process requirement that drives the engineering of the system architecture

Architectural Concern a cohesive collection of architectural drivers

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

49

Architectural Drivers and Concerns Ontology Architectural Concerns

Architecturally Significant Product Requirements

Architectural Drivers

Architecturally Significant Process Requirements

System Static Structures Dynamic Structures Logical Structures Physical Structures

drive the engineering of the 1

abstracts the 1

System Architecture

1 drive and are abstractions constrain of the Architectural Structures

1 drive the engineering of the

1..* 1..* 1..*

1..* Architectural Elements

1..*

1..* connect

Relationships Between Architectural Elements

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

50

Architectural Concern – An Example Architecturally Significant Requirements

Security Requirements

Architectural Concern

Confidentiality Requirements

Confidentiality (Architectural Concern)

is partially implemented by

is represented by

is partially implemented by

is partially implemented by

is partially implemented by

is represented by

Architectural Structures

Architectural Focus Area

Data Flow Structure

Network Structure

Class Structure

Confidentiality Focus Area

Architectural Viewpoints

Data Flow Viewpoint

Network Viewpoint

Class Viewpoint

Architectural View

Data Flow Diagram View

Network Diagram View

Class Diagram View

Subsystem X Data Flow Diagram (Annotated)

System Network Diagram (Annotated)

Subsystem X Architectural Class Diagram (Annotated)

are represented by

includes relevant parts of

Model consists of relevant

includes relevant parts (e.g., confidential data flow and encryption / decryption) of

Model Elements

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

51

MFESA Quality Model Architectural Components

System

defines the meaning of the quality of a

defines the meaning of a specific type of quality of a

Quality Characteristics

Quality Attributes

Quality Model

are measured along

Quality Measurement Scales

measures quality along

Quality Measurement Method

are measured using

Internal Quality Characteristics

External Quality Characteristics

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

52

Internal Quality Characteristics Quality Characteristic

Internal Quality Characteristic

Feasibility

Intraoperability

Producability

External Quality Characteristic

Reusability

Modifiability

Testability

Portability Affordability

Schedule Feasibility

Resource Feasibility

Facility Feasibility

Manpower Feasibility

Current Reusability

Technological Feasibility

Manufacturing Feasibility

Future Reusability

Extensibility

Maintainability

Scalability Adaptive Maintainability

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Perfective Maintainability

Corrective Maintainability

Preventative Maintainability

© 2011 Donald Firesmith

53

External Quality Characteristics Quality Characteristic

Internal Quality Characteristic

Configurability Compliance

Robustness

Dependability

Defensibility

Safety

Efficiency

Survivability

Security

Functionality

Environmental Compatibility

Performance

External Quality Characteristic

Interoperability

Habitability

Serviceability

Operability

Usability

Soundness

Availability

Correctness

Capacity

Predictability

Reliability

Stability

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

54

Performance Characteristic and Attributes Jitter

Problem Prevention

Latency

Problem Detection

Response Time

Recovery

Problem Adaptation

Throughput Performance Type

Quality Characteristic

Harm Mitigation

Problem Reaction

Schedulability

Performance

Harm Arrest

Performance Fault / Failure

measures quality along a

Performance Attribute

Quality Attribute

Quality Model

Analysis

is measured along a

Quality Measurement Scale

defines the meaning of the quality of a

Quality Measurement Method

System

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

55

Defensibility Characteristic and Attributes Occurrence of Unauthorized Harm Occurrence of Abuse (Mishap, Misuse, or Incident)

Problem Prevention

Existence of External Abuser

Problem Detection

Existence of Internal Vulnerability Existence of Danger (Hazard or Threat) Existence of Defensibility Risk

Problem Type Defensibility Attribute

Harm Arrest Mitigation Recovery

Problem Reaction

Analysis

Problem Adaptation

Counterattack (Security)

Solution Type Defensibility Attribute measures quality along a

Safety Defensibility

Defensibility Attribute

Quality Characteristic

Quality Attribute

Security

Quality Model

is measured along a

Quality Measurement Scale

defines the meaning of the quality of a

Quality Measurement Method

System

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

56

Quality Requirements states stakeholders importance of achieving a

Quality Goal Subsystem quantifies a

Quality Requirement

Condition or Event

is applicable during/at

Quality Criterion

defines stakeholders minimum acceptable level of quality of a

shall exceed

Quality Characteristic

Quality Attribute

Quality Threshold is measured along a

determines existence of

Quality Measure

Quality Model

System

is measured using a

Quality Metric

defines the meaning of the quality of a

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

57

Architectural Representations - Definition Architectural Representation a cohesive collection of information that documents a system architecture

Not the same thing as the architecture

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

58

Architectural Representations - Ontology System Architecture

abstracts the System

document the Architectural Representations

Architectural View Type

model the behavior of parts of the

instance of Architectural Views

Architectural Descriptions

Architectural Models Architectural Whitepapers Architectural Training Materials

Executable Architectural Representations

Architectural Visions

Architectural Prototypes

Architecture Documents

Architectural Simulations

Architectural Quality Cases

Executable Architecture

Architectural Analysis Reports

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

59

Architectural Models, Views, & Focus Areas – Definitions Architectural Model an architectural representation that abstracts a single system structure in terms of the structure‟s architectural elements and the relationships between them

Architectural View an architectural representation describing a single architectural structure of a system consisting of one or more related models of that structure

Architectural Focus Area an architectural representation consisting of the cohesive set of all architectural decisions, decisions, and tradeoffs related to a specific architectural concern, regardless of the architectural view, model, or structure where they are documented or found The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

60

Architectural Models, Views, and Focus Areas – Ontology Quality Attributes specify mandatory amounts of

Quality Characteristics 1 document architectural support for 0..1

Quality Requirements

Quality Focus Areas

Quality Concerns

Architectural Representations

Architectural Focus Areas

Architectural Descriptions

1

document support for

1

include relevant parts of

Architectural Concerns

document relevant parts of the 1..*

1..*

Architectural Views

1

1..*

1

System Architecture 1

1..* model 1

specifies Architectural Viewpoint

Architectural Models

document individual

1

Architectural Structures

consists primarily of 1..*

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

61

Architectural Views Mode and State View

Data Flow View Architects must ensure view and model consistency

Multifaceted architecture having multiple structures requiring multiple models providing multiple views

Logical Functional Decomposition View

Physical Decomposition View

Information View

Collaboration View

Services View

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

62

Quality Cases Work Product

make developer‟s‟ case for adequate quality of the justify belief in

Quality Case Claims supports

Arguments Evidence is developed for Quality Characteristic

Quality Attribute

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

63

Architectural Quality Cases System/Subsystem Architecture

makes architects‟ case for adequate quality of the

justify belief in

Architectural Claims: Architecture Helps System Meet its Quality Requirements

Architectural Quality Case

Architectural Arguments:

supports

Architecture includes Architectural Decisions, Inventions, Tradeoffs, Assumptions, and Rationales

Architectural Evidence: Official Architectural Representations (e.g., Architectural Diagrams, Models, Documents) and Witnessed Demonstrations is developed for Quality Characteristic

Quality Attribute

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

64

Architectural Quality Case Diagram Goal: Quality Characteristic A <>

Goal: Quality Attribute A1 <>

Goal: Quality Attribute A2 <>



Goal: Quality Attribute AN <>

justifies belief in Decision 1 <>

Invention 1



<>



Tradeoff 1 <>



Assumption 1 <>



Rationale 1 <>



Decision N1

Invention N2

Tradeoff N3

Assumption N3

Rationale N3

<>

<>

<>

<>

<>

supports

Diagram 1 <>



Model 1 <>

Diagram N <>



Document 1 <>

Model N <>



Demonstration 1 <>

Document N <>



Demonstration N <>

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

65

Example Architectural Quality Case Diagram Claim: Architecture Supports Interoperability Goals

Meets Quality Requirements Claim: Energy Interoperability

Claim: Physical Interoperability

Claim: Protocol Interoperability

Claim: Syntax Interoperability

Claim: Semantics Interoperability

justifies belief in

Arguments (Architectural Decisions)

One-Way Connections

Layered Architecture

Fly-By-Wire

Open Interface Standards

Modular Architecture

Service Oriented Architecture (SOA)

Proxies and Wrappers

supports

Wiring Diagram

Context Diagram

Allocation Diagram

Layer Diagram

Interoperability Whitepaper

Evidence Hardware Schematics

Configuration Diagram

Network Diagrams

Activity or Collaboration Diagrams

Vendor-Supplied Technical Documentation

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

66

Architecture Visions and Vision Components – Definitions Architectural Vision one of the more important actual or potential architectural decisions, inventions, or tradeoffs addressing one or more architectural concerns

Architectural Vision Component one of the more important actual or potential architectural decisions, inventions, or tradeoffs addressing one or more architectural concerns

Note that multiple candidate architectural visions are often created before one is selected and completed to produce the actual architecture

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

67

Architecture Visions and Vision Components – Ontology Architectural Representations Architectural Decisions Architectural Descriptions

Architectural Visions

document architects‟ initial visions of the

Architectural Inventions

System Architecture

Architectural Tradeoffs

drive

Architectural Assumptions Architectural Vision Components

document some of the most important parts of the candidate

Associated Rationales

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

68

Topics Motivation MFESA Overview MFESA Ontology of Concepts and Terminology

MFESA Metamodel of Reusable Method Components MFESA Repository of Reusable Method Components • Architectural Work Units and Work Products

• Architectural Workers

MFESA Metamethod Conclusion

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

69

MFESA Metamodel A Metamodel is a Model of a Model. MFESA Metamodel defines three Foundational Types of Reusable Method Components.

Based on OPEN Process Framework Metamodel. Simplification of ISO/IEC 24744 Not based on OMG Metamodel.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

70

System Architecture Engineering – Methods and Processes System Architecture Engineering Method a systematic, documented, intended way that system architecture engineering should be performed System Architecture Engineering Process an actual way that system architecture engineering is performed in practice on an endeavor

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

71

Layered Method Engineering Models

Process Metamodel

specifies

Metamethod Components

models specification

As-Intended Method (Process Model) models

As-Performed Process

specifies

Method Components instantiation

Process Components

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

72

Method vs. Process System Architecture Engineering documents intended way to perform System Architecture Engineering

System Architecture Engineering

Method Components

is the actual performance of

documents the intended

System Architecture Engineering

Method

Process

documents concrete subtypes of

consists of instances of

Architectural Workers perform produce Architectural Work Units

create and modify Architectural Work Products

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

73

MFESA Metamodel of Reusable Method Components MFESA Repository stores the

MFESA Reusable Method Components

Architecture Engineering Discipline

Architecture Teams membership

Architecture Engineering Tasks

Architectural Work Units

use

perform

create and update

Architecture Engineering Techniques

Architecture Process Work Products

Architecture Workers

use produce

Architecture Tools

Architectural Work Products

Architectures

Architects

describe

Architecture Representations

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

74

MFESA Repository Stores reusable system architecture engineering method components: • Architecture Work Units

• Architecture Work Products • Architecture Workers

Should provide easy access to method components: • Identification and selection of relevant method components • Tailoring of selected method components • Configuration management of method components

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

75

The 13 MFESA Metamethod Components – The Complete Class Hierarchy Method Component: • Architecture Worker: —

Architecture Team



Architect



Architecture Tool

• Architecture Work Unit: —

Architecture Discipline



Architecture Task



Architecture Technique

• Architecture Work Product: —

Architecture



Architecture Representation



Architecture Process Work Product

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

76

Representative MFESA Method Components – Process Classes in MFESA Repository Architect (a subclass of Architecture Worker): • System Architect

System Chief Architect • Software Architect —

Architecture Task (a subclass of Architecture Work Unit): • Identify the Architectural Drivers • Create Initial Architectural Models • Create Candidate Architectural Visions

Architectural Model (a subclass of Architecture Work Product): • Data Model • Data Flow Model • Functional Decomposition Model • State Model

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

77

Representative MFESA Process Components – Instances of Method Components on Real Project Architecture Workers (Set of Process Components): • Project XYZ System Chief Architect (role played by Sam Smith) • Project XYZ Subsystem ABC Architect (role played by Judy Jones) • Project XYZ Subsystem DEF Architect (role played by Betty Brown)

Architecture Work Products (Set of Process Components): • Project XYZ Subsystem ABC Identify The Architecture Drivers • Project XYZ Subsystem DEF Identify The Architecture Drivers • Project XYZ Subsystem DEF Create Initial Architectural Models

Architectural Models (Set of Process Components): • Project XYZ Subsystem ABC Data Model • Project XYZ Subsystem ABC Data Flow Model • Project XYZ Functional Decomposition Model • Project XYZ Subsystem ABC Architect Component 12 State Model

• Project XYZ Subsystem DEF Architect Component 63 State Model The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

78

Topics Motivation MFESA Overview MFESA Ontology of Concepts and Terminology

MFESA Metamodel of Reusable Method Components MFESA Repository of Reusable Method Components • Architectural Work Units and Work Products • Architectural Workers

MFESA Metamethod Conclusion

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

79

MFESA Tasks T1: Plan and Resource the Architecture Engineering Effort

T2: Identify the Architectural Drivers

T3: Create the First Versions of the Most Important Architectural Models

T4: Identify Opportunities for the Reuse of Architectural Elements

T6: Analyze Reusable Components and their Sources

T5: Create the Candidate Architectural Visions

T7: Select or Create the Most Suitable Architectural Vision

T8: Complete the Architecture and its Representations

T9: Evaluate and Accept the Architecture

T10: Maintain the Architecture and its Representations

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

80

Effort by MFESA Task Phase (time Tasks 1

Plan and Resource the Architecture Engineering Effort

2

Identify the Architectural Drivers

3

Create First Versions of the Most Important Architectural Models

4

Identify Opportunities for the Reuse of Architectural Elements

5

Create the Candidate Architectural Visions

6

Analyze the Reusable Components and their Sources

7

Select or Create the Most Suitable Architectural Vision

8

Complete the Architecture and its Representations

9

Evaluate and Accept the Architecture

10

Maintain the Architecture and its Representations

Initiation

Construction

Initial Production

) Full Scale Production

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Usage

Retirement

© 2011 Donald Firesmith

81

Plan, Prepare, Act, and Check PLAN T1: Plan and Resource the Architecture Engineering Effort

PREPARE T2: Identify the Architectural Drivers T3: Create the First Versions of most Important Architectural Models T4: Identify Opportunities for the Reuse of Architectural Elements

CHECK T9: Evaluate and Accept the Architecture T10: Maintain the Architecture and its Representations

ACT T5: Create Candidate Architectural Visions T6: Analyze Reusable Components and their Sources T7: Select or Create the Most Suitable Architectural Vision T8: Complete the Architecture and its Representations

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

82

Concurrent MFESA Tasks T3: Create the First Versions of the Most Important Architectural Models

draft architectural models potentially reusable architectural elements

T4: Identify Opportunities for the Reuse of Architectural Elements

potentially reusable architectural elements

draft architectural models

T5: Create the Candidate Architectural Visions candidate vision components

candidate vision components

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

83

Architectural Visions - Flow

Candidate Vision N

Selected Vision 1b

WP

WP

T7: Select or Create the Most Suitable Architectural Vision

Selected Vision 1n

WP



Task



WP

WP

Candidate Vision 2

Selected Vision 1a T8: Complete the Architecture and its Representations

Architecture Model N

WP

Task

Candidate Vision 1



T5: Create the Candidate Architectural Visions

WP

WP

Arechitecture Model 2

Task

Architecture Model 1

WP

Task

T3: Create First Versions of Most Important Architectural Models

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

84

MFESA Tasks Supporting Reuse

T4: Identify Opportunities for the Reuse of Architectural Elements Identify and analyze existing architectural representations for potential reuse: Legacy, variant, and competing systems Reference and enterprise architectures Identify architectural patterns and styles Identify candidate reusable architectural elements Initiate early relationships with potential suppliers

candidate reusable architectural elements

T6: Analyze Reusable Components and Their Sources

candidate reusable OTS architectural components

T8: Complete and Maintain the Architecture (and its Representations)

Identify, characterize, evaluate, and conditionally select reusable components and their sources

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Select, acquire, baseline, and integrate the reusable architectural components

© 2011 Donald Firesmith

85

MFESA Task 1) Plan and Resource the Architecture Engineering Effort Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources

Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

86

MFESA Task 1) Plan and Resource the Architecture Engineering Effort Goal: • Prepare the system engineering team to engineer the system

architecture and its representations.

Objectives: • Staff and train system architecture teams to engineer the system

architecture. • Develop and document the system architecture engineering method. • Develop plans, standards, and procedures for engineering the

system architecture. • Prioritize and schedule the system architecture engineering effort.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

87

MFESA Task 1) Plan and Resource the Architecture Engineering Effort T1: Plan and Resource the Architecture Engineering Effort

Project Charter

Project Management

1

Staff the System Architecture Engineering Teams

Architecture Team Charters

2

Select and Tailor or Instantiate one or more MFESA-Compliant Methods

MFESA-Compliant Methods

Project Contract

Request for Proposal (RFP) System Vision Statement

Architecture Engineering 3

Concept of Operations Requirements Engineering

ORD

4

Evaluate and Select the Architecture Engineering Tools

Develop the Architecture Engineering Conventions

Requirements Repository 5 Requirements Specification Process Engineering

Reuse Engineering

Risk Management

MFESA Reference Enterprise Architecture

6

Develop the System Architecture Engineering Plan

Architecture Engineering Conventions

Architecture Engineering Training Materials

Training

System Architecture Engineering Plan Project Management

7

Prioritize and Schedule the Architecture Engineering Effort

Architecture Engineering Schedules

8

Identify Architectural Risks and Opportunities

New Architectural Risks and Opportunities

Reference Architecture Common Risks and Opportunities

Provide Training in Architecture Engineering

Architecture Engineering Tools

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

88

MFESA Task 1) Plan and Resource the Architecture Engineering Effort Guidelines • Properly staff the top-level architecture team(s). • Properly plan the architecture engineering effort. • Produce and maintain a proper and sufficient schedule. • Reuse or create appropriate MFESA method(s). • Select appropriate architecture modeling method(s). • Select appropriate architecture engineering tools. • Provide appropriate training.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

89

MFESA Task 1) Plan and Resource the Architecture Engineering Effort Pitfalls • Architects produce incomplete architecture plans and conventions. • Management provides inadequate resources. • Management provides inadequate staff and stakeholder training. • Architects lack authority. • Architects instantiate the entire MFESA repository without tailoring.

• Tool vendors drive architecture engineering and modeling methods. • Planning and resourcing are unsynchronized. • Planning and resourcing are only done once up front.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

90

MFESA Task 2) Identify the Architectural Drivers Task 1) Plan and Resource Architecture Engineering Effort

Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources

Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

91

MFESA Task 2) Identify the Architectural Drivers Goal: •

Identify the architecturally significant product and process requirements that drive the development of the system architecture.

Objectives: •

Understand and verify the product and process requirements that have been allocated to the system or subsystem being architected.



Categorize sets of related architecturally significant requirements into cohesive architectural concerns.



Provide a set of architectural concerns to drive the: —

Identification of potential opportunities for architectural reuse.



Analysis of potentially reusable components and their sources.



Creation of an initial set of draft architectural models.



Creation of a set of competing candidate architectural visions.



Selection of a single architectural vision judged most suitable.



Completion and maintenance of the resulting system architecture.



Evaluation and acceptance of the system architecture.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

92

MFESA Task 2) Identify the Architectural Drivers T2: Identify the Architectural Drivers Request for Proposal (RFP) System Vision Statement

1

Collaborate with RE to Engineer Architecturally Significant Requirements

2

Identify and Label the Architecturally Significant Requirements

ConOps 3 ORD

Verify the Potentially Relevant Requirements

Requirements Defects and Recommendations

Architectural Concerns

Requirements Engineering

Architecture Engineering Tasks 3-10

Requirements Metadata

Requirements Engineering Requirements Repository Requirements Specification

4

Collaborate with RE to Fix Requirements Defects

5

Identify the Architectural Concerns

6

Evaluate and Iterate the Architectural Concerns

7

Identify Architectural Risks and Opportunities

Requirements Eval. Results

Security Policy

Risk Management

Known Risks and Opportunities

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

93

MFESA Task 2) Identify the Architectural Drivers Guidelines • Collaborate closely with the requirements team. • Notify the requirements team(s) of relevant requirements • • • • • •

defects. Consider the impact of the architecture on the requirements. Respect team boundaries and responsibilities. If necessary, clarify relevant requirements with the stakeholders. Concentrate on the architecturally significant requirements. Quality attributes can be architectural concerns too. Formally manage architectural risks.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

94

MFESA Task 2) Identify the Architectural Drivers Pitfalls • All requirements are architecturally significant. • Well-engineered architecturally significant requirements are lacking.

• Architects rely excessively on functional requirements. • The architects ignore the architecturally significant functional and

process requirements. • Specialty engineering requirements are misplaced and ignored.

• Unnecessary constraints are imposed on the architecture. • Architects engineer architecturally significant requirements. • Requirements lack relevant metadata. • Architects fail to clarify architectural drivers. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

95

MFESA Task 3) Create Initial Architectural Models Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers

Task 3) Create Initial Architectural Models Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources

Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

96

MFESA Task 3) Create Initial Architectural Models Goal: • Create an initial set of partial draft architectural models of the system

architecture.

Objectives: • Capture the most important candidate elements of the eventual system

architecture (i.e., architectural decisions, inventions, trade-offs, assumptions, and rationales). • Provide the most important views and focus areas of the system architecture. • Ensure that these candidate architectural elements sufficiently support the

relevant architectural concerns. • Provide a foundation of architectural models from which to create a set of

competing candidate architectural visions. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

97

MFESA Task 3) Create Initial Architectural Models T3: Create Initial Architectural Models

T2: Identify the Architectural Drivers

Reuse Engineering

Architectural Concerns

1

Requirements Metadata

2 Select Views and Models

Enterprise Architecture

4

Reference Architectures 5

T4: Identify Opportunities for the Reuse ...

Potentially Reusable Architectural Elements

Risk Management

Candidate Architectural Visions

Known Risks and Opportunities

Select Focus Areas

T4: Identify Opportunities for Reuse

T5: Create Candidate Visions

List of Views

List of Focus Areas

Collaborate with Stakeholders and Specialty Engineers

T6: Analyze Reusable Components

T7: Select or Create Most Suitable Vision

Initial Draft Models

Allocate Concerns to Component Types

7

9

3

Develop the Initial Models

6

T5: Create the Candidate Architectural Visions

Initial Architectural Decisions

Identify the Relevant Structures

8

Identify Potentially Relevant Technologies

Evaluate Models and Documents

10

Perform Trade-off Analysis

Identify Risks and Opportunities

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

98

MFESA Task 3) Create Initial Architectural Models Guidelines • Perform architectural trade-off analysis. • Reuse architectural principles, heuristics, styles, patterns, vision components, and metaphors. • Use iterative, incremental, and parallel development. • Begin developing logical models before physical models and static models before dynamic models. • Do not overemphasize the physical decomposition hierarchy. • Use explicitly documented system partitioning criteria. • Model concurrency. • Consider the impact of hardware decisions on usability and software. • Consider human limitations when allocating system functionality to manual procedures. • Do not start from scratch. • Formally manage architectural risks. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

99

MFESA Task 3) Create Initial Architectural Models Pitfalls • The architects succumb to analysis paralysis. • The architects engineer too few architectural models.

• The architects engineer inappropriate models and views. • The architects construct views but no focus areas. • Some stakeholders believe that the models are the architecture.

• Inconsistencies exist between models, views, and focus areas. • The architects use inappropriate architectural patterns. • System decomposition is performed by the acquisition organization.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

100

MFESA Task 4) Identify Opportunities for Reuse of Architectural Elements Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

101

MFESA Task 4) Identify Opportunities for Reuse of Architectural Elements Goal: • Identify any opportunities to reuse existing architectural work products as part

of the architecture of the target system or subsystem being developed. Any opportunities so identified become a collection of reusable architectural element candidates.

Objectives: • Identify the architectural risks and opportunities for improving the

architectures associated with the relevant legacy or existing system(s) should they be selected for reuse and incorporation within the target environment. • Identify any additional architectural concerns due to the constraints associated with having legacy or existing architectures. • Understand the relevant legacy or existing architectures sufficiently well to identify potentially reusable architectural elements. • Provide a set of reusable architectural element candidates to influence (and possibly include in) a set of initial draft architectural models. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

102

MFESA Task 4) Identify Opportunities for Reuse of Architectural Elements T4: Identify Opportunities for the Reuse of Architectural Elements T2: Identify the Architectural Drivers

Architectural Concerns

Requirements Metadata

1

Identify Architectural Concerns that may be Implemented via Reuse 2

Identify/Analyze Architectural Representations of Prior Versions of [Sub]system

3 Identify/Analyze Architectural Representations of Existing Variants of [Sub]system 4 Identify/Analyze Architectural Representations of Competing [Sub]systems

Reuse Engineering

Enterprise Architecture Reference Architectures

5 Identify/Analyze Architectural Representations of Prod. Line Reference Architectures 6 Identify/Analyze Architectural Representations of Enterprise Ref. Architectures 7 Identify/Analyze Architectural Representations of Industry Std. Architectures 8

9

10

Risk Management

Known Risks and Opportunities

Identify Potentially Reusable Architectural Patterns Identify Potentially Reusable Architectural Elements

Update Concerns

12

11

Early Relationships with Potential Suppliers

Identify Risks and Opportunities

Potentially Reusable Architectural Elements

Architecture Engineering Tasks 3,5,6,7

Updated Architectural Concerns

T2: Identify the Architectural Drivers

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

103

MFESA Task 4) Identify Opportunities for Reuse of Architectural Elements Competitors‟ Systems

Prior Version of System

Existing Variants of System has

have

Product Line of Systems have

Pre-existing Architectures

Architectural Patterns and Styles

have

Architectural Risks Architectural Heuristics

Industry Standard Architectures

has

Reference Architecture

Architectural Mechanisms

Potentially Reusable Architectures

Potentially Reusable Architectural Elements

Enterprise Architecture

Architectural Concerns

Architecturally Significant (e.g., Quality) Requirements

act as a

Sieve

Architects‟ Experience and Training

act as a

Candidate Reusable Architectural Elements Task 4 may be reused in

Candidate Architectural Visions

Architectural Models

Task 5 may be instantiated as

Candidate Architectural Components

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

104

MFESA Task 4) Identify Opportunities for Reuse of Architectural Elements Guidelines • Do not start from scratch. • Do not be excessively constrained by the past. • Conform to the enterprise architecture. • Conform to the product line reference architecture. • Consider system architecture patterns. • Identify opportunities for reuse in the architectural models. • Formally manage architectural risks.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

105

MFESA Task 4) Identify Opportunities for Reuse of Architectural Elements Pitfalls • The architects start from scratch. • The architects ignore past lessons learned. • The architects over-rely on previous architectures. • The architects select specific OTS components too early. • The architects assume reuse of immature architectural

components. • The architects assume the reuse of immature technologies. • Inadequate information exists to determine reusability.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

106

MFESA Task 5) Create Candidate Architectural Visions Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements

Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources

Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

107

MFESA Task 5) Create Candidate Architectural Visions Goal: • Create multiple candidate architectural visions of the system

architecture.

Objectives: • Verify that the candidate subsystem architectural visions

sufficiently support the relevant architecture concerns. • Provide a sufficiently large and appropriate set of competing

candidate architectural visions from which a single vision may be selected as most suitable.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

108

MFESA Task 5) Create Candidate Architectural Visions T5: Create Candidate Architectural Visions T2: Identify the Architectural Drivers

Architectural Concerns

1

Identify Potentially Usable Architectural Vision Components

T3: Create Initial Draft Architectural Models

Initial Draft Architectural Models

2

Create and Document the Competing Architectural Visions

3 T4: Identify Opportunities for Architectural Element Reuse

Potentially Reusable Architectural Elements

4

Identify Vision Pros and Cons

Candidate Architectural Vision Components

Verify the Architectural Visions Draft Architectural Vision Documents

5

Risk Management

Known Risks and Opportunities

6

T6: Analyze Reusable Components and their Sources

T7: Select or Create the Most Suitable Architectural Vision

Iterate the Architectural Visions

Identify any new Architectural Risks and Opportunities

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

109

MFESA Task 5) Create Candidate Architectural Visions

Candidate Architectural Vision Components

Architectural Vision Component vs. Architectural Vision Matrix Component 1 Component 2 Component 3 Component 4 Component 5 Component 6 Component 7 Component 8 Component 9 Component 10 Component 11 Component 12 Component 13

Candidate Architectural Visions Architectur al Vision 1

Architectur al Vision 2

Architectur al Vision 3

Architectur al Vision 4

X X X X X X X X

X

X X

X X

X X X X X X

X X X X X X X X X

X X X X X X X

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

110

MFESA Task 5) Create Candidate Architectural Visions Example Architectural Concern vs. Vision Component Matrix Architectural Vision Components Architectural Concern vs. Vision Component Matrix

COTS Locked Guards COTS Security Rooms with Biometrics Smart with Keyed Security Reader Card Access Cameras

Integrity (Data)

++ + + + +

++ + + + +

++ + + + +

++ + + + +

++ + + + +

Nonrepudiation

0

0

0

0

Availability

++ -

-

0

0

--

Access Control Confidentiality

Architectural Concerns

User Identifier and Pass Phrase

Integrity (Message) Integrity (Software)

Cost Performance Usability

Dedicated COTS Encryption Encryption Encrypted Decryption Decryption Messages HW Server Software

Encrypted Database Records

COTS Intrusion Detection Software

COTS Antivirus Software

Digital Signature

Single Sign-On

0

0

0

0

0

0

+

++

++

++

0

0

0

0

++ +

0

0

++ +

0

0

0

0

0

0

0

0

0

0

+ + + ++

0

0

0

0

+ + -

0

0

0

0

0

0

0

-+

--

--

--

++ ++ ++ + + + -

0

0

+ + + + + -

0

0

0

0

0

0

0

0

0

-

+ ++

0

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

0 0 0

111

MFESA Task 5) Create Candidate Architectural Visions Guidelines • Complete candidate architectural visions to appropriate level

of detail. • Prepare architectural components for OTS incorporation. • Identify an appropriate number of candidate architectural

visions. • Formally manage architectural risks.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

112

MFESA Task 5) Create Candidate Architectural Visions Pitfalls • The architects engineer only one architectural vision. • Management provides insufficient resources. • Management confuses the architectural vision with the

completed architecture. • Management does not permit architects to make mistakes. • The architects compare the architectural visions prematurely. • The architects do not compare the pros and cons of the

candidate visions.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

113

MFESA Task 6) Analyze Reusable Components and their Sources Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions

Task 6) Analyze Reusable Components and their Sources Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

114

MFESA Task 6) Analyze Reusable Components and their Sources Goal: • Determine if any existing components are potentially reusable

as part of the architecture of the current system or subsystem.

Objectives: • Identify any existing components that are potentially reusable as part

of the architecture of the current system or subsystem. • Evaluate these components for suitability. • Evaluate the sources of these components for suitability. • Provide a set of potentially reusable components to influence (and

possibly include in) a set of initial draft architectural models.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

115

MFESA Task 6) Analyze Reusable Components and their Sources T6: Analyze Reusable Components and their Sources

T2: Identify the Architectural Drivers

Architectural Concerns

T3: Create Initial Draft Architectural Models

Initial Draft Architectural Models

1

T4: Identify Opportunities for Architectural Element Reuse

Potentially Reusable Architectural Elements

2

Characterize the Potentially Reusable Components and their Sources

3 T5: Create the Candidate Arch. Visions

Candidate Architectural Visions

Evaluate the Potentially Reusable Components and their Sources

T7: Select or Create the Most Suitable Architectural Vision

Most Suitable Architectural Vision

Identify Potentially Reusable Components and their Sources

4 Conditionally Select the Most Suitable Reusable Components and their Sources

5 Risk Management

Known Risks and Opportunities

Identify any new Architectural Risks and Opportunities

Market Surveys

Potentially Reusable Architectural Component List and Descriptions

T8: Complete the Architecture and its Representations

Potentially Reusable Architectural Component Evaluation Reports

T9: Evaluate and Accept the Architecture

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

116

MFESA Task 6) Analyze Reusable Components and their Sources Guidelines • Use appropriate decision techniques. • Perform tasks 6 and 7 concurrently. • Formally manage architectural risks.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

117

MFESA Task 6) Analyze Reusable Components and their Sources Pitfalls • Authoritative stakeholders assume reuse will improve cost and

schedule. • Insufficient information exists for evaluation and reuse. • Stakeholders have an unrealistic expectation of “exact fit.” • Developers have little or no control over future changes. • The source organization (e.g., vendor) fails to adequately

maintain a reusable architectural component. • Legal rights are unacceptable.

• Incompatibilities exist with underlying technologies. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

118

MFESA Task 7) Select or Create the Most Suitable Architectural Vision Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources

Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

119

MFESA Task 7) Select or Create the Most Suitable Architectural Vision Goal: • Obtain a single architectural vision for the system or

subsystem architecture from the competing candidate visions.

Objectives: • Ensure that the selected architectural vision has been properly

judged to be most suitable for the system or subsystem architecture. • Provide a proper foundation on which to complete the

engineering of the system or subsystem architecture.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

120

MFESA Task 7) Select or Create the Most Suitable Architectural Vision T7: Select or Create the Most Suitable Architecture Vision

T2: Identify the Architectural Drivers

Architectural Concerns

T3: Create Initial Draft Architectural Models

Initial Draft Architectural Models

T4: Identify Opportunities for Architectural Element Reuse

Potentially Reusable Architectural Elements

T5: Create the Candidate Arch. Visions

Candidate Architectural Visions

T6: Analyze the Reusable Components and their Sources

Risk Management

1

Determine the Selection Criteria

2

Determine the Evaluation Approach

3 Determine the Required Selection Resources

Architectural Vision Selection Reports

T8: Complete the Architecture and its Representations

Architectural Vision Document

T9: Evaluate and Accept the Architecture

4

Evaluate the Competing Candidate Architectural Visions

Potentially Reusable Architectural Component List and Descriptions

5

6

Select the most Suitable Architectural Vision

Optionally Create the new most Suitable Architectural Vision

Potentially Reusable Architectural Component Evaluation Reports

Known Risks and Opportunities

T6: Analyze the Reusable Components and their Sources

7

8

Approve the most Suitable Architectural Vision

Identify any new Architectural Risks and Opportunities

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

121

MFESA Task 7) Select or Create the Most Suitable Architectural Vision Architectural Concern vs. Architectural Visions Matrix

Candidate Competing Architectural Visions

Architectural Concerns

Architectural Vision 1

Architectural Vision 2

Architectural Vision 3

Architectural Vision 4

Availability

+ 0

Development Schedule

Performance

+ + +

++ --+ +

+

Development Cost

+ ++ ++ --

+ ++

Portability

0

+

0

+

Reliability

+ -

++

++ ++ -

-

Interoperability

Safety Security Usability

0

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

0

0 0

+

© 2011 Donald Firesmith

122

MFESA Task 7) Select or Create the Most Suitable Architectural Vision Guidelines • Ensure a commensurate approach. • Ensure a consistent evaluation approach.

• Ensure complete evaluation criteria. • Avoid unwarranted assumptions. • Use common sense when using decision methods to select the most

suitable candidate architectural vision. • Take reuse into account. • Test reusable architectural component suitability. • Maintain the architectural vision.

• Formally manage architectural risks. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

123

MFESA Task 7) Select or Create the Most Suitable Architectural Vision Pitfalls • Architects use an inappropriate decision method.

• Management provides inadequate decision

resources. • Selecting the most suitable architectural vision is

treated as just a technical decision. • Stakeholders do not understand risks. • The decision makers are weak. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

124

MFESA Task 8) Complete and Maintain the Architecture Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources Task 7) Select or Create Most Suitable Architectural Vision

Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

125

MFESA Task 8) Complete the Architecture and its Representations Goals: • Complete system or subsystem architecture based on the

selected or created architectural vision.

Objectives: • Complete the interface aspects of the architectural. • Complete the reuse aspects of the architecture. • Complete the architectural representations (e.g., architectural

models, quality cases, white-papers, and documents). • Provide a system or subsystem architecture that can be

evaluated and accepted by its authoritative stakeholders.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

126

MFESA Task 8) Complete the Architecture and its Representations T8: Complete the Architecture and its Representations T2: Identify the Architectural Drivers

T3: Create the First Versions of the Most Important Architectural Models

Architecturally Significant Requirements and Architectural Concerns

1

Complete Draft Architectural Models for the Selected Architectural Vision

First Versions of the Most Important Architectural Models

2

Analyze the Architectural Models

3

Complete the Quality Cases for the Architectural Focus Areas

4 T6: Analyze Reusable Components and their Sources

Reusable Components

T7: Select or Create the Most Suitable Architectural Vision

Most Suitable Architectural Vision

5

Complete the Architectural Representations

7

Iterate the Architecture

9

Known Risks and Opportunities

10

Address the Remaining Architectural Issues

6

8

Risk Management

Complete and Document the Architectural Interfaces

Allocate and Trace the Requirements to the Architectural Elements

Completed Architectural Models Completed Architectural Quality Cases Documented Architectural Interfaces

T9: Evaluate and Accept the Architecture

Iterated Architecture Completed Base-Lined Architectural Representations

Allocated Architecturally Significant Requirements

T2: Identify the Architectural Drivers

Baseline the Architectural Representations

Identify any new Architectural Risks and Opportunities

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

127

MFESA Task 8) Complete the Architecture and its Representations Guidelines • Address all relevant types of interfaces.

• Maintain the architectural representations to

maintain architectural integrity. • Formally manage architectural risks.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

128

MFESA Task 8) Complete the Architecture and its Representations Pitfalls • Architecture engineering is done.

• Management provides inadequate resources. • The architectural representations lack configuration

control. • The architecture is not maintained. • A “beautiful” architecture is frozen solid. • There is inadequate tool support for architecture

maintenance. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

129

MFESA Task 9) Evaluate and Accept the Architecture Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations

Task 9) Evaluate and Accept the Architecture Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

130

MFESA Task 9) Evaluate and Accept the Architecture Goals: • Monitor and determine the quality of the system or subsystem

architecture and associated representations. • Monitor and determine the quality of the process used to engineer

the system or subsystem architecture. • Provide information that can be used to determine the passage or

failure of architectural milestones. • Enable architectural defects, weaknesses, and risks to be fixed and

managed before they negatively impact system quality and the success of the system development/enhancement project. • Accept the system or subsystem architecture based on the results of

the evaluations. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

131

MFESA Task 9) Evaluate and Accept the Architecture Objectives: • Internally verify the system or subsystem architecture so that architectural —

Defects are identified and corrected



Risks are identified and managed

• Independently assess the system or subsystem architecture to determine

compliance with architecturally significant product requirements • Validate that the system or subsystem architecture meets the needs of its

critical stakeholders • Formally review the system or subsystem architecture by stakeholder

representatives at one or more major project reviews • Independently evaluate the „as performed‟ architecture engineering

process to determine compliance with the documented architecture engineering method (for example, as documented in the architecture plan, standards, procedures, and guidance) The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

132

MFESA Task 9) Evaluate and Accept the Architecture T9: Evaluate and Accept the Architecture

T2: Identify the Architectural Drivers

Architecturally Significant Requirements and Architectural Concerns

1

Plan the Evaluations

2

Prepare for the Evaluations

3

Analyze the Architecture 4

Internally Verify the Architecture

5

Independently Verify the Architecture Process

6

Independently Assess the Architecture

7

Validate the Architecture

8

Formally Review the Architecture

9 Review Failures, Safety Mishaps, and Security Misuses T8: Complete the Architecture and its Representations

Architecture 10 Architectural Representations 11

Risk Management

Known Risks and Opportunities

12

Fix the Identified Architectural Defects Accept the Evaluated and Updated Architecture

Identify any new Architectural Risks and Opportunities

Architecture Analysis Reports Executable Architectural Representation Simulation Results Architectural Prototype Test Results Architecture Peer Review and Inspection Reports Architecture Assessment Reports Architecture Quality Assurance Reports Updated Architecture

T8: Complete the Architecture and its Representations

Updated Architectural Representations

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

133

MFESA Task 9) Evaluate and Accept the Architecture Assessment Scope

Tier 1

Tier 2

System 1

Tier 3

Tier 4

Subsystem 1 Assessment Scope

Tier 5

Tier 7

Tier 8

Segment 1

HW CI 1

...

HW CI N

System 3

...

System N

Subsystem 3

Segment 2

Subsegment 2

Assembly 1

Subassembly 1

System 2

Subsystem 2

Subsegment 1

Tier 6

System of Systems

Segment 3

Subsegment 3

Assembly 2

Assembly 3

Subassembly 2

Subassembly 3

SW CSCI 1

...

...

...

Segment N

...

Subsegment N

...

Assembly N

...

HW C 1

Tier 10

Part 1

...

...

HW C N

Part N

SW C 1

SW Unit 1

...

...

Subassembly N

Assessment Scope

Facilities

SW CSCI N Data CI 1

Tier 9

Subsystem N

...

Data CI N

Roles

Manual Procedures

SW C N

SW Unit N

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

134

MFESA Task 9) Evaluate and Accept the Architecture Guidelines • Use evaluations to support architectural milestones. • Continuously evaluate the architecture and its representations. • Internally evaluate models.

• Perform architecture analysis substeps. • Collaborate with the stakeholders. • Tailor software evaluation methods. • Perform independent architecture assessments. • Formally review the architecture. • Verify architectural consistency. • Perform cross-component consistency checking. • Perform both static and dynamic checking. • Set the evaluation scope based on risk and available resources.

• Formally manage architectural risks. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

135

MFESA Task 9) Evaluate and Accept the Architecture Pitfalls • • • • • • • • • • • • • •



Disagreement exists over the need to perform evaluations. Consensus does not exist on the evaluation‟s scope. It is difficult to schedule the evaluations. Management provides insufficient evaluation resources. There are too few evaluations. There are too many evaluations. How good is good enough? Evaluations are not sufficiently independent. The evaluators are inadequate. Evaluations only verify the easy concerns. The quality cases are poor. Stakeholders disagree on the evaluation results. The evaluations lack proper acceptance criteria. The evaluation results are ignored during acceptance. The acceptance package is incomplete.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

136

MFESA Task 10) Maintain the Architecture and its Representations Task 1) Plan and Resource Architecture Engineering Effort Task 2) Identify the Architectural Drivers Task 3) Create Initial Architectural Models

Task 4) Identify Opportunities for Reuse of Architectural Elements Task 5) Create Candidate Architectural Visions Task 6) Analyze Reusable Components and their Sources Task 7) Select or Create Most Suitable Architectural Vision Task 8) Complete the Architecture and its Representations Task 9) Evaluate and Accept the Architecture

Task 10) Maintain the Architecture and its Representations The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

137

MFESA Task 10) Maintain the Architecture and its Representations Goal: • Maintain the architecture and its representations. • Ensure the continued integrity and quality of the system architecture as the

system evolves.

Objectives: • Eliminate inconsistencies within the system architecture and its

representations. • Eliminate inconsistencies between the system architecture and its

representations and: — Architecturally Significant Requirements — Enterprise Architecture(s) — Reference Architecture(s) — The Design of architectural components — The Implementation of architectural components • The system architecture and its representations do not degrade over time. The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

138

MFESA Task 10) Maintain the Architecture and its Representations T10: Maintain the Architecture and its Representations Configuration Management

Change Requests 1

T2: Identify the Architectural Drivers

T7: Select or Create the Most Suitable Architectural Vision

T8: Complete the Architecture and its Representations

Risk Management

New or Changed Requirements and Architectural Concerns Most Suitable Architectural Vision

Maintain the Architecture and its Representations

2

3

Determine the Architectural Invariants

Identify Changes that Threaten Architectural Integrity

Updated Architectural Vision T9: Evaluate and Accept the Architecture

Updated Architecture Updated Architectural Representations

Architecture 4 Architectural Representations

Known Risks and Opportunities

5

Enforce Integrity Given Changes

Identify any new Architectural Risks and Opportunities

New Architectural Risks and Opportunities

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

Risk Management

© 2011 Donald Firesmith

139

MFESA Task 10) Maintain the Architecture and its Representations Guidelines • Maintain the architectural representations to maintain

architectural integrity. • Consider entire scope of ensure architectural integrity task. • Consider the sources of architectural change. • Protect the architectural invariants. • Determine the scope of architectural integrity. • Train the architects and designers. • Formally manage architectural risks.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

140

MFESA Task 10) Maintain the Architecture and its Representations Pitfalls • The architectural representations become shelfware. • Architecture engineering is done. • The architecture is not under configuration management.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

141

Topics Motivation MFESA Overview MFESA Ontology of Concepts and Terminology

MFESA Metamodel of Reusable Method Components MFESA Repository of Reusable Method Components • Architectural Work Units and Work Products

• Architectural Workers

MFESA Metamethod Conclusion

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

142

MFESA Repository – Architecture Workers Architecture Teams membership

Architecture Workers

Architects use

perform produce Architecture Work Units

create and modify

Architecture Engineering Tools

Architecture Work Products

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

143

Architects - Definition System Architect

the highly specialized role played by a systems engineer when performing system architecture engineering tasks to produce system architecture engineering work products

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

144

Types of Architects - Ontology System of Systems Chief Architect

Organizational Chief Architect

System Chief Architect

System Engineer

System Architect

Software Engineer

Software Architect

Hardware Engineer

Hardware Architect

Engineer

Subsystem Lead Architect

Architect

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

145

Architects – Primary Responsibilities Determine and Assess Impact of the Architectural Drivers and Concerns Develop Architecture and Architectural Representations

Analyze Architecture using Architectural Representations Evaluate Architecture and Architectural Representations Maintain Architecture and Architectural Representations Ensure Architectural Integrity

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

146

Architects – Organizational Responsibilities Lead architectural activities Manage performance of architecture engineering tasks Be an architecture advocate Be a stakeholder advocate Instantiate and tailor architecture engineering method Select and acquire architecture engineering tools Train architecture stakeholders Evaluate architecture method and process Interface and collaborate with architecture stakeholders The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

147

Architects – Authority Determine architecture engineering method Determine architectural work products to produce including models, documents, and architectural prototypes

Select and acquire architecture engineering tools Determine architecture Obtain and evaluate Off-The-Shelf architectural components

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

148

System Architecture Team - Definition System Architecture Team a team responsible for developing and maintaining all or part of a system‟s architecture

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

149

Types of Architecture Teams - Ontology Top-Level Architecture Team

System-ofSystems Architecture Team

Specialty Engineering Architecture Teams

Subsystem Architecture Teams

Prime Contractor / Integrator Architecture Teams

Software Architecture Teams

Hardware Architecture Teams

Customer Architecture Teams

scope

Supplier / Vendor Architecture Teams

Subcontractor Architecture Teams

organization Product Architecture Teams

Formal Architecture Teams

System Architecture Teams

Ad hoc Architecture Teams

Reference Architecture Teams membership

System Architect

Software Architect

Hardware Architect

Specialty Engineer

Requirements Engineer

Tester

Designer Systems Engineer

Software Engineer

Hardware Engineer

Quality Engineer

Subject Matter Expert

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

150

System Architecture Tools - Definition System Architecture Tool anything that assists with the production, coordination and maintenance of architectural work products Many types: • Whiteboard • Image Capturing Device • Word Processor • Spreadsheet • General-Purpose Drawing Tool • Graphical Modeling Tool • CAD/CAM (Computer Aided Design/Computer Aided Manufacturing) • Simulation Tool • Configuration Management Tool • Requirements Engineering Tool • Information Architecting Tool • Business Process Modeling Tool • Mass/Size/Geometry Modeling Tool • Software Architecture Tool The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

151

Topics Motivation MFESA Overview MFESA Ontology of Concepts and Terminology

MFESA Metamodel of Reusable Method Components MFESA Repository of Reusable Method Components • Architectural Work Units and Work Products

• Architectural Workers

MFESA Metamethod Conclusion

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

152

MFESA Metamethod - Tasks Method Needs Assessment

Number of Methods Determination for each method

Method Selection

Method Reuse Type Determination

Method Reuse Method Tailoring

Method Construction

Method Documentation

Method Component Selection

Method Component Tailoring

Method Component Integration

Method Verification

Method Publication

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

153

Topics Motivation MFESA Overview MFESA Ontology of Concepts and Terminology

MFESA Metamodel of Reusable Method Components MFESA Repository of Reusable Method Components • Architectural Work Units and Work Products

• Architectural Workers

MFESA Metamethod

Conclusion

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

154

Key Points to Remember System architecture and system architecture engineering are critical to success. MFESA is not a system architecture engineering method but a way to construct many such methods. Architectural quality cases make the architects‟ case that their architecture sufficiently supports the architecturally significant requirements. It is critical to capture the rationale for architectural decisions, inventions, and trade-offs. Architects should keep their work at the right level of abstraction. Reuse has a major impact on system architecture engineering. Architecture engineering is never done.

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

155

Benefits of using MFESA The benefits of: • Flexibility: the resulting Architecture Engineering Method meets the

unique needs of the stakeholders. • Standardization: built from standard method components

implementing best industry practices and based on common terminology and metamodel

Improved system architecture engineering (as-planned) methods and (as-performed) processes. Improved architectures and architecture representations

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

156

Reference Book 20 November 2008 ISBN-10: 1420085751 ISBN-13: 978-1420085754

http://www.crcpress.com/product/isbn/9781420085754 The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

157

For More Information For more information, contact: Donald Firesmith Acquisition Support Program (ASP)

Software Engineering Institute (SEI) [email protected]

Publications, presentations, and latest versions: donald.firesmith.net

The Method Framework for Engineering System Architectures (MFESA) Donald G. Firesmith

© 2011 Donald Firesmith

158

Method Framework for Engineering System Architectures (MFESA ...

Aircraft System. Ground Support System. Training System. Maintenance System. Airframe. Segment. Interiors. Segment. Propulsion. Segment. Vehicle. Segment.

862KB Sizes 0 Downloads 294 Views

Recommend Documents

The Method Framework for Engineering System Architectures (MFESA ...
Project-Specific System Architecture Engineering Methods. Donald G. Firesmith ... Seventh International Conference on Composition-Based Software Systems.

Method Framework for Engineering System Architectures
Apr 5, 2010 - Introduce attendees to the Method Framework for Engineering System .... Degree of centralized/distributed governance: .... Date in Years.

Method Framework for Engineering System Architectures
Apr 4, 2011 - Introduce you to the Method Framework for Engineering System. Architectures (MFESA):. • MFESA .... Specialty engineering areas (such as safety and security) .... Authority (requirements, funding, policy, … ) Accessibility of ...

Transceiver Architectures - UCLA Electrical Engineering
up to the point where signal compression occurs. ... Each mixing operation convolves the signal and the interferers with ... Perform detection in digital domain.

Handover method for mobile radio system
Jan 11, 1999 - IEEE Transaction on Vehicular Technology, vol. VT—19, No. 4,955,082 A ... Nakajirna, A., Advanced Mobile Communication Network. 5,452,473 A. 9/1995 ... Wireless Communications Research Institute, Ulm (Ger many), pp.

System and method for multicurrency transactions
Mar 18, 2003 - operator of server 100 and the currency broker or brokers. ..... lar mail, email, etc. .... rency or currencies from the list of convertible currencies.

Method and system for image processing
Jul 13, 2006 - US RE43,747 E. 0 .File Edi! Monan Palette Llybul. 09 Fib Edit Malian PM L. II I ... image editing packages (e.g. MacIntosh or Windows types), manipulates a copy of ...... ¢iY):ai(X>Y)¢ii1(X>Y)+[1_ai(X>Y)l'C. As there is no ...

Method and system for image processing
Jul 13, 2006 - images,” Brochure by Avelem: Mastery of Images, Gargilesse,. France. Porter et al. ..... known image processing techniques is that the image editing effects are applied ..... 6iA schematic illustration of the FITS reduction. FIG.

System and method for multicurrency transactions
Mar 18, 2003 - (73) Assignees: PayPal, Inc., San Jose, CA (US);. PayPal International .... network (such as the Internet) and wherein the customer pays for a ...

Method for controlling home network system
Jan 24, 2011 - Thus, a standard for a high-speed communication with a large amount of data is ... appliances or the Internet can be performed using a network.

Handover method for mobile radio system
Jan 11, 1999 - Nakajirna, A., Advanced Mobile Communication Network. 5,452,473 A .... is, inter alia, to enable the degree of coverage to be made greater Without the ...... ters BM and Bnb Which has the best radio transmission conditions ...

System and method for controlled directional drilling
May 23, 1989 - [73] Assignee: Smith International, Inc., Houston,. Ten. ... Step”; Canadian Petroleum; Feb. 1966. ...... being i of a day ahead of schedule.

System and method for protecting a computer system from malicious ...
Nov 7, 2010 - so often in order to take advantage of neW virus detection techniques (e. g. .... and wireless Personal Communications Systems (PCS) devices ...

Electrosurgery system and method
Dec 19, 2002 - FOREIGN PATENT DOCUMENTS. (22) Filed: Dec. ... US PATENT DOCUMENTS pulsed r.f. ...... voltage detector by the doctor. 4. A generator ...

System and method for protecting a computer system from malicious ...
Nov 7, 2010 - ABSTRACT. In a computer system, a ?rst electronic data processor is .... 2005/0240810 A1 10/2005 Safford et al. 6,505,300 ... 6,633,963 B1 10/2003 Ellison et a1' ...... top computers, laptop computers, hand-held computers,.

System-Level Integrated Server Architectures for Scale ...
Dec 7, 2011 - datacenters grow larger and cloud computing scale-out work- ... technology-level effects of SoC integration for datacen- ter servers. We identify ...

System and method for reuse of communications spectrum for fixed ...
Dec 2, 2008 - Rohde, U. L. et al., “RF/Microwave Circuit Design for Wireless. Applications” .... Zheng, Device-centric spectrum management, New Frontiers in. Dynamic ..... Accordingly, several objects or advantages of my invention are:.

System and method for reuse of communications spectrum for fixed ...
Dec 2, 2008 - Carrier Broadband Wireless Systems”, IEEE Communications. Magazine (Apr. 2002). ..... This method has the disadvantage that the pri mary system must be ... Accordingly, several objects or advantages of my invention are:.

Open Data publishing method framework - GitHub
Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. Build. Assess. Iterate. Certification. Publish!

Structured cabling system and method
Dec 7, 2009 - installation is typically carried out at an early stage of build ing ?t-out and can be .... With a respective [integrated desktop connector] insulation.

Automatic steering system and method
Feb 6, 2008 - Such sophisticated autopilot and auto matic steering ..... ware and software complexities associated with proportional steering correction.

Automatic steering system and method
Feb 6, 2008 - TRACK DRIVE PUMP ... viding GPS-based guidance for an auxiliary steering system, which is installed in .... actual turning rate in a track drive vehicle. FIG. .... ware and software complexities associated with proportional.

Designing Modular Architectures in the Framework AKIRA
Nov 23, 2006 - AKIRA is an open source framework designed for parallel, asynchro- ... connectionist feature of the modules, their energy (computed by a connectionist ..... This is an alternative way to conceive “arbitration” between possible.