1 / 85

Object-Oriented Analysis and Design (OOAD)

Object-Oriented Analysis and Design (OOAD). Presented By Zubair Azmat Omer bin Asad M. Daniyal Shafiq. Object-Orientation?. What is Object-Orientation & Object-Oriented (OO) Methods? (C++, Java,Oracle??) What is OO methods used for? What are the features of OO methods?

gigi
Download Presentation

Object-Oriented Analysis and Design (OOAD)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object-OrientedAnalysis and Design(OOAD) Presented By Zubair Azmat Omer bin Asad M. DaniyalShafiq

  2. Object-Orientation? • What is Object-Orientation & Object-Oriented (OO) Methods? (C++, Java,Oracle??) • What is OO methods used for? • What are the features of OO methods? • How are they different from SSADM?

  3. Object-Oriented Methods • A technique for system modeling • A technique to manage complexity inherent in analysis, design, and implementation • For the analysis and design of system • Provide integrated view of hardware and software • Provide a methodology for system development

  4. Is It Any Good? • A system which is designed and modeled using an object-oriented technology is: • Easy to understand • Directly related to reality • Natural partitioning of the problem • More flexible and resilient to change • Systems can be developed more rapidly and at a lower cost

  5. Some Qualities of OO • Understanding of system is enhanced, as the semantic gap is reduced • Modification to the model tend to be local as they often result from an individual item, which is represented by a single object Ideally suited to model real systems, and simulating systems

  6. Some Examples of Using OO • Object technology is key to re-engineering business process at Xerox • Space telescope uses OO technology and • Booch Method to build interface to Hubble Database • British Airways choose OO tools for airline applications

  7. OO Methods • Jacobson Use Case - Jacobson • Unified Modelling Language (UML) • Object-Oriented Design (OOD) - Booch (1983), • Object-Oriented System Analysis (OOSA) – • Object-Oriented Analysis (OOA) – Coad &Yourdon (1991) • Object Modelling Technique (OMT) – • Hierarchical Object-Oriented Design • (HOOD) - ESA (1989), architectural design

  8. Object-Oriented Modeling • Attach the behavior and information that is important to objects • Associate relations between object to describe the static and dynamic organization and structure of real situation

  9. The Basics • Objects • Classes • Relationships • An Instance • Idea of encapsulation

  10. An Object • Some concept of reality • A physical entity • It is characterized by: • a number of operations, • a state which remembers the effect of these operations

  11. An Object • Operations: • Work • Dance • Drive • Jump • Attributes: • Height • Eye color • Hair color • Weight

  12. Relationships • Static: • relations existing over a long time • objects know about each other existence • Dynamic: • relations which two objects communicate with each other • object sending stimuli to other • stimuli - events, messages

  13. ‘Creating’ Objects • Composition - structure object from Parts • Partition - into hierarchy (‘is a’) • Consist of - build objects from others • Aggregate - to join together (‘has a’)

  14. Encapsulation • A concept of ‘Self-containing’ • Information hiding - ‘internal’ structure is hidden from their surroundings • Behavior and information is represented or implemented internally • Functionality and behavior characterized by ‘interfacing’ operations

  15. Class • A class represents a template for several • objects and describes how these objects • are structured internally • Objects of the same class have the same • definition both for their operations and • their information structure • Class is an implementation of objects

  16. Instance • An instance is an object created from a Class • A class describes the behavior and information structure of an instance, while the current state of the instance is defined by the operations performed on the Instance • System’s behavior is performed via the interactions between instances

  17. Key Concepts • Polymorphism – same object has different implementations • Inheritance – to adopt, permutated, and derive from some generic objects

  18. Polymorphism • A concept in type theory • A common name may denote instances • of different classes • One type of operation can be implemented • in different ways by different classes • Overloading in modern OO language

  19. Why Polymorphism • A very strong tool for allowing system • designers to develop flexible systems • Designer only need to specify what shall • occur and not how it shall occur • To add an object, the modification will only • affect the new object, not those using it

  20. Inheritance “If class B inherits class A, then both operations and the information structure described in class A will become part of class B”

  21. Why Inheritance? • Show similarities • Reuse common descriptions • ‘Software Reuse’ • Easy modification of model by performing • modification in one place • Avoid redundancy, leading to smaller and • more efficient model, easier to • understand

  22. Limitations of SSADM • Treat data and function separately – function/data oriented method • More suited to classical hardware • More difficult to maintain and re-configure • Method require more abstraction - not too Natural • Large semantic gap between external and internal view of a system

  23. Object-Oriented Methods • Advocate integral objects which encapsulate both function and data • Main activities include: • Identification of objects, and • Analyzing their behavior and information • Uses object-oriented techniques and ideas: • Inheritance • Polymorphism • Function/data abstraction

  24. Object-Oriented Analysis & Design • Finding objects • Organizing objects • Describing how objects interacts • Defining the operations of objects • Defining objects internally

  25. Finding Objects • Naturally occurring entities – physical • A concept of some abstract ideas – conceptual • Should be stable • Classes of objects • active/passive • temporary/permanent/persistent • part/whole • generic/specific • private/public

  26. Object-Oriented Design • The objects found are to be implemented • Once objects for a system are identified, they are refined, organized and related • Classes that define the implementation are structured and consolidated • Classes are refined with implementation details (e.g. OS, language, hardware, etc.) • Classes are coded

  27. Object Interactions • Identify how objects fit into a system • Use of scenarios - unique situations • Objects’ communication • Objects’ interfaces • Refined relationships

  28. Object’s Functionality • Operations performed by an object • Behavior of an object • Specification of interfaces, external and internal functions • Objects with complex functionality should be partitioned into simpler objects

  29. Object Implementation • The specification of CLASSES • Define information that an object • encapsulates - ATTRIBUTES and METHODS

  30. Object Implementation • METHODS: • Specify external functions • Specify internal functions that are not seen or usable by others objects • Languages: C++, Smalltalk, Adam, • Eiffel, Modula-2, Simulate, Java++

  31. OO Methods - Some Advantages • Reduce semantic gap between domain(the actual) and model (the design) • Closer to reality e.g. classification of objects close to how human understand surroundings • Easier to understand and maintain • Easier to modify (e.g. polymorphism)

  32. Object Models • Inheritance Models • Object Aggregation Models • Object Behaviour Modelling

  33. Inheritance Modelling • Objects are organized in a taxonomy • Taxonomy; classification scheme showing the relation of one object to the other, in terms of common attributes and services. • Concept of Super and Sub Classes. Note: In UML inheritance is 'upwards' in contrast to 'downwards'.

  34. Inheritance Modelling

  35. Object Aggregation • A composition in which the "whole" subsumes and conceals its constituent "parts". • A composition that encapsulates (hides) the parts of the composition. • "Parts" do not exist in autonomy(are not visible externally)

  36. Object Aggregation

  37. Object Behavior Modelling – Interaction Design • Modelling the interaction of objects • Modelling behaviours using senarios (UML Use Cases) and Sequence Diagrams.

  38. Sequence Diagrams • Its an interaction diagram in UML, that shows how processes operate one with another and in what order. • Sequence diagrams are sometimes called Event-trace diagrams, event scenarios, and timing diagrams.

  39. Sequence Diagram - Example

  40. Use Case • Usage Case is simply a reason to use a system. • Three key things: 1. The actor or actors involved. An actor is a type of user (for example, cardholder) that interacts with the system. 2. The system being used. 3. The functional goal that the actor achieves using the system . the reason for using the system.

  41. Use Case Scenarios • The set of all possible outcomes of the interaction between the actor and system to achieve a goal. Note: An actor is an external entity to the system (may or may not be a Human.

  42. Sequence Diagram in Use Case Scenario and Object Interaction Design

  43. UI Storyboards • User Interface Storyboards are a step further to the logical design. • UI Designs show how it might look with a real UI Implementation. • This is done after the key Use Scenarios are finalized. Note: UI Design’s purpose is to enhance user involvement in earlier stages of the ISD cycle.

  44. Use Case - Relationships • Uses: • The Uses relationship extracts similarities (i.e., common flow of events) from use cases and abstracts them into another use case. For example, in a system, several use cases may share the login validation sequence of actions. The verification is abstracted into a use case that is the target of a "uses" connection from the concrete use cases.

  45. Use Case - Relationships • Extends: • The extends relationship allows the modeling of complex interactions by extending previous use cases to document variations. The original use case is left complete and intact. Changing or removing the "extended" use case has no effect on the base use case. An example is statistics collection for this product. The action of an end-user interacting with the system to view the methodology is documented in a use case, the View Methodology use case. The statistics collection is modeled as a use case that extends the View Methodology use case.

  46. Use Cases and UML UML has Special Notation for Use Cases: Actors: Represented as a Stick men Use Case: Drawn as an Oval, with the name inside the oval. Line is drawn to show the communication of the actor and the use case. System boundary is drawn, keeping the actor outside the boundary (the actor is always outside the boundary.

  47. ATM Example – Use Case and UML

  48. Jacobson Use Case Method (OOSE) • An OO Methodology that emphasizes on the identification of objects – requirement analysis • Based on 3 techniques: • Conceptual Modeling • Object Oriented Programming • Use Case

  49. 5 Models of JM ISD Cycle • Ivar Jacobson's Object-Oriented Software Engineering (OOSE) is one of the precursors to the more modern Unified Modeling Language (UML). OOSE includes a: • Requirements Model • Analysis Model • Design Model • Implementation Model • Testing Model

More Related