IFSC 1305 Exam #2 Name_____________________________________
1. UML diagrams try to make explicit the relationships among classes, objects and “users.” Here are two such diagrams:

. 
a) The class diagram has three “stripes.” What is the purpose of each stripe? (5 pts)
b) The interaction diagram describes a sequence of messages. Let us suppose that Object1 is the LetAdd class, object 2 is of the Problem class, Object 3 is of the Equation class and the final object is the PotentialSolution class. Make up an interpretation of the meaning of the 5 arrows in the diagram. (8 pts)
2. Name three other UML diagrams, give a simple sketch of each, and indicate what relationships each documents (you could continue thinking in terms of the Letter addition problem’s objects if you wish) (15 pts)
3. (20 pts.)The following paragraph is composed mostly of sentences excerpted from Taylor that make true statements about objects. Words have been removed from the sentences and appear in italics below. Some of these words might have been removed from more than one sentence (hence capitalization is ignored) so every italicized word must be used and some may be used several times. You are to replace the word into it position by writing it on the blank and thus restore the sentences to the statements that appear in Taylor.
abstract assigns classes delegation inherit instances interface message method objects overriding parameters polymorphism reused subclasses superclass type variables
_______________are the enabling technology for adaptive business systems. Object technology can be defined as incorporating three key concepts: _______________ that provide encapsulation of procedures and data, messages that support _________________ across objects, and _______________that implement inheritance within class hierarchies. A ______________ signature specifies the name of the ______________to be executed and the _____________to be included. A class is a software template that defines the methods and _____________to be included in a particular kind of object. The objects that belong to a class—commonly called ___________of that class—contain only their own particular values for the _____________. The set of messages an object commits to respond to is called is ____________ ____________. The only design requirement placed on a class is that it provide a _____________ to implement each ___________ specified in its _____________. Special cases of a class are commonly known as ___________of that class; the more general class, in turn, is known as the _____________of its special cases. In addition to the methods and ____________ they_____________, ______________ may define their own methods and ____________. They can also redefine any of the inherited methods, a technique known as_____________. ___________ that contain other ____________ are called composite _____________. Composite ____________ lay the foundation for a mechanism called _____________, in which an object ____________a task to another object. When ____________ are passed as parameters, there are two different options on how to check if they are the proper ____________of parameter for the ____________: by the class of the parameter object or by the _________ of the parameter object. Specifying ______________ using a class ___________ is both efficient and flexible and allows messages to be formed using any object that is an instance of any subclass of that class ___________. Since every object has a ___________ ___________, it is also possible to type the object parameter of a ____________ using the name of the ___________ that insures that the object argument will be able to interact appropriately in the process to be implemented by the ___________. _________ of unrelated classes can nonetheless implement the same ___________, and thus would be accepted as arguments in the same message. This principle of object-think is analogous to the dictum that is it more important to know what you can do that who you are. The key benefits of _________________are that it makes ___________ more independent of one another and allows new __________ to be added with minimal changes to existing ____________. The addition of an inheritance mechanism provides further leverage by allowing methods developed for one class to be ___________in other, more specialized classes, reducing development time and isolating definitions to a single point of change. The ability to capture general cases in high-level classes is so useful that designer of object systems often define high-level classes purely for organizational purposes, even though no instance of those classes will ever exist. Such classes are known as ____________classes.
4. What difference do the objectives of the problem solver make in a solving problem according to Ackoff? (9 pts)
5. Ackoff claims that problems are more often solved by adding to the environment, by enlarging the context of the problem instead of cutting it down and looking to remove a deficiency. Give any example that Ackoff used to illustrate this point. (5 pts.)
6. To illustrate the relationship between variables Ackoff recounted the Fable of the Fill-up stations that were not full up and the Product that wanted to be second best. For either of these fables describe what were the controllable variables, what were the uncontrollable variables, and how was the relationship between them discovered. (18pts)
7. We have learned some techniques for counting and applied those techniques to compute likelihoods (probabilities). In working with probabilities, however, we discovered that we most frequently had to determine “all the ways” a desired event could come about. This has led to case analysis and conditional probability computations based upon the probabilities of the case-defining events. Our most recent example was the homework problem where the spider caught a fly with 50% probability and stopped eating them after catching 3. Explain the derivation of the probability of that the 6th fly that the spider encounters will survive. (20 pts).