SYSTEM ARCHITECTING – VIEWS vs. FUNCTIONS vs. ALTERNATIVES Dr. Howard Eisner Professor Emeritus, GWU SEDC CONFERENCE, April 2014 SCOPE • • • • • 1. Definition of System Architecture 2. Preferred Architecting Process 3. Clarification of Views-Functions Notions 4. How to Consider Alternative Architectures 5. Approach to Considering Both Hardware and Software in Architecting Process SELECTED KEY SOURCES (from the ‘90s) • 1. Eberhardt Rechtin – System Architecting • 2. C3ISR- DoDAF Framework • 3. Rechtin and Maier – The Art of System Architecting • 4. Eisner – Essentials of Project and Systems Engineering Management VIEWS - 1 • • • • • • DODAF 3 VIEWS – OPERATIONAL; SYSTEM; TECHNICAL ESSENTIAL VIEWS SUPPORTING VIEWS VIEWPOINTS DODAF SET THE STAGE FOR MANY APPROACHES ACROSS THE GOVERNMENT VIEWS - 2 • ARE THE VIEWS ABOUT THE PREFERRED ARCHITECTURE? • CAN WE INFER THE ARCHITECTURE FROM THE VIEWS? • EXAMPLE – HUMAN PICTURES • DO WE HAVE A GENERALLY ACCEPTED DEFINITION OF A SYSTEM ARCHITECTURE? • WHERE DOES THAT LEAVE US? FUNCTIONS • C3ISR: COMMAND, CONTROL, COMMUNICATION, INTELLIGENCE,….. • USUALLY WELL-DEFINED, AND HAVE STATED REQUIREMENTS FOR FUNCTIONS AND SUBFUNCTIONS • FUNCTIONAL DECOMPOSITION A WELL ACCEPTED PROCEDURE • NO CLEAR RELATIONSHIP BETWEEN FUNCTIONS AND VIEWS ALTERNATIVES • • • • • NOT A CENTRAL THEME IN DODAF STRONG NOTION IN VARIOUS PARTS OF DoD (I.E., AoA – Analysis of Alternatives) A WEAKNESS IN DODAF HOW DO WE KNOW/ASSURE THAT THE ARCHITECTURE DEFINES A COST-EFFECTIVE SOLUTION TO THE CUSTOMER’S PROBLEM? ARCHITECTING A SYSTEM – DODAF’s 6 STEPS • “1. Determine intended use of architecture • 2. Determine scope of architecture • 3. Determine data required to support architecture development • 4. Collect, organize, correlate and store architectural data • 5. Conduct analyses in support of architecture objectives • 6. document results in accordance with decision-maker needs” • ????????? KEY ROLES IN ARCHITECTING • • • • A. FUNCTIONS B. ALTERNATIVES --------------------------------------------------------THESE ARE CRITICAL TO DEVELOPING A SYSTEM ARCHITECTURE BY SYNTHESIZING A SET OF ALTERNATIVES • A CHART OF ALTERNATIVE DESIGN APPROACHES (Columns) FOR ALL FUNCTIONS and SUB-FUNCTIONS (Rows) KEY STEPS IN PREFERRED ARCHITECTING PROCESS • 1. FUNCTIONAL DECOMPOSITION AND ALLOCATION OF REQUIREMENTS • 2. SYNTHESIS (FORMAL DEFINITION OF SYSTEM ALTERNATIVES) • 3. ANALYSIS (FORMAL EVALUATION OF ALTERNATIVES) • 4. COST EFFECTIVENESS ASSESSMENT OF ALTERNATIVES PREFERRED ALTERNATIVE SOFTWARE ARCHITECTURE NOTIONS page 1 of 2 • GARLAN (2000): “Organization of a system as a composition of components, global control structures, protocols for communication, synchronization and data access, assignment of functionality to design elements, physical distribution, scaling and performance, and dimensions of evolution” • MAIER 1(2006):”The fundamental organization of a system, embodied in its components, their relationship to each other and the environment, and the principles governing its design and evolution” SOFTWARE ARCHITECTING NOTIONS page 2 of 2 • MAIER 2: “The embodiment of a set of design decisions that define essential characteristics of the system” • TAYLOR, et.al. (2010): “a set of principal design decisions made about the system…whose key elements that make up the basic building blocks are (a) data elements, (b) processing elements, and (c) connecting elements” SYSTEM ARCHITECTING DEFINITION • A SYSTEM ARCHITECTURE IS “AN ORGANIZED TOP-DOWN SELECTION AND DESCRIPTION OF DESIGN CHOICES FOR ALL THE IMPORTANT SYSTEM FUNCTIONS AND SUB-FUNCTIONS, PLACED IN A CONTEXT TO ASSURE INTEROPERABILITY AND THE SATISFACTION OF SYSTEM REQUIREMENTS” CONCLUSIONS • 1. A DEFINITIVE SYSTEM ARCHITECTING APPROACH IS PRESENTED THAT LEADS TO A PREFERRED ARCHITECTURE, BASED UPON FUNCTIONS AND ALTERNATIVES • 2. A COST-EFFECTIVE SOLUTION DOMINATES THINKING AND ARCHITECTING PROCEDURE • DODAF VIEWS CAN BE ADDED AFTER ARCHITECTURE KNOWN • SOFTWARE WELL INTEGRATED FUTURE RESEARCH • 1. EFFICIENT WAYS OF INTEGRATING RECOMMENDED APPROACH AND DODAF, e.g., USE RECOMMENDED APPROACH TO DEVELOP A PREFERRED SYSTEM ARCHITECTURE; THEN PROVIDE VIEWS OF THAT ARCHITECTURE THAT HELP TO FURTHER EXPLORE AND DEVELOP PARTS OF THAT ARCHITECTURE • 2. INTEGRATE SOFTWARE ARCHITECTURE INTO THE ABOVE