The test, like those developed for the previous prototypes, is not complete
but clearly defines the line that can be followed to make them more
The classification criteria adopted in Prototypes 1 and 2 are quite simple.
For each item they specify only whether a given feature is present or not. For
example, they specify that a car has the airbag option. A straightforward
extension could provide the ability to classify items based on the some
characteristics of a given feature. For example, a car might have two airbags,
four airbags or no airbags.
A more complex and interesting extension requires dealing with the
theory of fuzzy sets (Klir and Yuan 1995). A fuzzy set differs from traditional
mathematical sets in the form of the membership function. Items are not
just said to belong (or not) to a given set. The membership function specifies
for each item the percentage membership of that item in a given set. For
example, a car with zero airbags belongs 100 per cent to the low risk
category; a car with two airbags belongs 60 per cent to the low risk category
and 40 per cent to the medium risk category; a car with four airbags belongs
10 per cent to the low risk category, 70 per cent to the medium risk category
and 20 per cent to the high risk category. Using the fuzzy set theory, it is
more easy to classify items that are not in only one category.
Analysis technique . We recognized in the problem statement a well-known
domain, whose literature provides us with the main concepts that make up
the analysis model.
Modelling technique . The analysis of this problem used, in addition to the
class diagrams, the object diagrams to represent static structures and
sequence diagrams to describe interactions among objects in typical scenarios.
Development approach . We divided the problem into two sub-problems:
the representation of the classification information and its processing. The
processing deals both with the use of the information to classify an item and
the construction of a classification schema starting from a training set.
Attributes of classes may have different features. In particular, read-only
attributes are initialized once and never modified; they can be implemented
according to the read-only attribute idiom. When there are constraints on
the values that an attribute can assume, the constrained-value attribute
idiom provides a good implementation solution.
Associations between classes play an important role in object-oriented
analysis and design. Associations exist to be navigated; this issue drives the