How to Perform a Rapid Assessment of any Software Architecture

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

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

Test Architect A Key Role defined by Siemens

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

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

Architectural Blueprint

Validation Suites vs. Validation Kits

Proposed Unified ility Definition Framework. Andrew Long October 2012

Semantics-Based Integration of Embedded Systems Models

Introduction to software architecture Revision : 732

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

Requirements to models: goals and methods

ARCADIA: Model-Based Collaboration for System, Software and Hardware Engineering

PREEvision at Porsche (Update 2018)

SEI/CMU Efforts on Assured Systems

Attribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture. Luis Manuel Muegues Acosta Software Architect at Ryanair

Lecture 16: (Architecture IV)

Business Architecture Implementation Workshop

Software architecture in ASPICE and Even-André Karlsson

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

350 Index 2005 GOAL/QPC

SOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS

Object-Oriented Analysis and Design Using UML (OO-226)

Designing Component-Based Architectures with Rational Rose RealTime

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

Enterprise Web based Software Architecture & Design

Enterprise Software Architecture & Design

Sentinet for BizTalk Server VERSION 2.2

Component-based Engineering for Embedded Systems USA EU workshop

Software Architecture

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Introduction to Modeling

Chapter 4 Objectives

Architecture Modeling in embedded systems

QuartzV: Bringing Quality of Time to Virtual Machines

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium

10 Steps to Virtualization

Roles and Responsibilities on DevOps Adoption

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

Microservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

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

SCALABLE IN-MEMORY DATA MANAGEMENT MODEL FOR ENTERPRISE APPLICATIONS

What's new with Rational IBM s Telelogic Solutions move to Jazz

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

Ch 1: The Architecture Business Cycle

Requirements. CxOne Standard

4.2.2 Usability. 4 Medical software from the idea to the finished product. Figure 4.3 Verification/validation of the usability, SW = software

Requirements Engineering

Enterprise Architect Training Courses

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2

Designing Software Architecture to Achieve Business Goals

Introduction to. and. Scott W. Ambler Source Documents

Automated Provisioning of Cloud and Cloudlet Applications

Web Services without JEE

The Software Assurance Ecosystem: OMG s Approach to Systems & Software Assurance

Lecture 9 Requirements Engineering II

Modeling Requirements, Architectures, Behaviour...

Expert Test Manager: Operational Module Course Outline

Service-Based Architecture

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

Workshop Data Modelling [en]

FPGAs: High Assurance through Model Based Design

SCADE. SCADE Architect System Requirements Analysis EMBEDDED SOFTWARE

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

Architectural styles (according to CMU s SEI) 2005, W. Pree

Attribute-Driven Design

Tailoring and Combining the CMMI-ACQ and Quality Models to Improve the Military s Requirements Process

Review Sources of Architecture. Why Domain-Specific?

Level 4 Diploma in Computing

Building and Reusing Of Requirements Repository

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p.

BUILDING GOOD-QUALITY FUNCTIONAL SPECIFICATION MODEL

Avancier Methods (AM) Software Architecture Diagrams

EMMSAD Workshop, , Amsterdam

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

TEN LAYERS OF CONTAINER SECURITY

Grundlagen des Software Engineering Fundamentals of Software Engineering

International Journal of Advance Research in Engineering, Science & Technology. Study & Analysis of SOA based E-Learning Academic System

Oracle Corporation 1

Secure Partitioning (s-par) for Enterprise-Class Consolidation

System Level Design with IBM PowerPC Models

Architecture of Distributed Systems

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

Virtual Execution Environments: Opportunities and Challenges

Composable Architecture & Design Applying Product Line and Systems of Systems Concepts to the Design of Unique, Complex Cyber-Physical Systems

Requirement Analysis

White Paper. EVERY THING CONNECTED How Web Object Technology Is Putting Every Physical Thing On The Web

Hitex ARM Conference. Future Proof Software

SEI Professional Development Center

A Cost Effective High Assurance Layered Solution for MLS Test Training and LVC

Beyond TrustZone PSA Reed Hinkel Senior Manager Embedded Security Market Development

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista

Feasibility Evidence Description (FED)

Chattanooga Regional ITS Architecture Update Project Overview. January 7, 2014

App Servers NG: Characteristics of The Next Generation Application Servers. Guy Nirpaz, VP R&D and Chief Architect GigaSpaces Technologies

Data Virtualization Implementation Methodology and Best Practices

Instrument Software Framework (ISF) A Small Scale Component Framework for Space

Transcription:

How to Perform a Rapid Assessment of any Software Architecture Tim Kertis, Principal Software Engineer, Raytheon 3 May 2017 SATURN 2017 5/3/2017 1

Who Am I? Tim Kertis, Principal Software Engineer/Software Architect Chief Software Architect, Raytheon IIS, Indianapolis Master of Science, Computer & Information Science, Purdue Software Architecture Professional through the Software Engineering Institute (SEI), Carnegie-Mellon University (CMU) Over 30 years of diverse Software Engineering experience Currently working in the V-22 Avionics department 5/3/2017 2

Schedule Day 1: Interview Software Technical Lead Complete the Form/Checklist and Capture: Software Quality Attributes Key Architectural Decisions References to Architectural Design Artifacts Day 2: Verify Software Design Artifacts Analyze the Captured SWA Information Produce an Opinion/Report Distribute Report to Stakeholders, Managers, SW Technical Lead Plan a Two (2) Day Event 5/3/2017 3

Software Quality Attributes List of Stakeholders Stakeholder Views and Opinions Prioritized Set of SW Quality Attributes Elicited Recorded Analyzed Software Quality Attributes Workshop (documentation) For large projects Capture the Software Quality Attributes 5/3/2017 4

