Vj Eric (Anime and Cosplay OtaKu) アニメ オタク X3"

Eric Arriola
All About The Hottest Anime and Cosplayer's All Over Asia X3
Eric Jeffrey Arriola


See my Official Page
Shout Out What Anime, Manga, And Cosplay Goddesses You Like Me To Add Up in My Web Page ^.-,\/..

videokeman mp3
VjEric WebPage


Friday, November 25, 2011

Unified Modeling Language

The Unified Modeling Language or simply UML is a standard language for specifying, visualizing, constructing, and documenting the objects of software systems. So UML can be described as a general purpose visual modeling language. Generally, it is used to model software systems and it is also used to model non software systems that likely process the flow in a manufacturing unit or software.
It is different from the other common programming languages like C++, Java or Visual Basic codes. More likely it is not a programming language but a tool that can be used to generate code in various languages using UML diagrams. In other words UML is a pictorial language used to make software blue prints. UML has a direct relation with object oriented analysis and design ( Object-Oriented Analysis and Design with UML, Adegboyega Ojo, Elsa Estevez, October 2005).

Object Oriented Analysis and Design
So what is an object oriented analysis, it defined as investigation and to be more specific it is the investigation of objects and the design means collaboration of identified objects.
The object oriented analysis can be described into three purposes namely first is identifying the objects of a system, second is to identify their relationships and lastly make a design which can be converted into an executable system. So the input from the object oriented analysis and design is the input to the UML diagrams Object-Oriented Analysis and Design with UML, Adegboyega Ojo, Elsa Estevez, October 2005).

Buildings Blocks
In Further notice the building blocks for UML can be defined in their “Things”, “Relationships” and “Diagrams” which produces the framework of the UML.
In order to identify the images and objects of a diagram we should know the important building blocks of UML namely the “Things”. It can be categorized as “Structural”, “Behavioral”, “Grouping” and “Annotational” ( Design Patterns Application in UML, Gerson Suny e, Alain Le Guennec, and Jean-Marc J ez equel IRISA/CNRS, Campus de Beaulieu, F-35042 Rennes Cedex, FRANCE ).

Structural Things
The Structural things define the static part of a model. They represent the physical and conceptual elements. It consists of class, interface, collaboration, use case, component and node. The class represents set of objects having similar responsibilities. The interface defines a set of operations which specify the responsibility of a class. The collaboration defines interaction between elements. The use case represents a set of actions performed by a system for a specific goal. The component describes physical part of a system, and the node can be defined as a physical element that exists at run time.  For the Behavioral things consist of dynamic parts of UML models. These include the interaction that defines a behavior that consists of a group of messages exchanged among elements to accomplish a specific task and the State machine defines the sequence of states an object that goes through in response at certain events. The events are external factors responsible for state change.The Grouping things is a mechanism to group elements of a UML model together. The package is the only one grouping thing available for gathering structural and behavioral things. The last building block for UML is the Annotational things this capture remarks, descriptions, and comments of UML model elements and its note is used to render comments, constraints etc of an UML element (UML – a tutorial,Ian Graham or Alan Wills +44-161-225 3240; clive@trireme.com Copyright © MMI – Trireme International Ltd. ).
The Relationships which is a building block shows how elements are associated with each other and this association describes the functionality of an application. The four kinds of relationships are dependency, association, generalization and realization. The Association is a set of links that connects elements of a UML model. The Generalization connects a specialized element with a generalized element and describes the relationship in an object. The last is the Realization that describes two elements connected in a relationship, the seperate elements in here describe the implemented responsibility for every element they have in both ways (UML – a tutorial,Ian Graham or Alan Wills +44-161-225 3240; clive@trireme.com Copyright © MMI – Trireme International Ltd. ).
The over all elements that combined all together produces the UML Diagrams and it provides the representation of a complete system. The Unified Modeling Language includes nine diagrams these are the Class diagram, Object diagram, Use Case diagram, Sequence diagram, Collaboration diagram, Activity diagram, Statechart diagram, Deployment diagram and Component diagram ( Object-Oriented Analysis and Design with UML, Adegboyega Ojo, Elsa Estevez, October 2005).
UML Diagrams
UML Class Diagram represents the static view of an application. This is not only used for visualizing, describing and documenting different aspects of a system it also includes the construction of executable code for a software application. This may describe the attributes and operations for a class and used in the modeling of object oriented systems because  it can map directly with object oriented languages. It includes the classes, interfaces, associations and collaborations and may also be said as a structural diagram.
Class diagram is a graphical representation of the static view of a system and represents different aspects of the application. In creating a class diagram there are some notes to be remembered like in naming, it should be meaningful to describe the aspect of the system. Each element and their relationships should be identified in advance namely the attirbutes and methods, Each class should tackle much less number of properties so that it wont get complicated and not putting unneccesary properties. It should use notes to describe the aspect of the diagram so it will be understandable for the developer or coder and lastly the diagram should be drawn on plain paper and rework as many times as possible to make it correct ( UML Tutorial: Part 1 -- Class Diagrams, Robert C. Martin ).

