Requirements to models: goals and methods

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

Software Architectures

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

Introduction. ADL Roles

Introduction to software architecture Revision : 732

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

Designing Component-Based Architectures with Rational Rose RealTime

Software Architecture

Architectural Blueprint

Enterprise Architecture Layers

Architectural Design

Software architecture Modelling

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

Architecture of Business Systems Architecture and the Role of the Architect

Architecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering

Lecture 16: (Architecture IV)

Adaptability Evaluation at Software Architecture Level

Creating and Analyzing Software Architecture

What is Software Architecture? What is Principal?

The Process of Software Architecting

Lecture 13 Introduction to Software Architecture

Architecture. CSE 403, Winter 2003 Software Engineering.

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

UML 2.0 State Machines

Chapter 6 Architectural Design. Chapter 6 Architectural design

Copyright Wyyzzk, Inc Version 5.0. Introduction to Software Architecture

Ch 1: The Architecture Business Cycle

Software Architectures. Lecture 6 (part 1)

Software Engineering from a

COURSE BROCHURE. Professional Cloud Service Manager Training & Certification

Lecture 8: Use Case -Driven Design. Where UML fits in

Software Architecture

Architecture Rationale

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

Architectures in Context

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques

Review Sources of Architecture. Why Domain-Specific?

What is Software Architecture

Ch 1: The Architecture Business Cycle

Foundations of Software Engineering

Chapter 5 Practice: A Generic View

Attribute-Driven Design

Rational Software White paper

OO Analysis and Design with UML 2 and UP

UPDM PLUGIN. version user guide

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

Business Architecture Implementation Workshop

Business Architecture in Healthcare

Requirement Analysis

Software Architecture Modeling

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

Interface-based enterprise and software architecture mapping

Model-based Transition from Requirements to High-level Software Design

Using the UML for Architectural Description Rich Hilliard

Software Language Engineering of Architectural Viewpoints

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

The Great TOGAF Scavenger Hunt. Enterprise Architecture Using TOGAF 9 Course Preparation Guide

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

Chapter 2 Overview of the Design Methodology

HITSP/T16. October 15, 2007 Version 1.1. Healthcare Information Technology Standards Panel. Security and Privacy Technical Committee.

The ATCP Modeling Framework

Enterprise Architecture Views and Viewpoints in ArchiMate - Reference

Using FDAF to bridge the gap between enterprise and software architectures for security

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

Designing a System Engineering Environment in a structured way

UPDM 2 PLUGIN. version user guide

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

Architecture Viewpoint Template for ISO/IEC/IEEE 42010

Capturing Design Expertise in Customized Software Architecture Design Environments

BSIF. A Freeware Framework for. Integrated Business Solutions Modeling. Using. Sparx Systems. Enterprise Architect

The Open Group SOA Ontology Technical Standard. Clive Hatton

Style-specific techniques to design product-line architectures

Evolutionary Architecture and Design

Architecture and Design Evolution

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

Foundations of Software Engineering

Enterprise Architecture Views and Viewpoints in ArchiMate

