Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Object oriented analysis


Published on

Published in: Education, Technology

Object oriented analysis

  2. 2. . Analysis emphasizes an investigation of the problem and requirements, rather than a solution. In Object Oriented Analysis , there is an emphases on finding and describing the objects or concepts in the problem domain.
  3. 3. . PURPOSE 1. How to characterize a system. 2. To know what are the different Relevent objects. 3. How do they relate to one another. 4. How to specify or model a problem to create effective design. 5. Examine requirements, analyze their implications.
  4. 4. Intend To define all classes that are relevant to the problem to be solved— the operations and attributes associated with them, the relationships between them, and behaviour they exhibit. To accomplish this, number of tasks must occur - 1. Basic user requirements must be known.
  5. 5. 2. Classes must be identified (i.e., attributes and methods are defined). 3. A class hierarchy must be specified. 4. Object-to-object relationships (object connections) should be represented. 5. Object behaviour must be modelled. 6. Tasks 1 through 5 are reapplied iteratively until the model is complete.
  6. 6. Conventional Vs OO Analysis Structured Analysis treats processes and data as Separate components. Whereas OO Analysis Combines data and the process that acts on the data into objects.
  7. 7. <ul><li>Key Difference </li></ul><ul><li>STRUCTURED OBJECT ORIENTED </li></ul><ul><li>1. DFD'S 1. USE CASE MODEL </li></ul><ul><li>2. DECISION TABLE/TREE 2. OBJECT MODEL </li></ul><ul><ul><ul><ul><ul><li>- Find classes & class relations </li></ul></ul></ul></ul></ul><ul><li> - Object relations : </li></ul><ul><li> 1. Sequence Diagram </li></ul><ul><li> 2. Collaboration Diagram </li></ul><ul><li> 3. State Machine Diagram 3. ER ANALYSIS </li></ul>
  8. 8. <ul><li>The OOA Landscape </li></ul><ul><li>Different Object Oriented Analysis Methods : </li></ul><ul><ul><li>BOOCH METHO </li></ul></ul><ul><ul><li>RUMBAUGH METHOD </li></ul></ul><ul><ul><li>JACOBSON METHOD </li></ul></ul><ul><ul><li>COAD AND YOURDON METHOD </li></ul></ul><ul><ul><li>WIRFS-BROCK METHOD </li></ul></ul>
  9. 9. Booch Method <ul><li>Strongly emphasizes the iterative process and </li></ul><ul><li>the creativity of the developer as essential </li></ul><ul><li>components in OO Design. </li></ul><ul><li>The method is more a set of heuristics and no </li></ul><ul><li>strict baselines or order of work exists </li></ul>
  10. 10. The Process Of OOD Generally Tracks Following Order Of Events 1. Identify classes and objects at a given level of abstraction. 2. Identify the semantics of these classes and objects. 3. Identify the relationships among these classes and objects. 4. Implement these classes and objects.
  11. 11. Rumbaugh Method <ul><li>Developed the object modelling technique(OMT) </li></ul><ul><li>for analysis, system design, object-level design </li></ul><ul><li>and implementation. </li></ul><ul><li>Three models of the system are developed </li></ul><ul><li>initially and then refined in all these phases. </li></ul><ul><li>1. Object Model 2. Dynamic Model & </li></ul><ul><li>3. Functional Model </li></ul>
  12. 12. <ul><li>Object Model describes the static structure of the system with classes and their relationships. </li></ul><ul><li>Dynamic Model captures the temporal aspects of the object model with events and states of the objects. </li></ul><ul><li>Functional Model describes the computation in terms of how output values are derived from input values. </li></ul>
  13. 13. Jacobson Method <ul><li>Also called OOSE (object-oriented software </li></ul><ul><li>engineering). </li></ul><ul><li>Traditional methods treat functions and data as </li></ul><ul><li>separate. Such approach often leads to problem </li></ul><ul><li>during maintenance. Object Oriented S/W </li></ul><ul><li>Engineering do not separate functions and data, </li></ul><ul><li>but views them as an integrated whole. </li></ul>
  14. 14. Coad And Yourdon Method The idea in this method is to extend the model with respect to processes, human interfaces and DBMS issues. The method consists of following 5 steps.
  15. 15. <ul><li>1. Finding Class and Object : </li></ul><ul><li>Specifies how classes and objects should be </li></ul><ul><li>found. </li></ul><ul><li>2. Identifying Structures : </li></ul><ul><li>It is done in two different ways. </li></ul><ul><ul><ul><li>Generalization-Specification Structure </li></ul></ul></ul><ul><ul><ul><li>The Whole-Part Structure </li></ul></ul></ul><ul><li>3. Identifying Subjects : </li></ul><ul><li>It is done by partitioning the class and objects </li></ul><ul><li>models into larger units. Subject is group of </li></ul><ul><li>classes and objects. </li></ul>
  16. 16. <ul><li>4. Defining Attributes : </li></ul><ul><li> It is done by identifying information and the </li></ul><ul><li> associations that should be associated with </li></ul><ul><li> each and every instance. The identified </li></ul><ul><li> attributes are place in correct level of </li></ul><ul><li> inheritance hierarchy. </li></ul><ul><li>5. Defining Services : </li></ul><ul><li> It means defining the operations of the classes. </li></ul><ul><li> </li></ul>
  17. 17. Wirfs-brock Method Wirfs-Brock, do not make a clear distinction between analysis and design tasks. Rather a continuous process that begins with the assessment of a customer specification and ends with design is proposed.
  18. 18. Generic Steps For OOA 1. Elicit customer requirements for the system. 2. Identify scenarios or use-cases. 3. Select classes and objects using basic requirements as a guide. 4. Identify attributes and operations for each system object.
  19. 19. 5. Define structures and hierarchies that organize classes. 6. Build an object-relationship model. 7. Build an object-behaviour model. 8. Review the OO analysis model against use- cases or scenarios .
  20. 20. Unified Approach To OOA <ul><li>Grady Booch, James Rumbaugh, and Ivar </li></ul><ul><li>Jacobson collaborated to combine the best </li></ul><ul><li>features of their individual object-oriented </li></ul><ul><li>analysis and design methods into a unified </li></ul><ul><li>method. The result, called the Unified </li></ul><ul><li>Modelling Language (UML) </li></ul>
  21. 21. Views Of System In UML <ul><li>User Model View : </li></ul><ul><li>This view represents the system (product) from </li></ul><ul><li>the user’s (called actors in UML) perspective. </li></ul><ul><li>Structural Model View : </li></ul><ul><li>Data and functionality are viewed from inside </li></ul><ul><li>the system. That is, static structure (classes, </li></ul><ul><li>objects, and relationships) is modeled. </li></ul>
  22. 22. Behavioural Model View : This part of the analysis model represents the dynamic or behavioural aspects of the system Implementation Model View : The structural and behavioural aspects of the system are represented as they are to be built. Environment Model View : The structural and behavioural aspects of the environment in which the system is to be implemented are represented. .
  23. 23. Domain Analysis <ul><li>The objective of domain analysis is to define a </li></ul><ul><li>set of classes (objects) that are encountered </li></ul><ul><li>throughout an application domain. </li></ul><ul><li>These can then reused in many applications. </li></ul>
  24. 24. Domain Analysis Process Software domain analysis is the identification, analysis, and specification of common requirements from a specific application domain, typically for reuse on multiple projects within that application domain
  25. 25. Generic Component Of OO Analysis Model Static components : This are structural in nature and indicate characteristics that hold throughout the operational life of an application. Dynamic Components : Focus on control and are sensitive to timing and event processing. They define how one object interacts with other objects over time.
  26. 26. Components Identified <ul><li>1. Static view of semantic classes : </li></ul><ul><li>Requirements are assessed and classes are </li></ul><ul><li>extracted (and represented) as part of the </li></ul><ul><li>analysis model. </li></ul><ul><li>2. Static view of attributes : </li></ul><ul><li>Every class must be explicitly described. </li></ul><ul><li>The attributes associated with the class </li></ul><ul><li>Provide a description of the class. </li></ul>
  27. 27. 3. Static view of relationships : Represent the relationships so that operations can be identified and the design of a messaging approach can be accomplished. 4. Static view of behaviours : define a set of behaviours that accommodate the usage scenario (use-cases) of the system.
  28. 28. 5. Dynamic view of communication : Describes how object communicate with one another based on the series of events that cause transition from one state to another. 6. Dynamic view of control and time : The nature and timing of events that cause transitions among states are described.
  29. 29. OBJECT ORIENTED PROCESS Techniques that may be used to gather basic customer requirements and then define an analysis model for an object- oriented system.
  30. 30. <ul><li>Use-Cases </li></ul><ul><li>use-cases model the system from the end-user’s point of view. </li></ul><ul><li>To define the functional and operational requirements of the system. </li></ul><ul><li>To provide a clear and unambiguous description of how the end-user and the system interact with one another. </li></ul>
  31. 31. Class-Responsibility-Collaborator Modeling Once basic usage scenarios have been developed for the system, it is time to identify candidate classes and indicate their responsibilities and collaborations. Called Class- responsibility-collaborator (CRC) modeling. It provides a simple means for identifying and organizing the classes that are relevant to system or product requirements.