You should answer each of the following questions as briefly yet
completely as possible. You are not allowed to collaborate with anybody
in solving this exam, but you may use any references you like.
As promised, this exam is worth 20% of your grade in the class.
- (10 points) What are the benefits and disadvantages of using open source software
in a project?
- (10 points) Describe the differences between the following kinds of requirements,
and give an example of each:
- Functional
- Nonfunctional
- Physical
- (10 points) What is the difference between a requirement and a goal? Give
an example of each.
- (10 points) You are charged with eliciting requirements from a customer.
Explain the mechanisms you will use to do this.
- (10 points) You are on a project that you know will be at least 6 months late in
its delivery. Your manager is thinking about hiring 6 more people to help
get the project back on-track. You are given the option of going along
with that or working 80 hours a week to get the project back on track.
- With regard to the stages of a software project, what could have
gone wrong in each stage to result in the tardiness of the project?
- If asked, how do you advise the manager about his or her plans
(to add more people or demand overtime)?
- If not asked, but told about the plan, what do you do?
- (10 points) What is the waterfall model and when is it a suitable model for
software development?
- (10 points) List 2 features of an agile development methodology, such as XP,
and explain how they would work in the context of the project you did
for this class.
- (10 points) How do concurrent versioning systems like CVS and subversion allow
concurrent development and checkouts without locks?
- (20 points) Suppose you are the manager of your team for the project you just
did for this class. You are given 100 points to divide among the people
in your team. For each team member, including yourself, write the following:
- How many (of the 100 points) does this person deserve?
- What were the strengths of this person on the project?
- What were the weaknesses of this person on the project?
- What is the one thing this person should work on to become
a better software engineer and team member?
- (0 points) Who is buried beneath Trafalgar Square so that the
thundering traffic of London would give him no rest?
Last modified 21:22:49 CST 07 December 2005
by Ron K. Cytron