1. Unified Modeling Language
    1. A model is a simplification of reality.
    2. Models can represent many different things, both physical such as buildings and computer networks, and conceptual such as software
    3. MODEL SOFTWARE
      1. We build models so that we can better understand the system we are developing.
      2. A Use Case diagram is used to capture the business “system.”
    4. UML
      1. is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.
      2. Composed of:
        1. Elements
          1. Things (called nodes)
          2. Relationships (Called links)
        2. Diagrams
          1. Are used to construct many of the artifacts
          2. Structural
          3. show the static structure of the objects in a system
          4. Behavioral
          5. show the dynamic behavior of objects in a system
          6. Use case
          7. represents High - level behaviors.
          8. Class Diagram
          9. Represents a collection of software classes and their interrelationships.
          10. Object Diagram
          11. Represents a runtime snapshot
          12. Software objects
          13. Their interrelationships.
          14. Communication diagram
          15. represents a collection of objects that work together to support some system behavior.
          16. Sequence diagram
          17. Represents a time-oriented perspective of an object communication
          18. Activity diagram
          19. Represents a flow of activities that might be performed by either a system or an actor.
          20. State machine diagram
          21. represents the set of states that an object might experience
          22. Component diagram
          23. represents a collection of physical software components and their interrelationships
          24. Deployment diagram
          25. epresents a collection of components and shows how these are distributed
          26. Package diagram
          27. represents a collection of other modeling elements and diagrams
          28. Interaction Overview
          29. represents a form of activity diagram where nodes can represent interaction diagram fragments.
          30. Timing diagram
          31. represents changes in state (state lifeline view) or value (value lifeline view).
          32. Composite Structure diagram
          33. represents the internal structure of a classifier, usually in form of parts
          34. Profile diagram
          35. Define additional diagram types or extend existing diagrams with additional notations
        3. Views
      3. Elements and connectors
        1. Packages
          1. is used to group together any UML elements and diagrams
          2. are elements, therefore they can be nested
          3. is a logical view
        2. Note
          1. allows textual notes to be added to any aspect of a diagram
          2. is in the form of a dog-eared rectangle with its upper-right corner bent over
        3. Dependency
          1. shows that one UML element depends on another UML element
        4. Stereotypes
          1. are used to declare a more specific type of element or connector type
          2. s to bracket them in quotation marks symbols « »
  2. Class Diagrams
    1. Associations
      1. represent relationships between classes
      2. are manifested at runtime in which two objects are associated with each other, usually with an object reference
    2. Multiplicity
      1. determines how many objects might participate in the relationship
    3. Navigation
      1. determine what direction an association can be traversed at runtime
    4. Aggregation
      1. where the child can exist independently of the parent
    5. Composition
      1. a relationship where the child cannot exist independent of the parent