SlideShare a Scribd company logo
1 of 58
UMLAND SOFTWARE
MODELING TOOLS
Presented by
Obioma, Nwabueze N.
Unified Modeling Language (UML) is an industry standard
modeling language with a rich graphical notation, and
comprehensive set of diagrams and elements.
A standard language of creating visual models of business
processes and functionality, interpreting user activities and
client requirements of a software intensive system before
any actual implementation in code.
It’s a useful in specifying, visualizing, constructing and
documenting software systems in software development
methods.
What is UML?
o A major reason for constructing a UML diagram is to manage
complexity that is found in developing large software projects.
o UML models can be used to capture all the software development
processes of analysis, specification, code generation, design and
testing. So each model will capture all the decisions made in each
process.
o So UML not only documents the results but also is used to arrive at the
results themselves
o UML is not a development method, but is designed to compatible with
object oriented software development methods.
Why do we need UML?
UML diagrams of a system can be represented using
its:
Structural View:
Which places an emphasis on the static structure of the
system using objects, attributes, operations and relationships.
Behavioral View:
Which emphasizes the dynamic behavior of the system
by showing collaborations among objects and changes to the
internal states of objects.
UML Diagram Categories
UML Categories
 Class diagram: describes the structure of a system
by showing the system's classes, their attributes, and
the relationships among the classes.
 Component diagram: describes how a software
system is split up into components and shows the
dependencies among these components.
 Composite structure diagram: describes the internal
structure of a class and the collaborations that this
structure makes possible.
Structural View Overview
 Deployment Diagram: describes the hardware used in system
implementations and the execution environments and artifacts
deployed on the hardware.
 Object Diagram: shows a complete or partial view of the structure
of an example modeled system at a specific time.
 Package Diagram: describes how a system is split up into logical
groupings by showing the dependencies among these groupings.
 Profile diagram: operates at the metamodel level to show
stereotypes as classes with the <<stereotype>> stereotype, and
profiles as packages with the <<profile>> stereotype. The
extension relation (solid line with closed, filled arrowhead)
indicates what metamodel element a given stereotype is extending.
Structural Views Cont.…
Behavioral View Overview
 Activity Diagram: describes the business and operational step-
by-step workflows of components in a system. An activity
diagram shows the overall flow of control.
 UML State Machine diagram: describes the states and state
transitions of the system.
 Use Case Diagram: describes the functionality provided by a
system in terms of actors, their goals represented as use cases,
and any dependencies among those use cases.
Behavioral View Cont.…
The Following are sub categories of Behavioral views
know as Interaction UML
 Communication diagram : shows the interactions between objects or parts
in terms of sequenced messages. They represent a combination of
information taken from Class, Sequence, and Use Case
Diagrams describing both the static structure and dynamic behavior of a
system.
 Interaction overview diagram: provides an overview in which the nodes
represent communication diagrams.
 Sequence diagram: shows how objects communicate with each other in
terms of a sequence of messages. Also indicates the lifespans of objects
relative to those messages.
 Timing diagrams: a specific type of interaction diagram where the focus is
on timing constraints.
UML is a very broad subject and for this
presentation we will discuss,
1. The Behavioral View of a Job Application
System using:
 Activity Diagram
 Use Case Diagram
2. The Structural View using ,
 Class Diagram
 Component Diagram
Activity Diagram
Activity diagram describes
the flow control from one
activity to another.
These diagrams are used
to model high level view
of business requirements.
It is also used to construct
the executable system by
using forward and reverse
engineering techniques
Things to know before Drawing an
Activity Diagram
 we must have a clear understanding about the
elements used in an activity diagram
 The following should be identified before drawing an
activity diagram
 Activities
 Association
 Conditions
 Constraints
 An activity is a function performed by the system
 After identifying the activities we need to understand
how they are associated with constraints and
conditions
Use Case Diagram
Use case diagram is used to capture the dynamic nature of a
system. It consists of use cases, actors and their relationships.
Use case diagram is used at a high level design to capture the
requirements of a system. So it represents the system
functionalities and their flow.
Things to Know Before Drawing a
Use Case Diagram
 Functional Requirements of the system and its
components.
 Identify external and internal factors influencing the
system.
 Interaction among the requirements are actors.
 The actors can be a human user, some internal applications
or may be some external applications.
 Functional requirement to be represented as an use case
 Relationships among the use cases and actors.
 Component diagrams are used to show the structural relationships
between the components of a system.
 Components are represented as a rectangular classifier with the
keyword «component»; optionally the component may be displayed as
a rectangle with a component icon in the right-hand upper corner.
Component Diagram
Component Diagram Cont..
 In UML 2, components are considered autonomous, encapsulated units
within a system or subsystem that provide one or more interfaces (An
interface is a collection of operations that are used to specify a service
of a component).
 The interfaces provided represent the formal contract of services the
