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
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 activity diagram.
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, state 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 deployment diagram .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 Use Case Diagram Object Diagram Sequence Diagram Component Diagram Collaboration Diagram
Deployment Diagram State-Chart Diagram
Activity Diagram
Fig 3: Basic Categories of UML Diagrams
STRUCTURAL DIAGRAMS CLASS DIAGRAM
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