C2O2: COBOL to Object Oriented
Object-Oriented Analysis
of COBOL
A. Fantechi P. Nesi E. Somma
Department of Systems and Informatics,
Faculty of Engineering,
University of Florence, Via
S. Marta 3, 50139 Florence, Italy
Department of Information Engineering,
Faculty of Engineering,
University of Pisa, ViaDiotisalvi
2, 56126 Pisa, Italy
fantechi@dsi.ing.unifi.it, nesi@ingfi1.ing.unifi.it
Summary
-
Reenginering of software applications
-
(Semi)-Automatic transformation of COBOL
applications vs. Object-Oriented models and languages.
-
Study & Definition of an algorithm
and method
-
Implementation of C2O2: a tool
for the semi-automatic analysis of COBOL domain applications in a quite
standard OO analysis and early design.
Process of Reengineering
Caratterization of the application
-
Configuration
-
Identification of modules
Application Analysis
-
Code Analysis
-
Building data structures
-
Definition of the Object Oriented Model
-
Identification of Class Relationships:
Abstraction
-
Reduction of redundant classes
-
Identification of Generalized Classes
Adoption of the OO Model Identified
-
Production of representations (analysis
and design)
-
Documentation of the Application Domain
2) Application Analysis
-
COBOL analysis
-
Identification of Data Structures
10 CODICE-FISCALE
20 NOME PIC AAA
20 COGNOME PIC AAA
20 GIORNO PIC 99
20 MESE PIC A
20 ANNO PIC 99
20 CITTA' PIC X999
20 CONTROLLO PIC A
|
Format
|
1
|
AAA
|
A
|
2
|
99
|
N
|
3
|
X999
|
A
|
4
|
A
|
A
|
|
...
|
|
|
Basic Data
|
1
|
Name
|
1
|
2
|
Surname
|
1
|
3
|
Day
|
2
|
4
|
Month
|
4
|
|
...
|
|
Definition of the Object Oriented
Model
-
ABSTRACTION: organization of data structures
identified in classes. Definition of class relationships: specialization
(is-a) and aggregation (is-part-of).
3.2)
Elimination of redundant classes
3.3) Identification of generalized
classes
4.2) Adoption of the
OO Model Identified
-
Adoption of the Object-Oriented Model
as a reference model to be used in the next cycles of reengineering..
-
Incremental building of data dictionaries
for the equivalences among classes and formats, and among labels on the
basis of the unification mechanism.
C2O2-
a TOOL: From COBOL to
to object-oriented
C2O2 a tool which
supports the re-engineer
-
identifying the Domain structure according
to the OOP
-
making automatic documentation of the
Analysis and early design phases.
2) Application Analysis (directly from
COBOL)
3) Building the Object Oriented Model
4.2) Exploitation of the experience
performed
A Case Study
-
Adoption of C2O2
on the National Library System provided by Center of Infrormation and Technological
Services of the University of Florence.
-
Some numbers of the case study:
-
Num. of Modules : 2.187
-
Num. of Line of Code 378.767
-
Num. of Words 1.216.099
Analysis
of the problems due to Dates
1.376 moduls with definition
of dates
484
|
Classes for
formats |
36.189
|
"Variables" |
10.314
|
Composite classes |
Example: The Dates
Conclusions
Con il metodo proposto e l'applicazione del programma
C2O2 è possibile produrre un modello ad oggetti
contenente le astrazioni chiave e le relazioni di aggregazione, specializzazione
e generalizzazione, che rispecchia la fase di analisi e si spinge nelle
prime fasi di progetto di un sistema ad oggetti.
Per completare la fase di progetto è necessario
considerare gli aspetti funzionali in modo da individuare i metodi delle
classi identificate
Per ottenere una implementazione è necessario
anche occuparsi delle interazioni tra le astrazioni identificate nei loro
vari casi d'uso all'interno del sistema COBOL