The University of Dodoma: Department of Computer Science and Engineering
The University of Dodoma: Department of Computer Science and Engineering
The University of Dodoma: Department of Computer Science and Engineering
Lecture 1: Introduction
Course descriptions
Advanced object oriented software development.
Use of the unified modeling language as a design
tool will be emphasized.
Course Objectives
●
The course introduces students to object oriented
approach to system analysis and design. UML
modeling is briefly introduced for specifying
software and database systems.
Learning outcomes
Upon completion of this course students should be able to;
●
Oriented Analysis and Design and the Unified Process, 2nd Edition
Joseph Schmuller Sams Teach Yourself UML in 24 Hours, 2nd
●
Edition
Deitel and Deitel, Java How to Program 3 rd Edition, prentice Hall Inc
●
Definition of Terms
●
Object Oriented Analysis
–This is concerned with developing an
object-oriented model of the application
domain. The objects in that model reflect the
entities and operations associated with the
problem to be solved.
Definition of Terms ...
Object Oriented Design
●
– This
is concerned with realizing a software
design using an object-oriented
programming language, such as Java or
C++. An object-oriented programming
language provides constructs to define
object classes and a run-time system to
create objects from these classes.
Towards object orientation
Definition of Terms ...
An Object
●
– Encapsulations
– Generalization
– Polymorphism
Abstractions
●
Concepts and relationships are known as
abstractions. Classes and associations are
general abstractions, and objects and links are
specific abstractions.
●
A good abstraction is well defined and includes
essential information required for understanding it,
but excludes any irrelevant or incidental
information. An example is given in the next slide.
Abstractions
●
For example, when communicating about
managers, it is essential that we know their
names, but it is not essential for us to know how
many pets they own or the types of pets they own,
if any. Likewise, by considering various managers,
we can determine what similarities and differences
they have that allow us to classify them as
managers.
Encapsulation
●
This is combining attributes and operations to form
classes and objects and hiding methods behind
operations.
●
Combining attributes and operation to form classes
and objects is also known as localization. For
example, when there is a change to the Manager
class, such as a need to track the managers years of
experience, we simply need to go to the class and
update its attributes or operations rather than go to
one location to update the managers data (or
attributes) and another location to update its
processing (or operations).
Encapsulation ...
●
Hiding a method behind an operation is also
known as information hiding. For example, when a
manager directs the team to execute a project, the
team may use various techniques, and may
change techniques without impacting the
attributes or data.
Generalization
Polymorphism
●
Polymorphism shows that the Validate operation
appears in all the classes. It is identified or declared in
the Work Product class, perhaps with a default method,
but the Requirement class and System class provide
their own methods for validation. Hence the need for the
Requirement and System classes to list their own
Validate operations. Had these classes simply inherited
the default Validate functionality from the Work Product
class, you wouldn't list the Validate method again.
●
The ability to have multiple methods for a single
operation is called polymorphism.
Thank you ...