CS 3371 Test 1 -- Key

Questions 1 - 20 are worth three points each.

  1. The extension of the concept "odd natural numbers less than 10" is {1, 3, 5, 7, 9}.

  2. Object-based programming languages let developers create classes and objects. Object-oriented languages add the ability to use inheritance.

  3. A class that leaves out irrelevant features and includes only a logically related set of essential features exhibits strong cohesion.

  4. We should be wary of a use case that lacks a beneficiary.

  5. Three ways in which the identity of an object may be represented in Java are an identifier, a reference (like in a linked list), and an array index.

  6. A class X whose instances may be used anywhere instances of class Y may be used is Y's subclass.

  7. In a point of sale system, a use case that describes how to give extra discounts to VIP customers on checkout would be said to extend the checkout use case.

  8. A class design strategy that uses interfaces to keep clients from having to know about implementation details like the data structures used to store data members uses the principle of information hiding . (Either abstraction or encapsulation is an OK answer, too.)

  9. Complete this analogy.
    Objects with shared attributes & behaviors: Class :: Coherent set of roles:
    Actor.

  10. In a point of sale system, the use cases "Checkout a customer, " "Cash a check," and "Issue a refund" would be said to use (or include) a "Validate status of a VIP customer" use case.

  11. Structured analysis and design use functional decomposition for problem solving, while object-oriented analysis and design use conceptual decomposition. (-1 for class . Conceptual decomposition lets us discover classes.)

  12. To reduce risks, expose problems, and deliver critical functionality earlier, McConnell advocates an iterative development process called staged delivery.

  13. The team member responsible for coordinating the technical work of a project is the project manager.

  14. The values of the attributes of an object represent its state.

  15. We call the meaning of a program statement its semantics.

  16. A CRC model in which all the cards compete to be at the middle of the layout exhibits high coupling.

  17. A CRC model in which the cards are crowded with many responsibilities is likely to exhibit low cohesion.

  18. Establishing that a system design allows a use case to be carried out is called walking the use case . (-2 for validation . This is just one part of validation.)

  19. Failure to satisfy use case preconditions should be handled in the alternate flow of events (or alternate paths ) section of the use case description.

  20. A template for solving a problem that describes the forces at work, the problem's context, and a solution is called a pattern. (Note: There are several kinds of patterns: process patterns, analysis patterns, design patterns, anti-patterns, etc.)

    --------------------------------- Check back tomorrow afternoon for the rest. ---------------------------------

  21. Consider these modifications to the library system described in Using UML.

    - We need to keep track of which librarian is involved in lending, reserving, and returning books.
    - We realize that BookBorrower, JournalBorrower, and Browser are all special cases of
    the actor LibraryPatron.
    - We realize that "Borrow copy of book" and "Extend loan" have in common behavior that
    validates the borrower's status.

    1. Redraw the use case diagram shown in figure 7.4 on page 98 to reflect these changes. (5 points)

    2. Give a description of the use case "Return copy of book." (10 points)

  22. Develop a CRC model based on this description of a system:

    Our software company wants to develop software to run ATMs for grocery and convenience stores.

    Customers use the ATMs to connect to their banks and credit card companies over the ATM network to which the store belongs. Customers can check their account balances and make withdrawals. They use debit or credit cards to identify themselves, and must en ter a PIN to access their bank accounts.

    Authorized employees may inquire about the cash available in the ATM, replenish its funds, and update the amount.


    Include:

    1. A list of candidate concepts, noting which you accept and which you reject, with a brief explanation (just a few words is OK) of the reason for each choice. (7 points)

    2. The CRC cards. (8 points)

    3. A diagram showing the physical placement of the cards. (5 points)

  23. Using the principles discussed in the user interface design web sites you read for homework, briefly explain why five features of the web site http://www.balthaser.com represent good or bad design choices. (5 points)