Traditionally, programmers wrote programs using sequential lines of code in a high-level, procedural language such as COBOL.High-level programming languages, such as COBOL (common business oriented language), are written using terminology similar to human languages. Java and C++ were developed to take advantage of object-oriented programming techniques. High-level programs are translated/compiled into lower-level languages so that hardware can read the code. Programmers also write object-oriented programs in high-level languages such as C++ and Java; however, the programs are written less sequentially.
Object-oriented programming centers on the development of small, reusable program routines (modules) that are linked together and to other objects to form a program. A key component of object-oriented programming involves the classification (modeling) of related data types (numbers, letters, dollars, etc.) and structures (records, files, tables, etc.). Modeling allows programmers to link reusable program modules to modeled data classes. Linking pre-developed program modules to defined data classes reduces development times and makes programs easier to modify.
Programmers use various methods to define and link reusable objects. Initially, structured programming techniques were developed that focused on the arrangement of lines of procedural code. The ad hoc techniques enhanced the layout of a program's modules and overall design, making it easier to integrate and reuse program modules. Object-oriented programming employs a form of structured programming and adds methods for defining the data classes that are linked to structured program routines.
A drawback to the use of structured programming, and consequently, methods such as object-oriented programming, which use structured programming techniques, has been a lack of standardized coding procedures. The lack of standardized procedures restricts the interoperability of proprietary products, including automated design and development products sometimes referred to as computer-aided software engineering (CASE) tools. However, the software industry is moving towards acceptance of standardized object-oriented modeling protocols.
Software Development Techniques
Computer-Aided Software Engineering