Ujjwalreverseengineeringppptfinal
-
Upload
ujjwalchauhan87 -
Category
Technology
-
view
138 -
download
0
Transcript of Ujjwalreverseengineeringppptfinal
![Page 1: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/2.jpg)
Abstraction System
Old system New System
Forward EngineeringRe-Implementation
Reverse EngineeringAbstraction
![Page 3: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/7.jpg)
Software used :
1. Eclipse
Core Java – Functionality Development
Java Swing – UI Development
2. Graphviz
![Page 8: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/12.jpg)
![Page 13: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/13.jpg)
13
BASIC MODULES
Java Source File Selector
UML Generator
Third party Image Generator
![Page 14: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/14.jpg)
Select java source file .
Extract the filename without extension .
Send file name to Java File parser .
![Page 15: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/16.jpg)
![Page 17: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/18.jpg)
![Page 19: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/19.jpg)
![Page 20: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/20.jpg)
![Page 21: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/21.jpg)
![Page 22: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/22.jpg)
![Page 23: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/23.jpg)
![Page 24: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/24.jpg)
![Page 25: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/25.jpg)
![Page 26: Ujjwalreverseengineeringppptfinal](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/26.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/27.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/28.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/29.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/30.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/31.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060201/559a02391a28abbd5c8b457a/html5/thumbnails/32.jpg)
THANK YOU