This is the CIS 422 final examination for spring 1998. You may turn it in anytime before 3pm, Thursday June 11th, by electronic mail. See below for specific instructions on how to turn it in. Cheating policy: --------------- You must work the exam individually. You may not discuss it with classmates or any other persons, the only exceptions being the instructor and teaching assistant. If you have any questions about what is allowed, you should ask the instructor or teaching assistant as soon as possible. This examination is based on the lectures and lecture notes for CIS 422, class discussions, and the textbook. You may use your textbook and notes to help answer questions. The usual rules of proper citation apply. For example, if you quote from the textbook or from lecture notes, you must properly indicate what material is quoted and where it comes from. Evidence of cheating will result in a failing grade in the course, and cheating will be reported to the CIS Department and the University in accordance with established rules. How to turn in the exam: ----------------------- You will turn in the exam by sending email to michal@cs.uoregon.edu. The subject of your email MUST begin with "422exam" (without the quotes). I will send a reply when I have received your exam. Exams received by noon each day will be acknowledged by 6pm the same day. Exams received by 11am Thursday will be acknowledged by 1pm thursday. Exams received by 1pm Thursday will be acknowledged by 3pm Thursday. Since exams are due by 3pm Thursday at the very latest, it is much safer to send your finished exam by 11am so that you have one more chance to send it if something goes wrong. If you cannot send your exam by email, I will accept hardcopy exams between 1pm and 3pm Thursday. IMPORTANT: If you do not receive a reply by the time listed above, you should assume that I have NOT received your exam. Power outages, flakey ISPs, and mistyped addresses are not excuses --- it is your responsibility to make sure that I receive it. How to fill out the exam: ------------------------ I want plain ASCII text in the body of an email message. Use a text editor, not a word processor. Use only standard ASCII characters that are readable on all platforms. Do not use fonts, italics, or other styling. Do not alter the exam markup (the text in angle brackets). Your lines should be no longer than 80 characters long. Your answer should appear in the body text of your email message, not in a MIME attachment. You may be penalized for breaking these rules. Identifying fields ------------------ The exam asks for your surname (family name), given name, and a secret word. The surname of John Smith would be "Smith", and his given name would be "John". The surname of Zhou En Lai would be "Zhou", and his given name would be "En Lai". The secret word may be used as a password to provide grading information to you from the class web page. I am not certain yet whether this will be implemented, but I am asking for the secret words now so that it will be possible. I strongly suggest that you do NOT send me a password to any of your computer accounts; choose a temporary secret word for this use only. The secret word should consist only of the letters a-z and the digits 0-9, with no blanks, and should be between 5 and 30 characters long. Replace this line with your surname (family name) Replace this line with your given name. Replace this line with a secret word between 5 and 30 characters long Replace this line with an email address that I can use to reach you Optional; replace this line only if you wish to provide a phone number. 5 True or False: A well-designed and carefully written program is unlikely to require maintenance. (Explain your answer briefly.) Your T/F answer and short explanation should replace these lines. Limit your answer to 5 lines. 5 How does a "uses" hierarchy without cycles help a development team leave out features to meet a deadline? Replace this line with an answer up to 5 lines long. 10 The Meltdown Badly company is designing an interactive checkers game. To move a checkers piece, a player clicks the mouse first on the piece to be moved, and then on the board position to which it should be moved; the piece thereupon disappears from its old position and appears in its new position. Part (a): How does this design place extra load on the player's short-term memory? Part (b): How might you redesign this interaction to reduce memory load? Replace these lines with your answers to the question parts (a) and (b). Limit your answer to 8 lines of text. 10 Many word processors allow graphical images to be either copied into the document (they become part of the document file) or imported by reference (they remain in separate files). There is no difference in how the document looks on the screen or when printed; it is only a matter of maintainability. Consider a user manual containing several screen shots captured from a program. Should the screen shots be copied into the user manual document, or imported by reference? If the wrong choice is made, what bad thing is more likely to happen? Replace these lines with your answer. Limit your answer to 8 lines of text. 10 Citations must be formatted in different ways, depending on where a paper is published. For example, some journals include citations like this [1], some like this [Smith 89b], and some like this (Smith 1989c). [1] Smith, W. An empirical study of citation styles. J. Irreproducible Results 1(3), 1989. [Smith 89b] Smith, W. Further anomalies in citation styles. J. Irreproducible Results 1(4), 1989. Smith, Wendy. The MLA style and other citation anomalies. Journal of Irreproducible Results, volume 1, number 6, 1989. A popular bibliography management program allows all of these styles and many more to be produced from a single bibliography database. The formatting for each style is based on a template, and users can write additional templates to create new styles. Is this an example of (a) preemption (b) information hiding (c) object-oriented design (d) mechanism/policy split (e) spiral development Choose the best answer (just one) and explain your answer briefly. Replace these lines with your choice from the list above and an explanation. Your answer may be up to 5 lines long. 5 Which of the following is *not* a purpose of an architectural design description? (a) Serve as a basis for writing a tutorial and user reference manual. (b) Orient a new developer to an ongoing project. (c) Describe dependencies between major subsystems. (d) Describe dependencies that must not be introduced during coding or maintenance. (e) Help maintenance programmers determine which parts of a system may be affected by a change. Replace this line with your answer. You may explain (up to 4 lines).