Lecture4Classification notation process
Lecture4Classification notation process
There is no such thing as the “perfect” class structure, nor the “right” set of objects.
G. Booch
Classification
• Classification is the hardest part of OO analysis and design
• Classification involves both discovery and invention
• Classification is fundamentally a problem of finding
sameness
• Intelligent classification is a part of all good science
Classification
• Classification helps us identify generalization,
specialization, and aggregation hierarchies among classes
– Classes are generated by first formulating conceptual descriptions and then classifying the entities
according to the descriptions
• For example, we may state a concept such as “a sad song.” This is a concept more
than a property, for the “sad songness” of any song is not something that may be
measured empirically.
• However, if we decide that a certain song is more of a sad song than not, we
place it in this category. Thus, conceptual clustering represents more of a
probabilistic clustering of objects.
• Notation
• Process / Method
• Tool
What is Notation?
Notation:
• OO model supports the iterative and incremental model for the process.
More about Process?
• Guidance as to the order of team’s activities
• The selection of particular process will vary greatly depending upon things like
problem domain, implementation technology and skills of team
• Booch,OMT,OOSE and many other methods have well defined process and UML
supports almost all methods
Class diagrams versus entity-
relationship diagrams
• Database designers have for many years used a notation called
Entity Relationship Diagrams (ERDs).
• This notation has much in common with UML’s class diagrams; in
fact, the developers of OMT, a predecessor to UML, took many
ideas from ERDs.
• In ERDs, the ‘entities’ are similar to classes and the ‘relationships’
are similar to associations. Relationships are shown using a large
diamond symbol, which is one of the features that makes them
substantially more bulky than class diagrams.
• Also, standard ERDs do not show operations. Traditional ERDs did
not show inheritance either, but Extended ERDs (EERDs) do.
• ERDs are still widely used in the database community, although
many database designers prefer now to use UML class diagrams.
• Those who prefer to continue using ERDs do so because the
database community has developed many ERD tools and
considerable expertise at using both the notation and the tools.
Object Types
There are different types of Objects:
• Entity Objects: Represent the persistent information
tracked by the system (Application domain objects, also
called “Business objects”)