From COBOL to OOP – Markus Knasmüller – 1st Edition

From COBOL to OOP

Por:

Descripción

Era el martes 15 de mayo de 1990 a las 10.20 al hacer mis ejercicios era en papel, me impresionó este nuevo concepto, y más tarde escribí varios proyectos de programación e incluso mi carrera y tesis sobre este tema. Con el profesor Mössenböck, desarrollador del lenguaje de programación orientado a objetos Oberon-2, en la Universidad Johannes Kepler de Linz, Austria, presenté a cientos de estudiantes el arte de la programación orientada a objetos.

En 1997, BMD Systemhaus GmbH, el principal fabricante de software de contabilidad de Austria, me ofreció la oportunidad de administrar su división de desarrollo de software con la responsabilidad principal de convertir su desarrollo COBOL actual a programación orientada a objetos, un gran desafío para mí. Las experiencias que obtuve en este proyecto y la técnica aplicada para transmitir las técnicas orientadas a objetos a los programadores de COBOL formaron la base de este libro.

1 Introduction
1.1 Motivation
1.2 Advantages of the New Technologies
1.3 Organization of This Book
1.4 Selecting a Programming Environment
1.5 Object-Oriented COBOL
1.6 Notation and Conventions
1.7 The Book CD
1.8 A Real-World Example

2 Programming as an Engineering Discipline
2.1 Software Engineering Basics
2.1.1 Software Quality
2.1.2 Programming and Specification Concepts
2.2 Readability of a Program
2.2.1 Comments
2.2.2 Naming Conventions
2.2.3 Source Code
2.3 Program Structure
2.3.1 Procedures
2.3.2 Types
2.3.3 Class Libraries versus Keywords
2.3.4 Detailed Comparison of COBOL and OOP
2.4 Stepwise Refinement
2.4.1 General Approach
2.4.2 Example
x Contents
2.4.3 Summary
2.4.4 Exercises

3 Basics
3.1 Replacement for the Data Division: Symbols and Data Types
3.1.1 Symbols
3.1.2 Standard Types
3.1.3 Declarations
3.1.4 Expressions
3.1.5 Exercises
3.2 Replacement for the Procedure Division: Instructions
3.2.1 Assigning Values
3.2.2 Instruction Sequence
3.2.3 The if Instruction
3.2.4 The switch or case Instruction
3.2.5 Loops
3.2.6 Summary
3.2.7 Exercises
3.3 Procedures
3.3.1 Parameterless Procedures
3.3.2 Parameters
3.3.3 Local Names (Visibility, Validity)
3.3.4 Functions
3.3.5 Terminating a Procedure
3.3.6 Recursion
3.3.7 Exercises
3.4 Arrays, Strings, Records
3.4.1 Arrays
3.4.2 Strings
3.4.3 Records
3.4.4 Summary
3.4.5 Exercises
3.5 Language Particularities
3.5.1 Delphi Particularities
3.5.2 Java Particularities
3.5.3 Exercises
3.6 Modules
3.6.1 Motivation
3.6.2 Export
3.6.3 Import
3.6.4 Modularization
3.6.5 Exercises
3.7 Pointers: Introduction
3.7.1 Explanation of Terms
3.7.2 Pointers
Contents xi
3.7.3 Standard Algorithms
3.7.4 Delete
3.7.5 Other Examples for Dynamic Lists
3.7.6 Exercises

4 Data Structures and Algorithms
4.1 Abstract Data Types
4.1.1 Term: Abstraction
4.1.2 Abstract Data Structures
4.1.3 Abstract Data Types 1
4.1.4 Exercises
4.2 Dynamic Data Structures in Detail
4.2.1 Linear Lists
4.2.2 Stacks
4.2.3 Queues
4.2.4 Exercises
4.3 Trees
4.3.1 Definition of Terms
4.3.2 Binary Trees
4.3.3 Balanced Trees
4.3.4 Exercises
4.4 Algorithms
4.4.1 Heaps
4.4.2 Graphs
4.4.3 Hashing
4.4.4 Sort Algorithms
4.4.5 Exercises

