Software Reuse: A Conceptual View Presented By: Youssef Alaoui Mdeghri Abdelouhab Taoufiq El Yazid Alaoui Yazidi.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Designing Reusable Frameworks for Test Automation
Enterprise Architecture Rapid Assessment
System Development Life Cycle (SDLC)
Systems Analysis and Design: What is it? Systems analysis: the systematic study of the information needs and problems of some organizational domain in.
Sharif University of Technology Session # 2.  Contents  Structured analysis and design  Information system development  Systems Analysis and Design.
Object-Oriented Software Development CS 3331 Fall 2009.
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
Software Reuse SEII-Lecture 28
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Evaluation and Reporting ENTC 4060 Project Scheduling.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Chapter 15 Application of Computer Simulation and Modeling.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Documentation Testing
Dept. of Computer Engineering, Amirkabir University of Tech. 1 Design Patterns Dr. Noorhosseini Introduction.
Ensuring Non-Functional Properties. What Is an NFP?  A software system’s non-functional property (NFP) is a constraint on the manner in which the system.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1 Software Engineering II Presentation Software Maintenance.
Notion of a Project Notes from OOSE Slides - modified.
The Information Systems Audit Process
Systems Engineering Management
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
VENDORS, CONSULTANTS AND USERS
ICT Scope and Sequence Sekolah Ciputra 2010.
Enterprise Architecture
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
S/W Project Management
Long Range Infrastructure Planning The Gilbert, Arizona Experience Kenneth C. Morgan, PE Public Works Director.
Design Patterns.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
CSE 303 – Software Design and Architecture
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
SELECTION OF AN ERP SYSTEM. IMPORTANT FACTORS TO CONSIDER IN ITS SELECTION.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
REUSE-Re-Engineering The Software Process By Venkat Praveen Medikonda.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
Service Oriented Architecture (SOA) at NIH Bill Jones
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Optimizing Resource Discovery Service Interfaces in Statewide Virtual Libraries: The Library of Texas Challenge William E. Moen, Ph.D. Texas Center for.
R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
CSE 303 – Software Design and Architecture
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Smart Home Technologies
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Human Factors Engineering Principles of System Design.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
Systems Analyst (Module V) Ashima Wadhwa. The Systems Analyst - A Key Resource Many organizations consider information systems and computer applications.
ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Guest Lecture Presented During Rabelani Dagada's Technology & Information Management Class at the Wits Business School, 3 February 2011.
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
Fundamentals of Information Systems, Sixth Edition
Software Project Planning &
Excel Macros: Automation for FREE!
Why Object-oriented Programming?
Presentation transcript:

Software Reuse: A Conceptual View Presented By: Youssef Alaoui Mdeghri Abdelouhab Taoufiq El Yazid Alaoui Yazidi

Different Software Paradigm Reuse technology. formal and informal use Reuse experiences. making an investment in reuse. reuse as decipline. reuse starting from business processes.

Different software paradigm

Reuse in context How reuse change the software process. reuse themes. reuse requirements. reuse views.

Reuse in context

Where reuse fits into software process.

Reuse in context Extending System planning to include reuse. extending planning. extending life cycle.

Reuse readiness assessment Purpose. Critical Issues. bad tool and skill preparation & time. Procedure. organize the reuse assessment. goal scope for reuse. assessment of business change. understanding of component interaction.

Reuse readiness assessment

Organizing for Reuse Purpose. Critical Issues. Recommended tools. Designing Reusable Components.

Purpose: Reduce significantly the cost and time- to-market of enterprise applications by delivering the promise of large-scale software reuse and allowing the applications to be built through assembling reusable components rather than from scratch.

Purpose (cntd) Enhance the reliability of enterprise applications by allowing the applications to be developed through assembling the pre-tested reusable software components. Improve the maintainability and flexibility of enterprise applications by allowing replacement of old components with quality components.

Purpose (cntd) Enhance the quality of enterprise applications by allowing application-domain experts to develop reusable components and software engineers to build enterprise applications by assembling the components

Critical Issues Adequate,skilled personnel resources are just as important as adequate funding to ensure that reuse goals will be accomplished. Focus on the human division.

Recommanded Tools: Defining the types of components to reuse. Defining how to extend software life cycle process models to incorporate reuse. Identifying to tools to support reuse. Extending current metrics and measures to include reuse.

Recommander Tools: Identifying areas(organizations,projects,and individuals) that offer the best opportunities for successfully practicing reuse. Where reuse programs should therefore be implemented.

Recommander Tools: A good understanding of the requirement of the project and especially the part where we will apply the reuse. Be sure that this component will not affect on the overall project functionality, reliability of the system.

Designing Reusable Components During the interface design phase of a project the architect can already be thinking about reuse of some particular function offered by the application. There are some techniques that will facilitate reuse: 1- Look for common behavior that exists in more than one place in the system 2- Try to generalize behavior so that it is reusable

Designing Reusable Components 3- Plan on building façade controller interfaces that will make use of generalized components. Although it is possible to design with reuse in mind, one must be careful when attempting this. It is very easy to design solutions that are anything but reusable. Designing a solution that is reusable requires keeping the solution as simple as possible.

Designing Reusable Components If the component that is being designed for reuse is too complicated then one of two things will happen: it will be unusable because it is too complex; or only a small portion of the component will ever be reused because it was designed to handle much more than a consumer really needs, so a lot of effort was wasted designing and implementing it.

Candidate Reusable Components Candidature Election Qualification Classification and storage Search and Display

Candidate Reusable Components Criteria: * Isolation * Aggregation * Generalization * How ?

Candidate Reusable Components * Select a sample * Equip a software environment to support the experiment * Apply the criterion * Implement the CAP * Compute Completeness and Adequacy

Building Library For Reuse Components Its Goal: Organize Store Manage

Building Library For Reuse Components Defining types of components Defining the organization structure Selecting library tools Defining classification

Building Library For Reuse Components Defining guidlines Advertize Cataloging

Building Library For Reuse Components Conclusion Reuse is useful and beneficial to save time and money There are some steps to respect for ensuring good Reuse process Candidature of components is important to respect Thanks to Dr. Kettani and your presence