Software-Architecture, Design Patterns and Refactoring An Overview

Similar documents
Integrating TOGAF, Zachman and DoDAF Into A Common Process

cameo Enterprise Architecture UPDM / DoDAF / MODAF / SysML / BPMN / SoaML USER GUIDE version 17.0

UPDM PLUGIN. version user guide

UPDM 2 PLUGIN. version user guide

Patterns for Decoupling

DoDAF 2.0 Viewpoint Definitions. DoDAF v2.0 Viewpoint Definitions

Relating the Mission and Means Framework DoD Architecture Framework Products Jim Watkins Applied Research Laboratories The University of Texas

Presenter: Dong hyun Park

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

Software Architecture

Vocabulary-Driven Enterprise Architecture Development Guidelines for DoDAF AV-2: Design and Development of the Integrated Dictionary

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

DoD Architecture Framework Version 2.0

OOI CyberInfrastructure Conceptual and Deployment Architecture

CHAPTER 9 DESIGN ENGINEERING. Overview

DoD Architecture Framework Version 2.0

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

Integration With the Business Modeler

Architectural Design

Software Architectures

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

A Comparative Analysis of Architecture Frameworks

CC532 Collaborative System Design

Components Based Design and Development. Unit 3: Software Design Quick Overview

Patterns Architectural Styles Archetypes

The ATCP Modeling Framework

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Software Architecture

Modeling SW-Architectures using UML-RT/UML 2.0

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Modeling SW-Architectures using UML-RT/UML 2.0

What is Software Architecture

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Designing Component-Based Architectures with Rational Rose RealTime

OOI CyberInfrastructure Architecture & Design

Software Architectures. Lecture 6 (part 1)

MINISTRY OF DEFENCE. MOD Architectural Framework Technical Handbook

ISO/IEC/ IEEE INTERNATIONAL STANDARD. Systems and software engineering Architecture description

Design. Introduction

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Transformation of analysis model to design model

Chapter 5 Practice: A Generic View

Appendix A - Glossary(of OO software term s)

Software Architecture

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Foundations of Software Engineering

The Process of Software Architecting

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Requirements to models: goals and methods

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

Architectural Blueprint

Incremental development A.Y. 2018/2019

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

CS 575: Software Design

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

Minsoo Ryu. College of Information and Communications Hanyang University.

CSE 210: Service-Oriented Software and Systems Engineering & Model-Driven Development

Topic : Object Oriented Design Principles

Lesson 19 Software engineering aspects

The Role of Enterprise Architecture Updates in Guiding Decentralized Organizations. John Schatz SPEC Innovations

CORE 8 Architecture Definition Guide CORE 8. Architecture Definition Guide

Science and Technology Directorate

Enterprise Data Architecture: Why, What and How

index_ qxd 7/18/02 11:48 AM Page 259 Index

Strategies of Systems Engineering Development

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Design Patterns Design patterns advantages:

Data Models: The Center of the Business Information Systems Universe

Accelerate Your Enterprise Private Cloud Initiative

Ch 1: The Architecture Business Cycle

Enterprise Architecture Frameworks

Chapter : Analysis Modeling

Systems Analysis and Design in a Changing World, Fourth Edition

WHAT IS SOFTWARE ARCHITECTURE?

Architectural Design

Review Sources of Architecture. Why Domain-Specific?

CONFIGURED IP MANAGEMENT OBJECTIVE

Functional Design of Web Applications. (partially, Chapter 7)

Unit 1 Introduction to Software Engineering

Software Architecture. Lecture 5

Seminar report Software reuse

Architecture of Business Systems Architecture and the Role of the Architect

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Rational Software White paper

Design Patterns. Hausi A. Müller University of Victoria. Software Architecture Course Spring 2000

Architectural Design

Introduction to Software Engineering

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect

Chapter 4. Fundamental Concepts and Models

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Evolutionary Architecture and Design

GRASP Design Patterns A.A. 2018/2019

Supporting Systems Engineering with Methods and Tools: A Case Study

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop.

