The extension of the concept "odd natural numbers less than 10" is
{1, 3, 5, 7, 9}.
Object-based programming languages let developers create classes and objects. Object-oriented languages add the ability to use
inheritance.
A class that leaves out irrelevant features and includes only a logically related set of essential features exhibits strong
cohesion.
We should be wary of a use case that lacks a
beneficiary.
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.
A class X whose instances may be used anywhere instances of class Y may be used is Y's
subclass.
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.
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.)
Complete this analogy.
Objects with shared attributes & behaviors: Class :: Coherent set of roles:
Actor.
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.
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.)
To reduce risks, expose problems, and deliver critical functionality earlier, McConnell advocates an iterative development process called
staged delivery.
The team member responsible for coordinating the technical work of a project is the
project manager.
The values of the attributes of an object represent its
state.
We call the meaning of a program statement its
semantics.
A CRC model in which all the cards compete to be at the middle of the layout exhibits
high coupling.
A CRC model in which the cards are crowded with many responsibilities is likely to exhibit
low cohesion.
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.)
Failure to satisfy use case preconditions should be handled in the
alternate flow of events (or
alternate paths ) section of the use case description.
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. ---------------------------------
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.
Redraw the use case diagram shown in figure 7.4 on page 98 to reflect these changes. (5 points)
Give a description of the use case "Return copy of book." (10 points)
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:
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)
The CRC cards. (8 points)
A diagram showing the physical placement of the cards. (5 points)
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)