Cliayter s. Vsing the ~usiness-it 5Ztfignment :Mode{

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

An Industry Definition of Business Architecture

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

WHAT IS SOFTWARE ARCHITECTURE?


Enterprise Architect. User Guide Series. Domain Models

Component-Based Software Engineering TIP

Pattern-Based Architectural Design Process Model

Software Architecture and Design I

Introduction To Systems Engineering CSC 595_495 Spring 2018 Professor Rosenthal Midterm Exam Answer Key

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

A Collaborative User-centered Approach to Fine-tune Geospatial

User Centered Design Interactive Software Lifecycle

UML enabling the Content Framework

Modeling Requirements, Architectures, Behaviour...

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

There is no such thing as a microservice!

Semantics-Based Integration of Embedded Systems Models

Representing System Architecture

Enterprise Architecture Frameworks

Global Reference Architecture: Overview of National Standards. Michael Jacobson, SEARCH Diane Graski, NCSC Oct. 3, 2013 Arizona ewarrants

Transcription:

Requirements to models: goals and methods Considering Garlan (2000), Kruchen (1996), Gruunbacher et al (2005) and Alter (2006-08) CIS Department Professor Duane Truex III

Wojtek Kozaczynski The domain of architecting The what The why Architecture Qualities Satisfies System Features Architecture Architecture Representation Constrain S/W Requirements System Quality Attributes The who Produces Technology Defines The how Architect Follows Process Stakeholders Skills Defines role Organization

Architecture metamodel Software System architecture is part of Architecture is represented by Software Architects are actors in Architecture Design Process has Software Architecture Description produces Logical view relates to has Architectural style Architecture Style guide has is made of Architectural view is made of is a constrains Process view Implementation view Deployment view Use case view Architectural Pattern is a Form Component Connection Constraints depicts Requirements satisfies constrains Architectural Blueprint

Architectural view An architectural view is a simplified description (an abstraction) of a system from a particular perspective or vantage point, covering particular concerns, and omitting entities that are not relevant to this perspective

Representing System Architecture Logical View Implementation View End-user Functionality Programmers Software management Use Case View System integrators Performance Scalability Throughput Process View Conceptual Deployment View Physical System engineering System topology Delivery, installation Communication

Architecturally significant elements Not all design is architecture Main business classes Important mechanisms Processors and processes Layers and subsystems Architectural views = slices through models

Reconciling Software Requirement & Architectures Grünbacher et al provide insight into the challenge and guidance into solutions The problem is? The challenge is? High level solution? A mid level mapping Borrowing from the literature it assembles a composite approach and method to achieve six identified goals of a good requirements ==> Architecture mapping method Makes an intermediate model that looks like requirements and sounds like an architecture (pg 31)

Requirement vs Architecture Requirement (IEEE -610-1990) condition or capability needed by a user to solve a problem or achieve an objective Describe aspect of the problem to be solved and constraints on the solution Architectures High-level abstraction or Model of a solution to a problem High-level abstractions representing structure, behavior and key properties of the system Components; interactions between them as Connectors or Busses and the properties needed

The Twin Peaks conundrum Low Level of Detail High Low Descriptions of the Real Work System Technology Dependence Architecture(s): Enterprise, IT, Infrastructure & Software High

Garlan says Requirements Software Architecture Code Figure 1: Software Architecture as a Bridge

fine But how do we get from Requirements The Real System Software Architecture Code Figure 1: Software Architecture as a Bridge

The Twin Peaks conundrum Low Level of Detail High The real work system A large gap Requirements for that real system A larger gap Architecture(s) to realize the real system in code Low Technology Dependence High

The Twin Peaks conundrum Low Level of Detail High The Real work system Low Work System Models and taxonomy Requirements for the real system Mid-range Architectural models Technology Dependence Architecture(s) to realize the real system in code High

The Twin Peaks conundrum Low Level of Detail High The Real work system Low Work System Models and taxonomy Requirements for the real system Mid-range Architectural models Technology Dependence Architecture(s) to realize the real system in code High

Six essential components to a translation method 1. identification of system attributes 2. creating requirements from attributes 3. prioritizing and analyzing requirements 4. applying architectural style to requirements 5. validating requirements in the resulting system and; 6. managing architectural standards.

Mary Shaw, CMU Architectural style An architecture style defines a family of systems in terms of a pattern of structural organization. An architectural style defines a vocabulary of components and connector types a set of constraints on how they can be combined one or more semantic models that specify how a system s overall properties can be determined from the properties of its parts

Resilient Simple Approachable Characteristics of a Good Architecture Clear separation of concerns Balanced distribution of responsibilities Balances economic and technology constraints

Antecedent #1: Quality Attributes & Tactics (Bass et al 2003) Deals with non-functional requirements Attributes include availability, modifiability, performance, security, testability and usability Tactics or design decisions are applied to each attribute and a collection of tactics leads to an Architectural Strategy. Uses Use case diagram suggests standard architectural strategies or patterns that might be utilized Good for brainstorming

Antecedent #2: Component-Bus-System-Property (CBSP) A structured method for identifying and classifying key architectural elements and the dependencies among those elements based on system requirements. Assists in identifying patterns and styles Privileges reuse

Antecedent #3: Blitz Quality Functional Deployment (QFD) (Zultner 2000) From the software design domain Scaled-down QFD model from manufacturing area facilitates the formulation and prioritization of requirements from stakeholders Uses matrices to map requirements and functionality Helps to provide direct requirement tracibility

Antecedent #1: Architecture Standards Model (Boh et al, 2002) Another high-level model Divides architectural standards into two categories Infrastructural architectures Typically IT professional driven Rather narrow and it focused Integration architectures User driven and business driven Recommends approaches to requirements identification, standards setting, standards communication and standards conformance

What would a complete method include? Ways to: 1. extract wants from stakeholders and clearly translating those wants into system attributes (see QFD) 2. decompose system attributes into requirements (see Quality Attributes & Tactics) 3. prioritize and identify mismatch between requirements (see CBSP) 4. apply an architectural style to a set of requirements (see Quality Attributes & Tactics or CBSP) 5. validate the accomplishment of requirements in a resulting system architecture (see QFD or Quality Attributes & Tactics) 6. create and manage resulting architectural standards (see Infrastructure/Integration Architecture Standards)

CBSP meta model

CBSP Process

Terminology CBSP Component Bus System Property ETVX Entry Task Verity/validate exit

Overview of approach 1. Identify requirements for next iteration (ETVX) Users and architects; but user driven Decide the essential requirements by (1) project relevance and value (2) technical feasibility 2. Classify requirements ETV and vote on the degree of import and fit 3. Identify mismatches 4. Architects refine requirements 1. With properties 2. Without properties 5. Trade off and fine styles to reuse Goal reuse and minimal Enterprise new Architectures design

Styles mapping matrix

Example of relationship requirement to CBSP model

Example of property mapping to architecture-relevant requirements