HW 5

due Oct. 25

Last modified 10/17/99--PR
Class home page

This assignment may be completed individually on in pairs (you pick your own partner).

Reading

Chapter 7 of textbook.

Browse through the official specification of HTML 4.0, to get a feel for what a standards document specifies. Don't print it out: it's long and most of it will be uninteresting.

Written exercises

All of these exercises are inspired by MPathways, PeopleSoft's ERP system.Some of the scenarios, however, are fictitious.

Based on the MPathways timeline, I infer that the top-level architecture includes the following components: Financials, Physical Resources, Research, Student Administration, and Personnel.

  1. (.5) Identify the subcomponents of the Student Administration component, and each of their subcomponents (hint: this information is all found on the MPathways timeline.
  2. (.5) For any one of the lowest-level (most specific) subcomponents, describe in more detail its functions
  3. (.5) For the subcomponent you chose, specify at least two interfaces (specify name, parameters, and return values) for it that allow users or other components to interact with it. Specify the interface at an appropriate level of abstraction (i.e., just a little more specific than your description of the function of the component,  not at the level of bits and bytes).
  4. (1) For one of the two interfaces that you specified, what features of how the component's function is implemented would be important to encapsulate, and why?
  5. (1) For one of the two interfaces that you specified, sketch out a scenario of future functionality not completely supported by your interface, and say what changes could be made that are consistent with the open-closed principle.
  6. (.5) For the subcomponent you chose, how will it interact with other components? (In question 3, you specified the interfaces for your component that are visible to other components, and hence that other components can use. Here, I want you to consider the reverse direction: specify some  interfaces of other components that would be used by this component.)

  7. (1) Consider the data in a personnel record (the information about one employee, their job title, salary, benefits, etc.). Describe it at at least three different layers of abstraction, much as we talked about bank balances at different layers of abstraction in class.

  8. Suppose that within the University there are five existing departmental systems that each have their own representations for personnel records. For example, in one system, the salary is recorded in a field called Salary, in a denomination of dollars per month, but in another system, the salary is recorded in a field called Pay, in a demoniation of cents per year. Suppose, moreover, that instead of replacing all these systems with MPathways, the University decided to make them all work together, so that it could, for example, transfer employees between units easily or compute average salaries across the University.
    1. (.5) If the University created a translation program for every pair of departmental systems, so that a personnel record in any of the five systems could be directly translated into a record for any other departmental system, how many translation programs would be needed?
    2. (.5) If, instead, the University created a new master format, and created a translation program between each departmental system and the new master format, how many translation programs would be needed? In order to translate one person's data from one system to another, how many translations would be necessary?
  9. The University has implemented software called CITRIX to enable MPathways to run on both Windows and Macintosh computers. See the news release about it.
    1. (.5) Draw a client-server diagram for this architecture, and describe what software runs on each host.
    2. (.5) Suppose that Microsoft Excel for the Macintosh included some features that are not available in Microsoft Excel for Windows. If someone was using Excel-based MPathways software from a Macintosh, would these Macintosh-only features be available?
    3. (1) The news release says the eventual goal is to use a Web interface rather than CITRIX. Why is this preferable? If it is preferable, why did they not do it right away?

(2) Explanation exercise

Explain the open-closed principle to someone.