Explanations should take around 40 words. Some slack will be given to 50 or 60 word explanations (however, don't press your luck too many times on this); explanations a page or more long will lose five points.
Either customers care about a feature of the system being designed or they don't. If they care, then the feature must meet the customers' expectations; that is, the feature must be correct. If they don't care, then the feature is irrelevant and shouldn't be part of the system design.What is your opinion of your colleagues opinion? Explain.
First, your colleague is using two criteria: relevance and correctness.
Second, the customers may not care about many aspects of the system design (coupling and cohesion, for example), but the presence of these aspects in the system design are important for (or at least greatly improve the chances of) producing a successful design.
Finally, not all designs are equal. If two designs that suit the customers' needs exactly may differ greatly on other characteristics not explicitly specified by the customers; such aspects include ease of implementation, ability to test, and cost of maintenance. A good set of evaluation criteria will not only select correct system designs, but will also be biased towards the system designs containing the largest set of additional desirable characteristics.
Functional cohesion is a measure of the degree to which the parts of a whole are related to each other and to the overall objectives of the whole. With respect to web pages, the parts might be the links, and a functionally cohesive web page would contain links that directly support the information contained on the web page. Gamasutra's home page is an example of a functionally cohesive Web page; it contains information on designing, implementing, and selling computer games, and contains links to such information also.
Temporal cohesion is a measure of the degree to which the parts of a whole are related to each other in time. With respect to Web pages, the links in a temporally cohesive Web page related in time. Any news-digest Web page will be temporally cohesive, examples of such Web pages include The Register and CNN's home page.
Is your colleague right? Or can you provide the counterexample of a object-oriented feature that can't trivially be reproduced in a functional model? Explain your answer.
Your colleague would be right if object-oriented systems didn't have inheritance. It is possible to implement inheritance using regular procedural features (otherwise we wouldn't have object-oriented languages), but it is not straightforward to do so.
Object-oriented analysis produces as output a model of the problem to be solved, while object-oriented design produces as output a model of the solution to the problem. In addition, OOA takes place in the customer's application domain, while the OOD takes place in a larger domain that encompasses not only the customer's application but also the domain of object-oriented design and implementation techniques.
This page last modified on 2 March 2001.