Introduction to. and. Scott W. Ambler Source Documents

Introduction. ADL Roles

Module 7 TOGAF Content Metamodel

Eclipse technology in IFMS Interface Management System

Transcription:

Software-Architecture, Design Patterns and Refactoring An Overview Ingolf H. Krueger ikrueger@ucsd.edu Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California Institute for Telecommunications and Information Technologies La Jolla, CA 92093-0405, USA

Overview The Notion of Architecture and Architectural Aspects The Role of Software Architecture Modeling and Documenting Architectures Patterns for Architecture and Design Refactoring Techniques Ingolf H. Krueger CSE 2

The Notion of Architecture A Software-Architecture describes the decomposition of a system into units / components / subsystems, and their connections / interactions / relationships observing quality requirements / design guidelines / constraints Ingolf H. Krueger CSE 3

Functional requirements Models of structure and behavior logical view Mapping of executables to processors System platform Installation... Architectural Aspects implementation view Source code organization File structure Configuration information... Aspects of distribution and concurrency process view service view see also: [RUP98] Response times Throughput... deployment view Ingolf H. Krueger CSE 4

Overview The Notion of Architecture and Architectural Aspects The Role of Software Architecture Modeling and Documenting Architectures Patterns for Architecture and Design Refactoring Techniques Ingolf H. Krueger CSE 5

The Role of SW-Architecture Bounds leeway for implementation Fosters (or impedes!) system quality Supports the critical system services Defines starting point for Change management Product families Division of work Ingolf H. Krueger CSE 6

The Role of SW-Architecture The Classic: ISO/OSI-Layered Architecture Application Presentation Session Transport Network Link Physical Clear assignment of responsibilities to layers What functionality does the component perform and where is it located? Who develops what part of the system? Positioning of business models Clear interfaces between layers Call constraints (no skipping of layers) Ingolf H. Krueger CSE 7

The Role of SW-Architecture CORBA (simplified) Clear interfaces, responsibilities, decoupling Infrastructure for communication, distribution Implementation strategy Component Component Component Component... ORB Ingolf H. Krueger CSE 8

The Role of SW-Architecture The selection of an adequate architecture is a key success factor in system design Transparently structured architecture is basis for: Project organization Complexity management Reuse Component- and service-oriented development System comprehension beyond team boundaries Manageable system evolution Make architecture description part of every software project! Ingolf H. Krueger CSE 9

The Role of SW-Architecture A good SW-Architecture Brings stability to the system small modifications to the requirements induce small modifications to the system Has conceptual integrity Balance Simplicity Elegance, Clarity Practicality Employ Dedicated SW- Architect(s) Architecture reviews Ingolf H. Krueger CSE 10

Overview The Notion of Architecture and Architectural Aspects The Role of Software Architecture Modeling and Documenting Architectures Patterns for Architecture and Design Refactoring Techniques Ingolf H. Krueger CSE 11

Modeling and Documenting Architectures How to model and implement Units / components / subsystems, Connections / interactions / relationships, Quality attributes / development guidelines / constraints adequately? Approaches: Architecture Description Languages (ADLs) Architectural styles and patterns Domain specific architectures Infrastructures Modeling Implementation Ingolf H. Krueger CSE 12

Modeling and Documenting Architectures How to model and implement Unicon/Wright (Garlan et al., CMU) Units / components / subsystems, Darwin (Kramer et al., Imperial College) Connections / interactions / relationships, Rapide (Luckham et al., Stanford) Quality attributes / development UML-RT guidelines (Rational)?! / constraints adequately? Approaches: Service-ADL (Krueger et al., UCSD) Architecture Description Languages (ADLs) Architectural styles and patterns Domain specific architectures Infrastructures Modeling Implementation Ingolf H. Krueger CSE 13

Modeling and Documenting Architectures Architectural styles and patterns: Pipes and Filters Layered Architecture Model-View-Controller Broker,... Domain specific architectures: Telecommunication Standard architectures in the business domain Avionics, automotive Manifestations of architectures: Middleware technologies (CORBA, DCOM,.NET, Jini,...) Operating systems Databases Ingolf H. Krueger CSE 14

