








Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Exam; Class: Software Engineering I; Subject: Computer Science; University: University of Illinois - Urbana-Champaign; Term: Fall 2004;
Typology: Exams
Limited-time offer
Uploaded on 03/16/2009
10 documents
1 / 14
This page cannot be seen from the preview
Don't miss anything!









On special offer
Final Exam
Dec 16, 2004 Time Limit: 3 hour
Instructions for the Student
Print your name and NetID in the space provided below; print your NetID in the upper right hand corner of every page.
Name:
This is a closed book, closed notes examination. You may not use calculators or any other electronic devices. Any form of cheating on the examination will result in a zero grade. All work should be noted on the page the question is asked. If the grader cannot understand your handwriting you may get 0 points.
This exam has 41 questions, for a total of 110 points. On the left hand side of each question you will find how many points it is worth. The exam has 14 pages including this cover sheet.
Page Points^ Score^ Grader (^2 )
3 9
4 12
5 7
6 9 (^7 )
(^8 )
9 9
10 11
11 4
12 12
13 7 Total: (^110)
tions.
they plan to complete a project. Now you are planning to enter the market with a brand new system. Suppose that the company usually makes its iterations last 2 weeks. Your system has 10 use cases and the developers estimate that it will take them about 6 weeks for a single developer to implement one use case. Given that your project plan has 10 iterations, estimate the number of people you need for this project.
estimate?
produced a schedule for the rest of the project. The schedule has a very small elaboration phase and a very large construction phase. Describe one situation in which this decision is justified and one case where it is unjustified.
(3) 9. Rank in the order of increasing formalism and briefly describe (in one sentence) the following software quality assurance activities: Review, Walk through, Inspection.
(2) 11. The famous Brooks' Law states that "adding more developers to a late project makes it even more late". However, the more people on an open source project, the faster it goes. Is there a contradiction? Why doesn't this law work for open course projects?
(4) 12. Compare and contrast XP and Crystal Clear processes by providing two similarities and two differences between them:
(1) 13. According to "Joel On Software" what is the number one cause of unhappiness when using a new user interface?
For questions 14 to 17 pick the guideline below that is most relevant to the example presented. Does the given example obey or break the guideline? Joel Spolsky made these observations about user interfaces:
(2) 14. Some word processors would display under their File menu the last files that were edited.
(2) 19. (^) In Mac as x, there are many applications that use drop down lists. The problem with
wizard (step-by-step pattern) that guides you through the reservation process. On the upper left corner of the page there is a progress indicator that shows you how far you are on the registration process. In the image below one has already chosen the Time &- Place and\R:ates & Discounts and is now selecting the type of car. Notice that the finished steps became hyperlinks so one can easily go there to change some information. This progress indicator is an example of what pattern?
(1) 21. (a) Why are Use Cases only a part of the requirements but not all?
(2) 22. Do you think it's important that "Architect also implements" code? Give two reasons.
(2) 23. Who has the authority to decide what features will get implemented next in XP? In RVP?
(2) 24. What does "affordance" mean in user interface design?
(2) 25. Describe two ways that VI design process is similar to the XP development process.
(2) 27. Give one example showing when (or in what situation) XP is not a good methodology to apply and one example when it is a good one. Justify your answer.
(2) 35. Write two tasks that must be done in maintenance other than understanding the problem and implementing the changes to the software system.
(2) 36. Open source projects usually don't have very good user interfaces. Explain why.
(1) 37. (a) Three members of the Java Users Group went out for drinks after a meeting and started to talk about how to find good abstractions. Pat said that it was important to think hard, to look for commonalities and to do research to find the common abstractions in an area. Bobbie was on an XP project, and said "We don't spend a lot of time up front doing those things and our system has a lot of neat abstractions in it." Pat said "That is because you... and that is another good way to find abstractions". What did Pat say?
the seventh system, I was taking a shower and it occurred to me that there was a much easier way. I wrote a package to do it that way and we've been doing it that way ever since. I think taking showers is an important part of abstraction." Pat laughed, and said "According to Prof. Johnson, what really happened is ..." What did Pat say?
started to talk about managing requirements. Pat said that one of the strengths of RUP was how it managed requirements. If a group didn't manage requirements then it would keep changing its target and never finish. Her group had a team of three business analysts that were the only ones allowed to change the requirements document. Bobbie said that requirements were not so big a deal, her very successful XP project didn't have any requirements documents. Pat replied, "but you manage requirements anyway, because you... "
doesn't have any requirements documents, either." Pat said "But that project managed requirements by..."
(3) 40. Draw the State Diagram for the Book object (show the state names as well as transition labels and guards).
A university has several departments. There is no main library in this university. All the books are distributed among the departmental libraries and by default all students and professors of a department are members of their departmental library. Non-members are only allowed to search through the books available in the libraries and read them in the library, but they cannot put a hold on (reserve) a book or borrow it. When a member searches for a book, he/she can put a hold on a specific book and it will be kept for him/her for a week. Holds expire automatically after a week. Members can borrow either books that they have already reserved or the books that are available on shelf of the library and are not reserved for another member. Moreover, Professors can renew their borrowed books once.
In case departmental library does not have a book, the book request is sent to other libraries. Then the availability of the book is returned to the departmental library and then to the user.