Click here to load reader

UML and Object Oriented Concepts. Outline UML UML What is UML What is UML UML History UML History Why UML Why UML UML Diagrams and Work Products UML Diagrams

  • View
    312

  • Download
    7

Embed Size (px)

Text of UML and Object Oriented Concepts. Outline UML UML What is UML What is UML UML History UML History...

  • Slide 1
  • UML and Object Oriented Concepts
  • Slide 2
  • Outline UML UML What is UML What is UML UML History UML History Why UML Why UML UML Diagrams and Work Products UML Diagrams and Work Products Object Oriented Concepts Object Oriented Concepts Visual Paradigm for UML As UML tool Visual Paradigm for UML As UML tool
  • Slide 3
  • What is UML? UML enables system developers to specify, visualize, and document models in a manner that supports scalability, security, and robust execution. UML enables system developers to specify, visualize, and document models in a manner that supports scalability, security, and robust execution. Because UML modeling raises the level of abstraction throughout the analysis and design process, it is easier to identify patterns of behavior and thus define opportunities for refactoring and reuse Because UML modeling raises the level of abstraction throughout the analysis and design process, it is easier to identify patterns of behavior and thus define opportunities for refactoring and reuse UML models can be precise enough to generate code or even the entire application UML models can be precise enough to generate code or even the entire application
  • Slide 4
  • What is UML? UML modeling facilitates the creation of modular designs resulting in components and component libraries that expedite development and help insure consistency across systems and implementations. UML modeling facilitates the creation of modular designs resulting in components and component libraries that expedite development and help insure consistency across systems and implementations. Automated test suites can verify the accuracy of the model. When coupled with tools to compile the UML model, the model can even be executed before any code exists Automated test suites can verify the accuracy of the model. When coupled with tools to compile the UML model, the model can even be executed before any code exists
  • Slide 5
  • What is UML? Unified: It represents the evolutionary unification of Grady Booch, James Rumbaugh, and Ivar Jacobson experience with other industry engineering best practices. Unified: It represents the evolutionary unification of Grady Booch, James Rumbaugh, and Ivar Jacobson experience with other industry engineering best practices. Modeling: it focuses on how we understand the world around us Modeling: it focuses on how we understand the world around us Language: it provides a best-of-breed mechanism for capturing, communicating, and leveraging problem-solving artifacts. Language: it provides a best-of-breed mechanism for capturing, communicating, and leveraging problem-solving artifacts.
  • Slide 6
  • UML History 1970s: number of methods were developed to exploit the new object-oriented (OO) programming concepts 1970s: number of methods were developed to exploit the new object-oriented (OO) programming concepts Models Vs. Codes Models Vs. Codes legs on a three-legged stool legs on a three-legged stool Object-Oriented Software Engineering (OOSE), developed by Ivar Jacobson Object-Oriented Software Engineering (OOSE), developed by Ivar Jacobson James Rumbaugh developed the Object-Modeling Technique (OMT) James Rumbaugh developed the Object-Modeling Technique (OMT) The Booch method, developed by Grady Booch The Booch method, developed by Grady Booch October 1994: Grady Booch and Jim Rumbaugh, working at Rational Software Corp. October 1994: Grady Booch and Jim Rumbaugh, working at Rational Software Corp. 1995: first UML (0.8) 1995: first UML (0.8) Objectory Company joined Rational Software Corp. Objectory Company joined Rational Software Corp. 1996: UML 0.9 and 0.9.1 1996: UML 0.9 and 0.9.1 1997: UML 1.0 and 1.1 1997: UML 1.0 and 1.1 Then: 1.3, 1.4, 1.4.1 and 2.0 Then: 1.3, 1.4, 1.4.1 and 2.0
  • Slide 7
  • Why UML Communication, Communication, general-purpose, general-purpose, broadly applicable, broadly applicable, tool-supported, tool-supported, and industry standardized. and industry standardized. UML knowledge can be applied to UML knowledge can be applied to improve value by increasing quality, reducing costs, and reducing time-to market while managing risks and being proactive to ever- increasing change and complexity.
  • Slide 8
  • UML Diagrams and Work Products Model Management diagrams include Packages, which are used to represent Subsystems, Models, and more. Model Management diagrams include Packages, which are used to represent Subsystems, Models, and more. Structural diagrams include the Class diagram, Object diagram, Composite Structure diagram, Component diagram, Deployment diagram, and the Combined Component and Deployment diagram. Structural diagrams include the Class diagram, Object diagram, Composite Structure diagram, Component diagram, Deployment diagram, and the Combined Component and Deployment diagram. Behavioral diagrams include the Use Case diagram, Activity diagram, Interaction diagrams Behavioral diagrams include the Use Case diagram, Activity diagram, Interaction diagrams Each diagram reveals a unique yet overlapping view of a system
  • Slide 9
  • Object Oriented Concepts Object orientation concept is nearly thirty years old. Object orientation concept is nearly thirty years old. Object oriented languages: Object oriented languages: Simula firsts OO programming language Simula firsts OO programming language Smalltalk Smalltalk Objective C Objective C Object Pascal Object Pascal C++ C++ Object Cobol Object Cobol Add 9 Add 9 Java Java C# C#
  • Slide 10
  • Object Oriented Concepts Object orientation is so called because this method sees things that are parts of the real world as objects. Object orientation is so called because this method sees things that are parts of the real world as objects. Anything that you can describe can be represented as an object, and that representation can be created, manipulated, and destroyed to represent how you use the real object that it models. Anything that you can describe can be represented as an object, and that representation can be created, manipulated, and destroyed to represent how you use the real object that it models.
  • Slide 11
  • Object Definition: An object is a software bundle of variables and related methods. Definition: An object is a software bundle of variables and related methods. software object that modeled your real-world bicycle bicycle instancebicycle
  • Slide 12
  • Class One cow makes moo- many cows make moolah. One cow makes moo- many cows make moolah. Definition: A class is a blueprint, or prototype, that defines the variables and the methods common to all objects of a certain kind. Definition: A class is a blueprint, or prototype, that defines the variables and the methods common to all objects of a certain kind.
  • Slide 13
  • Class
  • Slide 14
  • Encapsulation Encapsulation is a way to organize the many types of information and behavior so that objects can be used as efficiently and effectively as possible. Encapsulation is a way to organize the many types of information and behavior so that objects can be used as efficiently and effectively as possible. Encapsulation states that when designing an object we should separate what we know about the object according to two concepts: Encapsulation states that when designing an object we should separate what we know about the object according to two concepts: The minimum information needed to use the object. The minimum information needed to use the object. The information required to make the object work properly. The information required to make the object work properly.
  • Slide 15
  • Encapsulation car interface
  • Slide 16
  • Encapsulation To use an object: we need interface To use an object: we need interface To make the object work properly: we need to provide the mechanisms that respond to the interface (behaviors, data that describes the object's structure and object's current state) To make the object work properly: we need to provide the mechanisms that respond to the interface (behaviors, data that describes the object's structure and object's current state) Purpose Purpose objects with same interface should have different purposes objects with same interface should have different purposes
  • Slide 17
  • Applying encapsulation Encapsulation of an object requires us to expose Encapsulation of an object requires us to expose Its purpose, so you can select the proper object for the application you have in mind. Its purpose, so you can select the proper object for the application you have in mind. Its interfaces, so you know how to use the object. Its interfaces, so you know how to use the object. Encapsulation of an object requires us to hide. Encapsulation of an object requires us to hide. The implementation that provides the behavior requested through the interfaces. The implementation that provides the behavior requested through the interfaces. The data within the object that defines the structure that supports its behavior. The data within the object that defines the structure that supports its behavior. The data within the object that tracks the state of the object, its condition at any given point in time. The data within the object that tracks the state of the object, its condition at any given point in time.
  • Slide 18
  • Defining associations and links A link is a relationship between two objects. An association is a relationship between two classes. A link is a relationship between two objects. An association is a relationsh

Search related