Ujjwalreverseengineeringppptfinal

32
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

Transcript of Ujjwalreverseengineeringppptfinal

Page 1: Ujjwalreverseengineeringppptfinal

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

Page 2: Ujjwalreverseengineeringppptfinal

Abstraction System

Old system New System

Forward EngineeringRe-Implementation

Reverse EngineeringAbstraction

Page 3: Ujjwalreverseengineeringppptfinal

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

Page 4: Ujjwalreverseengineeringppptfinal

4

INTRODUCTION

OBJECTIVE

SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS

USER INTERFACE DESIGN

ASSUMPTIONS

BASIC MODULES

CONSTRAINTS

APPLICATION

FEW RELATED SOFTWARE

ADVANTAGES

FUTURE SCOPE

REFERENCES

Page 5: Ujjwalreverseengineeringppptfinal

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

Page 6: Ujjwalreverseengineeringppptfinal

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.

Page 7: Ujjwalreverseengineeringppptfinal

Software used :

1. Eclipse

Core Java – Functionality Development

Java Swing – UI Development

2. Graphviz

Page 8: Ujjwalreverseengineeringppptfinal

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

Page 9: Ujjwalreverseengineeringppptfinal

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”.

Page 10: Ujjwalreverseengineeringppptfinal

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.

Page 11: Ujjwalreverseengineeringppptfinal

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.

Page 12: Ujjwalreverseengineeringppptfinal
Page 13: Ujjwalreverseengineeringppptfinal

13

BASIC MODULES

Java Source File Selector

UML Generator

Third party Image Generator

Page 14: Ujjwalreverseengineeringppptfinal

Select java source file .

Extract the filename without extension .

Send file name to Java File parser .

Page 15: Ujjwalreverseengineeringppptfinal

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

Page 16: Ujjwalreverseengineeringppptfinal
Page 17: Ujjwalreverseengineeringppptfinal

Picks up the .dot file

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

Returns image file to Image Icon Displayer

Page 18: Ujjwalreverseengineeringppptfinal
Page 19: Ujjwalreverseengineeringppptfinal
Page 20: Ujjwalreverseengineeringppptfinal
Page 21: Ujjwalreverseengineeringppptfinal
Page 22: Ujjwalreverseengineeringppptfinal
Page 23: Ujjwalreverseengineeringppptfinal
Page 24: Ujjwalreverseengineeringppptfinal
Page 25: Ujjwalreverseengineeringppptfinal
Page 26: Ujjwalreverseengineeringppptfinal

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)

Page 27: Ujjwalreverseengineeringppptfinal

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)

Page 28: Ujjwalreverseengineeringppptfinal

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)

Page 29: Ujjwalreverseengineeringppptfinal

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.

Page 30: Ujjwalreverseengineeringppptfinal

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

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

Page 31: Ujjwalreverseengineeringppptfinal

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

Page 32: Ujjwalreverseengineeringppptfinal

THANK YOU