component provides to its consumers/clients. So a component
encapsulates behavior and implements interfaces.
Component
Interface
Relationship
The assembly connector bridges a component’s required interface (Job
Application portal) with the provided interface of another component (User
Applicant); this allows one component to provide the services that another
component requires.
Connectors and Ports
Provided Interface Required Interface
Using Ports with component diagrams allows for a service or behavior to
be specified to its environment as well as a service or behavior that a
component requires. Ports may specify inputs and outputs as they can
operate bi-directionally.
Sample Component Diagram
Job Application System
Component
Diagram Representation
Class Diagram
 Class diagrams model static class relationships that represent the
fundamental architecture of the system.
 A class diagram consists of the following features:
 Classes: These titled boxes represent the classes in the system and
contain information about the name of the class, fields, methods and
access specifiers.
 `
Abstract roles of the class in the system can also be indicated.
 Interfaces: These titled boxes represent interfaces in the system and
contain information about the name of the interface and its methods.
Class Diagram Relationships
Association
A structural link between two peer classes. There is an
association between UserRoles and HR_User
Other forms of Association are:
Composition:
A composition models the notion of one object "owning"
another and thus being responsible for the creation and destruction
of another object.
Aggregation:. An aggregation models the notion that one object
uses another object without "owning" it and thus is not responsible
for its creation or destruction.
Generalization
The Generalization relationship ("is a") indicates that one of the two
related classes (the subclass) is considered to be a specialized form of
the other (the super type) and superclass is considered as
'Generalization' of subclass.
The generalization relationship is also known as the inheritance or "is
a" relationship. The super class(base class) in the generalization
relationship is also known as the "parent", superclass, base class,
or base type.
Super class is Person with
Sub classes Applicants and
HR_Users
Class Responsibilities
Knowing
a. knowing about private encapsulated data
b. knowing about related objects
c. knowing about things it can derive or calculate
Doing
a. doing something itself, such as creating an object
or doing
Calculation
a. initiating action in other objects
b. controlling and coordinating activities in other
objects
Class Diagram Cont.…
Job Application
System
Class Diagram
Representation
ERD Data Model
Entity Relationship Diagram
Entity Relationship Diagrams (ERDs) is a data model that identifies
the concepts or entities that exist in a system and the relationships between
those entities. An ERD is often used as a way to visualize a relational
database: each entity represents a database table, and the relationship lines
represent the keys in one table that point to specific records in related
tables.
ERDs may also be more abstract, not necessarily capturing every
table needed within a database, but serving to diagram the major concepts
and relationships. So it can be used in the database design process for an e-
resource management system, but does not identify every table that would be
necessary for an electronic resource management database
Note that ERD are data models and are not UML model diagrams, though
some modeling tools use the representation of the data model to generate
Class Diagrams and other UML diagrams.
Understanding the Model
Entities
An entity might be considered a container that holds all of the
instances of a particular thing in a system. Entities are equivalent
to database tables in a relational database, with each row of the
table representing an instance of that entity.
The diagram has an entity for “LoginDetails” This
indicates that the system being modeled may contain one or
more LoginDetails. The table representation is shown
below, showing each attribute as a column
Understanding The ERD Cont.…
Relationships
Relationships are represented by lines between entities.
Relationship lines indicate that each instance of an entity may have
a relationship with instances of the connected entity, and vice versa.
The diagram above infers that there is a relationship between Applicant
and ScannedDocument. So an Applicant has zero or more
ScannedDocument(s) or ScannedDocument has an Applicant
ERD Relationship Cont.….
Recursive Relationships
Instances of entities may have relationships with other instances
of the same entity. These relationships may be drawn with
relationship lines that begin and end connected to the same
entity. Common occurrences of these recursive relationships
include User/Friend relationships for a social networking site:
The diagram indicates that a user may be the
friend of zero or many users, and that a user
may have zero or one friend. (Not every
user’s friend will be recorded in the system,
so the relationship is modeled as optional).
ERD Relationships
Multiple Relationships Between Entities
An entity may have multiple relationships with another entity. In
the sample ERD section shown below a HR_User can have one or
more UserRoles and a UserRole can be assigned to zero or more
HR_Users. So a mapper entity is used “HR_User_UserRoles” is
used to map the multiple relationship between the entities
Understanding The ERD Cont.…
Optionality and Cardinality
Symbols at the ends of the relationship lines indicate the optionality
and the cardinality of each relationship. “Optionality” expresses
whether the relationship is optional or mandatory. “Cardinality”
expresses the maximum number of relationships.
Where the end of a relationship line meets an entity two symbols
will appear. The first of those is the optionality indicator.
 A circle (  ) indicates that the relationship is optional—the
minimum number of relationships between each instance of the
first entity and instances of the related entity is zero.
 A stroke ( | ) indicates that the relationship is mandatory—the
minimum number of relationships between each instance of the
first entity and instances of the related entity is one.
Understanding The ERD Cont.…
The second symbol indicates cardinality.
 A stroke ( | ) indicates that the maximum number of
relationships is one.
 A “crows-foot” ( ) indicates that many such relationships
between instances of the related entities might exist.
All Possible Combinations of two entities
Each instance of A is related to
zero or more instances of B
Each instance of C is related to a
maximum of one instance of D
Each instance of E is related to one
or more instances of F
Each instance of G is related to
zero or one instance of H
ERD Data Model
Job Application
System
ERD
Representation
Modeling Tools
UML modeling tool is a software application that
is used in the creation and editing of diagrams
associated with some or all of the notation and
semantics of the Unified Modeling Language
(UML).
UML Modeling tools are useful tools in Software
Engineering, Application Analysis and
Development and Testing using various functions
as shown in the next slides.
What is a
UML Modeling Tool?
Code Generation
 UML diagrams which have some connoted model
data can be used by a UML tool to derive from the
part or all of the source code in the any of the major
programming languages for a software system.
 In some tools the user can provide a skeleton of the
program source code, in the form of a source
code template, where predefined tokens are then
replaced with program source code parts during the
code generation process.
Some UML tools can read program source code or the
database schema as input and derive a model data and
its corresponding graphical UML diagrams from it.
This is useful in situations where a graphical description
of an inherited software application is required where
only the database or the source code is available
Reverse Code Generation
 UML diagrams can be used to design object relation
models which can be used as input to generate
databases schema for major relational database
managements systems such as MySQL, MS SQL
Server, Oracle, PostgresSQL, DB2 etc.
 The database schema can be reverse engineered to
build other UML graphical models and source code of
the software system
Database Generation
 UML diagrams are model-driven
architecture initiative that have the capacity to
transform a model into another model.
 An example is to transform a platform-independent
domain model into a Java or PHP5 platform-specific
model for implementation. It is also possible to
refactor UML models to produce more concise and
well-formed UML models
Model Transformation
Some UML Tools
UML Tool Code
(Languages)Generated
Reverse
Engineered
Language
Can be Integrated
with
Software
License
Development
Programming
Language
BOUML C++, Java, PHP, IDL, Python C++, Java, PHP Commercial
from Ver. 5.0
C++/Qt
Visual Paradigm for
UML
Java, C#, C++, PHP, Ada,
Action Script (all only in
commercial version)
Java, C# (binary),
C++, PHP (all only
in commercial
version)
Eclipse, NetBeans
and IntelliJ
Free Community
version,
Commercial
Version
Java
Enterprise Architect
ActionScript, C, C#, C++,
Delphi, Java, PHP, Python,
Visual Basic, Visual Basic
.NET, DDL, EJB, XML
Schema, Ada, VHDL,
Verilog, WSDL, BPEL, Corba
IDL
ActionScript, C,
C#, C++, Delphi,
Java, PHP, Python,
Visual Basic, Visual
Basic .NET, DDL,
XML Schema,
WSDL
Eclipse, Visual
Studio, TcSE
Commercial C, C++, C#, Java, PHP,
Delphi, VB,
Actionscript
Magic Draw UML Java, C++, C#, CIL, CORBA
IDL, DDL, EJB, XML
Schema, WSDL
Java, C++, C#, CIL,
CORBA IDL, DDL,
EJB, XML Schema,
WSDL
Eclipse, EMF,
NetBeans
Commercial Java
Rational
Rhapsody(IBM)
C++, C, Java, Ada, C#,
Corba, Customizable for
other languages
C++, C, Java, Ada,
C#, Customizable
for other
languages
Visual Studio,
Eclipse, TcSE,
WindRiver, Green
Hills, Qnx, Linux,
Commercial C++
Umbrello UML
Modeller
C++, Java, Perl, PHP,
Python
C++, IDL,
Pascal/Delphi,
Ada, Python, Java;
import XMI,
RoseMDL
KDE
General Public
Licnese
C++, KDE
Sample Database/Code Generation
Using Visual Paradigm
Visual Paradigm for UML (VP-UML) is a powerful, cross-platform
and yet the most easy-to-use visual UML modeling and CASE tool.
It provides software developers the cutting edge development
platform to build quality applications faster, better and cheaper
What Visual Paradigm for UML
provides.
Visual Paradigm Editions
 Enterprise Edition
 Professional Edition
 Standard Edition
 Modeler Edition
 Community Edition
Available Features
Requirement Modeling Database Modeling(ERD)
Business Process Modeling Object Relational Mapping(ORM)
Team Collaboration Document Generation
UML diagrams available in VP-UML include:
Class Diagram Use Case Diagram
Sequence Diagram Communication Diagram
State Machine Diagram Activity Diagram
Component Diagram Deployment Diagram
Package Diagram Object Diagram
Composite Structure Diagram Timing Diagram
Interaction Overview Diagram
For the sample code and database generation I am using Visual
Paradigm’s Smart Development Environment plug in for
NetBeans/Sun™ ONE Enterprise Edition.
(Go to http://www.visual-paradigm.com/resource/netbeans-plugin.jsp for more information)
A. Using the Job Application Entity Relationship Diagram data
model previously shown we can generate a database for any of
the database options:
 MySQL
 MS SQL Server
 PostgresSQL
 Sybase
 Informix
 DB2 etc.
For this presentation , a MySQL Database schema will be
generated
B. Using the Job Application Class Diagram, code can be
generated in any of the following languages
Java
PHP
C# etc.
For this presentation PHP class files will be generated.
Note that code generated contains no logic or any application
process flow, but object classes that a direct representation of the
class object diagrams. So you still have develop the logic of your
application.
Starting up the SDE for NetBeans, the database selected
has to be configured to enable a successful database
generation
DATABASE CONFIGURATION
Browse to the location of
the database adapter file
Select the Adapter Driver
Data Source Name Details
of the Database
Test the database
configuration
Save the
configuration
Right Clicking in the Class Diagram View, navigate to the ORM
option and select Wizards..
Note: VP SDE provides other ways to generate database and code. Select any
Of the options you find convenient.
Select the Language to generate to
Select the option to
generate from class
diagram
Click on Next
Select the classes that you
want to be persistable
(i.e. Tables generated )
Click on Next
Edit the names of the
Table or Class to be
generated
The attribute names,
column names of the Class
and Table respectively of
the currently selected
options above. These fields
are also editable .
Click on Next
Select option of creating,
update, drop and create or
drop database
Check to generate DDL
file for the database
Update Database
Settings as
appropriate
Test Connection
Click on Next
Browse to location where
the Class files will be
generated to.
Select if the code’s
programming interface
Name of the directory
source
Click on Finish
Viewed using HeidiSQL 7.0
Generated Database Structure
Generate PHP Code
To Generate PHP Class codes select the instant Generator
from the Modeling menu option and select PHP.
Browse to location
where you want to
generate the location
Select Class
Diagram to
generate code from
Click to preview
structure of generated
codes
Generate PHP
Code
PHP Class files
Generated
Classes been
generated
Generated Classes
QUESTIONS?
www.wikipedia.org
http://www.visual-paradigm.com/
http://www.ibm.com/developerworks/rational/library
http://www.mu.ac.in/Object Oriented Modeling and
Design using UML
References

More Related Content

What's hot

Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)Hirra Sultan
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologiesAmith Tiwari
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram Rahul Pola
 
Unified modeling language diagrams
Unified modeling language diagramsUnified modeling language diagrams
Unified modeling language diagramsAlaa Ahmed
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral ModelingAMITJain879
 
Uml with detail
Uml with detailUml with detail
Uml with detailHamza Khan
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural ModelingAMITJain879
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)Manoj Reddy
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UMLAjit Nayak
 

What's hot (20)

Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Unified modeling language diagrams
Unified modeling language diagramsUnified modeling language diagrams
Unified modeling language diagrams
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
 
Uml with detail
Uml with detailUml with detail
Uml with detail
 
Uml
UmlUml
Uml
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural Modeling
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
 
Cs8592 ooad unit 3
Cs8592 ooad unit 3Cs8592 ooad unit 3
Cs8592 ooad unit 3
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 

Viewers also liked

Using modeling tools data profiling powerdesigner data solutions de spirlet
Using modeling tools  data profiling powerdesigner data solutions de spirletUsing modeling tools  data profiling powerdesigner data solutions de spirlet
Using modeling tools data profiling powerdesigner data solutions de spirletThierry de Spirlet
 
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Mohammad Karim Shahbaz
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering pptshruths2890
 
Friendbook a semantic based friend recommendation system for social networks
Friendbook a semantic based friend recommendation system for social networksFriendbook a semantic based friend recommendation system for social networks
Friendbook a semantic based friend recommendation system for social networksPapitha Velumani
 
Manual de bouml
Manual de boumlManual de bouml
Manual de boumlULEAM
 
Software Engineering Ontology and Software Testing
Software Engineering Ontology and Software Testing�Software Engineering Ontology and Software Testing�
Software Engineering Ontology and Software TestingKamal Patel
 
Information Architech and DWH with PowerDesigner
Information Architech and DWH with PowerDesignerInformation Architech and DWH with PowerDesigner
Information Architech and DWH with PowerDesignerSybase Türkiye
 
11 diagrama de clases en bouml
11 diagrama de clases en bouml11 diagrama de clases en bouml
11 diagrama de clases en boumlMauricio Alarcon
 
Data Acquisition for Sentiment Analysis
Data Acquisition for Sentiment AnalysisData Acquisition for Sentiment Analysis
Data Acquisition for Sentiment AnalysisAli BELCAID
 
Sybase PowerDesigner Vs Erwin
Sybase PowerDesigner Vs ErwinSybase PowerDesigner Vs Erwin
Sybase PowerDesigner Vs ErwinSybase Türkiye
 
Kelompok 8 rapid application development (rad)
Kelompok 8   rapid application development (rad)Kelompok 8   rapid application development (rad)
Kelompok 8 rapid application development (rad)Yudha Arif Budiman
 
UML-test Application for Automated Validation of Students’ UML Class Diagram
UML-test Application for Automated Validation of Students’ UML Class DiagramUML-test Application for Automated Validation of Students’ UML Class Diagram
UML-test Application for Automated Validation of Students’ UML Class DiagramPremek Brada
 
Living With Legacy Code
Living With Legacy CodeLiving With Legacy Code
Living With Legacy CodeRowan Merewood
 
Interaksi Manusia dan Komputer
Interaksi Manusia dan KomputerInteraksi Manusia dan Komputer
Interaksi Manusia dan KomputerDian Rojib
 
Rapid Application Development Simplified
Rapid Application Development SimplifiedRapid Application Development Simplified
Rapid Application Development SimplifiedSanjay Patel
 
Chatbots - The Business Opportunity
Chatbots - The Business OpportunityChatbots - The Business Opportunity
Chatbots - The Business OpportunityAlexandros Ivos
 

Viewers also liked (20)

Using modeling tools data profiling powerdesigner data solutions de spirlet
Using modeling tools  data profiling powerdesigner data solutions de spirletUsing modeling tools  data profiling powerdesigner data solutions de spirlet
Using modeling tools data profiling powerdesigner data solutions de spirlet
 
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Friendbook a semantic based friend recommendation system for social networks
Friendbook a semantic based friend recommendation system for social networksFriendbook a semantic based friend recommendation system for social networks
Friendbook a semantic based friend recommendation system for social networks
 
Manual de bouml
Manual de boumlManual de bouml
Manual de bouml
 
Data Modelling
Data ModellingData Modelling
Data Modelling
 
Software Engineering Ontology and Software Testing
Software Engineering Ontology and Software Testing�Software Engineering Ontology and Software Testing�
Software Engineering Ontology and Software Testing
 
Information Architech and DWH with PowerDesigner
Information Architech and DWH with PowerDesignerInformation Architech and DWH with PowerDesigner
Information Architech and DWH with PowerDesigner
 
11 diagrama de clases en bouml
11 diagrama de clases en bouml11 diagrama de clases en bouml
11 diagrama de clases en bouml
 
Data Acquisition for Sentiment Analysis
Data Acquisition for Sentiment AnalysisData Acquisition for Sentiment Analysis
Data Acquisition for Sentiment Analysis
 
Sybase PowerDesigner Vs Erwin
Sybase PowerDesigner Vs ErwinSybase PowerDesigner Vs Erwin
Sybase PowerDesigner Vs Erwin
 
Kelompok 8 rapid application development (rad)
Kelompok 8   rapid application development (rad)Kelompok 8   rapid application development (rad)
Kelompok 8 rapid application development (rad)
 
UML-test Application for Automated Validation of Students’ UML Class Diagram
UML-test Application for Automated Validation of Students’ UML Class DiagramUML-test Application for Automated Validation of Students’ UML Class Diagram
UML-test Application for Automated Validation of Students’ UML Class Diagram
 
Deployement diagram
Deployement diagramDeployement diagram
Deployement diagram
 
Living With Legacy Code
Living With Legacy CodeLiving With Legacy Code
Living With Legacy Code
 
Interaksi Manusia dan Komputer
Interaksi Manusia dan KomputerInteraksi Manusia dan Komputer
Interaksi Manusia dan Komputer
 
Rapid Application Development Simplified
Rapid Application Development SimplifiedRapid Application Development Simplified
Rapid Application Development Simplified
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Chatbots - The Business Opportunity
Chatbots - The Business OpportunityChatbots - The Business Opportunity
Chatbots - The Business Opportunity
 

Similar to UML and Software Modeling Tools.pptx

Similar to UML and Software Modeling Tools.pptx (20)

Uml
UmlUml
Uml
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
Modeling software architecture with uml
Modeling software architecture with umlModeling software architecture with uml
Modeling software architecture with uml
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
 
432
432432
432
 
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture i
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
UML Design
UML DesignUML Design
UML Design
 
Module 2 17CS45
Module 2 17CS45Module 2 17CS45
Module 2 17CS45
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
 
UML
UMLUML
UML
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
UML (Unified Modeling Language)
UML (Unified Modeling Language)UML (Unified Modeling Language)
UML (Unified Modeling Language)
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
Se lec5
Se lec5Se lec5
Se lec5
 
System Modeling
System ModelingSystem Modeling
System Modeling
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

UML and Software Modeling Tools.pptx

  • 2. Unified Modeling Language (UML) is an industry standard modeling language with a rich graphical notation, and comprehensive set of diagrams and elements. A standard language of creating visual models of business processes and functionality, interpreting user activities and client requirements of a software intensive system before any actual implementation in code. It’s a useful in specifying, visualizing, constructing and documenting software systems in software development methods. What is UML?
  • 3. o A major reason for constructing a UML diagram is to manage complexity that is found in developing large software projects. o UML models can be used to capture all the software development processes of analysis, specification, code generation, design and testing. So each model will capture all the decisions made in each process. o So UML not only documents the results but also is used to arrive at the results themselves o UML is not a development method, but is designed to compatible with object oriented software development methods. Why do we need UML?
  • 4. UML diagrams of a system can be represented using its: Structural View: Which places an emphasis on the static structure of the system using objects, attributes, operations and relationships. Behavioral View: Which emphasizes the dynamic behavior of the system by showing collaborations among objects and changes to the internal states of objects. UML Diagram Categories
  • 6.  Class diagram: describes the structure of a system by showing the system's classes, their attributes, and the relationships among the classes.  Component diagram: describes how a software system is split up into components and shows the dependencies among these components.  Composite structure diagram: describes the internal structure of a class and the collaborations that this structure makes possible. Structural View Overview
  • 7.  Deployment Diagram: describes the hardware used in system implementations and the execution environments and artifacts deployed on the hardware.  Object Diagram: shows a complete or partial view of the structure of an example modeled system at a specific time.  Package Diagram: describes how a system is split up into logical groupings by showing the dependencies among these groupings.  Profile diagram: operates at the metamodel level to show stereotypes as classes with the <<stereotype>> stereotype, and profiles as packages with the <<profile>> stereotype. The extension relation (solid line with closed, filled arrowhead) indicates what metamodel element a given stereotype is extending. Structural Views Cont.…
  • 8. Behavioral View Overview  Activity Diagram: describes the business and operational step- by-step workflows of components in a system. An activity diagram shows the overall flow of control.  UML State Machine diagram: describes the states and state transitions of the system.  Use Case Diagram: describes the functionality provided by a system in terms of actors, their goals represented as use cases, and any dependencies among those use cases.
  • 9. Behavioral View Cont.… The Following are sub categories of Behavioral views know as Interaction UML  Communication diagram : shows the interactions between objects or parts in terms of sequenced messages. They represent a combination of information taken from Class, Sequence, and Use Case Diagrams describing both the static structure and dynamic behavior of a system.  Interaction overview diagram: provides an overview in which the nodes represent communication diagrams.  Sequence diagram: shows how objects communicate with each other in terms of a sequence of messages. Also indicates the lifespans of objects relative to those messages.  Timing diagrams: a specific type of interaction diagram where the focus is on timing constraints.
  • 10. UML is a very broad subject and for this presentation we will discuss, 1. The Behavioral View of a Job Application System using:  Activity Diagram  Use Case Diagram 2. The Structural View using ,  Class Diagram  Component Diagram
  • 11. Activity Diagram Activity diagram describes the flow control from one activity to another. These diagrams are used to model high level view of business requirements. It is also used to construct the executable system by using forward and reverse engineering techniques
  • 12. Things to know before Drawing an Activity Diagram  we must have a clear understanding about the elements used in an activity diagram  The following should be identified before drawing an activity diagram  Activities  Association  Conditions  Constraints  An activity is a function performed by the system  After identifying the activities we need to understand how they are associated with constraints and conditions
  • 13. Use Case Diagram Use case diagram is used to capture the dynamic nature of a system. It consists of use cases, actors and their relationships. Use case diagram is used at a high level design to capture the requirements of a system. So it represents the system functionalities and their flow.
  • 14. Things to Know Before Drawing a Use Case Diagram  Functional Requirements of the system and its components.  Identify external and internal factors influencing the system.  Interaction among the requirements are actors.  The actors can be a human user, some internal applications or may be some external applications.  Functional requirement to be represented as an use case  Relationships among the use cases and actors.
  • 15.  Component diagrams are used to show the structural relationships between the components of a system.  Components are represented as a rectangular classifier with the keyword «component»; optionally the component may be displayed as a rectangle with a component icon in the right-hand upper corner. Component Diagram
  • 16. Component Diagram Cont..  In UML 2, components are considered autonomous, encapsulated units within a system or subsystem that provide one or more interfaces (An interface is a collection of operations that are used to specify a service of a component).  The interfaces provided represent the formal contract of services the component provides to its consumers/clients. So a component encapsulates behavior and implements interfaces. Component Interface Relationship
  • 17. The assembly connector bridges a component’s required interface (Job Application portal) with the provided interface of another component (User Applicant); this allows one component to provide the services that another component requires. Connectors and Ports Provided Interface Required Interface Using Ports with component diagrams allows for a service or behavior to be specified to its environment as well as a service or behavior that a component requires. Ports may specify inputs and outputs as they can operate bi-directionally.
  • 18. Sample Component Diagram Job Application System Component Diagram Representation
  • 19. Class Diagram  Class diagrams model static class relationships that represent the fundamental architecture of the system.  A class diagram consists of the following features:  Classes: These titled boxes represent the classes in the system and contain information about the name of the class, fields, methods and access specifiers.  ` Abstract roles of the class in the system can also be indicated.  Interfaces: These titled boxes represent interfaces in the system and contain information about the name of the interface and its methods.
  • 20. Class Diagram Relationships Association A structural link between two peer classes. There is an association between UserRoles and HR_User Other forms of Association are: Composition: A composition models the notion of one object "owning" another and thus being responsible for the creation and destruction of another object. Aggregation:. An aggregation models the notion that one object uses another object without "owning" it and thus is not responsible for its creation or destruction.
  • 21. Generalization The Generalization relationship ("is a") indicates that one of the two related classes (the subclass) is considered to be a specialized form of the other (the super type) and superclass is considered as 'Generalization' of subclass. The generalization relationship is also known as the inheritance or "is a" relationship. The super class(base class) in the generalization relationship is also known as the "parent", superclass, base class, or base type. Super class is Person with Sub classes Applicants and HR_Users
  • 22. Class Responsibilities Knowing a. knowing about private encapsulated data b. knowing about related objects c. knowing about things it can derive or calculate Doing a. doing something itself, such as creating an object or doing Calculation a. initiating action in other objects b. controlling and coordinating activities in other objects
  • 23. Class Diagram Cont.… Job Application System Class Diagram Representation
  • 25. Entity Relationship Diagram Entity Relationship Diagrams (ERDs) is a data model that identifies the concepts or entities that exist in a system and the relationships between those entities. An ERD is often used as a way to visualize a relational database: each entity represents a database table, and the relationship lines represent the keys in one table that point to specific records in related tables. ERDs may also be more abstract, not necessarily capturing every table needed within a database, but serving to diagram the major concepts and relationships. So it can be used in the database design process for an e- resource management system, but does not identify every table that would be necessary for an electronic resource management database Note that ERD are data models and are not UML model diagrams, though some modeling tools use the representation of the data model to generate Class Diagrams and other UML diagrams.
  • 26. Understanding the Model Entities An entity might be considered a container that holds all of the instances of a particular thing in a system. Entities are equivalent to database tables in a relational database, with each row of the table representing an instance of that entity. The diagram has an entity for “LoginDetails” This indicates that the system being modeled may contain one or more LoginDetails. The table representation is shown below, showing each attribute as a column
  • 27. Understanding The ERD Cont.… Relationships Relationships are represented by lines between entities. Relationship lines indicate that each instance of an entity may have a relationship with instances of the connected entity, and vice versa. The diagram above infers that there is a relationship between Applicant and ScannedDocument. So an Applicant has zero or more ScannedDocument(s) or ScannedDocument has an Applicant
  • 28. ERD Relationship Cont.…. Recursive Relationships Instances of entities may have relationships with other instances of the same entity. These relationships may be drawn with relationship lines that begin and end connected to the same entity. Common occurrences of these recursive relationships include User/Friend relationships for a social networking site: The diagram indicates that a user may be the friend of zero or many users, and that a user may have zero or one friend. (Not every user’s friend will be recorded in the system, so the relationship is modeled as optional).
  • 29. ERD Relationships Multiple Relationships Between Entities An entity may have multiple relationships with another entity. In the sample ERD section shown below a HR_User can have one or more UserRoles and a UserRole can be assigned to zero or more HR_Users. So a mapper entity is used “HR_User_UserRoles” is used to map the multiple relationship between the entities
  • 30. Understanding The ERD Cont.… Optionality and Cardinality Symbols at the ends of the relationship lines indicate the optionality and the cardinality of each relationship. “Optionality” expresses whether the relationship is optional or mandatory. “Cardinality” expresses the maximum number of relationships. Where the end of a relationship line meets an entity two symbols will appear. The first of those is the optionality indicator.  A circle (  ) indicates that the relationship is optional—the minimum number of relationships between each instance of the first entity and instances of the related entity is zero.  A stroke ( | ) indicates that the relationship is mandatory—the minimum number of relationships between each instance of the first entity and instances of the related entity is one.
  • 31. Understanding The ERD Cont.… The second symbol indicates cardinality.  A stroke ( | ) indicates that the maximum number of relationships is one.  A “crows-foot” ( ) indicates that many such relationships between instances of the related entities might exist. All Possible Combinations of two entities Each instance of A is related to zero or more instances of B Each instance of C is related to a maximum of one instance of D Each instance of E is related to one or more instances of F Each instance of G is related to zero or one instance of H
  • 32. ERD Data Model Job Application System ERD Representation
  • 34. UML modeling tool is a software application that is used in the creation and editing of diagrams associated with some or all of the notation and semantics of the Unified Modeling Language (UML). UML Modeling tools are useful tools in Software Engineering, Application Analysis and Development and Testing using various functions as shown in the next slides. What is a UML Modeling Tool?
  • 35. Code Generation  UML diagrams which have some connoted model data can be used by a UML tool to derive from the part or all of the source code in the any of the major programming languages for a software system.  In some tools the user can provide a skeleton of the program source code, in the form of a source code template, where predefined tokens are then replaced with program source code parts during the code generation process.
  • 36. Some UML tools can read program source code or the database schema as input and derive a model data and its corresponding graphical UML diagrams from it. This is useful in situations where a graphical description of an inherited software application is required where only the database or the source code is available Reverse Code Generation
  • 37.  UML diagrams can be used to design object relation models which can be used as input to generate databases schema for major relational database managements systems such as MySQL, MS SQL Server, Oracle, PostgresSQL, DB2 etc.  The database schema can be reverse engineered to build other UML graphical models and source code of the software system Database Generation
  • 38.  UML diagrams are model-driven architecture initiative that have the capacity to transform a model into another model.  An example is to transform a platform-independent domain model into a Java or PHP5 platform-specific model for implementation. It is also possible to refactor UML models to produce more concise and well-formed UML models Model Transformation
  • 39. Some UML Tools UML Tool Code (Languages)Generated Reverse Engineered Language Can be Integrated with Software License Development Programming Language BOUML C++, Java, PHP, IDL, Python C++, Java, PHP Commercial from Ver. 5.0 C++/Qt Visual Paradigm for UML Java, C#, C++, PHP, Ada, Action Script (all only in commercial version) Java, C# (binary), C++, PHP (all only in commercial version) Eclipse, NetBeans and IntelliJ Free Community version, Commercial Version Java Enterprise Architect ActionScript, C, C#, C++, Delphi, Java, PHP, Python, Visual Basic, Visual Basic .NET, DDL, EJB, XML Schema, Ada, VHDL, Verilog, WSDL, BPEL, Corba IDL ActionScript, C, C#, C++, Delphi, Java, PHP, Python, Visual Basic, Visual Basic .NET, DDL, XML Schema, WSDL Eclipse, Visual Studio, TcSE Commercial C, C++, C#, Java, PHP, Delphi, VB, Actionscript Magic Draw UML Java, C++, C#, CIL, CORBA IDL, DDL, EJB, XML Schema, WSDL Java, C++, C#, CIL, CORBA IDL, DDL, EJB, XML Schema, WSDL Eclipse, EMF, NetBeans Commercial Java Rational Rhapsody(IBM) C++, C, Java, Ada, C#, Corba, Customizable for other languages C++, C, Java, Ada, C#, Customizable for other languages Visual Studio, Eclipse, TcSE, WindRiver, Green Hills, Qnx, Linux, Commercial C++ Umbrello UML Modeller C++, Java, Perl, PHP, Python C++, IDL, Pascal/Delphi, Ada, Python, Java; import XMI, RoseMDL KDE General Public Licnese C++, KDE
  • 41. Visual Paradigm for UML (VP-UML) is a powerful, cross-platform and yet the most easy-to-use visual UML modeling and CASE tool. It provides software developers the cutting edge development platform to build quality applications faster, better and cheaper What Visual Paradigm for UML provides. Visual Paradigm Editions  Enterprise Edition  Professional Edition  Standard Edition  Modeler Edition  Community Edition
  • 42. Available Features Requirement Modeling Database Modeling(ERD) Business Process Modeling Object Relational Mapping(ORM) Team Collaboration Document Generation UML diagrams available in VP-UML include: Class Diagram Use Case Diagram Sequence Diagram Communication Diagram State Machine Diagram Activity Diagram Component Diagram Deployment Diagram Package Diagram Object Diagram Composite Structure Diagram Timing Diagram Interaction Overview Diagram
  • 43. For the sample code and database generation I am using Visual Paradigm’s Smart Development Environment plug in for NetBeans/Sun™ ONE Enterprise Edition. (Go to http://www.visual-paradigm.com/resource/netbeans-plugin.jsp for more information) A. Using the Job Application Entity Relationship Diagram data model previously shown we can generate a database for any of the database options:  MySQL  MS SQL Server  PostgresSQL  Sybase  Informix  DB2 etc. For this presentation , a MySQL Database schema will be generated
  • 44. B. Using the Job Application Class Diagram, code can be generated in any of the following languages Java PHP C# etc. For this presentation PHP class files will be generated. Note that code generated contains no logic or any application process flow, but object classes that a direct representation of the class object diagrams. So you still have develop the logic of your application.
  • 45. Starting up the SDE for NetBeans, the database selected has to be configured to enable a successful database generation DATABASE CONFIGURATION Browse to the location of the database adapter file Select the Adapter Driver Data Source Name Details of the Database Test the database configuration Save the configuration
  • 46. Right Clicking in the Class Diagram View, navigate to the ORM option and select Wizards.. Note: VP SDE provides other ways to generate database and code. Select any Of the options you find convenient.
  • 47. Select the Language to generate to Select the option to generate from class diagram Click on Next
  • 48. Select the classes that you want to be persistable (i.e. Tables generated ) Click on Next
  • 49. Edit the names of the Table or Class to be generated The attribute names, column names of the Class and Table respectively of the currently selected options above. These fields are also editable . Click on Next
  • 50. Select option of creating, update, drop and create or drop database Check to generate DDL file for the database Update Database Settings as appropriate Test Connection Click on Next
  • 51. Browse to location where the Class files will be generated to. Select if the code’s programming interface Name of the directory source Click on Finish
  • 52. Viewed using HeidiSQL 7.0 Generated Database Structure
  • 53. Generate PHP Code To Generate PHP Class codes select the instant Generator from the Modeling menu option and select PHP.
  • 54. Browse to location where you want to generate the location Select Class Diagram to generate code from Click to preview structure of generated codes Generate PHP Code