42
© 2014 Carnegie Mellon University The Method Framework for Engineering System Architectures (MFESA) MITRE System Architecture Technical Exchange Meeting (SA TEM) Donald Firesmith 8 April 2014

Method Framework for Engineering System Architectures - 2014

Embed Size (px)

DESCRIPTION

This version of the slides was presented at the MITRE System Architecture Technical Exchange Meeting on 8 April 2014. As of October 2014, this is the latest version of the presentation.

Citation preview

Page 1: Method Framework for Engineering System Architectures - 2014

© 2014 Carnegie Mellon University

The Method Framework for Engineering System Architectures (MFESA)

MITRE System Architecture Technical Exchange Meeting (SA TEM) Donald Firesmith 8 April 2014

Presenter
Presentation Notes
Page 2: Method Framework for Engineering System Architectures - 2014

2 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Presentation Objectives

Introduce attendees to the Method Framework for Engineering System Architectures (MFESA): • MFESA Ontology of underlying architecture engineering concepts and

terminology • MFESA Metamodel of foundational types 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

Page 3: Method Framework for Engineering System Architectures - 2014

3 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

System Architecture – A 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.

Presenter
Presentation Notes
The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution. From ANSI/IEEE 1471-2000. The composite of the design architectures for products and their life cycle processes. From IEEE 1220-1998 as found at their glossary. A representation of a system in which there is a mapping of functionality onto hardware and software components, a mapping of the software architecture onto the hardware architecture, and human interaction with these components. From the Carnegie Mellon University's Software Engineering Institute as found at its glossary. An architecture is the most important, pervasive, top-level, strategic inventions, decisions, and their associated rationales about the overall structure (i.e., essential elements and their relationships) and associated characteristics and behavior. From OPEN Process Framework (OPF) Repository. A description of the design and contents of a computer system. If documented, it may include information such as a detailed inventory of current hardware, software and networking capabilities; a description of long-range plans and priorities for future purchases, and a plan for upgrading and/or replacing dated equipment and software. From The National Center for Education Statistics glossary. A formal description of a system, or a detailed plan of the system at component level to guide its implementation. TOGAF The structure of components, their interrelationships, and the principles and guidelines governing their design and evolution over time. TOGAF
Page 4: Method Framework for Engineering System Architectures - 2014

4 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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 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

Presenter
Presentation Notes
Note that the architecture is not just the physical aggregation structure. Note that architecture is implicit while its representations are explicit. Example design-level decision is the use of object-oriented design (OOD) for subsystem and software components. Example implementation-level decision is the use of a safe subset of C++ for the software components or carbon-fiber for an aircraft fuselage.
Page 5: Method Framework for Engineering System Architectures - 2014

5 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Architecture vs. Design

DesignArchitecturePervasive (Multiple Components) Local (Single Components)

Tactical Decisions and InventionsStrategic Decisions and InventionsLower-Levels of SystemHigher-Levels of System

Huge Impact on Quality, Cost, & Schedule Small Impact on Quality, Cost, & ScheduleDrives Design and Integration Testing Drives Implementation and Unit Testing

Driven by Requirements and Higher-Level Architecture

Driven by Requirements, Architecture, and Higher-Level Design

Mirrors Top-Level Development Team Organization (Conway’s Law)

No Impact onTop-Level Development Team Organization

Page 6: Method Framework for Engineering System Architectures - 2014

6 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

System Architecture is Critical

Supports achievement of critical architecturally-significant requirements: • Especially quality requirements • Largely determines system quality characteristics and attributes

Greatly affects cost and schedule Drives all logically downstream activities

Page 7: Method Framework for Engineering System Architectures - 2014

7 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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.

Presenter
Presentation Notes
Architectural capabilities were estimated based on the answer to a set of architecture-related questions. The higher the organization’s architectural capabilities, the more of there projects have higher performance.
Page 8: Method Framework for Engineering System Architectures - 2014

