Wednesday, October 23, 2013

Class Diagram Blog


Usecase Diagram Blog & Class Diagram Blog


Many people consider class diagrams a bit more complicated to build compared with ER diagrams. While this might be true, this article helps clip some of the complexities of class diagrams in such a way that even non-programmers and less tech-savvy individuals will come to appreciate the usefulness of this modeling approach. In particular, this article explains how to correctly determine and implement the different class diagram relationships that are applicable in object-oriented modeling.


Relationships in UML class diagrams
Class diagrams are visual representations of the static structure and composition of a particular system using the conventions set by the Unified Modeling Language (UML). Out of all the UML diagram types it is one of the most used ones. System designers use class diagrams as a way of simplifying how objects in a system interact with each other. Using class diagrams, it is easier to describe all the classes, packages, and interfaces that constitute a system and how these components are interrelated. For example, a simple class diagram may be used to show how an organization such as a convenient store chain is set up. On the other hand, precisely detailed class diagrams can readily be used as the primary reference for translating the designed system into a programming code.
The following figure is an example of a simple class diagram:

Simple class diagram with attributes and operations
In the example, a class called “loan account” is depicted. Classes in class diagrams are represented by boxes that are partitioned into three:
The top partition contains the name of the class.
The middle part contains the class’s attributes.
The bottom partition shows the possible operations that are associated with the class.
Those should be pretty easy to see in the example: the class being described is a loan account, some of whose attributes include the type of loan, the name of the borrower/loaner, the specific date the loan was released and the loan amount. As in the real world, various transactions or operations may be implemented on existing loans such as renew and extend.  The example shows how class diagrams can encapsulate all the relevant data in a particular scenario in a very systematic and clear way.
In object-oriented modeling, class diagrams are considered the key building blocks that enable information architects, designers, and developers to show a given system’s classes, their attributes, the functions or operations that are associated with them, and the relationships among the different classes that make up a system.
Relationships in Class Diagrams
Classes are interrelated to each other in specific ways. In particular, relationships in class diagrams include different types of logical connections. The following are such types of logical connections that are possible in UML:

Association
Directed Association
Reflexive Association
Multiplicity
Aggregation
Composition
Inheritance/Generalization
Realization



Association
is a broad term that encompasses just about any logical connection or relationship between classes. For example, passenger and airline may be linked as above:

Directed Association
refers to a directional relationship represented by a line with an arrowhead. The arrowhead depicts a container-contained directional flow.

Reflexive Association
occurs when a class may have multiple functions or responsibilities. For example, a staff working in an airport may be a pilot, aviation engineer, a ticket dispatcher, a guard, or a maintenance crew member. If the maintenance crew member is managed by the aviation engineer there could be a managed by relationship in two instances of the same class.

Multiplicity
is the active logical association when the cardinality of a class in relation to another is being depicted. For example, one fleet may include multiple airplanes, while one commercial airplane may contain zero to many passengers. The notation 0..* in the diagram means “zero to many”.


Aggregation
refers to the formation of a particular class as a result of one class being aggregated or built as a collection. For example, the class “library” is made up of one or more books, among other materials. In aggregation, the contained classes are not strongly dependent on the life cycle of the container. In the same example, books will remain so even when the library is dissolved. To render aggregation in a diagram, draw a line from the parent class to the child class with a diamond shape near the parent class.

Composition
is very similar to the aggregation relationship, with the only difference being its key purpose of emphasizing the dependence of the contained class to the life cycle of the container class. That is, the contained class will be obliterated when the container class is destroyed. For example, a shoulder bag’s side pocket will also cease to exist once the shoulder bag is destroyed. To depict a composition relationship in a UML diagram, use a directional line connecting the two classes, with a filled diamond shape adjacent to the container class and the directional arrow to the contained class.

Inheritance
refers to a type of relationship wherein one associated class is a child of another by virtue of assuming the same functionalities of the parent class. In other words, the child class is a specific type of the parent class. To depict inheritance in a UML diagram, a solid line from the child class to the parent class is drawn using an unfilled arrowhead.

Realization
denotes the implementation of the functionality defined in one class by another class. To show the relationship in UML, a broken line with an unfilled solid arrowhead is drawn from the class that defines the functionality to the class that implements the function. In the example, the printing preferences that are set using the printer setup interface are being implemented by the printer.
If you are a programmer or systems designer, you’ll be building or analyzing class diagrams quite often since they are, after all, the building blocks of object-oriented modeling. As demonstrated by this article, class diagram relationships are fairly easy to understand. As a rule of thumb, keeping class diagrams as simple as possible allows them to be more easily understood and appreciated by different types of audiences. For this purpose, remember to label your classes and relationships as descriptive as possible. Lastly, class diagrams also evolve as the real world systems they represent change. This implies that you don’t need to put in much detail in your first draft. All the classes, interfaces and relationships that are integral to the system or application you are designing will eventually emerge as the development process moves forward.

