S S I E M E N S C O R P O R A T E R E S E A R C H 1 SCR SE Architecture Requirements Engineeering Theory vs. Practice Bob Schwanke STRAW ‘03.

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

Parallel Programming Motivation and terminology – from ACM/IEEE 2013 curricula.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Outline About author. The problem that discussed in the article.
Quality Management. What is a software product? Software product = computer programs (sources and executable) + associated documentation Software products.
8.
Introduction and Overview “the grid” – a proposed distributed computing infrastructure for advanced science and engineering. Purpose: grid concept is motivated.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
SE 555 Software Requirements & Specification Requirements Management.
Overview Distributed vs. decentralized Why distributed databases
Chapter 9: Moving to Design
Course Instructor: Aisha Azeem
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Software projects Management & Development Alireza Saebi
Requirements Engineering
Release & Deployment ITIL Version 3
What is Software Architecture?
Chapter1 Software Economics.
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
S/W Project Management
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
1 Systems Analysis and Design in a Changing World, Fourth Edition.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Software Requirements Engineering CSE 305 Lecture-2.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Software Engineering Management Lecture 1 The Software Process.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
DEV234 Project Management For.NET Developers Marc Gusmano Director of Emerging Technologies The Information Management Group.
Chapter 7 Applying UML and Patterns Craig Larman
Distributed Database Systems Overview
Lecture 7: Requirements Engineering
Requirements Engineering Csaba Veres. Outline What is requirements engineering? Why is it important? How can you do it (properly)?
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Requirement Handling
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Page 1 JUSTIFY define and validate REQUIRE- MENTS define initial management DOCUMENTS define INFRA- STRUCTURE allocated maintenance changes management.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Requirements Engineering Process
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
4+1 View Model of Software Architecture
Building Systems for Today’s Dynamic Networked Environments A Methodology for Building Sustainable Enterprises in Dynamic Environments through knowledge.
ITEC 275 Computer Networks – Switching, Routing, and WANs Week 12 Chapter 14 Robert D’Andrea Some slides provide by Priscilla Oppenheimer and used with.
Serving IT up with ITIL By Thane Price. IT is the laboratory’s pit crew  Goal : Make technology transparent while accomplishing valuable internal customer.
 System Requirement Specification and System Planning.
Software Engineering Management
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Lecture # 7 System Requirements
Chapter 5 Architectural Design.
Presented by KARRI GOVINDA RAO ,
Logical Architecture & UML Package Diagrams
Presentation transcript:

s S I E M E N S C O R P O R A T E R E S E A R C H 1 SCR SE Architecture Requirements Engineeering Theory vs. Practice Bob Schwanke STRAW ‘03

s S I E M E N S C O R P O R A T E R E S E A R C H 2 Motivation  One of world’s largest software employers  Internal consulting on software architecture  Previous books on architecture description and project management  Recent project turned out badly:  Failed to win buy-in  Had all the pieces, couldn’t put them together  Requirements Engineering was part of the problem  Goal 1: Architecture-centered reference process  Practical  Adaptable (to different organizations and to changing conditions)  Optimizable  Goal 2: Connect requirements to architecture and implementation

s S I E M E N S C O R P O R A T E R E S E A R C H 3 Overview  Motivation  A Reference Process: Data + Control  Stakeholder Analysis  Product Features, Requirements, and Specifications  Global Analysis: Factors vs. Requirements  Global Analysis: Issues and Strategies  Consistency Across Dependencies  Adapting the Process

s S I E M E N S C O R P O R A T E R E S E A R C H 4 A Reference Process: Data and Dependencies Stakeholder List Stakeholder Requests Feature Reqts UI Prototype Product Specs Detailed Reqts 360 View Representatives Priority/Plan 360 View Representatives Priority/Plan Voice of the Customer Complete “What” Partial “How” Complete “How”

s S I E M E N S C O R P O R A T E R E S E A R C H 5 A Reference Process: Data and Dependencies Stakeholder List Stakeholder Requests Global Analysis Arch. Concept Arch. Description Feature Reqts UI Prototype Product Specs Detailed Reqts Architectural Factors Issues Strategies Architectural Factors Issues Strategies Broad Audience Partial Description Justifies Approach Broad Audience Partial Description Justifies Approach Technical Audience Complete Description Technical Audience Complete Description

s S I E M E N S C O R P O R A T E R E S E A R C H 6 A Reference Process: Data and Dependencies Stakeholder List Stakeholder Requests Global Analysis Arch. Concept Arch. Description Project Risks Build/Release Plan Feature Reqts UI Prototype Product Specs Detailed Reqts Unresolved Issues 6 weeks internal Bucketed Scenarios Bucketed Requirements 6 weeks internal Bucketed Scenarios Bucketed Requirements