8 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Limitations of Current Methods and Standards Do not adequately address: • The increasing size and complexity of many current systems • All types of architectural components • 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 requirements (quality characteristics & attributes) • Reuse, Product Lines, Common Architectures, OSA, and MDD • Specialty engineering areas (such as safety, security, & usability)

Presenter
Presentation Notes
Types of architectural components include software, hardware, data, manual procedures, roles played by people, facilities, and materials. Component-Based Development (CBD)
Page 9: Method Framework for Engineering System Architectures - 2014

9 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Why Method Engineering? – Systems Vary Greatly Size & complexity (small/simple through ultra-large-scale SoS) Criticality (business, safety, and security of system/subsystems) Application domains (such as aviation, telecommunications, weapons) Requirements (existence, volatility, quality characteristics and attributes, constraints) Driven by requirements (top-down) or subsystem availability (bottom-up reuse) Emergent behavior and characteristics (necessary, beneficial, foreseeable) Relative amounts of HW, SW, people, facilities, documentation, equipment, manual procedures, etc.

Presenter
Presentation Notes
Note the difference between architecting a small simple system and architecting an ultra-large-scale system of independently governed systems. Examples of size (and complexity) differences are the following systems: jet engine, individual aircraft, fleet of aircraft, aircraft with ground-based support (maintenance, training, and mission planning), air traffic, national traffic system, and global traffic system.
Page 10: Method Framework for Engineering System Architectures - 2014

10 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Why Method Engineering? – Systems Vary Greatly2 Operational dependence on other systems

Reconfigurability (adding, replacing, or removing subsystems)

Self-regulation (proactive vs. reactive, homeostasis)

Technologies used (including diversity, maturity, and volatility)

Subsystems: • Number

• Homogeneity/heterogeneity

• Geographical distribution of subsystems

• Intelligence and autonomy (useful, self-contained, not controlled by others)

• Synergism/independence

Page 11: Method Framework for Engineering System Architectures - 2014

11 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Why Method Engineering? – Organizations Vary Greatly Number of organizations Size of organization Type of organizations: • Owner, Acquirer, Developer, Operator, User, Maintainer • Prime contractor, subcontractors, vendors, system integrator

Degree of centralized/distributed governance: • Authority, policy, funding • Scheduling

Management culture Engineering culture Geographical distribution Staff expertise and experience

Page 12: Method Framework for Engineering System Architectures - 2014

12 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Why Method Engineering? – Endeavors Vary Greatly Type (project, program of projects, enterprise) Acquirer, Developer, Sustainer, User: • Formality (informal vs. legal contracts) • Type (e.g., fixed-price or cost plus fixed fee)

Lifecycle scope (development, sustainment) System scope (subsystem, system, SoS, product line) Schedule (adequacy, criticality, coordination) Funding (adequacy, distribution)

Page 13: Method Framework for Engineering System Architectures - 2014

13 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Why Method Engineering? – Stakeholders Type of stakeholders: • Acquirer, developer, maintainer, member of the public, operator,

regulator, safety/security accreditor/certifier, subject matter expert, user, …

Number of stakeholders Authority (requirements, funding, policy, … ) Accessibility of the stakeholders to the architecture teams Volatility of stakeholder turnover (especially acquirers)

Page 14: Method Framework for Engineering System Architectures - 2014

14 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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.

Page 15: Method Framework for Engineering System Architectures - 2014

15 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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 (CRC Press –

Auerbach Publishing, November 2008) • Tutorials and Training Materials • Articles

Page 16: Method Framework for Engineering System Architectures - 2014

16 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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

Methods are models of processes.

Methods are enacted as processes.

Method components are classes of process components.

Presenter
Presentation Notes
This is not the only distinction possible between method and process. Some people equate method and process as synonyms. Others consider processes to be large scale activities while methods are small scale implementations.
Page 17: Method Framework for Engineering System Architectures - 2014

17 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Method Engineering Models

As-Intended Method(Process Model)

As-Performed Process

models

ProcessComponents

MethodComponents

Process Metamodel

models

MetamethodComponents

specifies

specifies

specialization(inheritance)

