Software Engineering I - Final Exam 2004 | CS 427, Exams of Software Engineering

Material Type: Exam; Class: Software Engineering I; Subject: Computer Science; University: University of Illinois - Urbana-Champaign; Term: Fall 2004;

Typology: Exams

Pre 2010
On special offer
30 Points
Discount

Limited-time offer


Uploaded on 03/16/2009

koofers-user-y12-1
koofers-user-y12-1 šŸ‡ŗšŸ‡ø

10 documents

1 / 14

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS427 Final Exam NetID:
University of Illinois at Urbana-Champaign
Department of Computer Science
Final Exam
CS 427 - Software Engineering I
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:
NetID:
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
211
39
4 12
5 7
6 9
78
811
9 9
10 11
11 4
12 12
13 7
Total: 110
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
Discount

On special offer

Partial preview of the text

Download Software Engineering I - Final Exam 2004 | CS 427 and more Exams Software Engineering in PDF only on Docsity!

University of Illinois at Urbana-Champaign

Department of Computer Science

Final Exam

CS 427 - Software Engineering I

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:

NetID:

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)

  1. Answer to the following questions by writing true or false below them. (a) In RUP the system architect is responsible for determining what activities are done by each worker at each iteration.

(1) (b) In RUP a "worker" can represent a group of individuals.

(1) (c) In RUP, an artifact can be the responsibility of multiple workers at different itera-

tions.

(2) 2. (a) You know that in your company the developers usually take twice as much time as

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.

(2) (b) Now that you have an estimate, what are two things that might go wrong with your

estimate?

(2) 3. After the inception phase of a big project in a large software company, a project manager

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.

(4) 8. Choose one artifact that can be the subject of a review in RUP and a different one that

can be reviewed in XP. Describe two criteria for each artifact.

(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.

(3) 10. Name three characteristics of a software product that make it a successful open source

project.

(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:

  1. Good metaphors work better than having none
  2. Bad metaphors are worst than having none
  3. Interfaces should behave exactly how users thought it would
  4. Many people are intimidated by computers
  5. Users can't remember anything
  6. Users don't read all the displayed info
  7. Good designers use consistency intelligently
  8. Users can't control the mouse very well

(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

drop downs is that the user can't see what other pages are available until they open the

drop down list (in the figure below one can see only Copies & Pages). Supposing that

the number of pages to be displayed is less than 5, what pattern might be best fit to

eliminate this problem?

(2) 20. When you make an online reservation for a rental car at Avis.com you follow through a

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?

(1) (b) What kind of requirements cannot be captured by Use Cases?

(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.

  1. Briefly explain each of the following XP practices: (1) (a) The Planning Game

(1) (b) Refactoring

(1) (c) Pair Programming

(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) 32. Give one advantage and one disadvantage of formal specifications.

  1. Data Flow Diagram(DFD), Control Flow Diagram(CFD), Sequence Diagram(SD), and Class Diagram(CD) are diagrams used in designing a software system. For each part, list all of the diagrams that are appropriate. You should use above acronyms.

(1) (a) Showing Synchronization and Timing

(1) (b) Showing Module Dependency

(1) (c) Designing Object Oriented systems

(2) 34. According to "software facts and fallacies", when is the best time for estimation during

software development and who is most likely to make the most reasonable estimation?

(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?

(1) (b) Jean told a story about building a bunch of web servers and then said "And on

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?

(1) 38. (a) Three members of the Java Users Group went out for drinks after a meeting and

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... "

(1) (b) Jean said "I use Tomcat, which is a very successful open source project, and it

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).

  1. Suppose we want to implement this system. Show how each of the following ideas could be used.

(1) (a) Information hiding

(1) (b) Reusing subsystems

(1) (c) Encapsulation

(1) (d) Abstraction

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.