Object Oriented Analysis and Design Introduction to Object Oriented Concepts
Software development problems Development of complex software systems Represent real life entities in software Development of software in a short time (productivity) Reusable components Developing extensible software for future changes
Software Development Methodology A Software Development Methodology is a framework used to structure, plan, and control the software development process Steps in software development process Systems analysis, requirements definition Systems design Development Integration and testing Acceptance, installation, deployment Maintenance
Methodology Approaches in System Development Traditional Approach (Structured Approach) Object Oriented Approach
Advantages of using Methodology Approaches Clear understanding of the task ahead Identify drawbacks earlier Provide better estimates Deliver stable systems Allowing for sufficient time to make adjustments. Keep the customer informed
Traditional Approach (Structured Approach) Structured Analysis and Design Technique (SADT) is a software engineering methodology for describing systems as a hierarchy of functions. SADT includes Structured Analysis (E.g.:Data Flow Diagrams) Structured Design(E.g.:Structure Chart) Structured Programming (E.g.:Sequence, Selection, Iteration)
Object Oriented approach It is an approach to system development that views information system as a collection of interacting objects that work together to accomplish task. OOAD includes Object Oriented Analysis Object Oriented Design Object Oriented Programming
Object Oriented Analysis and Design Technical approach for analyzing and designing software applying the object-orientated concepts and visual modeling throughout the development life cycles to better stakeholder communication and product quality
Advantages of OOAD Simplicity Modularity (easy to partition) Modifiability Extensibility (easily upgraded) Maintainability
Traditional Vs OOAD Category Traditional approach OOAD Approach Overview Software system viewed as a collection of programs Similar things are grouped and categorized Methodology SDLC Iterative/ Incremental Analysis tools DFD, Data dictionary, context diagrams UML, Use cases, Context Diagrams Focus on Data and process Objects Analysis Define the processors system need and define the data system store Define the types of objects which do the work programming One start , one end, containing three programming constructs Containing object types and messages between objects Maintenance Easy Difficult
OOP languages C++ JAVA PHP VB.NET