Basic Modelling Concepts

From HaFrWiki42
Revision as of 10:02, 5 March 2015 by Hjmf (talk | contribs) (→‎See also)
Jump to navigation Jump to search

Modelling tools have their own interpretation of how diagrams, icons are used. This webpage tries to give some clues on how this implementation are made.

Diagram Elements Sterotypes
Class Diagram Elements
Class Diagram Elements
Standard Icons Stereotypes.
Standard Icons Stereotypes.

Object Orientation Basic Elements

Basic OO Elements are:

Association

https://upload.wikimedia.org/wikipedia/en/f/f5/BidirectionalAssociation.png https://upload.wikimedia.org/wikipedia/en/0/05/UnidirectionalAssociation.png
A bidirectional association Unless otherwise specified, navigation across an association is bidirectional, although it may be limited to just one direction by adorning some end with an arrowhead pointing to the direction of traversal.
Description
Association defines a relationship between classes of objects that allows one object instance to cause another to perform an action on its behalf.

Aggregation

https://upload.wikimedia.org/wikipedia/commons/d/d0/Aggregation-Composition3.png
A bidirectional association, first a composition, the second is an aggregation.
Description
Association defines a relationship between classes of objects that allows one object instance to cause another to perform an action on its behalf.
A "uses" B = Aggregation : B exists independently (conceptually) from A.


Example:
A Company is an aggregation of People. A Company is a composition of Accounts. When a Company ceases to do business its Accounts cease to exist but its People continue to exist.

Composition

1-directional composition
Description
A "owns" B = Composition : B has no meaning or purpose in the system without A. The arrowhead on the other end of the relationship denotes that the relationship is navigable in only one direction. That is, Point does not know about Circle.


Example:
Each instance of type Circle contains instance(s) of type Point.
A Text Editor owns a Buffer (composition). A Text Editor uses a File (aggregation).
The university has faculties which exists on its departments (composition). Departments uses employees/members (aggregation).

In Java:

public class Point {
	private float x;
	private float y;

	/**
	 * Constructor
	 * @param x Value for the x-axis.
	 * @param y Value for the y-axis.
	 */
	public Point(float x, float y) {
		this.x = x;
		this.y = y;
	}
...
}
width="525"
public class Circle {
	private float radius;
	private Point center;

	/**
	 * Constructor
	 * @param center Instance of class point
	 * @param radius Length of the radius.
	 */
	public Circle(Point center, float radius) {
		this.center = center;
		this.radius = radius;
	}
...
}    

Class Diagrams

See also

http://agilemodeling.com/images/style/classDiagramAnalysisVsDesign.gif top

Reference

top