Reuse Basic concepts. Rationale for reuse  Save calendar time  Save person hours  Reduce process risk  Increased quality  Standards compliance.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

Building Bug-Free O-O Software: An Introduction to Design By Contract A presentation about Design By Contract and the Eiffel software development tool.
Software Reuse and Component-Based Software Engineering
Domain Engineering Silvio Romero de Lemos Meira
Main issues: • Why is reuse so difficult • How to realize reuse
1 Copyright 1998 by Dragos Manolescu and Joseph W. Yoder Building Frameworks With Patterns “An Active Object-Model For A Dynamic Web-Based Application”
Software Reuse SEII-Lecture 28
Software Reuse Building software from reusable components Objectives
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 2.
1 SYSTEM and MODULE DESIGN Elements and Definitions.
1 Reusability and Portability Xiaojun Qi. 2 Reuse Concepts Reuse is the use of components of one product to facilitate the development of a different.
The Systems Development Challenge “Challenges lead to opportunities”
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
- 1 - Component Based Development R&D SDM Theo Schouten.
L1-S1 Software Reuse 2003 SJSU -- CmpE Component-Based & Software Reuse Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of.
March 22, 2004CS WPI1 CS 509 Design of Software Systems Lecture #9 Monday, March 22, 2004.
Building software from reusable components.
Planning for Middleware Rose Gamble Leigh Davis Jamie Payton University of Tulsa.
Reuse Activities Selecting Design Patterns and Components
WORKSHOP ON INFORMATION SYSTEMS ARCHITECTURES Information / software architectures based on Content Management Systems (CMS): some examples with Drupal.
Software Product Lines Krishna Anusha, Eturi. Introduction: A software product line is a set of software systems developed by a company that share a common.
Architecture, Implementation, and Testing Architecture and Implementation Prescriptive architecture vs. descriptive architecture Prescriptive architecture:
COMPONENT-BASED SOFTWARE ENGINEERING
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Software Engineering Muhammad Fahad Khan
Software Reuse Prof. Ian Sommerville
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
Software Engineering Reuse.
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Figures – Chapter 16. Figure 16.1 Benefits of software reuse BenefitExplanation Increased dependabilityReused software, which has been tried and tested.
Software Product Families. Generative Programming Main text: Ian Sommerville, Software Engineering, 8 th edition, chapter 18 Additional readings: K. Czarnecki.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
13-1 Application Architecture Application architecture – a specification of the technologies to be used to implement information systems. The blueprint.
Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp The Boeing.
Introducing Software Product Lines (SPL) Silvio Romero de Lemos Meira Eduardo Santana de Almeida
Software Reusability An efficient way in Software Development By Tejaswi Peesapati
PROPOSAL OF AN INNOVATIVE ARCHITECTURE FOR WEB BASED EDUCATION SYSTEMS CATE 2012 Superior School of Computer Science of National Polytechnic Institute.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
ANKITHA CHOWDARY GARAPATI
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
Service Component Registry and Repository (SCRR) April 26, 2007 Lico Galindo 2007 Exchange Network National Meeting.
© 2012 Adobe Systems Incorporated. All Rights Reserved. Copyright 2012 Adobe Systems Incorporated. All rights reserved. ® REUSABLE DESIGN.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Software Architecture in the Future 1960s. Assembly languages, subroutines, semicolon as connectors 1970s. Structuring of programs to achieve qualities.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Lecture 21: Component-Based Software Engineering
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
SAIP 19 - Software Architecture in the Future. The book says … ABC Revisited Architecture and Legacy Systems Achieving an Architecture From Architecture.
IT323 - Software Engineering 2 1 Tutorial 4.  List the main benefits of software reuse 2.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Tempus Software Maintenance and Evolution JMSE-SM&E Unit 4: Software Reuse (Building Software From Reusable Components) Prof. Mohammad A. Mikki Gaza, Palestine,
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Discussion of Course Syllabus Class will start momentarily. Please Stand By … CS 8532: Advanced.
A Method for Improving Code Reuse System Prasanthi.S.
Chapter 16 – Software Reuse
Pragmatics 4 Hours.
Review for Final, Fall 2010 Close book, Close notes
Software Development, Quality and Documentation Tool
Component Based Software Engineering
Chapter 16 – Software Reuse
Chapter 16 – Software Reuse
Software Reuse Objectives
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Engineering with Reusable Components
Process for Organising Software Development Activities
Chapter 16 – Software Reuse
FRAMEWORKS AND REUSE What is “Framework”?
Presentation transcript:

Reuse Basic concepts

Rationale for reuse  Save calendar time  Save person hours  Reduce process risk  Increased quality  Standards compliance

What is re-used?  Software:  Application reuse  Component reuse  Object and function reuse  Test cases  Test data  Document content  Experience:  Design patterns  Architectural styles  Processes  Documents  Conventions and standards

Classification of reuse  Product  Scope  Vertical  Horizontal  Mode  Planned  Opportunistic  Intention  Black-box  Clear-box  Technique  Compositional  Generative

Techniques  Program libraries  COTS  Design patterns  Middle-ware integration frameworks  Legacy system wrapping  Service-oriented systems  Software product lines  Commonalities  Variation points  Program generators  Software/Experience Factory

Cost of reuse  Development for reuse  Long-term increased maintenance costs  Lack of tool support  Non-invented-here (NIH)-syndrome  Creating and maintaining a repository  Finding, understanding and adapting reusable components  Conflict project and line management