1 / 59

Object-Oriented Modeling Using Modified Modeling Language (UML)

Object-Oriented Modeling Using Modified Modeling Language (UML). Outline. Unified Modeling Language Principles and Concepts Modeling Relations and Structures Modeling Dynamic Behavior Modeling Requirements with Use Cases. What is a Model?. A model is a simplification of reality.

britain
Download Presentation

Object-Oriented Modeling Using Modified Modeling Language (UML)

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-Oriented Modeling Using Modified Modeling Language(UML)

  2. Outline • Unified Modeling Language • Principles and Concepts • Modeling Relations and Structures • Modeling Dynamic Behavior • Modeling Requirements with Use Cases Object-Oriented Modeling Using UML

  3. What is a Model? A model is a simplification of reality. A model may provide • blueprints of a system • Organization of the system • Dynamic of the system Object-Oriented Modeling Using UML

  4. Why We Model “A successful software organization is one that consistently deploys quality software that meets the needs of its users. An organization that can develop such software in a timely and predictable fashion, with an efficient and effective use of resources, both human and material, is one that has sustainable business.” Object-Oriented Modeling Using UML

  5. Why We Model • Model is built to • Communicate the desired structure and behavior of the system • Visualize and control the system’s architecture • Better understand the system that being built • Manage risk • Expose opportunities for simplification and reuse Object-Oriented Modeling Using UML

  6. Why We Model • We build models so that we can see and better understand the system we are developing. Object-Oriented Modeling Using UML

  7. Importance of Modeling • Models help us • to visualize a system as it is or as we want it to be. • to specify the structure or behavior of a system. • in providing a template that guides us in constructing a system. • in providing documenting the decisions we have made. Object-Oriented Modeling Using UML

  8. Principles of Modeling • The choice of what models to create has a major influence on how a problem is approached and how a solution is shaped. • Every model may be expressed at different levels of precision. • The best models are connected to reality. • No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models. Object-Oriented Modeling Using UML

  9. Objected-Oriented Modeling • Two most common ways in modeling software systems are • Algorithmic • Procedures or functions • Object oriented • Objects or classes Object-Oriented Modeling Using UML

  10. What is UML? • UML is a language for • Visualizing • Specifying • Constructing • Documenting Object-Oriented Modeling Using UML

  11. Building Blocks of UML • Things -- abstraction • Relations -- tie things together • Diagrams -- group interesting collections of things Object-Oriented Modeling Using UML

  12. Principles and Concepts • Objects and Classes • Principles Object-Oriented Modeling Using UML

  13. Objects and Classes Object-Oriented Modeling Using UML

  14. Objects • Each of object has a unique identity. • The state of an object is composed of a set of fields (data fields), or attributes. • Each field has a name, a type, and a value. • Behaviors are defined by methods. • Each method has a name, a type, and a value. • Each method may or may not return a value. • Features are a combination of the state and the behavior of the object. Object-Oriented Modeling Using UML

  15. Properties of Objects • Two objects are equal if their states are equal. • Two objects are identical if they are the same objects. • The values of the fields are mutable. • Methods that do not modify the state of the object are called accessors. • Methods that modify the state of the object are called mutators. • Objects can be mutable or immutable. Object-Oriented Modeling Using UML

  16. Classes • A class defines a template for creating or instantiating its instances or objects. • A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. Object-Oriented Modeling Using UML

  17. Classes • A class defines -- • the names and types of all fields • the names, types, implementations of all methods • The values of the fields are not defined or fixed in the class definition. • The values of the fields are mutable. • Each instance of the class has its own state. • Different instances of the class may have different states. • The implementations of methods are defined in the class definition and fixed for a given object. • Values of methods are immutable Object-Oriented Modeling Using UML

  18. Example Class name: Point class Point { Fields: x, y int x, y; Method: move public void move (int dx, int dy){ // implementation } Object-Oriented Modeling Using UML

  19. UML Notation for Classes Object-Oriented Modeling Using UML

  20. Field Declaration • The name of the field is required in the field declaration. • Field declaration may include: [Visibility][Type]Name[[Multiplicity]][=InitialValue] [Visibility]Name[[Multiplicity]][:Type][=InitialValue] • Visibility or accessibility defines the scope: • Public -- the feature is accessible to any class • Protected -- the feature is accessible to the class itself, all the classes in the same package, and all its subclasses. • Package -- the feature is accessible to the class itself and all classes in the same package. • Private -- the feature is only accessible within the class itself. Object-Oriented Modeling Using UML

  21. Visibility syntax in Java and UML Object-Oriented Modeling Using UML

  22. Examples Object-Oriented Modeling Using UML

  23. Method Declaration • The name of the method is required in the method declaration. • Method declaration may include: [Visibility][Type]Name([Parameter, ...]) [Visibility]Name([Parameter, ...])[:Type] • Each parameter of a method can be specified by -- Type Name Object-Oriented Modeling Using UML

  24. Examples Object-Oriented Modeling Using UML

  25. Example Object-Oriented Modeling Using UML

  26. UML Notation for Object Object-Oriented Modeling Using UML

  27. Examples Object-Oriented Modeling Using UML

  28. Message Passing orMethod Invocation • Objects communicate with one another through message passing. • A message represent a command sent to an object -- recipient • A message consists of the receiving object, the method to be invoked and the arguments to method. Object-Oriented Modeling Using UML

  29. Example Object-Oriented Modeling Using UML

  30. Packages • Package name are in lower case -- Java.awt.event javax.swing.* • Packages that will be widely used should be named as the reverse of the internet domain as the prefix of the package name -- EDU.emporia.mathbeans.MathTable EDU.emporia.mathtools.* Object-Oriented Modeling Using UML

  31. UML notation of packages Object-Oriented Modeling Using UML

  32. Principles • Modularity: • alleviate complexity of large-scale systems • Abstraction: • separating the essential from the non-essential characteristics of an entity • Encapsulation: • Information hiding • Polymorphism: • Portability • Levels of Abstraction: • Organization of classes and interfaces Object-Oriented Modeling Using UML

  33. Principle of Modularity • A complex software system should be decomposed into a set of highly cohesive but loosely coupled modules. • The basic for decomposition are cohesion and coupling. • Cohesion -- functional relatedness of the entities within modules. • Coupling – inter-dependency among different modules. • Each module is relatively small and simple • Interactions among modules are relatively simple • hierarchical Object-Oriented Modeling Using UML

  34. Principle of Abstraction • The behaviors or functionalities should be precisely characterized as contractual interface which captures the essence of the behavior. • The complexity of the module is hidden from the clients. Object-Oriented Modeling Using UML

  35. Principle of Encapsulation • The implementation of a module should be separated from its contractual interface and hidden from the clients of the module. • Information hiding Object-Oriented Modeling Using UML

  36. Principle of Polymorphism • Ability to interchange modules dynamically without affecting the system. • refers to a contractual interface with multiple interchangeable implementation Object-Oriented Modeling Using UML

  37. Modeling Relationships and Structures • A class diagram consists of • A set of nodes that represent classes and interfaces • A set of links represent relationships among classes • Class diagrams can be used to model: • Inheritance -- extension and implementation • Association -- aggregation and compostion • Dependency Object-Oriented Modeling Using UML

  38. Inheritance • Define a relationship among classes and interfaces • Inheritance model -- the is-a(n) relationship Object-Oriented Modeling Using UML

  39. Example Object-Oriented Modeling Using UML

  40. Principle of Levels of Abstraction • Abstractions can be organized into different levels. • Higher level is more general Object-Oriented Modeling Using UML

  41. Association • Association represents binary relationship between classes * enroll * Student Course advisee * * teach 1 1 Faculty adviser Object-Oriented Modeling Using UML

  42. Aggregation and Compositon • Aggregation is a special form of association • Has-a or part-whole relationship • Composition is a stronger form of aggregation Object-Oriented Modeling Using UML

  43. Example 1 1 1 * * * University College Department Student 1 1 Chairman-of Member-of 1 1..* Faculty Object-Oriented Modeling Using UML

  44. Dependency • Dependency is a relationship between entities such that the proper operation of one entity depends on the presence of the other entity, and changes in one entity would affect the other entity. Object-Oriented Modeling Using UML

  45. Example CourseSchedule Course Student Object-Oriented Modeling Using UML

  46. Modeling Dynamic Behavior • Sequence diagram • Depict object interaction by highlighting the time ordering of method invocation Object-Oriented Modeling Using UML

  47. Example Object-Oriented Modeling Using UML

  48. Modeling Dynamic Behavior • State diagram • Depict the flow of control using the concepts of state and transitions • Labels of transitions are in the form: [Event-List][[Guard]][/Action] • Entry action and exit action entry/Action1 exit/Action2 Object-Oriented Modeling Using UML

  49. Graphical notations Object-Oriented Modeling Using UML

  50. Modeling Dynamic Behavior • Nested state diagram • Composite of state diagrams Object-Oriented Modeling Using UML

More Related