Key Architectural Decisions Computing Platform Software Technology Software Development Tools Software Reuse Strategy Capture the Decisions and the Reasons Why 5/3/2017 5

Computing Platform Hardware/Processor Operating System Graphics Cards/Drivers Database Application Interface (API) Drivers Data Bus Communication Cards/Drivers Real-Time Operating System (RTOS), Board Support Packages (BSPs) and Hypervisor Capture the Computing Platform Selected 5/3/2017 6

Software Development Tools Software Development Design Tools Software Development Graphics Implementation Tools Graphics Development Tools Database/Persistence Frameworks Bus Communications Development Tools IPC Development Tools Capture the Software Development Tools Selected 5/3/2017 7

Software Technology Software Design Methodology Programming Languages and Mixed Technology Graphics Technology Persistence Technology Bus Communication Protocols Inter-Process Communications (IPC) Mechanisms Capture the Software Technology Selected 5/3/2017 8

Software Reuse Strategy Product Line Architecture Internal Software Components External Software Components Software Design Patterns Historical Productivity Cost Estimation Data Software Processes Capture the Software Reuse Strategy 5/3/2017 9

Architectural Design UML Use Cases Use Case Diagrams UML Software Components and Interfaces Class Diagrams Component-Connector Diagrams Sequence Diagrams Interface Definition Description UML Software Component Deployment Deployment Diagrams Other Modeling Languages AADL SysML etc. Capture the Architectural Design 5/3/2017 10

Software Architecture Report Form/Checklist Report Distribution Fill in the Forms, Create Report and Distribute to All 5/3/2017 11

Review Form/Checklist page #1 Software Architecture Review: Project Name: Architect Name: Project Engineer: Customer : Stakeholders: Reviewers: Review Date: Estimated Code Size: / / K ELOC Capture the Project s General Information 5/3/2017 12

Review Form/Checklist page #2 Software Quality Attributes: [ ] Functional Suitability [ ] Performance [ ] Maintainability [ ] Reliability [ ] Portability [ ] Usability [ ] Modifiability [ ] Modularity [ ] Extensibility [ ] Security [ ] Safety [ ] Integrity [ ] Scalability [ ] Availability [ ] Interoperability [ ] RASU (Reliability, Availability, Serviceability, Usability and Installability) [ ] FURPS (Functionality, Usability, Reliability, Performance and Supportability) [ ] RASR (Reliability, Availability, Scalability and Recoverability) [databases] [ ] ACID (Atomicity, Consistency, Isolation (or Integrity) and Durability [databases] [ ] RAMS (Reliability, Availability, Maintainability and Safety) [safety critical systems] [ ] Agility (Debug Ability, Extensibility, Portability, Scalability, Securability, Testability & Understandability) [ ] Dependability (Availability, Reliability, Safety, Integrity and Maintainability) [ ] Other Capture the Software Quality Attributes 5/3/2017 13

Review Form/Checklist page #3 Key Software Architecture Decisions: Hardware/Driver/OS [ ] RTOS/BSPs/Hypervisor: [ ] Bus Communication Card/Drivers: [ ] Database API Drivers: [ ] Graphics Card/Drivers: [ ] Operating Systems: [ ] Hardware Platforms: [ ] Other: Capture the Hardware/Drivers/OS Selected 5/3/2017 14

Review Form/Checklist page #4 Key Software Architecture Decisions (continued): Software Technology [ ] IPC Mechanisms: [ ] Bus Communication Protocols: [ ] Persistence Technology: [ ] Graphics Technology: [ ] Programming Languages: [ ] Mixed Language Bindings: [ ] Software Design Methodology: [ ] Other: Capture the Software Technology Used 5/3/2017 15

Review Form/Checklist page #5 Key Software Architecture Decisions (continued): Software Tools [ ] IPC Development Tools: [ ] Bus Communication Dev Tools: [ ] Database/Persistence Frameworks: [ ] Graphics Dev Tools: [ ] Integrated Dev Environment: [ ] Software Design Tools: [ ] Other: Capture the Software Tools Selected 5/3/2017 16

Review Form/Checklist page #6 Key Software Architecture Decisions (continued): Software Reuse Strategy [ ] Software Processes: [ ] Historical Productivity Data: [ ] Software Design Patterns: [ ] External Software Components: [ ] Internal Software Components: [ ] Software Product Line: [ ] Other: Capture the Software Reuse Strategy 5/3/2017 17

Review Form/Checklist page #7 Architectural Design: Use Cases [ ] Use Case Diagrams: Software Components and Interfaces [ ] Class Diagrams: [ ] Component-Connector Diagrams: [ ] Sequence Diagrams: [ ] Interface Definition Descriptions: Software Component Deployment [ ] Deployment Diagrams: Capture the Design Artifacts by Reference 5/3/2017 18

SWA Report Powerpoint Slides Word Document The Report can be prepared in Word or Powerpoint 5/3/2017 19

SWA Report Distribution Stakeholders Software Technical Lead Software Department Manager Distribute the SWA Report to Stakeholders 5/3/2017 20

Summary Day 1: Interview the Software Technical Lead Capture Software Quality Attributes Key Architectural Decisions Architectural Design Day 2: Verify and Document Design Documentation References Analyze the Software Architecture Produce a Completed Checklist and Report Distribute the Report to Stakeholders, Managers, Software Technical Lead Complete the Assessment in Two (2) Days 5/3/2017 21

How to Perform a Rapid Assessment of Any Software Architecture stephen_t_kertis@raytheon.com 5/3/2017 22