To make your job a lot easier, you can check out the online diagramming application offered on the Creately site. Besides being easy to use, the platform provides a comprehensive range of UML templates among other diagramming services. In addition, the platform supports collaboration and may be integrated into an existing company wiki or Intranet to keep diagrams well documented and updated. Having such a tool on your side will greatly improve your company’s development initiatives and will help your team meet its targets.


Now we can class diagram relationships it’s time to draw some, get started with this easy to use class diagram templates.


Wednesday, October 16, 2013

UseCase Diagram


USE CASE
Use-case is model uml diagram used to illustrate requirement functional s expected a system. Use-case diagram stressing “ who “ ,” do what “ in the environment system software be built. Use-case diagram actually consists of two parts large; the first is use case diagram ( including picture use case dependencies ) and use case description. Use-case diagram can be used over process analysis to catch requirement system and to understand how a system should work. During the design, use-case diagram role to establish behavior ( behavior ) system when implemented. In a model there may be one or several use-case diagram. Necessity or requirements system is functionality what must be provided by the system and documented on the model use-case describing system functions expected ( use-case ) and ( actor ), that surrounds it and relations between actor with use-case ( use-case diagram ) itself.
Characteristic:
 use cases is interaction or dialogue between system and actor, including exchange messages and act done by the system.
use cases initiated by actor and probably involving the role actor other. Use cases must provide minimum value to one actor.
use cases can have anescalating defining special act of interactions or use case more could be inserted.
use case class having object use case called scenarios. Scenario said the order message and action single.
Use case Diagram consists of several components:
ACTOR
actor is representative of outsiders, process or thing that interact with the system; nor the class. Every actor participate with one or more use-case. Actor participating by use-case to exchange messages. Basically actor is not part of the diagram, use case but to be both an use case diagram needed some actor. The actor presented someone or something ( as devices other system ) that interact with the system. An actor input on may only give information system only receives information from both receive, or system and giving information on the system. Actor use case, only interact with but not having control over use case.. Actor can be described in general, or specific where we can use to differentiate relationship.
USES CASE
Use-case is system that acknowledges things are supposed to do by the system. Use-case useful to describe a behavior of a system without revealing the internal structure of the system. Use case is a specific occupation, e.g. logins to system; create a shopping lists, etc. Use case is a description functionality of a system, so that customer or users system understand and understand about the system to be constructed. Note: use case diagram is a depiction system from points of view the system users ( user ), so making use case focused more on functionality existing in system, not based on a groove or the sequence of events.
A decisive manner of use case in a system:
pattern of behavior application software.
 a description of the task of an actor.
system or  thisstuff  that gives something of value to actor.
D. that which is wrought by a software ( * not how to do it ).
RELATIONSHIP
Relatioship useful to describe the relationship between actor and use- case in the system.
Association
Serves as a communication between actor with use case are participating.
EXTERNAL
Serves to add the behavior additional into use case of association not know anything about it.
Use case Generalization
Describing relations between use case common with use case that is more specific who inherits and add a feature on it.
INCLUDE
This is the addition of deed of additional into use case basic explicitly explain addition.
Diagram use case useful in three things:
explain existing facilities ( requirements ). Use case new always makes new facility when system in analysis, and designs into focus.
 communication with clients. The use of notation and symbols in the diagram use case make developer easier communicate with klienkliennya.
make test of cases in general. Assemblage of events to use case jempatan test case worthy to events.
Any use case must be described in the document called of the documents flow of event. This document define what to do by the system when actor turn use case. Structure of documents use case thiscould variously, but generally description this the least should containing
brief description ( brief description )
actor involved
precondition that matter to use case to start
description detailed of the scene that includes play flow of it all could detail more be sub-division flow and an alternative flow.
Post condition who explains state of a system of after use case over.
Here is how to draw use-case diagram:
should make use-case diagrams, prefixed to make fdd first. It is just to help identify these processes in the system.
started by enrolling actor that deals with use-case, either as sender and receiver.
component in use-case diagram is the name use-case, description use-case and actors who participates and its role.
find dependency that demos a semantic relation between two use-case. If use-case  a  changed can result in use-case  will change anyway.
There are two sorts of dependency what deserves consideration is include and extend.
Dependency include: a use-case can include functionality use-case other as part of process in her. In general assumed that use-case included every time use-case include who executed normally. A use-case can included by more than one use-case other, so duplication functionality avoidable by means draw out functionality that common.