Lesson 1
Object-Oriented Concepts and Analysis
Object-oriented programs are made up of classes. Classes correspond to real-world entities such as bank accounts or customers. An object is one instance of a class, much as 3 is an instance of a number and "hello" is an instance of an English word. There are rules about how to add and subtract numbers, and they apply to all numbers. There are rules about how to write and say words, and they apply to all words. Similarly, when you define a class, you are setting the rules for all the objects of that class. This module defines the classes that were name in the previous module. You will learn about:
- Responsibilities: what a class gets done
- Collaborators: classes that work together to accomplish a task
- Encapsulation: how to keep changes in one class from affecting others
- The uses and benefits of traditional, structured programming
- The uses and benefits of object-oriented programming (OOP)
Object-Oriented Systems Development
Object-oriented systems development methods differ from traditional development techniques in that the traditional techniques view software as a collection of programs (or functions) and isolated data. A program can be defined as
Algorithms + Data Structures = Programs:
A software system is a set of mechanisms for performing certain action on certain data.
The main distinction between traditional system development methodologies and newer object-oriented methodologies depends on their primary focus
- The traditional approach focuses on the functions of the system
- Object-oriented systems development centers on the object, which combines data and functionality.
Object-oriented Systems Development Methodology
Object-oriented development offers a different model from the traditional software development approach, which is based on functions and procedures.
In simplified terms, object-oriented systems development is a way to develop software by building self-contained modules or objects that can be easily replaced, modified, and reused.
In an object-oriented environment,
- Software is a collection of discrete objects that encapsulate their data as well as the functionality to model real-world "objects."
- An object orientation yields important benefits to the practice of software construction
- Each object has attributes (data) and methods (functions).
- Objects are grouped into classes; in object-oriented terms, we discover and describe the classes involved in the problem domain.
- Everything is an object and each object is responsible for itself.
Object Oriented Analysis