Modeling and Documenting Architectures Content of an ad-hoc architecture document (example) Short description of the system Essential use cases (including exceptions) Component structure (possibly taken from the domain model) Interaction patterns Rationale for the architecture s adequacy (along the analysis model) other relevant views (process view, distribution view,... see above) Ingolf H. Krueger CSE 15

DOD Architecture Framework V1.0 Views and Products The SV is a set of graphical and textual products that describes systems and interconnections providing for, or supporting, (DoD) functions SV OV The OV is a description of the tasks and activities, operational elements, and information exchanges required to accomplish (DoD) business processes. The TV is the minimal set of rules governing the arrangement, interaction, and interdependence of system parts or elements. Its purpose is to ensure that a system satisfies a specified set of operational requirements. TV AV AV products set the scope and context of the architecture. The scope includes the subject area and time frame for the architecture. see, for instance, http://www.software.org/pub/architecture/dodaf.asp and http://www.aitcnet.org/dodfw/ Ingolf H. Krueger CSE 16

Architecture vs. Process vs. Documentation Standard FEA Zachman Business Processes, Use Cases, User Stories, Requirements, Risks UML 4+1 DoDAF: AV, OV, SV, TV * * Domain Model, * Architecture * 1 1..* * * * Architecture Document Implementation Ingolf H. Krueger CSE 17

Architecture Standard Followed DoD Architecture Framework 1.0 References: DoD Architecture Framework Volume I, 15 August 2003 DoD Architecture Framework Volume II, 15 August 2003 DoD Architecture Framework Deskbook, 15 August 2003 Covers broad spectrum of architectural aspects Architecture product selection based on relevance and availability of information Operational Views System Views Technical Views Ingolf H. Krueger CSE 18

DoD Architecture Framework Views Systems Views: Operational Views: Systems, Data Flow, Communications, QoS, SV OV What and Who. Technical Views: Standards, Rules, Conventions Profile & Forecast TV AV All Views: Scope, Context, Timeline, Glossary Ingolf H. Krueger CSE 19

DoDAF Products SV OV TV AV Ingolf H. Krueger CSE 20

Product Selection and Rationale Source: DoDAF 1.0 Volume I Ingolf H. Krueger CSE 21

Iterative, Data-Centric Build Sequence Starting Point for Service Elicitation Source: DoDAF 1.0 Deskbook, p. 2-5 Ingolf H. Krueger CSE 22

Domain Model Informs most of the architecture products Central data and processing entities, and their structural relationships Induces communication links Supports concepts of operation Basis for determining component structure and distribution, interface definition OV-7, OV-5, OV-6 Ingolf H. Krueger CSE 23

Overview The Notion of Architecture and Architectural Aspects The Role of Software Architecture Modeling and Documenting Architectures Patterns for Architecture and Design Refactoring Techniques Ingolf H. Krueger CSE 24

What are Patterns? A pattern for software architecture describes a particular recurring design problem that arises in specific design contexts, and presents a well-proven generic scheme for its solution. The solution scheme is specified by describing its constituent components, their responsibilities and relationships, and the ways in which they collaborate. [POSA96] Ingolf H. Krueger CSE 25

What are Patterns? Describes one proven solution for a recurrent design problem Defines the context for the solution s applicability adapted from [POSA96] Pattern Architectural Pattern Design Pattern Idiom coarse granularity fine Ingolf H. Krueger CSE 26

What are Patterns? Describes one proven solution for a recurrent design problem Defines the context for the solution s applicability adapted from [POSA96] Pattern Architectural Pattern Design Pattern Idiom coarse granularity fine Ingolf H. Krueger CSE 27

Architectural Patterns An architectural pattern expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them. [POSA96] Ingolf H. Krueger CSE 28

