Introduction To Object-Oriented Methodology
Introduction To Object-Oriented Methodology
OBJECT-ORIENTED METHODOLOGY
Contents
1. Software Crisis
2. Conventional versus Object-Oriented approach
3. Object-Oriented Programming Languages
4. What is a good system?
5. Do we have good systems?
6. What are good systems like?
1
Literature
• Using UML, Software Engineering with Objects and Components,
Job Pooley, Perdita Stevens, Addison Wesley, 1999. Chapter 1
• Programming in an Object-Oriented Environment, R.Ege,
AP Professional, 1992. Chapter Introduction.
• Many other books on object-oriented methods
2
Software Crisis
Example
Task: to develop new software that drives a simple version of the
radar screens used by air traffic controllers.
5
Design approach
Conventional Object-oriented
Goal identify major identify major
functions objects
Result gather radar info planes
update display display screen
radar receiver
Object plane:
data (identification, location, altitude, direction and speed)
+
functionalities (change of location, altitude, direction, speed,
displayed on the air traffic control screen)
6
Class captures all features which are common to all plane objects.
Object is an instance of a class.
• Smalltalk (1970s)
messages, encapsulation
• C++
• Eiffel
• Java
8
What is a good system?
9
Do we have good systems?
• Problems:
– systems which do not meet their users' requirements and/or
have technical failings
– flexibility is lacking
– maintenance
10
What are good systems like?
• A good system is a collection of modules.
– dependency
clients, servers
– coupling
good systems have low coupling
– interface
- defines some features of the module on which its
clients may rely
– encapsulation
information
hides the details of the implementation of an object
hiding – abstraction
denotes extracting essential properties of a concept
–cohesion
good systems have high cohesion
– reusable modules
11
Summary
12