International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954 A STUDY ON UNIFIED MODELLING LANGUAGE AND ITS ARCHITECTURE

Shikha Verma

[email protected]

ABSTRACT

In this paper basic architecture of UML (i.e. UNIFIED MODELLING LANGUAGE) along with its applications and various diagrams that come under two basic categories of UML has been studied. Software architecture is not only concerned with the structure and behavior but also with usage, functionality, performance, reuse .The details of this architecture is being covered in this paper. Key words: UML, Use case view, Design view, Interaction view, Implementation view, Deployment view, Structural Diagrams, Behavioral diagrams.

INTRODUCTION UML stands for UNIFIED MODELLING LANGUAGE. It was developed by Grady Booch, James Rambaugh and War Jacobson at Rational software. It is a modeling language for visualizing, specifying, constructing and documenting the artifacts of software systems.

VISUALIZING SPECIFICATION

CONSTRUCTION DOCUMENTATION

Fig 1:UML Universe

Some of the crucial applications of UML include the following :-

 Enterprise informatiom system  Banking and financial services

R S. Publication, [email protected] Page 297

International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954

 Telecommunications  Transportations  Defense/Aerospace  Retail  Scientific  Distributed web based services

ARCHITECTURE OF UML

CONFIG VOCABULARY DESIGN VIEW IMPLEMENTATION MANAGEMENT FUNCTIONALITY VIEW

USE CASE VIEW SYSTEM VOCABULARY TOPOLOGY Performance FUNCTIONALITY INTERACTION VIEW Scalability DEPLOYMENT VIEW DELIVERY INSTALLATION

VOCABULARY

FUNCTIONALITY Fig 2: Architecture of UML

Architecture is the set of significant decisions about the organization of the software system. The selection of the structural elements and their interfaces by which the system is composed. Their behavior as specified in the collaborations among those elements .The composition of their structures and behavior elements into progressively larger subsystem. The architectural style that guides this organization the static and dynamic elements and their interfaces, their collaborations and their compositions

R S. Publication, [email protected] Page 298

International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954

Use case view It encompasses the use cases that describe the behavior of the system as seen by their end users, analyst and testers. This view doesn’t really specific the organization of the system. It exists to specify the forces that shape the systems architecture .With the UML static aspects of this view are captured in use case diagrams. Dynamic aspects by interaction diagrams, state diagrams and activity diagrams

Design view It encompasses the classes, interfaces and collaboration that form the vocabulary of the problem and its solution. It supports the functional requirements of the system meaning the services that the system should provide to its end users. Static aspects are captures by UML, class diagrams, and object diagrams. Dynamic aspects are captured bin interaction diagram, state and .

Interaction view It shows the flow of control among its various parts including concurrency and synchronization mechanism. It primarily addresses the performance, scalability, and throughput of the system. With UML,the static and dynamic expect of this view are captured in the same kind of diagrams as for the design view but with a focus on active class that control the system and the messages that flow between them.

Implementation view It encompasses the artifacts that are used to assemble and release the physical system. It addresses the configuration management of the system’s release made up of somewhat independent files that can be accessed in various ways to produce running systems. It is also concerned with the mapping of the logical classes and components to the physical artifacts. Static aspects are covered by artifact diagrams, dynamic aspects are covered by interaction diagram, , and activity diagram. Deployment view It encompasses the nodes that form the system’s hardware topology on which the system executes Deployment view primarily addresses the distribution, delivery, installation of the parts that make up the physical system Static aspects are covered by .Dynamic aspects of deployment view are captured using interaction, state and activity diagram.

There are two broad categories of diagrams and then are again divided into sub-categories:

 Structural Diagrams

R S. Publication, [email protected] Page 299

International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954

 Behavioral Diagrams

UML DIAGRAMS

STRUCTURAL DIAGRAMS BEHAVIORAL DIAGRAMS

Class Diagram Collaboration Diagram

Deployment Diagram State-Chart Diagram

