We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byHanna Elswick
Modified about 1 year ago
© Bedir Tekinerdoğan Managing Variability in Product Line Scoping Using Design Space Models Bedir Tekinerdoğan & Mehmet Akşit University of Twente Dept. of Computer Science Software Engineering TRESE, Software Engineering (bedir |
© Bedir Tekinerdoğan 2 Contents Reuse Product Line Engineering Product Line Scoping Design Space Modeling Conclusion
© Bedir Tekinerdoğan 3 Development from scratch… I want Car Insurance System I want Health Insurance System I want Life Insurance System I want House Insurance System I want Tarvel Insurance System Life Insurance System Architecture Design Design Implementation Testing Requirements Analysis Health Insurance System Car Insurance System House Insurance System Travel Insurance System This takes too much time! costs too much money! I want it faster and cheaper!
© Bedir Tekinerdoğan 4 Nokia Facts sells phones in more than 130 countries support 58 languages (Japanese, Arabic, Hebrew, Chinese, etc. ) support multiple protocols CDMA, TDMA, AMPS, GSM, GPRS, … Hardware is constantly changing and software is constantly expanding. Different UI support From Slide from Anders Heie, Nokia Mobile Phones
© Bedir Tekinerdoğan 5 Example – Nokia Mobile Phones
© Bedir Tekinerdoğan 6 Development with reuse I want Car Insurance System I want Health Insurance System I want Life Insurance System I want House Insurance System I want Travel Insurance System Insurance Components Component-Based Software Engineering Product
© Bedir Tekinerdoğan 7 But where did the class/component library come from?! How where these components planned for this application?! Source of reusable components… Insurance Components ?
© Bedir Tekinerdoğan 8 Domain Engineering - Development for reuse Domain Engineering: the process of analysis, specification and implementation of software assets in a domain which are used in the development of multiple software products. Relevant Domain Knowledg e (Reusable) Domain Knowledge Domain Engineering
© Bedir Tekinerdoğan 9 Example - Domain Model for Insurance Systems
© Bedir Tekinerdoğan 10 Domain Implementation Generate reusable assets derived from domain architecture and catalog in component library Domain Implementation Domain Model Reusable Assets... Insurance Assets
© Bedir Tekinerdoğan 11 The process of developing software products from software assets created by a domain engineering process. Focus on a single system… but development is basically composition Application n Application 2 Application Engineering (Reusable) Domain Knowledge generate Application 1
© Bedir Tekinerdoğan 12 Domain Engineering vs. Application Engineering How to apply it for building many applications? –Application Engineering How to make domain knowledge reusable? –Domain Engineering Relevant Domain Knowledg e (Reusable) Domain Knowledge Domain Engineering Application n Application 2 Application 1 Application Engineering
© Bedir Tekinerdoğan 13 DOMAIN ENGINEERING Two-Life Cycle Model Domain Analysis Domain Model Domain Design Domain Software Architecture Domain Implementation Application Engineering APPLICATION ENGINEERING New Requirements Application Performance Specification Reusable Assets Analysis Based on Domain Model System Software Architecture Design Application Software Architecture Application Development
© Bedir Tekinerdoğan 14 Product Alternatives Domain Model 1. health insurance that covers illness with own risk and direct premium 2. life insurance with service and periodical payment 3. Car insurance with coverage for damage, own risk and periodical payment etc. Altern atives 2976 alternatives!
© Bedir Tekinerdoğan 15 Problem Statement: What are the product alternatives? Alternative What are the alternatives? Product Line Scoping
© Bedir Tekinerdoğan 16 Product Line Scoping Risks Scope is too large product members might vary too much more difficult to define commonality and variability waste of resources Scope is too small core assets might not be built in a generic enough fashion to accommodate future growth product line will stagnate and no additional benefits
© Bedir Tekinerdoğan 17 Product Implementation alternatives Alternative Implementations Domain Model
© Bedir Tekinerdoğan 18 Problem Statement: What are the implementation alternatives? Alternative What are the alternatives? Product Implementation Scoping
© Bedir Tekinerdoğan 19 Design Spaces A multi-dimensional representation of a set of alternatives for a given design problem
© Bedir Tekinerdoğan 20 Process for Scoping Design Space Represent Design Spaces Define constraints of alternatives Unfolding design space Reduce design space using selection and elimination Map design space to implementation
© Bedir Tekinerdoğan 21 Represent Design Space InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee) 2976 alternatives!
© Bedir Tekinerdoğan 22 Reducing Design Space
© Bedir Tekinerdoğan 23 Reducing Design Space 1. InsuredObject.Person mutex-with Coverage.Damage If the ensured object is a person then the insurance product cannot include coverage of damage (for physical objects) 2. Coverage.Loss requires InsuredObject.MoveableProperty If the insurance product includes coverage for loss then the insured object can only be a moveable property 3. Coverage.Illness mutex InsuredObject.Corporation If the insurance product includes coverage for illness then the insured object cannot be a person. 4. InsuredObject.Corporation requires Payee.Corporation If the insured object is a corporation then the claimer should also be a corporation. Define Constraints:
© Bedir Tekinerdoğan 24 Reducing Design Space InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee) HealthInsuranceProduct :: Select from InsuranceProduct Where Select/Eliminate subspaces
© Bedir Tekinerdoğan 25 Map to implementations For example object-oriented implementation Mapping is a model transformation InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee) Object = (CL ; OP; AT) alternatives ObjectInsurance :: InsuranceProduct Object Design Space
© Bedir Tekinerdoğan 26 Rumi Launcher: Open other tools from here Model Builder Tool: A model is defined as a set of concepts, relations and constraints. Feature Definer Tool: For defining distinctive features of concepts Constraint Definer Tool: For defining constraints among concepts and features. Design Space Composer: Map the defined models to the object model to depict the set of implementation alternatives, and set the adaptability properties. Alternative Generator Tool: Generate alternatives after models, their constraints, and the design spaces have been defined. Select the appropriate alternatives.
© Bedir Tekinerdoğan 27 Conclusion Quality is not improved how good the process is, but firstly what kind of process you have Introducing a secondary lifecycle process (domain engineering) supports quality: time-to-market Reuse Product Line Engineering consists of Domain Engineering and Application Engineering One of the most important issues in PLE is Product Line Scoping Current Product Line Scoping Techniques fail to depict the set of alternatives explicitly We have applied design space modeling to represent design spaces for Product Alternatives and Product Implementation Alternatives The tool Rumi implements design space modeling techniques.
Moderne Softwareentwicklungsmethoden copyright © 2001, MATHEMA AG Moderne Softwareentwicklungsmethoden Workshop: Moderne Softwareentwicklungs- Methoden.
Software Reuse and Component-Based Software Engineering CIS 376 Bruce R. Maxim UM-Dearborn.
Chapter:4 Principles That Guide Practice Unit II.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
KA Managing Hardware and Software Assets 1 LECTURE 4 Managing Hardware, Software Assets, Data Resources, and Telecommunication & Networks.
Architectural Design IS301 – Software Engineering Lecture # 14 – M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Re-use IS301 – Software.
Software Development QA Best Practices May 20, 2010 Suzette Hackl, CSM Senior Project Manager Skyline Technologies, Inc.
Data Analysis 1 Chapter 2.1 V3.1 Napier University Dr Gordon Russell.
Verification and Validation. Topics covered Verification and validation planning Software inspections Automated static analysis.
Kathy Reed June 4, 2013 IIBA Austin CBAP Study Guide for the Business Analyst Body of Knowledge (BABOK) Version 2.0.
Chapter - 5 Understanding Requirements Unit II. Introduction Definition : “The broad spectrum of tasks and techniques that lead to an understanding of.
Ralf Becker United Nations Statistics Division Adapting statistical classifications to green growth measurement.
Agent Based Software Development Michael Luck, Ronald Ashri and Mark dInverno Chapter 4: Methodologies and Modeling Languages.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design Software Engineering Ian Sommerville, Software Engineering, 9 th Edition Pearson.
Improving the Productivity of Software Development Essential Steps & Problems.
Components Alexey Golubev, What is a component? What is a component? The father of components? The father of components? Components and their.
Chapter 6 Architectural Design Slide 1 Chapter 6 Architectural Design.
Enterprise Architecture Rapid Assessment Colin Wheeler – Principal Consultant 2009.
Introduction to Software Construction Chapter 1-3.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 of 18 Information Dissemination New Digital Opportunities IMARK Investing in Information for Development Information Dissemination New Digital Opportunities.
Of An Expert System. Introduction What is AI? Intelligent in Human & Machine? What is Expert System? How are Expert System used? Elements of ES Who are.
1/23/2014 9:52 AM SOA4HL7: Defining Services based on HL7 Messaging Artifacts Alan Honey, Kaiser Permanente Enterprise Architect (Based on material initially.
Advanced Software Engineering by Prof. Dr Jan Pajak Topic ASE-1 Introduction.
Copyright: ©2005 by Elsevier Inc. All rights reserved. 1 Author: Graeme C. Simsion and Graham C. Witt Chapter 10 Logical Database Design.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Rapid Software Development IS301.
1 Lecture #6 MBASE Integration Framework Copyright 2000 by USC and the Center for Software Engineering, all rights reserved.
3rd meeting COTS team April 25, 2007, Helsinki. AGENDA 9.00Opening of meeting 9.05Approval of agenda, minutes, Goal setting 9.15Feedback on the specific.
© 2016 SlidePlayer.com Inc. All rights reserved.