Instantiation(instance of)

Presenter
Presentation Notes
The MFESA interpretation is more consistent with the ISO methodology standard than the OMG methodology standard. Actually, specification is really classification and instantiation using clabjects, but unnecessarily complex for most architects. Metamethod components are the abstract foundational classes of method components (work products, work units, and workers).
Page 18: Method Framework for Engineering System Architectures - 2014

18 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

As-Performed Process Components

Architecture Team 1

Architect John

Architect Mary Architecture

Task 1 Execution

Architecture Task 2

Execution

Architecture Plan

Architecture Model

Architecture

Architecture Document

Process-Level Actual As Performed

Project-Specific Process

Components(and Processes)

Presenter
Presentation Notes
The process layer consists of actual, as-performed, project-specific architecture engineering process components and processes. In other words, real people performing real tasks to produce real work products on real projects. These process components are instances (enactments) of method components at the next level up.
Page 19: Method Framework for Engineering System Architectures - 2014

19 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

As-Intended Methods

SEI ADD

Architecture Team 1

Architect John

Architect Mary Architecture

Task 1 Execution

Architecture Task 2

Execution

Architecture Plan

Architecture Model

Architecture

Architecture Document

SEI EPIC

SEI CMMI RUP

Prime Contractor Method

INCOSEGuidebook

SubcontractorMethod

System-Specific Method

Subsystem-Specific Method

Automotive-Appropriate Method

Aviation-Appropriate Method

DODAF

Method LevelAs Intended

Methods and Standards(Method Components)

Process LevelActual As Performed

Project-Specific Process Components

(and Processes)

Presenter
Presentation Notes
The method level consists of as intended architecture engineering methods and standards (and the method components they consist of). Note the difference between as-intended methods and as-performed processes; methods are models of processes. Different architecture engineering methods and standards consist of different method components (descriptions of producers, work units, and work products). When performed on real projects, the method components are instantiated (enacted) as the performance of different work units and production of different work products, possibly by different workers. The arcs in this diagram mean that method components in the system-specific method are classes of the process components in the process level.
Page 20: Method Framework for Engineering System Architectures - 2014

20 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Method Frameworks

Architecture Team 1

Architect John

Architect Mary Architecture

Task 1 Execution

Architecture Task 2

Execution

Architecture Plan

Architecture Model

Architecture

Architecture Document

Metamethod LevelMethod Framework

SEI ADD

SEI EPIC

SEI CMMI RUP

Prime Contractor Method

INCOSEGuidebook

SubcontractorMethod

System-Specific Method

Subsystem-Specific Method

Automotive-Appropriate Method

Aviation-Appropriate Method

DODAF

Method LevelAs Intended

Methods and Standards(Method Components)

Process LevelActual As Performed

Project-Specific Process Components

(and Processes)

MFESA

Presenter
Presentation Notes
MFESA is a method framework that can be used to produce any reasonable system architecture engineering method. However, MFESA is described with a common standard terminology that may not exactly match the terminology of various methods and standards. The lower arcs in this diagram mean that method components in the system-specific method are classes of the process components in the process level. The upper arcs mean that the methods and standards in the method level can be constructed from the method framework in the metamethod level.
Page 21: Method Framework for Engineering System Architectures - 2014

21 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Primary Inputs to MFESA

MFESASEI Attribute-Driven

Design (ADD)

SEI Evolutionary Process for Integrating COTS-based Systems

(EPIC)

SEI Capability Maturity Model Integrated (CMMI)

ISO/IEC 15288-2002

System Architecture Engineering Experience

Department of Defense Architecture Framework

(DODAF)

ANSI/IEEE 1471-2000

INCOSE SE Handbook

ANSI/EIA 632-2003

Naval Systems Engineering Guide

Page 22: Method Framework for Engineering System Architectures - 2014

22 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Components (Top View)

MFESA

MFESAOntology

MFESAMetamodel

MFESARepository

Method Engineering Framework

MFESAMetamethod

