A type defines the features of objects.
examples:
type customer: has an identifier, name, address, ...
type date: is composed of a day, month and year; can be printed or converted_to_XML
type coffee_machine: can make_coffee
There are 3 kinds of features:
attributes
they represent values of the object
examples: color, height, size, year_of_construction, ...
for more information: see the section called “Attribute”
commands
they can be executed in order to perform a task
examples: print_sales_history, make_coffee, export_to_XML, ...
for more information: see the section called “Command”
events
they arise due to specific conditions and are used to inform other software elements about what happened
examples: coffee_ready, mouse_clicked, connection_interrupted, ...
for more information: see the section called “Event”
Every type can have 0, 1 or more attributes, commands and events.
examples:
type date
attributes
yearmonthday
commands
convert_to_XML
type coffee_machine
attributes
brandcolorprice
commands
power_onpower_offmake_coffeemake_capucinomake_espresso
events
coffee_readywater_tank_emptyfailure
For more information about types: see the section called “Type”