Activity Diagram

Fig 3: Basic Categories of UML Diagrams

STRUCTURAL DIAGRAMS

 It Consist of classes, interfaces, associations, collaborations.  Represent the object oriented view of a system which is static in nature.  Active class is used to represent concurrency of the system.  It is used to implement for development purpose. Fig 4: Class Diagram

R S. Publication, [email protected] Page 300

International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954

OBJECT DIAGRAM

Fig 5: Object Diagram

 It is an instance of a class diagram.  It is more close to real life scenarios where we implement a system.  It is used to build prototype of a system from practical perspective.

COMPONENT DIAGRAM

 It represents a set of components and their relationships.  These components consist of classes, interfaces or collaborations.  Represents the implementation view of the system.  During design phase software artifacts of a system are arranged in different groups depending upon their relationship these groups are known as components.  It is used to visualize the implementation. Fig 6: Component Diagram

R S. Publication, [email protected] Page 301

International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954

DEPLOYMENT DIAGRAM

 They are a set of nodes and their relationships .these nodes are physical entities where components are deployed.  It is used for visualizing deployment view of a system.  Deployment diagram is generally used by the deployment team.

Fig 7: Deployment Diagram

BEHAVIOURAL DIAGRAM USE CASE DIAGRAMS

 Set of use cases, actors and their relationships.  Represents use case view of a system.  Represents a particular functionality of a system.  Describes the relationship among the functionality of a system.  Also their internal and external controllers that are the actors.

Fig 8:Use Case Diagram

R S. Publication, [email protected] Page 302

International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954

SEQUENCE DIAGRAMS

Fig 9: Sequence Diagram

 It is an interaction diagram.  It deals with sequences of messages flowing from one object to another.  Interaction among the components of a system is important from implementation point of view and execution perspective.  It is used to visualize the sequence of calls in a system to perform a specific functionality.

COLLABORATION DIAGRAMS

 It is also a form of interaction diagram.  It represents the structural organization of a system and the messages sent / received.  It consists of objects and links.  It visualizes the organization of objects and their interactions.

Fig 10:Collaboration Diagram

R S. Publication, [email protected] Page 303

International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954

STATE CHART DIAGRAM

 Any real time system is expected to be reacted by some kind of internal / external events.  These events are responsible for state change of the system.  It represents the event driven state change of a system.  Also it describes the state change of a class, interface, etc.  It is used to visualize the reaction of a system by internal/external factors.

Fig 11:State chart Diagram

ACTIVITY DIAGRAM

The activity diagram is suitable for modeling the activity flow of the system. An application can have multiple systems. Activity diagram also captures these systems and describes flow from one system to another. This specific usage is not available in other diagrams. These systems can be database, external queues or any other system.

 It describes the flow of control in a system.  It consists of activities and links. Fig 12:Activity Diagram

 Flow can be sequential, concurrent or branched these are the functions of the system.  Number of activity diagrams is prepared to capture the flow of a system.  It visualizes the flow of control in a system.  It is prepared to have an idea of how the system will work when executed.

R S. Publication, [email protected] Page 304

International Journal of Advanced Scientific and Technical Research Issue 4 volume 2, March-April 2014 Available online on http://www.rspublication.com/ijst/index.html ISSN 2249-9954

CONCLUSION

Any real world system is used by different users. The users can be developers, testers, business people, analysts and many more. So before designing a system the architecture is made with different perspectives in mind. The most important part is to visualize the system from different viewer’s perspective. The better we understand the better we make the system.UML plays an important role in defining different perspectives of a system and UML diagrams are prepared to understand a system in better and simple way.

REFERENCE

[1] The Unified Modeling Language Reference Manual, 2/E by Rumbaugh

[2] The Unified Modeling Language User Guide by Booch

[3] http://www.nyu.edu/classes/jcf/g22.2440-001_sp06/handouts/UMLBasics.pdf

R S. Publication, [email protected] Page 305