topical media & game development
object-oriented programming
This chapter has given an outline of the major theme
of this book, which may be characterized
as the unification of a software engineering
perspective and a foundational approach.
The minor theme may be characterized by
saying that a considerable amount of
technology is involved.
1
- terminology -- all phrases
- object computation -- message passing
- contracts -- for constructing and validating software
slide: Section 1.1: Themes and variations
In section 1 we looked at the terminology associated with
object orientation, we studied the mechanisms underlying
object computation
and we discussed an approach to the development
of software that centers around the identification
of responsibilities and the definition of abstract
data types embodying the mutual
responsibilities of a client and a server object in terms
of a contract.
See slide [1-1].
2
- styles of programming -- as a family of conventions
- data abstraction -- and its possible realizations
- polymorphism -- and the features of inheritance
slide: Section 1.2: Paradigms of programming
Then, in section 2, we looked at object-orientation as
a paradigm of programming, extending
an abstract data type approach with support
for the organization of object types
in a polymorphic type structure.
See slide [1-2].
Further, an overview was given of the literature available on OOP,
including a number of landmark papers on which this book was originally based.
3
- software development models -- in particular the role of prototyping
- software quality -- in relation to reuse and maintenance
- programming languages -- the choice of a vehicle
slide: Section 1.3: The object-oriented software life-cycle
In section 3
we looked at the object-oriented software life-cycle,
consisting of the phases of analysis, design and implementation.
We discussed software development models and
the role of prototyping,
how an object-oriented approach
may promote software quality and facilitate maintenance,
and we looked at some programming languages as vehicles
for the implementation of object-oriented code.
See slide [1-3].
4
- modeling -- patterns, UML
- components -- CORBA, (D)COM, Java
- heterogeneous systems -- separating logic and control
slide: Section 1.4: Trends and technologies
In section 4
we attempted to discern trends in the research
and deployment of object-oriented technologies.
We also tried to formulate the challenges we are faced
with which concern the utilization of components
for the development of knowledge-intensive heterogeneous systems,
that allow to factor out the (business) logic in
a declarative manner.
See slide [1-4].
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.