Tuesday, 29 January 2019

Fundamentals Of UML

Introuction
Unified Modeling Language (UML)is a standardized modeling language enabling developers to specify, visualize, construct and document artifacts of a software system.UML is an important aspect involved in object-oriented software development. It uses graphic notation to create visual models of software systems.

History
UML was created by the Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997. It was initially started to capture the behavior of complex software and non-software system and now it has become an OMG standard Goals of UML

Features
·         Be independent of particular programming languages and development processes.
·         Provide a formal basis for understanding the modeling language.
·         Encourage the growth of the OO tools market.
·         Support higher-level development concepts such as collaborations, frameworks, patterns and components.


Types
·         Class Diagram. Class diagrams are the most common diagrams used in UML. ...
·         Object Diagram. Object diagrams can be described as an instance of class diagram.
·         Component Diagram. ...
·         Deployment Diagram. ...
·         Use Case Diagram. ...
·         Sequence Diagram. ...
·         Collaboration Diagram. ...
·         State chart Diagram

UML - Building Blocks
The building blocks of UML can be defined as −
  • Things
  • Relationships
  • Diagrams
Things
Things are the most important building blocks of UML. Things can be −
  • Structural
  • Behavioral
  • Grouping
  • Annotational
Structural Things
Structural things define the static part of the model. They represent the physical and conceptual elements. Following are the brief descriptions of the structural things.
Class − Class represents a set of objects having similar responsibilities.

Interface − Interface defines a set of operations, which specify the responsibility of a class.

Collaboration −Collaboration defines an interaction between elements.

Use case −Use case represents a set of actions performed by a system for a specific goal.

Component −Component describes the physical part of a system.

Node − A node can be defined as a physical element that exists at run time.

Behavioral Things
A behavioral thing consists of the dynamic parts of UML models. Following are the behavioral things −
Interaction − Interaction is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task.
State machine − State machine is useful when the state of an object in its life cycle is important. It defines the sequence of states an object goes through in response to events. Events are external factors responsible for state change
Grouping Things
Grouping things can be defined as a mechanism to group elements of a UML model together. There is only one grouping thing available −
Package − Package is the only one grouping thing available for gathering structural and behavioral things.
Annotational Things
Annotational things can be defined as a mechanism to capture remarks, descriptions, and comments of UML model elements. 
Relationship
Relationship is another most important building block of UML. It shows how the elements are associated with each other and this association describes the functionality of an application.
There are four kinds of relationships available.
Dependency
Dependency is a relationship between two things in which change in one element also affects the other.

Association
Association is basically a set of links that connects the elements of a UML model. It also describes how many objects are taking part in that relationship.

Generalization
Generalization can be defined as a relationship which connects a specialized element with a generalized element. It basically describes the inheritance relationship in the world of objects.

Realization
Realization can be defined as a relationship in which two elements are connected. One element describes some responsibility, which is not implemented and the other one implements them. This relationship exists in case of interfaces.

Types of UML Diagrams
UML includes the following nine diagrams and they are
·         Class Diagram. Class diagrams are the most common diagrams used in UML. ...
·         Object Diagram. Object diagrams can be described as an instance of class diagram.
·         Component Diagram. ...
·         Deployment Diagram. ...
·         Use Case Diagram. ...
·         Sequence Diagram. ...
·         Collaboration Diagram. ...
·         State Chart Diagram. ...

State chart DiagramUML - Architecture
Any real-world system is used by different users. The users can be developers, testers, business people, analysts, and many more. Hence, before designing a system, the architecture is made with different perspectives in mind. The most important part is to visualize the system from the perspective of different viewers. The better we understand the better we can build the system.
UML plays an important role in defining different perspectives of a system. These perspectives are −
  • Design
  • Implementation
  • Process
  • Deployment
The center is the Use Case view which connects all these four. A Use Case represents the functionality of the system. Hence, other perspectives are connected with use case.
Design of a system consists of classes, interfaces, and collaboration. UML provides class diagram, object diagram to support this.
Implementation defines the components assembled together to make a complete physical system. UML component diagram is used to support the implementation perspective.
Process defines the flow of the system. Hence, the same elements as used in Design are also used to support this perspective.
Deployment represents the physical nodes of the system that forms the hardware. UML deployment diagram is used to support this perspective.


