SlideShare una empresa de Scribd logo
1 de 8
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013
DOI : 10.5121/ijsea.2013.4302 21
Distributed Graphical User Interfaces to Class
Diagram: Reverse Engineering Approach using
Pattern Recognition
Akram Abdel Qader1
, Khaled Musa2
[1][2]
Faculty of Science and Information Technology,
Al-Zaytoonah University of Jordan
1
Akrama@zuj.edu.jo , 2
Dr.khalid@zuj.edu.jo
ABSTRACT
The graphical user interfaces of software programs are used by researchers in the soft-ware engineering
field to measure functionality, usability, durability, accessibility, and performance. This paper describes a
reverse engineering approach to transform the cap-tured images of the distributed GUIs into class
diagram. The processed distributed GUIs come from different and separate client computers. From the
distributed GUIs, the inter-faces are captured as images, attributes and functions are extracted and
processed through pattern recognitions mechanism to be stored into several temporary tables
corresponding to each client’s graphical user interface. These tables will be analyzed and processed into
one integrated normalized table eliminating any attribute redundancies. Further, the normalized the one
integrated table is to create a class diagram.
KEYWORDS
Reverse Engineering, Graphical User Interfaces (GUIs), Pattern Recognition, Optical Character
Recognition (OCR), Unified Modeling Language (UML), Class Diagram.
1. INTRODUCTION
Software re-engineering is the examination analysis, and alteration of an existing software system
to recreate it in a new form. Software re-engineering is reorganising and modifying existing
software systems to make them more maintainable [1]. The reversed engineering approach of the
software re-engineering process is used to identify the system’s components and their
interrelationships to create representations of the system in another form of its design and
specification [2].
The reverse engineering technique is widely used to reconstruct or recover design systems [13].
The reverse engineering is reconstruction or decomposing existing code, analyze it to start the
redesign process through the use of UML notations where the class diagram is drawn to clarify
the new system process flow.
In this paper, the reverse engineering approach is used to construct the UML class diagram from
the distributed Graphical User Interfaces (GUIs) [11]. Agarwal ans Sinha [3] perceived that the
class diagram and interaction diagram is an easy, and user friendly notations. Te,eni et al [4]
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013
22
affirms that over fifty three percent of software projects uses class diagrams. The implementation
of a class diagram is in direct relation with most object oriented programming languages such as
Visual Basic.Net, Java, and other languages, where each class diagram construct an interface or
code class.
The process of transformation a GUI into class diagram was proposed using petri nets models [5].
In this paper a reverse engineering approach is used to transform distributed GUIs into class
diagram through the use of OCR, temporary tables, and the normalization.
This paper is organized into four sections: section 2 discusses the related concepts used in the
process, section 3 describes the proposed approach, section 4 is the conclusion, and the section 5
discusses suggested potential future work.
2. RELATED CONCEPTS
This section introduces the related concepts used in this paper that contributes to the addressed
reverse engineering approach. The concepts used are the Optical Character Recognition (OCR)
and Class diagram.
2.1 Pattern Recognition
Pattern Recognition is the classification, which attempts to assign each input value to one of a
given set of classes such as determining whether a given email is "spam" or "non-spam". Pattern
recognition algorithms generally aim to provide a reasonable solution for all possible GUI inputs,
and a "fuzzy" matching of inputs is done. This is compared using pattern matching algorithms,
which look for the matches of the inputs with the pre-existing patterns. The results of pattern
recognition comparison is very accurate due to the set of algorithms that matches the scanned
inputs to the existing set of characteristics to determine what type of object it is [6].
2.2 Optical Character Recognition (OCR)
Optical Character Recognition (OCR) is an external device that uses software to analyze and
electronically translate scanned images to recognize scanned images of handwritten, typewritten
or printed text into machine-encoded text [6].
The new OCR engines add the multiple algorithms of neural network technology to analyze the
stroke edge, the line of discontinuity between the text characters, and the background elements.
Allowing for irregularities of printed ink on paper, to be matched with a known characters and
makes a best guess to which characters they belong [12].
The OCR approach used is to capture the attributes that are located within the GUI labels,
textboxes, and its functions such as buttons.
2.3 Class Diagrams
The class diagram used in the object oriented software design is a static structure diagram and is a
type of the Unified Modeling Language (UML). The class diagram notations describe the
structure of a system by showing the system's classes, and their attributes, operations or methods,
and the relationships among the classes [7].
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013
23
The UML design class diagram illustrates software class definitions with simple attributes and
methods [14]. Class diagrams model class structure and contents using design elements such as
classes, attributes and functions or operations. The class diagram in Figure 1 illustrates the
common components of class name, class attributes, and class operations.
Customer
Name : String
Address : String
CreditRating()
Figure 1. Class Diagram
The class diagram demonstrates the characteristics of an interface and its class name such as
Customer, the attributes used within the interface such as Name and Address, along with the
operation constituted in the interface such as checking the customer CreditRating. The class
diagram of a software application is comprised of classes and a diagram depicting the relationship
between each of these classes.
3. PROPOSED APPROACH
The reverse engineering approach is discussed in this paper is capturing and collecting from each
client graphical interface over a network. These collected GUIs are to be transformed into to a
class diagram following the below process, figure 2, and will be discussed thoroughly in later
sections.
Figure 2. Reverse Engineering Process GUIs to Class Diagram
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013
24
3.1 Capturing Method
Using pattern recognition methodology is to be used in capturing the GUI of each client on the
network on the distributed systems. The pattern recognition capturing mechanism addressed in
figure 3, is to distinguish table names, fields, and functions for each client graphical user
interface.
Figure 3. Capturing Methodology
Capturing elements from all graphical user interfaces is done by looking for any related items on
each client graphical user interface as in figure 4, samples of GUIs.
Capturing Methodology
For each client in the network
Scan the image form and contribute the
following
For each form title  define table name
For each label then space then text 
define attribute name (field1)
For each label then space  define
table name or function name (after
scanning in key functions table)
For each labels or buttons  define
function name after scanning in key
functions table
For each Tab scan table names if not
found  add table name
For each form build new record in
captable (capturing table) (row data)
ForEnd
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013
25
Figure 4. Samples of GUIs
Hence, capturing is recognized. Captured images to extract captured table names, fields, and
functions using capturing analysis methodology applying a set of rules to all interfaces are done.
The captured images will follow a set of rules regulated in a predefined operation table (Oprtable)
to be able to match the different operations or functions to specific operation.
The Oprtable consists of predefined data for all functions and attributes in the graphical user
interfaces, figure 5, where several operations will be justified by a common operation or function
such as (Save, Add, Submit, New, Insert, Create ) which will be replaced with (Save) and etc.
Figure 5. Operation Table (Optable)
Comparing functions in all images in the client graphical user interfaces with the attributes in the
images through recognition pattern mechanism will create a Captable that includes all functions
and attributes captured from all distributed graphical user interfaces. The capturing images are
analyzed using the below analysis methodology, figure 6, to create the Captable and normalized
table (Normtable).
Table name
Label, space,
text  field
Buttons function
Oprtable
Operation Operation Name
Save, Add, Submit, New, Insert, Create Save
Delete, Cancel, Erase Delete
Update, Modify, Change Update
Search, Find, Explore, Navigate, Select, Read, Print Search
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013
26
Figure 5: Predefined Operation table (Oprtable)
Figure 6. Analysis Methodology to create Capturing Table (Captable)
When analysis is complete, a client temporary capturing table (Captable) is created for each client
graphical user interface to store class attributes and their functions, figure 7.
The capturing table (Captable) for each client will contain all elements captured from each client
graphical user interface.
Figure 7. Capturing Table (Captable)
Analysis methodology
Scan all record in captable and normalize the tables as the following steps
1- Create new table names as normtable with the following fields
(table name,field1,field2, field3,….. fieldn, function1, function2,…,functionn,
relation, relation table)
2- Start from the first record in captable compare with normtable
Scan for table name
if not found add new record
Scan for fields
If not found()
Scan functionkey()
If not functionkey()
Add fields to that table
Else
Add function to that table
Endif
Else
Return table name
Add relation field to that table
Endif
Else
Return table name
Add relation to that table for different table name in (normtable and captable)
Endif
3- If not end of table goto step 3
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013
27
3. GENERATE A CLASS DIAGRAM
The created captable that corresponds to the scanned GUIs is to be combined and integrated into
one integrated table normalized table to aid the reverse engineering system process.
On the integrated normalized table, normalization process will be set to generate a normalized
database (Normtable), figure 8. The normalized database (Normtable) will consist of several
relations each with its own attributes. Based on the normalized relations, a UML Class diagram
notations are created. From the created Captable, a normalized table will be created (Normtable)
to eliminate any redundancies captured in the Captable. While the Captable process flows to
normalization, the functions are compared to the operations located in the Oprtable to eliminate
any redundancies. The normalized table will be created with all attributes by eliminating
redundancies.
The attributes will be matched to specific operation or function located in the portable to create
class diagram which contains attributes and their functions or operations. The process flow that
will allocate a finalized class diagram is addressed below in figure 6. The process flow starts with
opening the Captable, opening the Norrmtable, and using the portable. Following the logic of the
process flow will create the class diagram in the allocated system tables that contains system
attributes and their functions or operations. Each Class consists of attributes and operations or
functions where each corresponds to the previous normalized database relations attributes.
Figure 8. Normalized Table (Normtable)
4. CONCLUSION
The proposed graphical user interfaces of software programs are used by researchers in the
software engineering field to measure functionality, usability, durability, accessibility, and
performance. This paper proposed a reverse engineering approach to transform the captured
images of the distributed clients GUIs into class diagram. From the distributed GUIs, the
interfaces are captured as an image, and attributes are extracted and processed through pattern
recognitions to be stored into several temporary tables called “Captable” corresponding to each
client graphical user interface. These tables will be analyzed and processed into one integrated
normalized table called “Normtable” eliminating any attribute redundancies. Further, the
normalized integrated table will assist in creation of class diagram.
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013
28
5. FUTURE WORK
A future work can be done by rebuilding a successful relational database from normalized table
and class diagrams to create an application forms in any programming language that are
normalized and verified from the proposed process.
REFERENCES
[1] S. Ian, Software Engineering, 8th edition. Addison Wesley, New York, NY, USA, 2007.
[2] L. Chih-wei, C. William, C. Chih-hung, C. Yeh-ching, L. xiaodong, Y. hongji, Reverse Engineering,
Department of Computer science, De Montfort University, Leicester, England.
[3] R. Agarwal, and A. Sinha, "Object Oriented Modeling wuith UML: A Study of developers'
Perceptions", Communication of the ACM Vol.46, No.9, 2003, pp.87-294.
[4] D. Te'eni, R. Gelbard, M. Sade, Increasing the Benefit of Analysis: The Case of systems Shat support
Communication, in Proceedings of the 11th International Conference of the Associations Information
and Management (AIM'06), June 8-9, 006, pp. 13-27.
[5] M. Mohammad, A. Rafa, A. Belkacem, From Graphical User Interface To Domain Class Diagram: A
Reverse Engineering Approach. Journal of Theoretical and Applied Information Technology, 2011.
[6] B. Kumar, Optical Pattern Recognition, Prentice hall, USA, 2003.
[7] R. Mills, K. Hamilton, Learnning UML 2.0, 1st edition, O’Rielly Media, USA, 2006. [2].H. Tran, U.
Zdun, and S. Dustdar, View-Based Reverse Engineering Approach for Enhancing Model
Interoperability and Reusability in Process-Driven SOAs, in Proceedings of the International
Conference on Software Reuse (ICSR’08), Beijing, China, May 25-29, 2008, pp.233-244
[8] Ranorex, Web Testing, online: http://www.ranorex.com/support/user-guide-20/web-testing.html,
visited on April 22, 2009.
[9] Bright-Hub, Sniffing Data with Ettercap for Linux and Windows,
online:http://www.brighthub.com/computing/smb-security/articles/35545.aspx, visited on April 22,
2009.
[10] QFS, Facts & Features, online: http://www.qfs.de/en/qftest/, visited on April 23, 2009.
[11] J. Pu, H. Yang, B. Xu, L. Xu, and W. C. Chu,Combining MDE and UML to Reverse Engineer Web-
Based Legacy Systems, in Proceedings of the 32nd Annual IEEE International Computer on Software
and Applications (COMPSAC’08), Turku, Finland, July 28 - August 1, 2008, pp. 718-725.
[12] B. Kumar, Optical Pattern Recognition, Prentice-Hall, USA, 2003.
[13] H. El Bouhissi, M. Malki, and D. Bouchiha, A Reverse Engineering Approach for the Web Service
Modeling Ontology Specifications, in Proceedings of the 2nd International Conference on Sensor
Technologies and Applications (SENSORCOMM’08), Cap Esterel, France, August 25-31, 2008, pp.
819-823.
[14] M. H. Alalfi, J. R. Cordy, and T. R. Dean, Automated Reverse Engineering of UML Sequence
Diagrams for Dynamic Web Applications, in Proceedings of the International Conference on
Software Testing, Verifica tion and Validation (ICSTW’09), Denver, CO, USA, April 1-4, 2009, pp.
287-294.

Más contenido relacionado

La actualidad más candente

UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and ViewsKumar
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UMLRandy Connolly
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesijfcstjournal
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageIsmail El Gayar
 
A&D - Object Oriented Analysis using UML
A&D - Object Oriented Analysis using UMLA&D - Object Oriented Analysis using UML
A&D - Object Oriented Analysis using UMLvinay arora
 
UML and Case study
UML and Case study UML and Case study
UML and Case study Mihika-QA
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml OverviewDang Tuan
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...Aman Mishra
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notationsTaher Barodawala
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
UML Diagrams For Online Course Portal
UML Diagrams For Online Course PortalUML Diagrams For Online Course Portal
UML Diagrams For Online Course PortalHarieHaren GV
 
CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV pkaviya
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14Niit Care
 
Extending UML State Diagrams to Model Agent Mobility
Extending UML State Diagrams to Model Agent MobilityExtending UML State Diagrams to Model Agent Mobility
Extending UML State Diagrams to Model Agent MobilityIDES Editor
 
Book of Uml
Book of UmlBook of Uml
Book of UmlNiit
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling IntroductionDang Tuan
 

La actualidad más candente (19)

UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UML
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural styles
 
Modeling software architecture with uml
Modeling software architecture with umlModeling software architecture with uml
Modeling software architecture with uml
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling language
 
A&D - Object Oriented Analysis using UML
A&D - Object Oriented Analysis using UMLA&D - Object Oriented Analysis using UML
A&D - Object Oriented Analysis using UML
 
UML and Case study
UML and Case study UML and Case study
UML and Case study
 
Ch08
Ch08Ch08
Ch08
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notations
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
UML Diagrams For Online Course Portal
UML Diagrams For Online Course PortalUML Diagrams For Online Course Portal
UML Diagrams For Online Course Portal
 
CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14
 
Extending UML State Diagrams to Model Agent Mobility
Extending UML State Diagrams to Model Agent MobilityExtending UML State Diagrams to Model Agent Mobility
Extending UML State Diagrams to Model Agent Mobility
 
Book of Uml
Book of UmlBook of Uml
Book of Uml
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
 

Destacado

EA-MDA MODEL TO RESOLVE IS CHARACTERISTIC PROBLEMS IN EDUCATIONAL INSTITUTIONS
EA-MDA MODEL TO RESOLVE IS CHARACTERISTIC PROBLEMS IN EDUCATIONAL INSTITUTIONSEA-MDA MODEL TO RESOLVE IS CHARACTERISTIC PROBLEMS IN EDUCATIONAL INSTITUTIONS
EA-MDA MODEL TO RESOLVE IS CHARACTERISTIC PROBLEMS IN EDUCATIONAL INSTITUTIONSijseajournal
 
A MODEL-DRIVEN ENGINEERING APPROACH TO DEVELOP A COOPERATIVE INFORMATION SYSTEM
A MODEL-DRIVEN ENGINEERING APPROACH TO DEVELOP A COOPERATIVE INFORMATION SYSTEMA MODEL-DRIVEN ENGINEERING APPROACH TO DEVELOP A COOPERATIVE INFORMATION SYSTEM
A MODEL-DRIVEN ENGINEERING APPROACH TO DEVELOP A COOPERATIVE INFORMATION SYSTEMijseajournal
 
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...ijseajournal
 
Some practical considerations and a
Some practical considerations and aSome practical considerations and a
Some practical considerations and aijseajournal
 
STABLENESSMEASUREMENTMODEL: A MATHEMATICAL APPROACH FORMEASURING THE STABILIT...
STABLENESSMEASUREMENTMODEL: A MATHEMATICAL APPROACH FORMEASURING THE STABILIT...STABLENESSMEASUREMENTMODEL: A MATHEMATICAL APPROACH FORMEASURING THE STABILIT...
STABLENESSMEASUREMENTMODEL: A MATHEMATICAL APPROACH FORMEASURING THE STABILIT...ijseajournal
 
A FUZZY MATHEMATICAL MODEL FOR PEFORMANCE TESTING IN CLOUD COMPUTING USING US...
A FUZZY MATHEMATICAL MODEL FOR PEFORMANCE TESTING IN CLOUD COMPUTING USING US...A FUZZY MATHEMATICAL MODEL FOR PEFORMANCE TESTING IN CLOUD COMPUTING USING US...
A FUZZY MATHEMATICAL MODEL FOR PEFORMANCE TESTING IN CLOUD COMPUTING USING US...ijseajournal
 
Design and develop of en e learning content based on multimedia game
Design and develop of en e learning content based on multimedia gameDesign and develop of en e learning content based on multimedia game
Design and develop of en e learning content based on multimedia gameijseajournal
 
E government maturity models a comparative study
E government maturity models a comparative studyE government maturity models a comparative study
E government maturity models a comparative studyijseajournal
 
Code coverage based test case selection and prioritization
Code coverage based test case selection and prioritizationCode coverage based test case selection and prioritization
Code coverage based test case selection and prioritizationijseajournal
 
Ijctcm030301TILTED WINDOW DETECTION FOR GONDOLATYPED FACADE ROBOT
Ijctcm030301TILTED WINDOW DETECTION FOR GONDOLATYPED FACADE ROBOTIjctcm030301TILTED WINDOW DETECTION FOR GONDOLATYPED FACADE ROBOT
Ijctcm030301TILTED WINDOW DETECTION FOR GONDOLATYPED FACADE ROBOTijctcm
 
Prezentacja efektu projektu
Prezentacja efektu projektuPrezentacja efektu projektu
Prezentacja efektu projektumikenrjow
 
Kwartaal review business review
Kwartaal review   business reviewKwartaal review   business review
Kwartaal review business reviewAndre Gruppen
 
Access 4 links
Access 4 linksAccess 4 links
Access 4 linkscokuda
 
Development and Maintenance of Lakes_BBMP
Development and Maintenance of Lakes_BBMPDevelopment and Maintenance of Lakes_BBMP
Development and Maintenance of Lakes_BBMPEkonnect
 
You betta get ARMed: Windows RT
You betta get ARMed: Windows RT You betta get ARMed: Windows RT
You betta get ARMed: Windows RT Roland Foster, Jr.
 
20130420_みずき会紹介
20130420_みずき会紹介20130420_みずき会紹介
20130420_みずき会紹介s96178yj
 
Uk & israel business relations
Uk & israel business relationsUk & israel business relations
Uk & israel business relationsChemi Wieder
 

Destacado (20)

EA-MDA MODEL TO RESOLVE IS CHARACTERISTIC PROBLEMS IN EDUCATIONAL INSTITUTIONS
EA-MDA MODEL TO RESOLVE IS CHARACTERISTIC PROBLEMS IN EDUCATIONAL INSTITUTIONSEA-MDA MODEL TO RESOLVE IS CHARACTERISTIC PROBLEMS IN EDUCATIONAL INSTITUTIONS
EA-MDA MODEL TO RESOLVE IS CHARACTERISTIC PROBLEMS IN EDUCATIONAL INSTITUTIONS
 
A MODEL-DRIVEN ENGINEERING APPROACH TO DEVELOP A COOPERATIVE INFORMATION SYSTEM
A MODEL-DRIVEN ENGINEERING APPROACH TO DEVELOP A COOPERATIVE INFORMATION SYSTEMA MODEL-DRIVEN ENGINEERING APPROACH TO DEVELOP A COOPERATIVE INFORMATION SYSTEM
A MODEL-DRIVEN ENGINEERING APPROACH TO DEVELOP A COOPERATIVE INFORMATION SYSTEM
 
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
 
Some practical considerations and a
Some practical considerations and aSome practical considerations and a
Some practical considerations and a
 
4213ijsea06
4213ijsea064213ijsea06
4213ijsea06
 
STABLENESSMEASUREMENTMODEL: A MATHEMATICAL APPROACH FORMEASURING THE STABILIT...
STABLENESSMEASUREMENTMODEL: A MATHEMATICAL APPROACH FORMEASURING THE STABILIT...STABLENESSMEASUREMENTMODEL: A MATHEMATICAL APPROACH FORMEASURING THE STABILIT...
STABLENESSMEASUREMENTMODEL: A MATHEMATICAL APPROACH FORMEASURING THE STABILIT...
 
4213ijsea05
4213ijsea054213ijsea05
4213ijsea05
 
4213ijsea07
4213ijsea074213ijsea07
4213ijsea07
 
A FUZZY MATHEMATICAL MODEL FOR PEFORMANCE TESTING IN CLOUD COMPUTING USING US...
A FUZZY MATHEMATICAL MODEL FOR PEFORMANCE TESTING IN CLOUD COMPUTING USING US...A FUZZY MATHEMATICAL MODEL FOR PEFORMANCE TESTING IN CLOUD COMPUTING USING US...
A FUZZY MATHEMATICAL MODEL FOR PEFORMANCE TESTING IN CLOUD COMPUTING USING US...
 
Design and develop of en e learning content based on multimedia game
Design and develop of en e learning content based on multimedia gameDesign and develop of en e learning content based on multimedia game
Design and develop of en e learning content based on multimedia game
 
E government maturity models a comparative study
E government maturity models a comparative studyE government maturity models a comparative study
E government maturity models a comparative study
 
Code coverage based test case selection and prioritization
Code coverage based test case selection and prioritizationCode coverage based test case selection and prioritization
Code coverage based test case selection and prioritization
 
Ijctcm030301TILTED WINDOW DETECTION FOR GONDOLATYPED FACADE ROBOT
Ijctcm030301TILTED WINDOW DETECTION FOR GONDOLATYPED FACADE ROBOTIjctcm030301TILTED WINDOW DETECTION FOR GONDOLATYPED FACADE ROBOT
Ijctcm030301TILTED WINDOW DETECTION FOR GONDOLATYPED FACADE ROBOT
 
Prezentacja efektu projektu
Prezentacja efektu projektuPrezentacja efektu projektu
Prezentacja efektu projektu
 
Kwartaal review business review
Kwartaal review   business reviewKwartaal review   business review
Kwartaal review business review
 
Access 4 links
Access 4 linksAccess 4 links
Access 4 links
 
Development and Maintenance of Lakes_BBMP
Development and Maintenance of Lakes_BBMPDevelopment and Maintenance of Lakes_BBMP
Development and Maintenance of Lakes_BBMP
 
You betta get ARMed: Windows RT
You betta get ARMed: Windows RT You betta get ARMed: Windows RT
You betta get ARMed: Windows RT
 
20130420_みずき会紹介
20130420_みずき会紹介20130420_みずき会紹介
20130420_みずき会紹介
 
Uk & israel business relations
Uk & israel business relationsUk & israel business relations
Uk & israel business relations
 

Similar a Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering Approach using Pattern Recognition

MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSijseajournal
 
Handwritten Text Recognition Using Machine Learning
Handwritten Text Recognition Using Machine LearningHandwritten Text Recognition Using Machine Learning
Handwritten Text Recognition Using Machine LearningIRJET Journal
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
DECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATIONDECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATIONijait
 
Application Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded SystemsApplication Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded Systemsijseajournal
 
Automatic Graphical Design Generator
Automatic Graphical Design GeneratorAutomatic Graphical Design Generator
Automatic Graphical Design GeneratorIRJET Journal
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technologyMayukh Maitra
 
A Uniform Specification Of Mixed Reality Interface Components
A Uniform Specification Of Mixed Reality Interface ComponentsA Uniform Specification Of Mixed Reality Interface Components
A Uniform Specification Of Mixed Reality Interface ComponentsNicole Heredia
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technologySaransh Garg
 
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...cscpconf
 
Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...csandit
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxminationAditi_17
 

Similar a Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering Approach using Pattern Recognition (20)

MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
 
Handwritten Text Recognition Using Machine Learning
Handwritten Text Recognition Using Machine LearningHandwritten Text Recognition Using Machine Learning
Handwritten Text Recognition Using Machine Learning
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
DECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATIONDECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATION
 
Application Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded SystemsApplication Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded Systems
 
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
 
Sample SRS format
Sample SRS formatSample SRS format
Sample SRS format
 
Automatic Graphical Design Generator
Automatic Graphical Design GeneratorAutomatic Graphical Design Generator
Automatic Graphical Design Generator
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
A Uniform Specification Of Mixed Reality Interface Components
A Uniform Specification Of Mixed Reality Interface ComponentsA Uniform Specification Of Mixed Reality Interface Components
A Uniform Specification Of Mixed Reality Interface Components
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
 
Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...
 
Chapter1
Chapter1Chapter1
Chapter1
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
 
06 fse design
06 fse design06 fse design
06 fse design
 

Último

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Último (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering Approach using Pattern Recognition

  • 1. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013 DOI : 10.5121/ijsea.2013.4302 21 Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering Approach using Pattern Recognition Akram Abdel Qader1 , Khaled Musa2 [1][2] Faculty of Science and Information Technology, Al-Zaytoonah University of Jordan 1 Akrama@zuj.edu.jo , 2 Dr.khalid@zuj.edu.jo ABSTRACT The graphical user interfaces of software programs are used by researchers in the soft-ware engineering field to measure functionality, usability, durability, accessibility, and performance. This paper describes a reverse engineering approach to transform the cap-tured images of the distributed GUIs into class diagram. The processed distributed GUIs come from different and separate client computers. From the distributed GUIs, the inter-faces are captured as images, attributes and functions are extracted and processed through pattern recognitions mechanism to be stored into several temporary tables corresponding to each client’s graphical user interface. These tables will be analyzed and processed into one integrated normalized table eliminating any attribute redundancies. Further, the normalized the one integrated table is to create a class diagram. KEYWORDS Reverse Engineering, Graphical User Interfaces (GUIs), Pattern Recognition, Optical Character Recognition (OCR), Unified Modeling Language (UML), Class Diagram. 1. INTRODUCTION Software re-engineering is the examination analysis, and alteration of an existing software system to recreate it in a new form. Software re-engineering is reorganising and modifying existing software systems to make them more maintainable [1]. The reversed engineering approach of the software re-engineering process is used to identify the system’s components and their interrelationships to create representations of the system in another form of its design and specification [2]. The reverse engineering technique is widely used to reconstruct or recover design systems [13]. The reverse engineering is reconstruction or decomposing existing code, analyze it to start the redesign process through the use of UML notations where the class diagram is drawn to clarify the new system process flow. In this paper, the reverse engineering approach is used to construct the UML class diagram from the distributed Graphical User Interfaces (GUIs) [11]. Agarwal ans Sinha [3] perceived that the class diagram and interaction diagram is an easy, and user friendly notations. Te,eni et al [4]
  • 2. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013 22 affirms that over fifty three percent of software projects uses class diagrams. The implementation of a class diagram is in direct relation with most object oriented programming languages such as Visual Basic.Net, Java, and other languages, where each class diagram construct an interface or code class. The process of transformation a GUI into class diagram was proposed using petri nets models [5]. In this paper a reverse engineering approach is used to transform distributed GUIs into class diagram through the use of OCR, temporary tables, and the normalization. This paper is organized into four sections: section 2 discusses the related concepts used in the process, section 3 describes the proposed approach, section 4 is the conclusion, and the section 5 discusses suggested potential future work. 2. RELATED CONCEPTS This section introduces the related concepts used in this paper that contributes to the addressed reverse engineering approach. The concepts used are the Optical Character Recognition (OCR) and Class diagram. 2.1 Pattern Recognition Pattern Recognition is the classification, which attempts to assign each input value to one of a given set of classes such as determining whether a given email is "spam" or "non-spam". Pattern recognition algorithms generally aim to provide a reasonable solution for all possible GUI inputs, and a "fuzzy" matching of inputs is done. This is compared using pattern matching algorithms, which look for the matches of the inputs with the pre-existing patterns. The results of pattern recognition comparison is very accurate due to the set of algorithms that matches the scanned inputs to the existing set of characteristics to determine what type of object it is [6]. 2.2 Optical Character Recognition (OCR) Optical Character Recognition (OCR) is an external device that uses software to analyze and electronically translate scanned images to recognize scanned images of handwritten, typewritten or printed text into machine-encoded text [6]. The new OCR engines add the multiple algorithms of neural network technology to analyze the stroke edge, the line of discontinuity between the text characters, and the background elements. Allowing for irregularities of printed ink on paper, to be matched with a known characters and makes a best guess to which characters they belong [12]. The OCR approach used is to capture the attributes that are located within the GUI labels, textboxes, and its functions such as buttons. 2.3 Class Diagrams The class diagram used in the object oriented software design is a static structure diagram and is a type of the Unified Modeling Language (UML). The class diagram notations describe the structure of a system by showing the system's classes, and their attributes, operations or methods, and the relationships among the classes [7].
  • 3. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013 23 The UML design class diagram illustrates software class definitions with simple attributes and methods [14]. Class diagrams model class structure and contents using design elements such as classes, attributes and functions or operations. The class diagram in Figure 1 illustrates the common components of class name, class attributes, and class operations. Customer Name : String Address : String CreditRating() Figure 1. Class Diagram The class diagram demonstrates the characteristics of an interface and its class name such as Customer, the attributes used within the interface such as Name and Address, along with the operation constituted in the interface such as checking the customer CreditRating. The class diagram of a software application is comprised of classes and a diagram depicting the relationship between each of these classes. 3. PROPOSED APPROACH The reverse engineering approach is discussed in this paper is capturing and collecting from each client graphical interface over a network. These collected GUIs are to be transformed into to a class diagram following the below process, figure 2, and will be discussed thoroughly in later sections. Figure 2. Reverse Engineering Process GUIs to Class Diagram
  • 4. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013 24 3.1 Capturing Method Using pattern recognition methodology is to be used in capturing the GUI of each client on the network on the distributed systems. The pattern recognition capturing mechanism addressed in figure 3, is to distinguish table names, fields, and functions for each client graphical user interface. Figure 3. Capturing Methodology Capturing elements from all graphical user interfaces is done by looking for any related items on each client graphical user interface as in figure 4, samples of GUIs. Capturing Methodology For each client in the network Scan the image form and contribute the following For each form title  define table name For each label then space then text  define attribute name (field1) For each label then space  define table name or function name (after scanning in key functions table) For each labels or buttons  define function name after scanning in key functions table For each Tab scan table names if not found  add table name For each form build new record in captable (capturing table) (row data) ForEnd
  • 5. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013 25 Figure 4. Samples of GUIs Hence, capturing is recognized. Captured images to extract captured table names, fields, and functions using capturing analysis methodology applying a set of rules to all interfaces are done. The captured images will follow a set of rules regulated in a predefined operation table (Oprtable) to be able to match the different operations or functions to specific operation. The Oprtable consists of predefined data for all functions and attributes in the graphical user interfaces, figure 5, where several operations will be justified by a common operation or function such as (Save, Add, Submit, New, Insert, Create ) which will be replaced with (Save) and etc. Figure 5. Operation Table (Optable) Comparing functions in all images in the client graphical user interfaces with the attributes in the images through recognition pattern mechanism will create a Captable that includes all functions and attributes captured from all distributed graphical user interfaces. The capturing images are analyzed using the below analysis methodology, figure 6, to create the Captable and normalized table (Normtable). Table name Label, space, text  field Buttons function Oprtable Operation Operation Name Save, Add, Submit, New, Insert, Create Save Delete, Cancel, Erase Delete Update, Modify, Change Update Search, Find, Explore, Navigate, Select, Read, Print Search
  • 6. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013 26 Figure 5: Predefined Operation table (Oprtable) Figure 6. Analysis Methodology to create Capturing Table (Captable) When analysis is complete, a client temporary capturing table (Captable) is created for each client graphical user interface to store class attributes and their functions, figure 7. The capturing table (Captable) for each client will contain all elements captured from each client graphical user interface. Figure 7. Capturing Table (Captable) Analysis methodology Scan all record in captable and normalize the tables as the following steps 1- Create new table names as normtable with the following fields (table name,field1,field2, field3,….. fieldn, function1, function2,…,functionn, relation, relation table) 2- Start from the first record in captable compare with normtable Scan for table name if not found add new record Scan for fields If not found() Scan functionkey() If not functionkey() Add fields to that table Else Add function to that table Endif Else Return table name Add relation field to that table Endif Else Return table name Add relation to that table for different table name in (normtable and captable) Endif 3- If not end of table goto step 3
  • 7. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013 27 3. GENERATE A CLASS DIAGRAM The created captable that corresponds to the scanned GUIs is to be combined and integrated into one integrated table normalized table to aid the reverse engineering system process. On the integrated normalized table, normalization process will be set to generate a normalized database (Normtable), figure 8. The normalized database (Normtable) will consist of several relations each with its own attributes. Based on the normalized relations, a UML Class diagram notations are created. From the created Captable, a normalized table will be created (Normtable) to eliminate any redundancies captured in the Captable. While the Captable process flows to normalization, the functions are compared to the operations located in the Oprtable to eliminate any redundancies. The normalized table will be created with all attributes by eliminating redundancies. The attributes will be matched to specific operation or function located in the portable to create class diagram which contains attributes and their functions or operations. The process flow that will allocate a finalized class diagram is addressed below in figure 6. The process flow starts with opening the Captable, opening the Norrmtable, and using the portable. Following the logic of the process flow will create the class diagram in the allocated system tables that contains system attributes and their functions or operations. Each Class consists of attributes and operations or functions where each corresponds to the previous normalized database relations attributes. Figure 8. Normalized Table (Normtable) 4. CONCLUSION The proposed graphical user interfaces of software programs are used by researchers in the software engineering field to measure functionality, usability, durability, accessibility, and performance. This paper proposed a reverse engineering approach to transform the captured images of the distributed clients GUIs into class diagram. From the distributed GUIs, the interfaces are captured as an image, and attributes are extracted and processed through pattern recognitions to be stored into several temporary tables called “Captable” corresponding to each client graphical user interface. These tables will be analyzed and processed into one integrated normalized table called “Normtable” eliminating any attribute redundancies. Further, the normalized integrated table will assist in creation of class diagram.
  • 8. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.3, May 2013 28 5. FUTURE WORK A future work can be done by rebuilding a successful relational database from normalized table and class diagrams to create an application forms in any programming language that are normalized and verified from the proposed process. REFERENCES [1] S. Ian, Software Engineering, 8th edition. Addison Wesley, New York, NY, USA, 2007. [2] L. Chih-wei, C. William, C. Chih-hung, C. Yeh-ching, L. xiaodong, Y. hongji, Reverse Engineering, Department of Computer science, De Montfort University, Leicester, England. [3] R. Agarwal, and A. Sinha, "Object Oriented Modeling wuith UML: A Study of developers' Perceptions", Communication of the ACM Vol.46, No.9, 2003, pp.87-294. [4] D. Te'eni, R. Gelbard, M. Sade, Increasing the Benefit of Analysis: The Case of systems Shat support Communication, in Proceedings of the 11th International Conference of the Associations Information and Management (AIM'06), June 8-9, 006, pp. 13-27. [5] M. Mohammad, A. Rafa, A. Belkacem, From Graphical User Interface To Domain Class Diagram: A Reverse Engineering Approach. Journal of Theoretical and Applied Information Technology, 2011. [6] B. Kumar, Optical Pattern Recognition, Prentice hall, USA, 2003. [7] R. Mills, K. Hamilton, Learnning UML 2.0, 1st edition, O’Rielly Media, USA, 2006. [2].H. Tran, U. Zdun, and S. Dustdar, View-Based Reverse Engineering Approach for Enhancing Model Interoperability and Reusability in Process-Driven SOAs, in Proceedings of the International Conference on Software Reuse (ICSR’08), Beijing, China, May 25-29, 2008, pp.233-244 [8] Ranorex, Web Testing, online: http://www.ranorex.com/support/user-guide-20/web-testing.html, visited on April 22, 2009. [9] Bright-Hub, Sniffing Data with Ettercap for Linux and Windows, online:http://www.brighthub.com/computing/smb-security/articles/35545.aspx, visited on April 22, 2009. [10] QFS, Facts & Features, online: http://www.qfs.de/en/qftest/, visited on April 23, 2009. [11] J. Pu, H. Yang, B. Xu, L. Xu, and W. C. Chu,Combining MDE and UML to Reverse Engineer Web- Based Legacy Systems, in Proceedings of the 32nd Annual IEEE International Computer on Software and Applications (COMPSAC’08), Turku, Finland, July 28 - August 1, 2008, pp. 718-725. [12] B. Kumar, Optical Pattern Recognition, Prentice-Hall, USA, 2003. [13] H. El Bouhissi, M. Malki, and D. Bouchiha, A Reverse Engineering Approach for the Web Service Modeling Ontology Specifications, in Proceedings of the 2nd International Conference on Sensor Technologies and Applications (SENSORCOMM’08), Cap Esterel, France, August 25-31, 2008, pp. 819-823. [14] M. H. Alalfi, J. R. Cordy, and T. R. Dean, Automated Reverse Engineering of UML Sequence Diagrams for Dynamic Web Applications, in Proceedings of the International Conference on Software Testing, Verifica tion and Validation (ICSTW’09), Denver, CO, USA, April 1-4, 2009, pp. 287-294.