Kamis, 24 Oktober 2013

Class Diagram My Blog


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:
·         The top part contains the name of the class
·         The middle part contains the attributes of the class
·         The bottom part gives the methods or operations the class can take or undertake
In the design of a system, a number of classes are identified and grouped together in a class diagram which helps to determine the static relations between those objects. With detailed modelling, the classes of the conceptual design are often split into a number of subclasses.
In order to further describe the behaviour of systems, these class diagrams can be complemented by state diagram or UML state machine. UML provides mechanisms to represent class members, such as attributes and methods, and additional information about them.
The UML specifies two types of scope for members: instance and classifier.
Classifier members are commonly recognized as “static” in many programming languages. The scope is the class itself.
·         Attribute values are equal for all instances
·         Method invocation does not affect the instance’s state
Instance members are scoped to a specific instance.
·         Attribute values may vary between instances
·         Method invocation may affect the instance’s state (i.e., change instance’s attributes)
To indicate a classifier scope for a member, its name must be underlined. Otherwise, instance scope is assumed by default.
Relationship
A relationship is a general term covering the specific types of logical connections found on class and object diagrams. UML shows the following relationships:
Instance Level Relationships
·         Links
A Link is the basic relationship among objects.
·         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.
·         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.
·         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.
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.
·         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).
General Relationship
·         Depedency
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.
·         Multiplicy
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'. The UML representation of an association is a line with an optional arrowhead indicating the role of the object 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).
In this Class Diagram, I was illustrates my Class Diagram Blog by usecase diagram I have posted previously on the Own Blog Admin. Here I made ​​a Class Diagram consisting primarily of a public that is menus, manage profile, manage comments, manage posts, and logon. Then manage have a public profile edit profile, manage own public comment add comment and delete comments, manage posts have a public add posts, edit posts, and delete posts. Manage profiles generalizable to Tb profile that has multiple public and private, public and is used here for its private method used to define the variable name used. So also in managing the comment generalizable to Comment Tb and Tb manage post generalizable to post. In the process of managing a blog must first logon using the username and password as well as a database role is to match the username and password of the user.

1 komentar:

  1. Very well explained. I hope you can answer my question. Can object oriented methods applied in to javascipts as well? I know java and javascripts got nothing in common. But object oriented concepts can be applied to most programming languages. Is it possible? Is there a online class diagram software for this?

    BalasHapus