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 bySavanah Sutherby
Modified about 1 year ago
Software Reusability Main issues: Why is reuse so difficult How to realize reuse
SE, Reusability, Hans van Vliet, © Reuse dimensions Things being reused: components, concepts, … Scope: horizontal vs vertical Approach: systematic or opportunistic Technique: compositional or generative Use: black-box or white-box Product being reused: source code, design, …
SE, Reusability, Hans van Vliet, © Success criteria for component libraries Well-developed field, standard terminology Small interfaces Standardized data formats
SE, Reusability, Hans van Vliet, © Requirements for component libraries Searching for components Understanding/evaluating components found Adapt components if necessary Compose systems from components
SE, Reusability, Hans van Vliet, © Component evaluation, useful information Quality information Administrative information (name developer, modification history, etc) Documentation Interface information Test information
SE, Reusability, Hans van Vliet, © Reuse process models Software development with reuse Passive Component library evolves haphazardly Software development for reuse Active Reusable assets are developed, rather than found by accident
SE, Reusability, Hans van Vliet, © Software development with reuse
SE, Reusability, Hans van Vliet, © Software development for reuse
SE, Reusability, Hans van Vliet, © Software development for reuse Often two separate development processes: Development of components (involving domain analysis) Development of applications, using the available components Specific forms hereof: Component-based software development Software factory Software product lines
SE, Reusability, Hans van Vliet, © Reuse tools and techniques Languages to describe compositions Module Interconnection Language (MIL) Architecture Description Language (ADL) Middleware (CORBA, JavaBeans,.NET)
SE, Reusability, Hans van Vliet, © Characteristics of successful reuse programs Extensive management support Organizational support structure Incremental implementation Significant success High incentives Domain analysis done Attention to architectural issues
SE, Reusability, Hans van Vliet, © Non-technical aspects of software reuse Economics: it is a long term investment Management: it does not happen spontaneously Psychology: people do not want to reuse someone else’s code
SE, Reusability, Hans van Vliet, © Reuse devil’s loop
SE, Reusability, Hans van Vliet, © Summary We can reuse different things: code, design, … Reuse can be systematic (software development for reuse), or opportunistic (software development with reuse) Reuse does not just happen; it needs to be planned
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Software Reuse and Component-Based Software Engineering CIS 376 Bruce R. Maxim UM-Dearborn.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Chapter:4 Principles That Guide Practice Unit II.
Ch:8 Design Concepts S.W Design should have following quality attribute: –Functionality –Usability –Reliability –Performance –Supportability (extensibility,
Prescriptive Process models Waterfall Model. Incremental Process Model. Evolutionary Process Model. Concurrent model 1.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Re-use IS301 – Software.
Presentation by Prabhjot Singh V-Model. Wikipedia ISTQB Exam Certification.com Resources.
Advanced Software Engineering by Prof. Dr Jan Pajak Topic ASE-1 Introduction.
Copyright: SIPC Reference Data Architecture and Standards Ontologies and Databases: Use of ontology in database design Matthew West Shell.
Lecture 4 Process and Method: An Introduction to the Rational Unified Process.
Ch.21 Software Its Nature and Qualities. Ch.22 Outline Software engineering (SE) is an intellectual activity and thus human-intensive Software is built.
1 Test documentation and Test case design Iana Mourza QA Lead/Release Lead VMware, Inc
Verification and Validation. Topics covered Verification and validation planning Software inspections Automated static analysis.
Unit-V -SOFTWARE QUALITY. To develop and deliver robust system, we need a high level of confidence that Each component will behave correctly Collective.
Chapter 6 Architectural Design Slide 1 Chapter 6 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
ASWEC 2008Slide 1 Construction by Configuration: An opportunity for SE research Prof. Ian Sommerville St Andrews University Scotland.
Software Architecture Motivation, Qualities and Development Cycle June 2001 Siegfried Reich SunTREC Salzburg
Architectural Design IS301 – Software Engineering Lecture # 14 – M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University.
Introduction to Design Rules in NATO NISP. Integrated EA conference London March
Chapter 7 – Design and Implementation 1Chapter 7 Design and implementation Note: These are a modified version of Ch 7 slides available from the authors.
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design Software Engineering Ian Sommerville, Software Engineering, 9 th Edition Pearson.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Evolution IS301 – Software.
Geographic Digital Content Components André Santanchè Advisor: Dr. Claudia Bauzer Medeiros Database Group Unicamp - Brazil.
Ch. 71 The software production process. Ch. 72 Questions What is the life cycle of a software product? Why do we need software process models? What are.
Testing Relational Database. Overview Once the design of a database system has been completed, the developers are ready to move into the implementation.
1 Chapter 11 Software Evolution This chapter is extracted from Sommerville’s slides. Text book chapter 21 1.
© 2016 SlidePlayer.com Inc. All rights reserved.