Ujjwalreverseengineeringppptfinal

Preview:

Citation preview

1

Under the guidance of: Presented by:

Prof. Milind Gaikwad Kundan Kumar [Exam No- 828318]

Kumar Sourabh [Exam No- 828297]

Ujjwal Kumar Singh [Exam No- 828289]

Project On

Abstraction System

Old system New System

Forward EngineeringRe-Implementation

Reverse EngineeringAbstraction

RE encompasses any activity that is done to

determine how a product works, to learn the

ideas and technology that were used in

developing that product.

RE can be done at many levels

RE generally belongs to Software Maintenance

4

INTRODUCTION

OBJECTIVE

SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS

USER INTERFACE DESIGN

ASSUMPTIONS

BASIC MODULES

CONSTRAINTS

APPLICATION

FEW RELATED SOFTWARE

ADVANTAGES

FUTURE SCOPE

REFERENCES

5

INTRODUCTION

Reverse engineering is the way used togenerate the model from developed modules,files. In this, using concept of reverseengineering we have decided to reverseengineer the java source files and generatethe UML class diagrams from it which willhelpful to understand model used in javasource code.

Programming Language used – JAVA

IDE - Eclipse

Reverse engineer java source files into UML Class Diagrams.

Class diagrams will include the displaying member data, member functions, visibility of member data and member functions along with relationships between two or many classes.

The relationship includes composition, aggregation, association, generalization and dependency. It also displays the inheritance and implements relationships.

Software used :

1. Eclipse

Core Java – Functionality Development

Java Swing – UI Development

2. Graphviz

1. Pentium IV Processor or above

2. 256 MB RAM

3. 10 GB HDD

Operating System :

1. Window 98

2. Window 2000

3. Window XP

4. UNIX / LINUX

The class diagram shows the static structures of the system.

A class is depicted on the class diagram as a rectangle with three horizontal sections The upper section shows the “class name” the middle section contains the “class attributes” and the lower section contains “class methods”.

The UML class diagram can serve as the basicblueprint for developing software systems, andtransform to Java classes easily.

A class diagram can be used to display logicalclasses, which are typically the kinds of thingsthe business people in an organization talk about

Class diagrams can also be used to showimplementation classes, which are the thingsthat programmers typically deal with.

The Doclet tools.jar should be added in the software.

The graphviz image graph generation tool should be installed on computer else the image will not create.

Eclipse should use the correct java version, it should not use old java version.

The java source files should use tags mentioned.

13

BASIC MODULES

Java Source File Selector

UML Generator

Third party Image Generator

Select java source file .

Extract the filename without extension .

Send file name to Java File parser .

Java parser parses file using Java Doclet tool, Pattern and Matcher java classes

Class Identifier identifies class name

Visibility Detector detects visibility

Relationship Finder finds relationship between related classes

Picks up the .dot file

Converts .dot file to image like .gif, .png, .jpg etc.

Returns image file to Image Icon Displayer

The class diagrams allows you to model:

1. classes (specified as Java classes)

2. active classes, components, nodes, use cases,collaborations, and packages (specified as Javaclasses with an @opt shape tag)

3. attributes (specified as Java class fields)

4. operations (specified as Java class methods)

tagged values (using the @tagvalue name value tag)

implementation relationships (specified using the Java implements declaration)

generalization relationships (specified using the Java “extends” declaration or (for multipleinheritance)the javadoc @extends tag)

association relationships (specified using the javadoc @assoc tag)

aggregation relationships (specified using the javadoc @has tag)

composition relationships (specified using the javadoc @composed tag)

dependency relationships (specified using the javadoc @depend tag)

1. Used to create design from java project in IT Firms,Educational Institutes.

2. By some modification can be used for C++ project inIT Firms, Educational institutes.

3. Used to reverse engineer any big product and aftercreating design again go for same productdevelopment and doing some enhancements. Theproduct can be changed and can be createdcompetitive to old products.

1. In future we can go for other UML Diagrams likesequence diagrams, collaboration diagrams.

2. Upgrade to create design of any java, C++ project.

31

REFERENCES

1. www.google.com2. www.eclipse.org3. www.argouml.com4. www.ibm.com5. www.sun.com6. www.graphviz.org7. http://en.wikipedia.org/wiki/Class_diagram

THANK YOU