5 True Object-Oriented Programming
5.1 Classes
5.1.1 Class Definition
5.1.2 Creating and Releasing Objects
5.1.3 Frequent Errors
5.1.4 The Main Ideas of Object-Oriented Programming
5.1.5 Terminology
5.1.6 Exercises
5.2 Inheritance and Dynamic Binding
5.2.1 Introduction
5.2.2 Type Compatibility
5.2.3 Dynamic Binding
5.2.4 Object-Oriented COBOL
5.2.5 Abstract Classes
5.2.6 Options to Access Attributes and Methods
5.2.7 Overloading Methods
5.2.8 Exercises
xii Contents
5.3 Typical Applications of Object-Oriented Programming
5.3.1 Data Abstraction
5.3.2 Generic Components
5.3.3 Replaceable Behavior
5.3.4 Extensible Components
5.3.5 Heterogeneous Data Structures
5.3.6 Example
5.3.7 Drawbacks of Object-Oriented Programming
5.3.8 Exercises
5.4 Class Libraries
5.4.1 Introduction
5.4.2 Delphi
5.4.3 Java
5.4.4 Creating Your Own Class Library
5.4.5 Exercises
5.5 Particularities of the Selected Programming Languages
5.5.1 Exceptions and Error Handling
5.5.2 Interfaces
5.5.3 Delphi Particularities
5.5.4 Java Particularities
5.5.5 Exercises

6 Object-Oriented Design
6.1 Object-Oriented Design and UML
6.1.1 Comparison with the Procedural Design
6.1.2 The Abbot Method
6.1.3 CRC Cards
6.1.4 Unified Modeling Language
6.1.5 Tips
6.1.6 Exercises
6.2 Design Patterns and Components
6.2.1 Design Patterns
6.2.2 Components
6.2.3 Exercises

7 Databases
7.1 Introduction and Differences from COBOL IS Files
7.1.1 The Basic Concept of a Database
7.1.2 SELECT: One Word—Two Meanings
7.1.3 Data Security, Data Protection, and Recovery
7.1.4 Parallel Processing 2
7.1.5 Possibility for End Users
7.1.6 Requirements to a Relational Database
7.1.7 Client/Server Solution
Contents xiii
7.1.8 Object-Oriented Databases
7.1.9 Changing from ISAM to RDBMS
7.1.10 Exercises
7.2 Data Modeling
7.2.1 Introduction
7.2.2 Normalization
7.2.3 The Entity-Relationship Model
7.2.4 Views
7.2.5 Other Particularities
7.2.6 Exercises
7.3 Introduction to SQL
7.3.1 Creating Tables
7.3.2 Inserting and Deleting Records
7.3.3 Functions
7.3.4 SELECT Instruction
7.3.5 Set Operations
7.3.6 The UPDATE Instruction
7.3.7 Other Instructions
7.3.8 Exercises
7.4 SQL: Program Access
7.4.1 Setting Up a Connection
7.4.2 Sending SQL Instructions to the Database
7.4.3 Evaluating the Result
7.4.4 Summarizing Example
7.4.5 Exercises

8 Graphical User Interfaces
8.1 Structure of a Graphical User Interface
8.2 Event-Oriented Programming
8.3 Short Overview of Class Libraries
8.4 Tips for Designing a User Interface
8.5 Online Applications

9 COBOL to OOP in Practice
9.1 Summary
9.2 Changing to OOP in Practice
9.2.1 Main Tasks
9.2.2 Implementing the Required Windows Tools
9.2.3 Retraining COBOL Programmers
9.2.4 Experiences
9.3 Career Switch to OOP in Practice
9.3.1 Knowledge
9.3.2 Human Background
xiv Contents
9.3.3 Problems
9.3.4 Results
9.4 Accompanying Activities
9.4.1 ISO 1
9.4.2 Automatic Tests
9.4.3 Version Management
9.5 Stick to COBOL All the Same?
9.6 One Last Word

Appendix A Using the Development Environments
A.1 Delphi
A.2 Java
Appendix B Sample Solutions

B.1 Solutions to Chapter
B.1.1 Exercises in Section .1.5
B.1.2 Exercises in Section .2.7
B.1.3 Exercises in Section .3.7
B.1.4 Exercises in Section .6.5
B.1.5 Exercises in Section .7.6
B.2 Solutions to Chapter
B.2.1 Exercises in Section .1.4
B.2.2 Exercises in Section .2.4
B.2.3 Exercises in Section .4.5
B.3 Solutions to Chapter
B.3.1 Exercises in Section .1.6
B.4 Solutions to Chapter
B.4.1 Exercises in Section .1.6
B.5 Solutions to Chapter
B.5.1 Exercises in Section .1.10
B.5.2 Exercises in Section .2.6
B.5.3 Exercises in Section .3.8 1

Appendix C Glossary
Appendix D References
Index 3

Consulta los datos bibliográficos principales de esta edición para identificar correctamente el recurso, revisar su autoría y verificar detalles como ISBN, tema, subtema, archivo e idioma.

¿Qué piensas de este libro?

No hay comentarios
Avatar

Aún no hay comentarios

Sé el primero en compartir tu opinión sobre este contenido.

Escribir un comentario