ecoop-tutorial

icon

70

pages

icon

English

icon

Documents

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

icon

70

pages

icon

English

icon

Ebook

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

Object-Oriented FrameworksGreg ButlerDepartment of Computer ScienceConcordia University, Montrealgregb@cs.concordia.cahttp://www.cs.concordia.ca/~faculty/gregbAbstractFrameworks offer a concrete realization of a product line. A framework is an architecture,plus an implementation, plus documentation that capture the intended use of theframework for building applications. A framework provides a highly effectivemechanism for software reuse within an application domain. The framework capturesthe features that are common across the product line. In return for relinquishing somedesign authority, the developer can build a new application faster by hooking to theframework just the code that is unique to the new application.The tutorial presents methodologies for the development, application, and evolution ofobject-oriented frameworks. Concepts and techniques behind modeling andimplementation of the commonality and variability within a domain are presented.Level: IntermediateRequired Knowledge: objects, polymorphism, delegation, composition; some designpatterns.Outline• What is a Framework? What it is not!• Framework Development, Application, Evolution.• Development Concepts,Techniques and Models• Documentation for Application Developers• Wrap-up, Questions, Open Issues.Outline• What is a Framework? What it is not!• Framework Development, Application, Evolution.• Development Concepts,Techniques and Models• Documentation for Application Developers• ...
Voir Alternate Text

Publié par

Nombre de lectures

10

Langue

English

Object-Oriented Frameworks
Greg Butler
Department of Computer Science
Concordia University, Montreal
gregb@cs.concordia.ca
http://www.cs.concordia.ca/~faculty/gregbAbstract
Frameworks offer a concrete realization of a product line. A framework is an architecture,
plus an implementation, plus documentation that capture the intended use of the
framework for building applications. A framework provides a highly effective
mechanism for software reuse within an application domain. The framework captures
the features that are common across the product line. In return for relinquishing some
design authority, the developer can build a new application faster by hooking to the
framework just the code that is unique to the new application.
The tutorial presents methodologies for the development, application, and evolution of
object-oriented frameworks. Concepts and techniques behind modeling and
implementation of the commonality and variability within a domain are presented.
Level: Intermediate
Required Knowledge: objects, polymorphism, delegation, composition; some design
patterns.Outline
• What is a Framework? What it is not!
• Framework Development, Application, Evolution.
• Development Concepts,Techniques and Models
• Documentation for Application Developers
• Wrap-up, Questions, Open Issues.Outline
• What is a Framework? What it is not!
• Framework Development, Application, Evolution.
• Development Concepts,Techniques and Models
• Documentation for Application Developers
• Wrap-up, Questions, Open Issues.What is a Framework? What it is not!
• What is a Framework?
• Basic Properties of Frameworks
• Frameworks vs Libraries
• A Toy Example
• Some Real-World Examples
• Concepts
• What a Framework is Not!
– architecture, design pattern, domain analysis
– product lineWhat is a Framework?
… a collection of abstract classes, and their
associated algorithms, constitute a kind of
framework into which particular applications can
insert their own specialized code by constructing
concrete subclasses that work together. The
framework consists of the abstract classes, the
operations they implement, and the expectations
placed upon the concrete subclasses.[Deutsch,
1983]What is a Framework?
A framework is an abstract design for a particular
kind of application, and usually consists of a
number of classes. These classes can be taken
from a class library, or can be application-
specific. [Johnson and Foote, 1988]What is a Framework?
… a set of cooperating classes that makes up a
reusable design for a specific class of software. A
framework provides architectural guidance by
partitioning the design into abstract classes and
defining their responsibilities and collaborations.
A developer customizes the framework to a
particular application by subclassing and
composing instances of framework classes.
[Gamma et al, 1995]What is a Framework?
Common points
• framework addresses a domain/product family
• framework prescribes how to decompose a problem
• design of an application or subsystem
• set of classes and how they collaborate
– shared invariants of objects and how to maintain them
– conform to model of concepts and collaborations
• i.e., framework is represented by its code
• use a framework to build applications by
– creating new subclasses
– configuring objects together
– modifying working examplesWhat is a Domain?
A domain is an area of knowledge that is
• scoped to maximize the satisfaction of the
requirements of its stakeholders,
• includes a set of concepts and terminology
understood by practitioners in that area, and
• includes the knowledge of how to build software
systems in that area.

Voir Alternate Text
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents
Alternate Text