An example of this diagram is an Order System of an application. It describes a particular aspect of the entire application.

The Order and Customer are identified as the two elements of the system and they have a one to many relationship because a customer can have multiple orders.
We would keep Order class to be an abstract class and it has two concrete classes SpecialOrder and NormalOrder.
The two classes have all the properties as the Order class. In addition they have additional functions like dispatch and receive UML Tutorial: Part 1 -- Class Diagrams, Robert C. Martin ).

UML Object Diagram
Object Diagram are dependent to class diagram because it represent an instance of a class diagram and are used to render a set of objects and their relationships as an instance and it is unlimited. In Object diagram the elements are in concrete form to represent the real world object.
The Steps in creating a Object diagram is first is to analyze the system and decide which instances are important data and association. Then consider only those instances which will cover the functionality make some optimization as the numbers of instances are unlimited. It should also consider the elements that should be identified and the association among objects should be clarified. Values of different elements need to be captured to include in the object diagram and add proper notes at points where more clarity is required (UML Process, Sharam Hekmat, PragSoft Corporation, www.pragsoft.com )

Example of an order management system for UML Object Diagram 

The following diagram is an instance of the system at a particular time of purchase. It has the objects namely Customer, Order, Special, Order and NormalOrder.
Now the customer object (C) is associated with three order objects (O1, O2 and O3). These order objects are associated with special order and normal order objects (S1, S2 and N1). The customer is having the following three orders with different numbers (12, 32 and 40) for the particular time considered.
Now the customer can increase number of orders in future and in that scenario the object diagram will reflect that. If order, special order and normal order objects are observed then we you will find that they are having some values.
For orders the values are 12, 32, and 40 which implies that the objects are having these values for the particular moment (here the particular time when the purchase is made is considered as the moment) when the instance is captured.
The same is for special order and normal order objects which are having number of orders as 20, 30 and 60. If a different time of purchase is considered then these values will change accordingly (UML Process, Sharam Hekmat, PragSoft Corporation, www.pragsoft.com ).

UML Component Diagram
Component diagrams are used to model physical aspects of a system. Physical aspects are the elements like executables, libraries, files and documents.So component diagrams are used to visualize the organization and relationships among components in a system. These diagrams are also used to make executable systems.
For creating a Component diagram the things to remember in particular is to consider the files used in the system to be identified. Libraries and other artifacts should be relevant to the application and relationships among the artifacts should be I dentified clearly. Then work the use of meaningful name to identify the component for which the diagram is to be drawn. Prepare a mental layout before producing using tools and use notes for clarifying important points (tutorialspoint.com)

A Component diagram for an order management system

So the diagram shows the files in the application and their relationships. In actual the component diagram also contains dlls, libraries and folders.
In the following diagram four files are identified and their relationships are produced. Component diagram cannot be matched directly with other UML diagrams in this blog. Because it is drawn for completely different purpose (tutorialspoint.com)

 UML Deployment Diagram
Deployment diagrams are used to visualize the topology of the physical components of a system where the software components are deployed and so as describing the hardware components where software components are deployed. It also controls the “Performance”, “Scalability”, “Maintainability” and “Portability”.
On making a Deplpoyment diagram it better have to idebtify the relationship among the nodes, the monitor, modem, caching server and the server.

An example of a Deployment diagram below

The application is assumed to be a web based application which is deployed in a clustered environment using server 1, server 2 and server 3. The user is connecting to the application using internet. The control is flowing from the caching server to the clustered environment (tutorialspoint.com).

UML Use Case Diagram
The Use Case diagram is dynamic in nature and there should be some internal or external factors in making its interaction. These internal and external agents are known as actors. So use case diagrams are consists of actors, use cases and their relationships. The diagram is used to model the system or subsystem of an application. A single use case diagram captures a particular functionality of a system. The actors can be human user, some internal applications or may be some external applications.
For the creation of Use Case diagram it should have the functionalities to be represented as a use case and relationships among the use cases and actors and identified.

