Information Technology Reference
In-Depth Information
Fig. 7.4
Example of a class
Employee
diagram
Employee-number:
Name:
Age:
Superclass
Salary:
Systems Analyst
Project Manager
Employee-number:
Employee-number:
Name:
Name:
Age:
Age:
Salary:
Salary:
Project-number:
Project-number:
7.6.7 Class Design
There are various design principles that allow for classes and their objects to gain
the most from object-oriented design. Classes describe the attributes and methods
of objects. Collectively classes can be enumerated with those that they are related
to. Collective class enumeration details the interactions of the classes and their
relationships with one another (Fig. 7.4 ).
How to get from a design concept to the model shown above can be a cum-
bersome process. Schach points to an iterative and incremental three step approach
(Schach 2008 ). This method is described in the Architectural Design portion of
this chapter. However, at this point it is useful to know that successful design
methodologies allow for the maximum amount of reuse and growth with the least
complexity.
7.6.8 Subsystems and Classes
A correct modular design revolves around a sliding scale of granularity. This
granularity can be as coarse as the entire project or as fine as a single class, or even
smaller with the attribute of a class. Subsystems are one of the most useful levels
of abstraction when a developer wishes to gain an overview of how to compo-
nentize a system. Subsystems are merely a collection of modules where some are
visible to other subsystems and some modules are not externally visible (Booch
1994 ). These subsystems and the classes that compose them provide many benefits
for developers that include:
1. The ability to logically break a system into segments more easily understood by
people.
 
Search WWH ::




Custom Search