Software Architecture Design Processes

Slides:



Advertisements
Similar presentations
Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of.
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
© 2005 Prentice Hall6-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Software Quality Ranking: Bringing Order to Software Modules in Testing Fei Xing Michael R. Lyu Ping Guo.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Copyright © 2003 Software Quality Research Laboratory Software Production Essentials Seeing Past the Buzz Words.
Copyright 2003 National ICT Australia Limited 1 Mining Patterns to Support Software Architecture Evaluation 4 th Working IEEE/IFIP Conference on Software.
The Process of Interaction Design. Overview What is Interaction Design? —Four basic activities —Three key characteristics Some practical issues —Who are.
The Process of Interaction Design
Page 1 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Chapter 3 Architecting Component-Based Systems.
The Architecture Design Process
The Process of Interaction Design. What is Interaction Design? It is a process: — a goal-directed problem solving activity informed by intended use, target.
Software Architecture Assessment of Usability Eelke Folmer, Jan Bosch IPA lentedagen, Made.
Analysis Concepts and Principles
Modeling challenges: Compliance (1/2) Compliance management has emerged as a major problem following major corporate governance scandals (e.g. Enron, WorldComm)
Architectural Transformations Architectural Transformations Vincenzo Ambriola Alina Kmiecik Javier Reyes COMP 685 Professor Lingard Fall 2007.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
ES305: Virtual Tools in Engineering Design: The Eng. Design Process James Carroll, Associate Professor Electrical and Computer Engineering.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
Ch 3 Usability page 1CS 368 Usability Models the authors compare three usability models and introduce their own “the extent to which a product can be used.
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Environment Change Information Request Change Definition has subtype of Business Case based upon ConceptPopulation Gives context for Statistical Program.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
What is Business Analysis Planning & Monitoring?
«Enhance of ship safety based on maintenance strategies by applying of Analytic Hierarchy Process» DAGKINIS IOANNIS, Dr. NIKITAKOS NIKITAS University of.
1 740f02presentations23 A Survey on Software Architecture Analysis Methods Liliana Bobrica and Eila Niemela IEEE TOSE July 02.
Quality Models and Quality Attributes. Outline  Process and product quality Improving the quality of the process can improve the quality of the product.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Lecture 9: Chapter 9 Architectural Design
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Managing Learning and Knowledge Capital Human Resource Development: Chapter 4 HRD Needs Investigation: An overview Copyright © 2010 Tilde University Press.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Chapter 13 Architectural Design
Lecture 7: Requirements Engineering
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Designing software architectures to achieve quality attribute requirements F. Bachmann, L. Bass, M. Klein and C. Shelton IEE Proceedings Software Tzu-Chin.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Software Architecture Assessment RAVI CHUNDURU CS6362 UTD Summer 2005.
Software Architecture Assessment Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Software Design Process
CS532 TERM PAPER MEASUREMENT IN SOFTWARE ENGINEERING NAVEEN KUMAR SOMA.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach,
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Scenario-Based Analysis of Software Architecture Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz.
1 Software Architecture in Practice Quality attributes (The amputated version)
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Designing a Product Line Architecture Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Thomas L. Gilchrist Testing Basics Set 3: Testing Strategies By Tom Gilchrist Jan 2009.
Software Architecture Transformation Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Requirements Analysis
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
Chapter : 9 Architectural Design
Using Bayesian Belief Networks in Assessing Software Architectures Jilles van Gurp & Jan Bosch.
Software Engineering Lecture 10: System Engineering.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
Managing Qualitative Knowledge in Software Architecture Assesment Jilles van Gurp & Jan Bosch Högskolan Karlskrona/Ronneby in Sweden Department of Software.
Lecture 15 Attribute Driven Design Again Topics ATAM – team expertise and experience needed Chapter 24 Next Time: June 22, 2016 CSCE 742 Software Architecture.
Advanced Software Engineering Dr. Cheng
Lecture 12 Attribute Driven Design Again
2012 Spring Simulation Interoperability Workshop
Security SIG in MTS 05th November 2013 DEG/MTS RISK-BASED SECURITY TESTING Fraunhofer FOKUS.
DT249/4 Information Systems Engineering Lecture 0
Informatics 121 Software Design I
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Presentation transcript:

Software Architecture Design Processes Jan Bosch Professor of Software Engineering University of Groningen, Netherlands Jan.Bosch@cs.rug.nl http://www.cs.rug.nl/~bosch Copyright © 2001 Jan Bosch

Software architecture design processes SAD Processes Software architecture design processes

Software architecture design processes SAD Processes four iterative processes product versions iterative product development iterative architecture design iterative architecture assessment and transformation Software architecture design processes

Software architecture design processes Artefacts Software architecture design processes

Software architecture design processes Artefacts requirement specification functional requirements required, preferred, optional quality requirements quality level scenario profile Software architecture design processes

Software architecture design processes Artefacts software architecture system context interfaces archetypes relations structure components and connectors design decisions transformation, result, rule Software architecture design processes

Software architecture design processes based on industrial experiences: fire-alarm systems measurement systems dialysis systems primary focus on QAs slightly idealized from concrete cases Software architecture design processes

Software architecture design processes Overview ARCS/ADM functionality-based architectural design FR requirement specification application architecture QR architecture transformation not OK architecture assessment QA optimizing solutions OK Software architecture design processes

Software architecture design processes Method three main phases: functionality-based design assessment of QAs architecture transformation Software architecture design processes

Functionality-based design four main steps: determine context of the system (boundaries and interfaces) identification of archetypes decompose architecture into components describe system instances Software architecture design processes

Architecture Assessment two approaches: after each design iteration as a ‘toll-gate’ before starting next phase goals for assessment: quality attribute satisfaction stakeholder satisfaction support for software product line software system acquisition Software architecture design processes

Architecture Assessment architecture oriented quality attribute focus stakeholders expert qualitative (comparing) quantitative (predicting) Software architecture design processes

Assessing Quality Attributes assessment goals: relative assessment absolute assessment assessment of theoretical maximum scenario profiles 3 + 1 assessment techniques Software architecture design processes

Software architecture design processes Scenario Profiles absolute versus selected profiles GUI App ... ... HW OS selected profile maintenance scenarios Software architecture design processes

Software architecture design processes Scenario Profiles top-down or bottom-up top-down profile development (pre-)define scenario categories selection and definition of scenarios for each category each scenario is assigned a weight (either based on historical data or estimated) Software architecture design processes

Scenario Profile Development bottom-up profile development interview stakeholders categorize scenarios assign weights to scenarios iterate until sufficient coverage stopping criterion coverage Software architecture design processes

Scenario Profiles - QAs performance: usage profile maintainability: maintenance profile reliability: usage profile safety: hazard profile security: authorization profile Software architecture design processes

Assessing Quality Attributes estimation techniques scenario-based evaluation simulation mathematical modeling/metrics experience-based reasoning Software architecture design processes

Architecture Transformation transformations (primarily) change the structure of the architecture affect quality attributes, but not functionality architecture transformation process: identify unfulfilled quality attributes for each quality attribute identify locations where QA is inhibited select the most appropriate transformation perform the transformation on the architecture Software architecture design processes

Architecture Transformation transformation techniques impose architectural style impose architectural pattern apply design pattern convert QR to functionality Software architecture design processes

Software architecture design processes Related Work architecture design methods: Krutchen, Shlaer & Mellor architecture evaluation: Kazman QA-oriented communities Boehm - system development with NFRs program transformation Software architecture design processes

Software architecture design processes Conclusion architecture design method explicit treatment of QRs iterative process: evaluation and transformation experiences from 3 framework/architecture designs Software architecture design processes