Can architecture descriptions help prospective users to visualise the solution in terms of meeting its requirements? Peter Henderson Open Middleware Infrastructure.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Prescriptive Process models
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
® Software Architecture Masterclass © 2007 IBM Corporation Introduction.
Chapter 2 – Software Processes
Modelling Class T05 Conceptual Modelling – Domain References: –Conceptual Modeling of Information Systems (Chapters 1.2.1, 2, 3) –A practical Guide to.
Analysis Modeling.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Enterprise Integration Architecture IPMA Professional Development Seminar June 29, 2006 Scott Came Director, Enterprise Architecture Program Washington.
Use-case Modeling.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Using Architecture Frameworks
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
LSU 10/09/2007System Design1 Project Management Unit #2.
Enterprise Architecture
Software Design Description (SDD) Diagram Samples
Continuation From Chapter From Chapter 1
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
CIS 321—IS Analysis & Design
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
April 2006Peter Henderson, University of Southampton1 The Architecture of Open Systems Peter Henderson Dependable Systems and Software Engineering and.
An Introduction to Software Architecture
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
UNIT - 1Topic - 1. An electronic device, operating under the control of instructions stored in its own memory unit, that can accept data (input), manipulate.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Multimedia Teaching Tool SimArch V1.0 Faculty of Electronic Engineering University of Nis Serbia.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
SOFTWARE DESIGN Design Concepts Design is a meaningful engineering representation of something that is to be built It can be traced to a customer’s requirements.
Cloud Computing By: Carley Paxton. What is Cloud Computing? CloudCloud computing is the next stage in the Internet's evolution, providing the means through.
Approaching a Problem Where do we start? How do we proceed?
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
SimArch: Work in Progress Multimedia Teaching Tool Faculty of Electronic Engineering University of Nis Serbia.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
MAPLD 2005/254C. Papachristou 1 Reconfigurable and Evolvable Hardware Fabric Chris Papachristou, Frank Wolff Robert Ewing Electrical Engineering & Computer.
8:15 AM Tuesday September 15, 2009 Karl Frank, Point of Contact for Constellation Projects Validating Integration Requirements Diagrams for illustrative.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Modularity, Upgradeability and Openness – How to meet Requirements in a Family of Systems Peter Henderson University of Southampton.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Computer Science 340 Software Design & Testing Software Architecture.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
Object-Orientated Analysis, Design and Programming
CS 325: Software Engineering
IT Infrastructure: Hardware and Software
Analysis and Understanding
Architecture Description Languages
An Introduction to Software Architecture
IT Infrastructure: Hardware and Software
Open Systems and Open Architecture – the benefits case
From Use Cases to Implementation
Presentation transcript:

Can architecture descriptions help prospective users to visualise the solution in terms of meeting its requirements? Peter Henderson Open Middleware Infrastructure Institute Electronics and Computer Science University of Southampton September 2007

September, 2007Peter Henderson, University of Southampton2 Abstract Defining requirements is a complex matter. Without realising it, we often end up describing something that is too hard to visualise and may well be undeliverable. Business leaders and their analysts regularly define IT requirements that are not achievable. It is as if, in engineering terms, they are requesting a 1000 metre cantilever bridge, which is way beyond current capabilities. It is not so easy to visualise software architecture, so the impossible is not so obvious. This session will discuss the importance of linking requirements to architecture and using the architecture to focus on the customer's real business needs. The group discussion will focus on approaches to effectively capture and manage requirements. This will be achieved by drawing on a realistic solution, a "roving autonomous vehicle" capable of being used on a Mars landing. The proposed solution will be required to focus on open systems, due to the nature of how the solution will be delivered from a consortium of independent vendors, to re-use available assets and for the ability for it to be upgradeable throughout its life.

September, 2007Peter Henderson, University of Southampton3 Architecture and Requirements What is the relationship between architecture [description] and requirements gathering? Can we use architecture descriptions to better help prospective users visualise our solution? How do top-level requirements induce lower- level requirements in a loosely-coupled modular architecture? Are there architecture lessons from Open Systems/Open Source that need to be applied more broadly?

September, 2007Peter Henderson, University of Southampton4 Modularity, Upgradeability, Openness Take it as given that large, complex systems will be modular And that one of the main requirements will be upgradeability to meet evolving business requirements Which in turn leads to an arguable requirement for openness in the architecture, enabling independent suppliers to contribute value-adding components.

September, 2007Peter Henderson, University of Southampton5 Motivating Example This is a Roving Autonomous Vehicle. It accepts instructions in the form of a plan, which it then carries out autonomously. It is a fictional example.

September, 2007Peter Henderson, University of Southampton6 Structural Architecture of RAV1.0 The Manager module is in charge. It instructs the Power module when movement is required. It instructs the Drive module when steering is required. It uses information from Sensor 1 to avoid collisions. It uses information from Sensor 2 to determine its own location. It uses the Comms module to communicate with home. Sensor 1Power CommsManager Sensor 2Drive This is Version 1.0. The RAV has been developed through many versions, separating autonomy from more advanced functionality and opening the system to competitive supply of components.

September, 2007Peter Henderson, University of Southampton7 A note on Notation Using a shorthand for UML component diagrams The arrows can be read as “uses” Or as interfaces, supplied by one component to another Or as a place to address functional requirements Components may be hardware, software or a combination of both Components are potentially independently procurable CommsManager CommsManager

September, 2007Peter Henderson, University of Southampton8 Supply of RAV1.0 There are 7 components here. The six modules and the platform As well as supplying the physical solutions (wheels, etc), the platform also provides the on-board networking and other infrastructural aspects. Each of the 7 components is potentially separately procurable. Colour here denotes supplier. Each component contains both hardware and software. Sensor 1Power CommsManager Sensor 2Drive

September, 2007Peter Henderson, University of Southampton9 Mapping Requirements onto Architecture Requirement on RAV –The RAV will accept an instruction to move to a new location Induced Requirement on Comms module –The Comms module will store received messages until they are requested Induced Requirement on Manager Module –… etc. Induced Requirement on Infrastructure –… etc. Sensor 1Power CommsManager Sensor 2Drive

September, 2007Peter Henderson, University of Southampton10 Open Systems What does it mean for a system like this to be Open? –A specified Architecture –Specified Interfaces within the Architecture –A responsible Standards Body/Design Authority for those specifications –A Conformance Body? –Planning for evolution of requirements that meet perceived business needs Sensor 1Power CommsManager Sensor 2Drive

September, 2007Peter Henderson, University of Southampton11 Related Issues Must meet both functional and non-functional requirements, where the latter are either qualities or constaints. As architects, we need to make trade-offs. Can we draw a parallel between COTS packages and bespoke systems, where we need Architecture+Open Systems+Re-usable assets to achieve an equivalent level of early visualisation?

September, 2007Peter Henderson, University of Southampton12 Discussion Sensor 1Power CommsManager Sensor 2Drive What is the relationship between architecture [description] and requirements gathering? Can we use architecture descriptions to better help prospective users visualise our solution? How do top-level requirements induce lower-level requirements in a loosely- coupled modular architecture? Are there architecture lessons from Open Systems/Open Source that need to be applied more broadly?