LlosengCh03E2 - Object-Oriented Software Engineering...

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 3: Basing Software Development on Reusable Technology 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 3.1 Building on the Experience of Others Software engineers should avoid re-developing software items already developed Types of item reuse: Reuse of expertise Reuse of standard designs and algorithms Reuse of libraries of classes or procedures Reuse of frameworks Reuse of complete applications
Background image of page 2
3 3.2 Reusability and Reuse in Software Engineering Reuse and design for reusability should be part of the culture of software development organizations But there are problems to overcome: Why take the extra time needed to develop something that will benefit other projects? Management may only reward the efforts of people who create the visible ‘final products’ . Software is often created in a hurry and without enough attention to quality or reuse.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 A vicious cycle Developers tend not to develop high quality reusable components, so there is often little to reuse To solve the problem, recognize that: This vicious cycle costs money Investment in reusable code is important Attention to quality of reusable components is essential So that potential reusers have confidence in them The quality of a software product is only as good as its lowest-quality reusable component Employing reusable components can often simplify design
Background image of page 4
5 3.3 Frameworks: Reusable Subsystems A framework is reusable software that implements a generic solution to a generalized problem. It provides common facilities applicable to different application programs. Principle : Applications that do different, but related, things tend to have quite similar designs
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
6 Frameworks promote reuse A framework is intrinsically incomplete Certain classes or methods are used by the framework, but are missing ( slots ) Some functionality is optional Allowance is made for developer to provide it ( hooks ) Developers use the services that the framework provides Taken together the services are called the Application Program Interface ( API )
Background image of page 6
7 Object-oriented frameworks In the object oriented paradigm, a framework is composed of a library of classes. The API is defined by the set of all public methods of these classes. Some of the classes will normally be abstract Example: A framework for payroll management A framework for frequent buyer clubs A framework for university registration A framework for e-commerce web sites
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
8 Frameworks and product lines A product line (or product family) is a set of products built on a common base of technology. The various products in the product line have different features to satisfy different markets The software technology common to all products is included in a framework Each product is produced by filling the available hooks and slots
Background image of page 8
9 Types of frameworks A horizontal framework provides general application facilities that a
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/21/2012 for the course CS 307 taught by Professor Staff during the Fall '08 term at Purdue University-West Lafayette.

Page1 / 48

LlosengCh03E2 - Object-Oriented Software Engineering...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online