1. What does UML stand for?
    Unified Modeling Language
  2. Describe architecture centric
    • is central to all the development phases - not features
    • easier to see the big picture
    • easier to modify and evolve
  3. How is UP risk focused?
    Encourages risk factors to be identified and handled early
  4. Name 4 UML criticisms
    • too big
    • hard to learn
    • works better with more object-oriented systems then non-object-oriented systems
    • hard to move models from one tool to another
  5. What are many of the principles behind UML based upon?
    The notion of objects
  6. Describe an 'object'
    a person, place, event, or thing about which we want to capture information.
  7. What do each object have?
    properites (or attributes)
  8. What is the 'state' of an object?
    the value of its properites and relations with other objects at a point in time
  9. What are behaviours decribed with?
    methods (or operations)
  10. Instead of primary or  foreign keys, what does UML use?
    each instance is assigned a unique identifier when it's created.
  11. What is UP?
    • Unified Software Development or
    • Unified Process
  12. Describe UP
    a popular iterative and incremental software development process framework
  13. 4 benifits of UP
    • quickly move from deliverable to deliverable
    • early testing
    • early feedback
    • early risk reduction
  14. Describe a class
    a general template we use to define and create specific instances or objects
  15. What are the 5 requirements of a well-formed design class?
    • completeness and sufficiency
    • primitiveness
    • high cohesion
    • low coupling
    • aggregation vs. inheritance
  16. What 2 places do design classes come from?
    • 1. problem domain - refinement of analysis classes by adding implementation details
    • 2. Solution domain - provides technical tools that allow you to implement the system
  17. What are the 4 tools in a solution domain?
    • reusable components
    • utility class libraries
    • databases
    • GUI frameworks
  18. Describe operation in a class
    high-level logical specification of a piece of functionality
  19. Describe method in a class
    full specified function that can be implemented as source code
  20. Describe class primitiveness
    should not offer multiple ways of doing the same thing
  21. Describe class high cohesion
    • easy to understand
    • most desirable feature of a class
    • a cohesive class has a small set of responsibilites that are related
  22. Describe class low coupling
    class association should be limited to those which are necessary for realization of responsiabilites
  23. 4 things an operation/method may have in a class
    • visibility
    • name
    • parameter list
    • return type
  24. Name 3 types of methods
    • constructor
    • query
    • update
  25. What is a constructor method?
    create new instances of a class
  26. What is a query method?
    determine the state of an object and make information about that state available to the system
  27. What is an update method?
    change the value of some or all of the object's attributes, resulting in a change of state
  28. Describe Associations
    • represent associations between instances of classes
    • both ends of each line can have a role name associated with it
    • multiplicity indicates lower and upper bounds for the participating objects
  29. How are constraints represented in a class diagram?
    inside { } - the only rule
  30. What does a Generalization do?
    • They describe the hierarchical relationship between classes
    •           |
    • ------------------
    • |        |         |
  31. What does Aggregation do?
    • They are relationships that define whole/part relationships.
    •       /\
    •     /    \
    •   /        \
    • /            \
  32. What is an association class?
    describes a relationship between two classes or between instances of two classes
Card Set
UML and BOOST Midterm