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.
-
(.5) Identify the subcomponents of the Student Administration component,
and each of their subcomponents (hint: this information is all found on
the
MPathways
timeline.
-
(.5) For any one of the lowest-level (most specific) subcomponents, describe
in more detail its functions
-
(.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).
-
(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?
-
(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.
-
(.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.)
-
(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.
-
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.
-
(.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?
-
(.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?
-
The University has implemented software called CITRIX to enable MPathways
to run on both Windows and Macintosh computers. See the news
release about it.
-
(.5) Draw a client-server diagram for this architecture, and describe what
software runs on each host.
-
(.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?
-
(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.