Presenter
Presentation Notes
MFESA ontology of concepts and terminology: an information model defining a consistent set of interrelated concepts and terms underlying system architecture engineering MFESA metamodel: a model of the types of method components in the repository of reusable method components (i.e., architectural work products, architectural work units, and architectural workers) MFESA repository: a repository containing (1) a consistent class library of reusable method components for creating situation-specific methods for engineering system architectures, and (2) a set of reusable methods constructed out of the reusable method components MFESA metamethod: a method for creating effective and efficient project-specific methods for engineering system architectures (i.e., a method for creating methods)
Page 23: Method Framework for Engineering System Architectures - 2014

23 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Components (Detailed View)

MFESA

MFESAOntology

MFESAMetamodel

MFESARepository

Method Engineering Framework

MFESAMetamethod

stores thedescribes how

to engineer project-specific

defines the concepts and terms used in the

Reusable MFESA Method

ComponentsReusableMFESA

Architecture Engineering

Methods

Foundational MFESA Method

Components MFESAArchitecture Engineering

Methodtailored

Page 24: Method Framework for Engineering System Architectures - 2014

24 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Components (Usage)

MFESA

MFESAOntology

MFESAMetamodel

MFESARepository

Method Engineering Framework

MFESAMetamethod

stores thedescribes how

to engineer project-specific

defines the concepts and terms used in the

Reusable MFESA Method

ComponentsReusableMFESA

Architecture Engineering

Methods

Foundational MFESA Method

Components Architect

Process Engineer

MFESAArchitecture Engineering

Methodtailored

selects,tailors, and

integrates the

selects andtailors the

performs the

performs the

may play the role of the

Page 25: Method Framework for Engineering System Architectures - 2014

25 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Method vs. Process

Architectural Work Units

Architectural Work Products

SystemArchitectureEngineering

SystemArchitectureEngineeringMethod

SystemArchitectureEngineeringProcess

documentsthe intended

ArchitecturalWorkers

perform

create and modify

produce

documents intended way

to perform

is the actual performance

of

documents concretesubtypes of

SystemArchitectureEngineeringMethod

Components

consists of instances of

Page 26: Method Framework for Engineering System Architectures - 2014

26 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Metamodel of Reusable Method Components

MFESA Repository

Architectural Work Products

stores the

produce

MFESA ReusableMethod Components

Architectural Work Units

Architecture Workers

create and update

perform

Architectures Architecture Representations

describe

Architecture Teams

membership

Architects

Architecture Engineering Discipline

Architecture Engineering

Tasks

Architecture EngineeringTechniques

use

ArchitectureTools

use

Architecture Process

Work Products

Page 27: Method Framework for Engineering System Architectures - 2014

27 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Tasks

T2: Identify the Architectural Drivers

T5: Create the Candidate

Architectural Visions

T7: Select or Create the Most Suitable Architectural Vision

T8: Complete and Maintainthe Architecture

T9: Evaluate and Acceptthe Architecture

T10: Ensure Architectural Integrity

T4: Identify Opportunitiesfor the Reuse of

Architectural Elements

T6: Analyze Reusable Components and their Sources

T3: Create the First Versions of

the Most Important Architectural Models

T1: Plan and Resource theArchitecture Engineering Effort

Page 28: Method Framework for Engineering System Architectures - 2014

28 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Effort by MFESA Task

Tasks

1

2

5

3

4

7

6

8

9

10

Plan and Resourcethe Architecture

Engineering Effort

Identify the Architectural Drivers

Create the Candidate Architectural Visions

Create First Versionsof the Most Important Architectural ModelsIdentify Opportunities

for the Reuse ofArchitectural Elements

Analyze theReusable Components

and their SourcesSelect or Create the

Most Suitable Architectural Vision

Complete and Maintain the Architecture

Evaluate and Acceptthe Architecture

Ensure Architectural Integrity

Initiation Construction

Phase (time )Initial

ProductionFull Scale

Production Usage Retirement

