You are on page 1of 1

generalization (inheritence) is misused if:

* if the super class is enough and the supclasses are not adding any thing
* if the subclass change the functionality of the superclass
a module has high cohesion when it has one clear responsibelity
a module is tightly coupled if it rely on a spesific module
and if the connection w/ it is not clear
and if it is hard to change modules connected to it

get the requirment use user story


start conceptual design where you indentify object
you can use CRC card
start technical design, OOD principles :
abstraction : identify the caracteristics and behaviors of object for the
context
encapsolation: put these caract.. in a class and expose of of then and hide
others
and implementation details.
decomposition: break problems into small part
generali...: enheritance(don't misuse it see above)
you can use UML class diagram
and go into more technical details, use UML sequence diagrame and UML state diagram
evaluate your system: coupling and cohesion

model chack at the end

You might also like