UML tools
UML tools are software applications which support some functions of the unified modeling language.

Example:

1)Edraw Max
 It is a 2D business technical diagramming software which help create flowcharts, organizational charts, mind map, network diagrams, floor plans, workflow diagrams, business charts, and engineering diagrams.

The current version, Edraw Max 9.3 was released on October 22, 2018 for Microsoft Windows, macOS, and Linux. 

Edraw Max saves content in an xml file format. The .edx suffix is the default file format. The .edxz suffix is a compressed xml file format used for sharing.
Versions
Product/Version
Release Date
License
Platform
Language
Edraw Max 9
2017-9-26
Shareware
Windows, Mac, Linux
English, French, German, Spanish, Japanese, Chinese(Simplified)
Edraw Max 8
2016-4-9
Shareware
Windows, Mac, Linux
English, French, German, Spanish, Japanese, Chinese(Simplified)
Edraw Max 7
2013-11-18
Shareware
Windows
English, German, Chinese(Simplified)
Edraw Max 6
2011-08-08
Shareware
Windows
English(Simplified)
Edraw Max 5
2009-10-15
Shareware
Windows
English
Edraw Max 4
2008-06-01
Shareware
Windows
English
Edraw Max 3
2004-07-11
Shareware
Windows
English, German, French

2) Dia 
It is free and open source general-purpose diagramming software, developed originally by Alexander Larsson. Dia uses a controlled single document interface(SDI) similar to GIMP and Inkscape. 
Dia was originally created by Alexander Larsson but he moved on to work on GNOME and other projects. James Henstridge then took over as the lead developer, but he also moved on to other projects. He was followed by Cyrille Chepelov and Lars Ræder Clausen in turn.
Dia is maintained by a group of developers: Hans Breuer, Steffen Macke, and Sameer Sahasrabuddhe.
Dia is written in C, and has an extension system, which also supports writing extensions in Python.
Dia loads and saves diagrams in a custom XML format which is, by default,zipped to save space.
Dia has a modular design with several shape packages available for different needs: flowchartnetwork diagramscircuit diagrams, and more. It does not restrict symbols and connectors from various categories from being placed together.
Dia has special objects to help draw entity-relationship models , Unified Modeling Language (UML) diagrams, flowcharts, network diagrams, and simple electrical circuits. It is also possible to add support for new shapes by writing simple XML files, using a subset of Scalable Vector Graphics (SVG) to draw the shape.
Dia can export diagrams to various formats including the following:
·         EPS (Encapsulated PostScript)
·         SVG (Scalable Vector Graphics)
·         DXF (AutoCAD’s Drawing Interchange format)
·         CGM (Computer Graphics Metafile defined by ISO standards)
·         WMF (Windows Meta File)
·         PNG (Portable Network Graphics)
·         JPEG (Joint Photographic Experts Group)
·         VDX (Microsoft's XML for Visio Drawing)


Some Important Points of UML:
 UML stands for Unified Modeling Language.It is different from the other common programming languages such as C++,Java, COBOL, etc. It is a pictorial language used to make software blueprints.It can be described as a general purpose visual modeling language to visualize, specify, construct, and document software system.
     
Note:UML is not a programming language but tools can be used to generate code in various languages using UML diagrams. UML has a direct relation with object oriented analysis and design. After some standardization, UML has become an OMG standard.

1 comment:

  1. You don't realize how quickly technology is changing. Data science is highly technical and is therefore in high demand. A career in data science will open up many lucrative job opportunities. So, if you have been wanting to start your career in Data Science, now is the best time to enroll in a data science program with one of the best data science training institute in noida.

    ReplyDelete

Global Infrastructure and its components in AWS

You may operate your workloads wherever and however you choose with the AWS Global Infrastructure, and you'll use the same network, cont...