Presenter
Presentation Notes
Note that this is just one illustrative example of how effort on the ten MFESA tasks could be allocated to life-cycle phases. However, the recommendation is not to use a strict waterfall development cycle, but rather an iterative, incremental, concurrent, and time-boxed life cycle. Note that some tasks continue until the system is retired.
Page 29: Method Framework for Engineering System Architectures - 2014

29 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Task 1) Plan and Resource the Architecture Engineering Effort

Goal: • Prepare the system engineering team(s) 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(s). • Develop plans, standards, and procedures for engineering the system

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

Page 30: Method Framework for Engineering System Architectures - 2014

30 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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 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.

Page 31: Method Framework for Engineering System Architectures - 2014

31 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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 associated 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.

Presenter
Presentation Notes
An architectural model is an architectural representation that models of a single (logical or physical, static or dynamic) system structure in terms of the structure’s elements and the relationships between them. An architectural view is any architectural representation describing a single architectural structure that consists of one or more related models of that structure An architectural focus area is the cohesive set of all architectural decisions, inventions, and tradeoffs related to a specific architectural concern, regardless of the architectural view, model, or structure where they are documented or found
Page 32: Method Framework for Engineering System Architectures - 2014

32 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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 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.

Presenter
Presentation Notes
Architecture elements are logical parts of the architecture.
Page 33: Method Framework for Engineering System Architectures - 2014

33 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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.

Page 34: Method Framework for Engineering System Architectures - 2014

34 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Task 6) Analyze Reusable Components and their Sources

Goal: • Determine if any existing architectural 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.

Presenter
Presentation Notes
Architectural components are major physical parts of the system.
Page 35: Method Framework for Engineering System Architectures - 2014

35 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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.

Page 36: Method Framework for Engineering System Architectures - 2014

36 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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

or created architectural vision. • Maintain the system or subsystem architecture as the architecturally

significant requirements change. Objectives: • Complete the interface aspects of the architecture. • 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.

Page 37: Method Framework for Engineering System Architectures - 2014

37 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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 if justified by the results of the evaluations.

Page 38: Method Framework for Engineering System Architectures - 2014

38 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

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)

Page 39: Method Framework for Engineering System Architectures - 2014

39 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Task 10) Ensure Architectural Integrity Goal: • 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 the: – Architecturally Significant Requirements – Enterprise Architecture(s) – Reference Architecture(s) – Design of architectural components – Implementation of architectural components

• Ensure that the system architecture and its representations do not degrade over time.

Page 40: Method Framework for Engineering System Architectures - 2014

40 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

MFESA Metamethod for Creating Appropriate Methods

Method Needs Assessment

for each method

Number of Methods

Determination

Method Reuse

Method Construction

Method Documentation

MethodVerification

MethodComponent

Selection

MethodComponent

Tailoring

MethodComponent Integration

MethodSelection

MethodTailoring

MethodReuse Type

Determination

MethodPublication

Presenter
Presentation Notes
The primary steps are to select the appropriate method components, tailor them (primarily by removing unnecessary parts), and then integrating them together to form the situation-specific system architecture engineering method. The metamethod is typically performed in an iterative, incremental, concurrent, and time-boxed manner.
Page 41: Method Framework for Engineering System Architectures - 2014

41 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Benefits of using MFESA

The benefits of: • Flexibility: the resulting project/system-specific 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 • System architecture engineering(as-performed) processes. • Architectures • Architecture representations

Page 42: Method Framework for Engineering System Architectures - 2014

42 MITRE CCG SA TEM Donald Firesmith, 8 April 2014 © 2014 Carnegie Mellon University

Contact Information Slide Format

Donald G. Firesmith Principle Engineer Acquisition Support Program Telephone: +1 412-268-6874 Email: [email protected]

U.S. mail: Software Engineering Institute Customer Relations 4500 Fifth Avenue Pittsburgh, PA 15213-2612 USA

World Wide Web: www.sei.cmu.edu www.sei.cmu.edu/contact.html

Customer Relations Email: [email protected] Telephone: +1 412-268-5800 SEI Phone: +1 412-268-5800 SEI Fax: +1 412-268-6257