In software engineering, a class diagram in
the Unified Modeling Language (UML) is a
type of static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or
methods), and the relationships among objects.
The class diagram is the main building
block of object oriented modelling. It is used both
for general conceptual modelling of the systematics of
the application, and for detailed modelling translating the models into programming
code. Class diagrams can also be used for data modeling.
The
classes in a class diagram represent both the main objects, interactions in the
application and the classes to be programmed.In the diagram, classes are
represented with boxes which contain three parts:
1.
The top part contains the name of the class
2. The middle part contains the attributes of the
class
3. The bottom part gives the methods or
operations the class can take or undertake
Association
An association represents a family of links. Binary associations (with two ends) are normally represented as a line. An association can be named, and the ends of an association can be adorned with role names, ownership indicators, multiplicity, visibility, and other properties. There are four different types of association: bi-directional, uni-directional, Aggregation (includes Composition aggregation) and Reflexive. Bi-directional and uni-directional associations are the most common ones. For instance, a flight class is associated with a plane class bi-directionally. Association represents the static relationship shared among the objects of two classes. Example: "department offers courses", is an association relation.
Aggregation
Aggregation is a variant of the "has a" association relationship; aggregation is more specific than association. It is an association that represents a part-whole or part-of relationship. As a type of association, an aggregation can be named and have the same adornments that an association can. However, an aggregation may not involve more than two classes. Aggregation can occur when a class is a collection or container of other classes, but where the contained classes do not have a stronglife cycle dependency on the container—essentially, if the container is destroyed, its contents are not.
Composition
Composition is a stronger variant of the "owns a" association relationship; composition is more specific than aggregation. Composition usually has a strong life cycle dependency between instances of the container class and instances of the contained class(es): If the container is destroyed, normally every instance that it contains is destroyed as well. (Note that, where allowed, a part can be removed from a composite before the composite is deleted, and thus not be deleted as part of the composite.
Class
level relationships
Generalization
The Generalization relationship
("is a") indicates that one of the two related classes (the subclass)
is considered to be a specialized form of the other (the super type) and
superclass is considered as 'Generalization' of subclass. In practice,
this means that any instance of the subtype is also an instance of the
superclass. An exemplary tree of generalizations of this form is found in binomial nomenclature:human beings are
a subclass of simian,
which are a subclass of mammal, and so on. The relationship is most easily understood
by the phrase 'an A is a B' (a human is a mammal, a mammal is an
animal).
Realization
In UML modelling, a realization
relationship is a relationship between two model elements, in which one model
element (the client) realizes (implements or executes) the behavior that the
other model element (the supplier) specifies.
The UML graphical representation of a
Realization is a hollow triangle shape on the interface end of the dashed line
(or tree of lines) that connects it to one or more implementers. A plain arrow
head is used on the interface end of the dashed line that connects it to its
users. In component diagrams, the ball-and-socket graphic convention is used
(implementors expose a ball or lollipop, while users show a socket). Realizations
can only be shown on class or component diagrams.
A realization is a relationship
between classes, interfaces, components, and packages that connects a client
element with a supplier element. A realization relationship between classes and
interfaces and between components and interfaces shows that the class realizes
the operations offered by the interface.
General
relationship
Dependency
Dependency is a weaker form of relationship which indicates that one class depends on another because it uses it at some point in time. One class depends on another if the independent class is a parameter variable or local variable of a method of the dependent class. This is different from an association, where an attribute of the dependent class is an instance of the independent class.
Multiplicity
The association relationship indicates
that (at least) one of the two related classes makes reference to the other. In
contrast with the generalization relationship, this is most easily understood
through the phrase 'A has a B' (a mother cat has kittens, kittens have a mother
cat).
The UML representation of an
association is a line with an optional arrowhead indicating the role of
the object(s) in the relationship, and an optional notation at each end
indicating the multiplicity of instances of that entity (the number
of objects that participate in the association).
Having previously mengepost blog about
use cases , class diagrams are now about on the blog . There are six classes
that exist in the class diagram blog and relate to each other . The first main
class is the main class of the class diagram contained in the blog that
consists of menus , manage profile , manage templates , manage articles, apply
for google adsense and login . There are two classes of database connections in
order to connect to the database stored , composed of user , datebase ,
username , password , and have the requirement that all of the string data type
. That there is a third class consists of managing the input profile new
profile , edit a profile, delete profile and view profiles . There are four
classes manage to edit the template according to the desired template . There
are five classes consist of articles that manage input articles, edit articles,
delete articles, view articles, comment and delete the comment input . Entirely
using the same data type except string to date using the date data type.