Software development
Object oriented analysis (OOA) Object oriented design (OOD) 1. Start with the simple object which can be abstracted into individual classes. 2. Identify all the classes in the requirement specification. 3. Identify the commonalities between all or small groups of classes. Do not force fit generalization where it doesn’t make sense. 4. Keep all the data members private or protected 5. Identify all the member variables and methods the class should have 6. Ensure that the class is fully independent of other classes and contains all the necessary attributes and methods. 7. The methods in the class should be abstract. 8. Don't use the procedural code into a class for the methods in the class. 9. Inherit and extend classes from the base classes when require. 10. Define the "Has-A" or "Uses-A" relationships among the classes Object oriented programming (OOP) Software development life cycles Entity relationship model (ER model / ER diagrams)