You are on page 1of 1

Question No 02:

Why design principles are so important for your software design. Explain your answer in form
of points.

1. Abstraction

 Abstraction is an important principle to use for solving problems and designing for
systems.
 Abstraction simplifies class design so they are more focused, concise and
understandable to everyone.
 Abstraction makes software reusable.
 Abstraction allows developers to focus on details that are important.
 In the abstraction, details of the data element are not visible to the users of data.

2. Encapsulation

 Encapsulation helps with data integrity.


 Encapsulation helps with software changes.
 Encapsulation secures sensitive information.
 Encapsulation protects and objects from unwanted access of users.
 Encapsulation makes the application understandable.

3. Decomposition

 Decomposition interacts whole and parts.


 Decomposition helps to solve complex problem.
 Decomposition manages large projects.
 Decomposition makes the process manageable and achievable.

4. Generalization

 Generalization helps to reduce the amount of redundancy when solving problems.


 In generalization, any changes to the code that is common to both subclasses can be
made in superclass.
 Generalization removes the unneeded data.
 Generalization is the process of extracting attributes from two or more classes, and
combining them into a superclass.

You might also like