s S I E M E N S C O R P O R A T E R E S E A R C H 7 A Reference Process: Data and Dependencies Stakeholder List Stakeholder Requests Global Analysis Arch. Concept Arch. Description Project Risks Build/Release Plan Test Plan Detailed Designs Feature Reqts UI Prototype Product Specs Detailed Reqts SW Development Plan Concept Phase Definition Phase

s S I E M E N S C O R P O R A T E R E S E A R C H 8 Control concepts  Each document is a potentially separate, concurrent thread  Each thread “executes” opportunistically until “complete enough” and “consistent enough”  Allocate documents to teams, e.g. Marketing, Req. Eng., Architecture, Development  Closer coordination within teams than across teams  Each document associated with phase of first review  Phase gate defines “complete enough” and “consistent enough” for next phase

s S I E M E N S C O R P O R A T E R E S E A R C H 9 Stakeholder Analysis Stakeholder Class  Affected by project  May affect project (e.g. cancel it!)  Concerns  Has accessible representative Comprehensive (360 degree) analysis Classify and prioritize  How important is their buy-in, and why?  When to approach, and how  Which documents would convince them? All project decisions draw authority from stakeholders

s S I E M E N S C O R P O R A T E R E S E A R C H 10 Requirements: How Many Documents?  Theory: “What” vs. “how”  Different know-how  Overlapping information  Maintenance headaches Feature Reqts UI Prototype Product Specs Detailed Reqts Marketing team : What sells, how to make money Subject matter experts, tech support : everything the product has to do Subject matter experts, tech support : everything the product has to do UI Designers : Cognitive processes, aesthetics Software Designers : How it can be done

s S I E M E N S C O R P O R A T E R E S E A R C H 11 Requirements vs. Architectural Factors Requirement  Predicate the product must satisfy  Correct (validated)  Precise  Testable  Complete (collectively) Architectural Factor  Assertion that affects the product or project “Our developers don’t know Java”  Some likelihood of being true “DB transaction rates might overwhelm preferred DBMS product”  Negotiable “Buy reporting system if it’s affordable”  Covers a range of possibilities “Maximum configuration size will grow by 2x to 4x per year”  Arguable  More or less important

s S I E M E N S C O R P O R A T E R E S E A R C H 12 Issues and Strategies Issue 9: Scaling Up and Down PDX must support solution sizes from 100 to 1,000,000 points, also ranging from very simple to very complex. In addition, there are license costs, engineering and commissioning efficiency, and pricing constraints. Strategy 26: Location transparent communication Where practical, connections between software elements should have the same logical behavior whether the elements are implemented on the same or different computers. Impact: Location transparency will allow different PDX solutions to use different numbers and types of processors without requiring individual software elements to know about all the possibilities. Strategy 36: Use a scalable hardware architecture Use a scalable hardware architecture, made up of one or more PDX servers, which could even be multi-processor PCs. Impact: Using multiple servers can improve memory and processing capacity, increase the number of separate buses served, distribute the solution across multiple buildings, and improve reliability. Strategy 38: Selectable performance-enhancing options In several technical areas, it is possible to purchase COTS packages that would enhance the performance or richness of high-end solutions. Design PDX so that these packages are optional (for extra cost, with separate license).

s S I E M E N S C O R P O R A T E R E S E A R C H 13 Consistency Across Dependencies Consider Feature Reqts  Global Analysis (FR  GA)  E.g. some Factors reference Features  Concurrent progress requires tracking inconsistency Producer / Consumer Reviews  GA team reviews Feature Requirements  FR team reviews Global Analysis  Review record identifies inconsistencies  Process enhances cross-team communication What if GA ready before FR?  GA must document assumptions  E.g. “fat reference” from Patterns community Stakeholder List Stakeholder Requests Global Analysis Arch. Concept Arch. Description Feature Reqts UI Prototype Product Specs Detailed Reqts

s S I E M E N S C O R P O R A T E R E S E A R C H 14 My current project Stakeholder List Global Analysis Arch. Concept Arch. Description Project Risks Build/Release Plan Test Plan Detailed Designs Feature Reqts UI Prototype Product Specs Detailed Reqts SW Development Plan Stakeholder Requests (reference) Market Intent | Other Requests Project Start Market Intent | Other Requests This Week Q&A Concept Phase Definition Phase