Re: Questions please

From: Universe (universe_at_tAkEcovadOuT.net)
Date: 03/30/04


Date: Tue, 30 Mar 2004 08:39:41 -0500


"Cristiano Sadun" <TAKEcristianoTHISsadunOUT@hotmail.com> wrote in message

> "prec" <precaint@dat.aet.com> wrote in
>
> > What is Component-based design? How is it related to
> > Objected-Oriented Design?

A component as with a class is usually found to work best when viewed, and
managed
as having a coherent role to play in system design. However components
rather than
having a single role tend to have a set of similar roles, or a set of
closely collaborating
roles. For instance a component might have a hierarchy of roles as classes,
or interfaces
like that with Shape as the main API, and Triangle, Circle, and Square as
siblings that
would variously be assigned to the Shape API. Or a component might have the
whole
set of classes required to enter, modify and remove data from a music
collection -
e.g. 1 or 2 the UI (user interface) classes, 1 or 2 domain/business
algorithm classes,
and a handful of data model classes that communicate with a database, or
comprise
a database themselves.

> I gave an answer some time back in
>
> http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8
> &selm=Xns94B16DB861785cristianosadunhotmai%40195.131.52.135

> > When doing Object-Oriented Design, to what level we can say that the
> > OOD is finished?

> Like with any other design: when it does the job and there are no obvious
> simplification that come into your mind or no simplifications which are
> cost-effective to perform.

1st and primary is that the program successfully fulfills the use case
requirements and related specifications that prompted creation of the
system in the to begin with. Then:
    ~ given time, money and other resources the program designed
to incorporate with relative ease the next round of client desired
Functionality
    ~ given the same on resources the program is readable, and open
to being maintained without much difficulty
    ~ related to aspects of readability and maintenance ease is a design
that clearly expresses the nature of actual, key domain and use entities
and the nature of their collaboration
    ~ tweaking the interface to be better in spite of the program minimally
being able to fulfill use cases
    ~ generalized code so that reuse, or modifying to reuse modules
in the future is at least not encumbered

The above are amongst the major factors once considers once the developers
are certain the system fulfills all use cases within the specifications
given
for performance, program size, interface behavior, robustness, and other
variants of the usual kinds of piggy back requirements specifications.

> > How to evaluate an OOD?

How well does the high level system design mirror, or embed modelling
the nature of actual key, scope relevant domain and use case entities
and their actual collaborations; how well high level design is "fidelitious"
with actually existing scope context relevant domain and use "LOI" - logical
object interaction.

> Does it do the job?
> Can we think of something simpler that does the job?

Reduced complexity while not obscuring the logical essence of
contextually key domain structure and operation is also a common
act of "fine sand papering" and tweaking done "after we got it
working".

> Does it keep doing the job in the face of job changes?

Yet another way to express one or more useful items that I delineated above.

Elliott

--
http://www.univercenet.net
The first *fundamental* thing is to look for are the major
responsibilities and processes carried out by entities in the real
world domain.  One then models the entities found into coherent and
cohesive - tightly inner related to a single major overall
responsibility - class abstractions.   As a part of identifying major
real world domain entities study how the classes collaborate to make
each function successfully and with an eye toward how the classes will
collaborate to fulfill at least all key project use cases to start
off-project scope (the sum of use cases).


Relevant Pages

  • Re: Why refactoring is better
    ... at least in terms of what the client approved - ... assessing the design in terms of even what features for sure must be in ... the key driver of system design when it actually is operating far from ... using that as the basis for a holistic architectural plan ...
    (comp.object)
  • Re: Why is OO Popular?
    ... The Simula languages were developed at the Norwegian Computing Center, ... lifeblood of OO design. ... for use at more complex levels of OO system design. ... ways to comprise varying OO design kernel aggregations kernels. ...
    (comp.object)
  • Re: Cobol .DAT backup solution
    ... zero transaction loss) is an afterthought to system design; ... it is an afterthought design. ... This IT problems usually occurs in a 3rd world scenario where corporate ...
    (comp.lang.cobol)
  • Re: Why is OO Popular?
    ... >>Smalltalk and the original GUI. ... In the article he talks about the design ... for use at more complex levels of OO system design. ... ways to comprise varying OO design kernel aggregations kernels. ...
    (comp.object)