Architectural Patterns Application Presentation Session Transport Network Link Physical Presentation Business logic Database Generalization yields pattern layered architecture... Layer n Layer n+1... Ingolf H. Krueger CSE 29

Name: Architectural Patterns Schema Concise identifier for the pattern Context: Under what circumstances is the pattern applicable? Problem: What problem does the pattern solve? What are the tradeoffs? Solution: Structure Behavior Implementation Application examples, variants, consequences Ingolf H. Krueger CSE 30

Example: Subsystem Controller Context & Problem: Complex system with large number of communication links between individual components Tight coupling of components Coherent subsystems can be identified Solution: Decompose hierarchically into subsystems Introduce controller components to decouple subsystems Every subsystem consists of one controller and a set of further subsystems Controllers manage communication of subsystems on the same level of abstraction of subsystems on lower levels of abstraction Subsystems interact exclusively via their controller Ingolf H. Krueger CSE 31

Structure: Example: Subsystem Controller Subsystem Controller Controller Controller Controller Controller Controller Controller Communication proceeds exclusively via the controllers interfaces Ingolf H. Krueger CSE 32

Behavior: Example: Subsystem Controller s1:subsys c:controller s2:subsys makecall retval makecall retval within the same subsystem Use efficient communication mechanisms! Ingolf H. Krueger CSE 33

Behavior: Example: Subsystem Controller s1:subsys c1:controller c2:controller s2:subsys makecall retval makecall retval makecall retval Subsystem 1 Subsystem 2 Communication across subsystem boundaries, may have to use less efficient communication mechanisms Ingolf H. Krueger CSE 34

Example Applications: Telecommunication switches Consequences: Example: Subsystem Controller Clear communication structure High degree of decoupling Possibly less efficient due to communication across multiple layers of hierarchy in case of frequent communication across subsystem boundaries on the same layer of hierarchy Starting point for performance analysis regarding communication paths Starting point for separation between hard and soft real-time constraints: Within subsystems: fast communication between controllers: slow communication Ingolf H. Krueger CSE 35

Related Patterns: Example: Subsystem Controller Facade (see [GOF95]) Facade Relaying of calls (unidirectional) Controller Controller Controller The facade shields components within a subsystem from the environment. Components within the subsystem can interact directly (no detour via the facade). Ingolf H. Krueger CSE 36

Related Patterns: Example: Subsystem Controller Mediator (see [GOF95]) Mediator Controller Controller Controller The mediator coordinates the communication among a set of components. The components interact exclusively via the mediator Ingolf H. Krueger CSE 37

Overview The Notion of Architecture and Architectural Aspects The Role of Software Architecture Modeling and Documenting Architectures Patterns for Architecture and Design Refactoring Techniques Ingolf H. Krueger CSE 38

Given: Refactoring Techniques A design model of the system under consideration, or An implementation of the system Problem: The system requirements change (frequently) Mandatory/desirable system qualities are missing: Clear structure Reusability Clarity Changeability... The adaptation to changing requirements is difficult The investment into the existing design should pay off Ingolf H. Krueger CSE 39

Refactoring Techniques Can we modify the existing design/implementation, such that The observable system behavior doesn t change, but Afterwards the mandatory/desirable requirements are fulfilled? Example: Let an elevator controller for a single cabin be given The dispatching strategy is tightly coupled with the controller This makes it difficult to extend the system such that it supports multiple cabins and dispatching strategies What modifications are necessary to decrease the coupling between the dispatching strategy and the controller? How to ensure that no errors are introduced in the process? Ingolf H. Krueger CSE 40

Refactoring Techniques Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. It is a disciplined way to clean up code that minimizes the chances of introducing bugs. In essence when you refactor you are improving the design of the code after it has been written. [F99] Ingolf H. Krueger CSE 41

Refactoring Techniques Refactoring: minimally invasive modifications to system structure Strategy of small steps Set up adequate test suite before changing the system Carry out tests during and after performing the change Increases confidence in correctness; Goal: no change of observable behavior Ingolf H. Krueger CSE 42

