[comp.object] DEF'N: Framework

zweig@cs.uiuc.edu (Johnny Zweig) (03/08/91)

I am currently writing up my MS thesis, which has the word "framework" in the
title.  I have a reasonable idea in my head of what that word means (I won't
muddy the waters by disclosing it before hearing what other people think), but
I want to see what the folks in Netland think.

Any definition of the term "framework" (in the sense of "A Framework For
Can-Opener Microcontrol Software" or "A Framework For 3-D Graphical
Whatchamacallits"), or pointers to papers/books/t-shirts/bumper-stickers that
define this oft-used, seldom-defined term would be appreciated.

I am aware that the term is used in different ways by different people. I am
most interested in subtle aspects of the definition -- for example, the
question "is the class-hierarchy an instantiation of a (conceptual) framework,
or is it the framework?" pops up.

-Johnny Framework

wing@kcl-cs.UUCP (Wing Lam) (03/14/91)

In article <1991Mar7.213755.26889@m.cs.uiuc.edu> zweig@cs.uiuc.edu writes:
>I am currently writing up my MS thesis, which has the word "framework" in the
>title.  I have a reasonable idea in my head of what that word means (I won't
>muddy the waters by disclosing it before hearing what other people think), but
>I want to see what the folks in Netland think.
>
>Any definition of the term "framework" (in the sense of "A Framework For
>Can-Opener Microcontrol Software" or "A Framework For 3-D Graphical
>Whatchamacallits"), or pointers to papers/books/t-shirts/bumper-stickers that
>define this oft-used, seldom-defined term would be appreciated.
>
>I am aware that the term is used in different ways by different people. I am
>most interested in subtle aspects of the definition -- for example, the
>question "is the class-hierarchy an instantiation of a (conceptual) framework,
>or is it the framework?" pops up.
>
>-Johnny Framework

A framework, to me, is defined within the context of software engineering as:

' A structure which represents the key knowledge in a particular domain which
  may be used as a basis for developing software within the domain '

However, I would qualify your use of the term framework as referring to an
'object oriented' framework which relates it to a specific technology.  Hence
I define an 'object oriented' framework as:]
  
' A collection of related classes which model the key knowledge, concepts or 
  objects and relationships within that domain. '

The framework is composed of classes rather than instances of the classes. 
Ideally, a framework should be a product of domain analysis which can be 
reused in a variety of situations.  People who develop very detailed and 
precise classes are not develop frameworks in the true sense of the word..
Personal frameworks are ok, but only for personal use which seems to go
against the notion of frameworks as a useful reusability tool.

That's my view anyway!!!

W.Lam
King's College London