An example of a Use Case representing the order management system

So if we look into the diagram then we will find three use cases (Order, SpecialOrder and NormalOrder) and one actor which is customer.
The SpecialOrder and NormalOrder use cases are extended from Order use case. So they have extends relationship. Another important point is to identify the system boundary which is shown in the picture. The actor Customer lies outside the system as it is an external user of the system (tutorialspoint.com).

UML Interaction Diagram
The UML Interaction diagram is used to describe some type of interactions among the different elements in the model. So this interaction is a part of dynamic behaviour of the system. 
This interactive behaviour is represented in UML by two diagrams known as Sequence diagram and Collaboration diagram. The basic purposes of both the diagrams are similar. Sequence diagram emphasizes on time sequence of messages and collaboration diagram emphasizes on the structural organization of the objects that send and receive messages.  In drawing the Interaction diagram, there are things to be identified likely the object organization then the objects taking part in the interaction. The Message flows among the objects and the sequence in which the messages are flowing.

The Sequence Diagram

The sequence diagram is having four objects (Customer, Order, SpecialOrder and NormalOrder). The diagram has shown the message sequence for SpecialOrder object and the same can be used in case of NormalOrder object. Now it is important to understand the time sequence of message flows. The message flow is nothing but a method call of an object.
The first call is sendOrder which is a method of Order object. The next call is confirm which is a method of SpecialOrder object and the last call is Dispatch which is a method of SpecialOrder object. So here the diagram is mainly describing the method calls from one object to another and this is also the actual scenario when the system is running (tutorialspoint.com).

                The Collaboration Diagram

It shows the object organization as shown. Here in collaboration diagram the method call sequence is indicated by some numbering technique as shown below. The number indicates how the methods are called one after another. We have taken the same order management system to describe the collaboration diagram.
The method calls are similar to that of a sequence diagram. But the difference is that the sequence diagram does not describe the object organization where as the collaboration diagram shows the object organization.
Now to choose between these two diagrams the main emphasis is given on the type of requirement. If the time sequence is important then sequence diagram is used and if organization is required then collaboration diagram is used (tutorialspoint.com).

UML Statechart Diagram
UML Statechart diagram describes different states of a component in a system. The states are specific to a component or object of a system. A Statechart diagram describes a state machine. It can be defined as a machine which defines different states of an object and these states are controlled by external or internal events. As Statechart diagram defines and states used to model lifetime of an object or simply describe the states of different objects in its life cycle.
To clarify the Staechart diagram it should identify the important objects to be analyzed its statesand identify the events.
An example of a Statechart diagram where the state of Order object is analyzed

The first state is an idle state from where the process starts. The next states are arrived for events like send request, confirm request, and dispatch order. These events are responsible for state changes of order object.
During the life cycle of an object (here order object) it goes through the following states and there may be some abnormal exists also. This abnormal exit may occur due to some problem in the system. When the entire life cycle is complete it is considered as the complete transaction as mentioned in this diagram. The initial and final state of an object is also shown here (tutorialspoint.com).

UML Activity Diagram
Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the system. So the control flow is drawn from one operation to another. This flow can be sequential, branched or concurrent. Activity diagrams deals with all type of flow control by using different elements. These additional capabilities include branching, parallel flow and many other capabilties.
An example of an Activity diagram for order management system

The main elements of the Activity diagram here are to send order by the customer, receipt of the order, confirm order, and dispatch order.
After receiving the order request condition checks are performed to check if it is normal or special order. After the type of order is identified dispatch activity is performed and that is marked as the termination of the process.

This concluded the entire related topic that considered in the Unified Modeling Language and hopefully discussed in a proper manner. This is the whole discussion for this weekly blog in MIS (tutorialspoint.com).

Object-Oriented Analysis and Design with UML by Adegboyega Ojo
Elsa Estevez
Design Patterns Application in UML by
Gerson Suny_e, Alain Le Guennec, and Jean-Marc J_ez_equel
IRISA/CNRS, Campus de Beaulieu, F-35042 Rennes Cedex, FRANCE
UML Process by Sharam Hekmat PragSoft Corporation

UML - a tutorial , Ian Graham or Alan Wills +44-161-225 3240; clive@trireme.com
Copyright © MMI – Trireme International Ltd.

UML Tutorial: Part 1 -- Class Diagrams, Robert C. Martin 

Eric Jeffrey Arriola

No comments:

Post a Comment