Refactoring Techniques Example: Move method to superclass Motor Left_Door_Motor lock() Right_Door_Motor lock() Pull Up Method (see [F99]) Motor lock() Left_Door_Motor Right_Door_Motor Ingolf H. Krueger CSE 43

Refactoring Techniques Refactoring proceeds in extremely small steps Each individual change is manageable Refactoring fits particularly well with design patterns and architectural patterns: 1.) Evaluate current state 2.) Select target pattern 3.) Identify sequence of refactoring steps leading to target pattern 4.) Perform refactoring until target pattern is reached Ingolf H. Krueger CSE 44

Refactoring Techniques Must know catalog of refactoring techniques and architecture/design patterns for effective usage of refactoring (see [F99,GOF95,POSA96,E03]): Simplification of Method calls Class hierarchies Increase/Decrease coupling Simplification of control structure... Ingolf H. Krueger CSE 45

Refactoring Techniques Skillful application of refactoring techniques allows picking the simplest solution to a given problem initially Refactoring helps adapt the solution to changing requirements Refactoring helps avoid overengineering Link to extreme Programming Conclusion: Refactoring helps improve a design/an implementation in a series of small steps High degree of experience/knowledge of refactoring techniques required Ingolf H. Krueger CSE 46

Conclusion The selection of a sustainable software architecture is one of the key success factors in the development of complex systems of high quality ADLs and patterns help expose important structural and behavioral aspects of a software architecture Refactoring techniques: policy of small steps, used for reaching a target architecture displaying the desirable/mandatory quality requirements Ingolf H. Krueger CSE 47

The End Thank you for your attention! Questions? Ingolf H. Krueger CSE 48

AV - All Views Overview and Summary Information (AV-1) Integrated Dictionary (AV-2) SV TV AV OV Ingolf H. Krueger CSE 49

OV Operational Views High Level Operational Concept Graphic (OV-1) Operational Node Connectivity Description (OV-2) Operational Information Exchange Matrix (OV-3) Organizational Relationships Chart (OV-4) Operational Activity Model (OV-5) Operational Rule Model (OV-6a) Operational State Transition Description (OV-6b) Logical Data Model (OV-7) SV TV AV OV Ingolf H. Krueger CSE 50

SV System Views SV Systems Interface Description (SV-1) Systems Communication Description (SV-2) Systems-Systems Matrix (SV-3) Systems Functionalities Description (SV-4) Operational Activities to System Functionalities Traceability Matrix (SV- 5) Systems Data Exchange Matrix (SV-6) Systems Performance Parameters Matrix (SV-7) Systems Evolution Description (SV-8) Systems Technology Forecasts (SV-9) Systems Rules Model (SV-10a) Systems State Transitions Description (SV-10b) Systems Event-Trace Description (SV-10c) Physical Schema (SV-11) TV AV OV Ingolf H. Krueger CSE 51

TV Technical Views Technical Standards Profile (TV-1) Technical Standards Forecast (TV-2) SV TV AV OV Ingolf H. Krueger CSE 52

All Views Overview and Summary Information (AV-1) SV OV TV AV The Overview and Summary Information provides: Executive-level summary information in a consistent form that allows quick reference. AV-1 includes: Assumptions Constraints Limitations that may affect high-level decision processes involving the architecture. Ingolf H. Krueger CSE 53

All Views Integrated Dictionary (AV-2) SV OV TV AV The Integrated Dictionary contains: Definitions of terms used in the given architecture Textual definitions in the form of a glossary A repository of architecture data, their taxonomies, and their metadata (i.e., data about architecture data) Including metadata for tailored products, associated with the architecture products developed Metadata are the architecture data types, possibly expressed in the form of a physical schema. In this document, architecture data types are referred to as architecture data elements Ingolf H. Krueger CSE 54

