00 software design

object orientated

?

oo software

Design principles: Abstraction

Data abstraction: The developer and other objects in the system have a high level summary view of what data items are. It contains the required info about an object.

Procedure abstraction; A high level summary view of the operations provided . The detail and how the methods are.

Encapsulation : classes /object

The attributes(Data) relating to an object and the methods/operation that act upon them are all encapsulated inside a single software capsule.

Encapsulation : Aggregation/Composition

via aggregation and composition to encapsulate a group of classes collectively as a complex whole is made of similar components.

1 of 2

oo software

Information Hiding

Data Hiding : the developer and other objects in the system have no direct access to the attributes or the details of how the attributes are stored.

Procedure Hiding : The developer  and other objects in the system do not know the detail of how the methods work. The name of a method is public , but the code body of the method is private.

Modularity

principle of separation of concern.

separating software into components , module according to functionality and responsibility.  

ignore details of other modules when dealing with a module.

the related concepts are cohesion and coupling .

2 of 2

Comments

No comments have yet been made

Similar Revision Skills resources:

See all Revision Skills resources »