SOFTWARE REUSABILITY AJAYINDER SINGH CSC - 532. What is Software Reuse Software reuse is the process of implementing or updating software systems using.

Slides:



Advertisements
Similar presentations
Chapter 11 Software Evolution
Advertisements

Main issues: • Why is reuse so difficult • How to realize reuse
OBP Research Oy for simpler creation of embedded systems.
Software Reuse SEII-Lecture 28
Case studies1. 2 Automating a law office Case studies3 Lessons learned Good intuition and technical skills are not enough to guarantee success Marketing.
Sixth Edition 1 M a n a g e m e n t I n f o r m a t i o n S y s t e m s M a n a g I n g I n f o r m a t i o n T e c h n o l o g y i n t h e E – B u s i.
An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson.
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
Software Reuse Building software from reusable components Objectives
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Eleventh Edition 1 Introduction to Information Systems Essentials for the Internetworked E-Business Enterprise Irwin/McGraw-Hill Copyright © 2002, The.
DAIMIHenrik Bærbak Christensen1 Product Lines Architectural Reuse.
SWE Introduction to Software Engineering
1 Lecture 2.6: Organization Structures Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
1 IS 4420 Database Fundamentals Chapter 2: Database Development Process Leon Chen.
Soft. Eng. II, Spring 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Reuse Reading: I. Sommerville, Chap. 20.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Reuse Basic concepts. Rationale for reuse  Save calendar time  Save person hours  Reduce process risk  Increased quality  Standards compliance.
Course Instructor: Aisha Azeem
CSC230 Software Design (Engineering)
SQA Architecture Software Quality.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Functional Testing Test cases derived from requirements specification document – Black box testing – Independent testers – Test both valid and invalid.
Chapter 9 – Software Evolution and Maintenance
Software Architecture in Practice (3rd Ed) Introduction
Leading Edge Climbing Equipment
SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
CLEANROOM SOFTWARE ENGINEERING.
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Legacy systems overview DT Legacy System definition “Legacy system is deficiency in a system in terms of its suitability to the business, its Platform.
Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
© Mahindra Satyam 2009 Decision Analysis and Resolution QMS Training.
Software Reusability An efficient way in Software Development By Tejaswi Peesapati
1 Planning for Reuse (based on some ideas currently being discussed in LHCb ) m Obstacles to reuse m Process for reuse m Project organisation for reuse.
CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Systems Analysis and Design in a Changing World, Fourth Edition
ANKITHA CHOWDARY GARAPATI
COMM89 Knowledge-Based Systems Engineering Lecture 8 Life-cycles and Methodologies
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Service Component Registry and Repository (SCRR) April 26, 2007 Lico Galindo 2007 Exchange Network National Meeting.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Atlanta Area OAUG Meeting January 18, 2008 Using Oracle eAM to Support Asset Reliability.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
AICC Meeting – Minneapolis, MN June 24, 2003 Benefits of Reusable Objects – Design/Development Flexibility Design for Multiple Contexts Smallest Media.
Systems Development Life Cycle (SDLC)
CS223: Software Engineering Lecture 16: The Agile Methodology.
IT323 - Software Engineering 2 1 Tutorial 4.  List the main benefits of software reuse 2.
Copyright 03/15/20021 CREATING A FOREST ONE GROVE AT A TIME Regenerative Reengineering©
Product Line Architecture. Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture.
Certification of Reusable Software Artifacts
Pragmatics 4 Hours.
Software Development CMSC 202.
Software Product Lines
Software Reuse Objectives
Chapter 1 (pages 4-9); Overview of SDLC
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
INFORMATION SYSTEMS PLAN
Agenda Purpose for Project Goals & Objectives Project Process & Status Common Themes Outcomes & Deliverables Next steps.
HCL Application Modernization Services
COMPONENT BASED SYSTEMS: A CLASSIFICATION OF ISSUES
Open API and Open Architecture Working Group (OA2-WG) *DRAFT*
Presentation transcript:

SOFTWARE REUSABILITY AJAYINDER SINGH CSC - 532

What is Software Reuse Software reuse is the process of implementing or updating software systems using existing software components.

Types of Reuse Horizontal Reuse Vertical Reuse

HORIZONTAL REUSE AND VERTICAL REUSE Horizontal reuse to software components used across a wide variety of applications. Vertical Reuse the reuse of system functional areas, or domains, that can be used by a family of systems with similar functionality.

Organization and Process Reusable components should be designed and built in a clearly defined, open way, with concise interface specifications, understandable documentation, and an eye towards future use.

CHALLENGES IN SOFTWARE REUSE Defining an organizational structure for maintaining the product line, including core assets and the customer specific products with special non-core functionality Defining a process for producing a new member of the product line (or upgrading an old one) from the core assets with customer specific requirements Defining a process for adding functionality to the core product line assets based on new customer requirements Instituting a training program for reuse strategies in management, design, implementation, test-all phases of the development process.

REUSE COSTS It is costly It involves spans organizational, technical, and process changes, as well as the cost of tools to support those changes, and the cost of training people on the new tools and changes.

REUSE PROCEDURE Component Evaluation Component Certification Reuse Implementation

TOOLS USED IN REUSE Component management tools, such as repositories, for architectures, designs, documentation, and code must be developed and maintained Domain analysis tools and procedures for the development and maintenance of a domain architecture

Reuse Advantages Higher quality products Less development time Higher scheduling accuracy Reliability