Operational Views High Level Operational Concept Graphic (OV-1) SV OV TV AV The High- Level Operational Concept Graphic describes: Mission Highlights main operational nodes (see OV-2 definition) and Interesting or unique aspects of operations A description of the interactions between the subject architecture and its environment, and between the architecture and external systems A textual description accompanying the graphic is crucial Graphics alone are not sufficient for capturing the necessary architecture data. Ingolf H. Krueger CSE 55

Operational Views Operational Node Connectivity Description (OV-2) SV OV TV AV The Operational Node Connectivity Description graphically depicts: The operational nodes (or organizations) with needlines between those nodes that indicate a need to exchange information The graphic includes: Internal operational nodes (internal to the architecture) as well as external nodes Ingolf H. Krueger CSE 56

Operational Views Operational Information Exchange Matrix (OV-3) SV OV TV AV The Operational Information Exchange Matrix details: Information exchanges and identifies who exchanges what information, with whom Why the information is necessary And how the information exchange must occur. [CJCSI 6212.01B, 2000] There is not a one-to-one mapping of OV-3 information exchanges to OV-2 needlines; rather, many individual information exchanges may be associated with one needline. Ingolf H. Krueger CSE 57

Organizational Relationships Chart (OV-4) Operational Views SV OV TV AV The Organizational Relationships Chart illustrates the command structure or relationships (as opposed to relationships with respect to a business process flow) among: Human roles Organizations, or organization types that are the key players in an architecture. Ingolf H. Krueger CSE 58

Operational Activity Model (OV-5) Operational Views SV OV The Operational Activity Model describes: Read: services TV AV The operations that are normally conducted in the course of achieving a mission or a business goal. It describes capabilities, operational activities (or tasks), input and output (I/O) flows between activities, and I/O flows to/from activities that are outside the scope of the architecture. High- level operational activities should trace to (are decompositions of): A Business Area An Internal Line of Business, and/or a Business Sub-Function as published in OMB s Business Reference Model [OMB, 2003]. Ingolf H. Krueger CSE 59

Operational Rule Model (OV-6a) Operational Views SV OV TV AV The Operational Rules Model specifies operational or business rules constraining: An enterprise A mission Operation Business Or an architecture Ingolf H. Krueger CSE 60

Operational Views Operational State Transition Description (OV-6b) SV OV TV AV The Operational State Transition Description is a graphical method of describing how an operational node or activity responds to various events by changing its state. The diagram represents the sets of events to which the architecture will respond (by taking an action to move to a new state) as a function of its current state. Each transition specifies an event and an action. Ingolf H. Krueger CSE 61

Logical Data Model (OV-7) Operational Views SV OV TV AV The Logical Data Model describes: The structure of an architecture domain s system data types and The structural business process rules (defined in the architecture s Operational View) that govern the system data. It provides a definition of: Architecture domain data types Their attributes or characteristics And their interrelationships. Ingolf H. Krueger CSE 62

Systems Interface Description (SV-1) System Views SV OV TV AV The Systems Interface Description depicts systems nodes and the systems resident at these nodes to support organizations/human roles represented by operational nodes of the Operational Node Connectivity Description (OV-2). SV-1 also identifies the interfaces between systems and systems nodes. Ingolf H. Krueger CSE 63

System Views Systems Communication Description (SV-2) SV OV TV AV The Systems Communications Description depicts pertinent information about: Communications systems Communications links Communications networks. SV-2 documents the kinds of communications media that support the systems and implement their interfaces as described in SV-1. Thus, SV-2 shows the communications details of SV-1 interfaces that automate aspects of the needlines represented in OV-2. Ingolf H. Krueger CSE 64

Systems-Systems Matrix (SV-3) System Views SV OV TV AV The Systems-Systems Matrix provides detail on: The interface characteristics described in SV-1 for the architecture Arranged in matrix form. Ingolf H. Krueger CSE 65

Systems Functionalities Description (SV-4) System Views SV OV TV AV The Systems Functionality Description documents: System functional hierarchies System functions The system data flows between them. NOTE: Although there is a correlation between Operational Activity Model (OV-5) or business-process hierarchies and the system functional hierarchy of SV-4, it need not be a one-to-one mapping, hence, the need for the Operational Activity to Systems Function Traceability Matrix (SV-5), which provides that mapping. Ingolf H. Krueger CSE 66

