Thursday, December 3, 2015

What is UML? Briefly explain different UML diagrams.



Unified Modeling Language (UML) is a well accepted language for OOAD. It is used
for visualizing, specifying, constructing, and in final documentation. The basic
building blocks of UML used for OOAD are things, relationships, and diagrams.
Basically, the Unified Modeling Language focuses on the concepts of Booch, OMT,
and Object Oriented Software Engineering (OOSE). The result of these concepts is a
single, common, and widely usable modeling language for users of these and othermethods. The Unified Modeling Language also promotes the concept of what can be
done with existing methods.
Many modern applications are being developed based on object oriented principles
such as classes, methods, and inheritance. To fulfil the needs of such developments,
CASE tools offer many benefits for developers building large-scale systems. CASE
tools enable us to abstract away from the mess of source code, to a level where design
and propose become more clear and easier to understand and modify.
For making and representing these features of the systems to be developed, some tools
are used. These tools support UML features and building blocks. Object modeling
CASE tools provide support for object oriented modeling notations and
methodologies, and they also generate parts of object oriented applications. New
versions of many object oriented CASE tools are beginning to address new languages
such as Java. Many of these object modeling CASE tools also support relational
databases by performing arts of logic, and in some cases, physical database modeling
and design, including schema generation and reverse engineering of RDBMS tables,
and other elements.
Here, we have tried to give a list collected from many sites and individual searches,
for UML modeling tools. Since UML is a fast growing engineering this list may keep
on changing all the time.
Action Semantics: This is a group of firms that have responded to the OMG’s
RFP to define the action semantics for UML.
ArgoUML: This is a domain-oriented design environment that provides cognitive
support of object oriented design. ArgoUML provides some of the same
automation features of a commercial CASE tool.
ARTiSAN Software: This provides a variety of UML based CASE tools,
including a real time modeling tool.
BridgePoint : This provide features of a real time UML modeling tool.
GDPro : this is a full suite of UML and code management tools.
MagicDraw UML: This has Full support for all UML diagrams: MagicDraw
RConverter allows you to convert these UML diagrams into MagicDraw: Activity,
Class, Collaboration, Component, Deployment, Sequence,State chart, Three-tiered,

and Use Case diagrams.
Rational Rose: IBM Rational RequisitePro is a powerful and easy-to-use tool for
requirements and use case management.
Visio 2000 Enterprise: It contains a UML suite that can build diagrams within
Visio.
Visual Paradigm: Visual Paradigm for the Unified Modeling Language
(VP-UML) is a UML CASE suite. The suite of tools is designed for a wide range
of users, including Software Engineers, System Analysts, for building large scale
software systems reliably through the use of the object oriented approach.

What is Object Orientation? Explain the concept of class,objects, instance, generalization, and associations.



In object orientation the major emphasis is on specifying the characteristics of the
objects in a system, rather than implementing these characteristics. The uses of an
object depend highly on the facts of the application and regular changes during
development. As requirements extend, the features supplied by an object are much
more stable than the ways in which they are used, hence software systems built on
object structure are more secure.
While developing a system using the object oriented approach, main emphasis is on
the essential properties of the objects involved in the system than on the procedure
structure to be used for implementation. During this process what an object is, and its
role in system is deeply thought about.
Class : A class is a collection of things, or concepts that have the same characteristics. Each
of these things, or concepts is called an object.
Classes can serve as the foundation for data modeling. In OOM, the term classes is
usually the base from which visual modeling tools−such as Rational Rose XDE,
Visual Paradigm function and design the model of systems.
Attributes are named slots for data values that belong to the class.
Operations represent services that an object can request to affect the behaviour
of the object or the system itself.
The naming convention for classes are as follow:
Class names are simple nouns or noun phrases.
Attribute names in a class are simple nouns or noun phrases. The first word is
not capitalized, but subsequent words may be capital.
Operation names are simple verbs. As with attributes, the first word is not
capitalized and subsequent words may be capital.
Objects : The notation for an object is the same in basic form as that for a class. There are three
differences between the notations, which are:
Within the top section of the class box, the name of the class to which the object
belongs appears after a colon. The object may have a name, which appears
before the colon, or it may be anonymous, in which case nothing appears before
the colon.
The contents of the top compartment are underlined for an object.
Each attribute defined for the given class has a specific value for each object
that belongs to that class.
An instance is a concrete manifestation of an abstraction to which a set of operations
can be applied and which has a state that stores the effect of the operation
Generalization
Generalization and inheritance are powerful abstractions for sharing the structure
and/or behaviour of one or more classes.
Generalization is the relationship between a class, and it defines a hierarchy of
abstraction in which subclasses (one or more) inherit from one or more superclasses.
Generalization and inheritance are transitive across a subjective number of levels in
the hierarchy. Generalization is an “is-a-kind of” relationship, for example, Saving
Account is a kind of Account, PG student is kind of Student, etc.
The notation for generalization is a triangle connecting a super class to its
subclasses. The superclass is connected by a line to the top of the triangle. The
subclasses are connected by lines to a horizontal bar attached to the base of the
triangle. Generalization is a very useful construct for both abstract modeling and
implementation.
Associations are the basic means used for establishing relationships among
objects and classes of the system.