System Views Operational Activities to System Functionalities Traceability Matrix (SV-5) SV OV TV AV Operational Activity to Systems Function Traceability Matrix is a specification of: The relationships between the set of operational activities applicable to an architecture The set of system functions applicable to that architecture. Ingolf H. Krueger CSE 67

Systems Data Exchange Matrix (SV-6) System Views SV OV TV AV The Systems Data Exchange Matrix specifies the characteristics of the system data exchanged between systems. This product focuses on automated information exchanges (from OV-3) that are implemented in systems. Non-automated information exchanges, such as verbal orders, are captured in the OV products only. Ingolf H. Krueger CSE 68

System Views Systems Performance Parameters Matrix (SV-7) SV OV TV AV The Systems Performance Parameters Matrix product specifies: The quantitative characteristics of systems and system hardware/software items Their interfaces (system data carried by the interface as well as communications link details that implement the interface) System functions. The current performance parameters of each system, interface, or system function, And the expected or required performance parameters at specified times in the future. Ingolf H. Krueger CSE 69

Systems Evolution Description (SV-8) System Views SV OV TV AV The Systems Evolution Description captures evolution plans that describe how the system or the architecture in which the system is embedded, will evolve over a lengthy period of time. Generally, the timeline milestones are critical for a successful understanding of the evolution timeline. Ingolf H. Krueger CSE 70

System Views Systems Technology Forecasts (SV-9) SV OV TV AV The Systems Technology Forecast defines the underlying current and expected supporting technologies. It is not expected to include predictions of technologies as with a crystal ball. Expected supporting technologies are those that can be reasonably forecast given the current state of technology and expected improvements. New technologies should be tied to specific time periods, which can correlate against the time periods used in SV-8 milestones. Ingolf H. Krueger CSE 71

System Views Systems Rules Model (SV-10a) SV OV TV AV Systems rules are constraints on: An architecture On a system(s), or system hardware/software item(s) And/or on a system function(s). While other SV products (e.g., SV-1, SV-2, SV-4, SV-11) describe the static structure of the Systems View (i.e., what the systems can do), they do not describe, for the most part, what the systems must do, or what it cannot do. Ingolf H. Krueger CSE 72

System Views Systems State Transitions Description (SV-10b) SV OV TV AV The Systems State Transition Description is a graphical method of describing a system (or system function) response to various events by changing its state. The diagram basically represents the sets of events to which the systems in the architecture will respond (by taking an action to move to a new state) as a function of its current state. Each transition specifies an event and an action. Ingolf H. Krueger CSE 73

System Views Systems Event-Trace Description (SV-10c) SV OV TV AV The Systems Event-Trace Description provides a time-ordered examination of the system data elements exchanged between participating systems (external and internal), system functions, or human roles as a result of a particular scenario. Each event-trace diagram should have an accompanying description that defines the particular scenario or situation. SV-10c in the Systems View may reflect system-specific aspects or refinements of critical sequences of events described in the Operational View. Ingolf H. Krueger CSE 74

System Views Physical Schema (SV-11) SV OV TV AV The Physical Schema product is one of the architecture products closest to actual system design in the Framework. The product defines the structure of the various kinds of system data that are utilized by the systems in the architecture. Ingolf H. Krueger CSE 75

Technical Standards Profile (TV-1) Technical Views SV OV TV AV The Technical Standards Profile collects the various systems standards rules that implement and sometimes constrain the choices that can be made in the design and implementation of an architecture. Ingolf H. Krueger CSE 76

Technical Views Technical Standards Forecast (TV-2) SV OV TV AV The Technical Standards Forecast contains expected changes in technology-related standards and conventions, which are documented in the TV-1 product. The forecast for evolutionary changes in the standards should be correlated against the time periods as mentioned in the SV-8 and SV-9 products. Ingolf H. Krueger CSE 77