Review Questions for Midterm 1
Note: You won't need to do any calculations for the midterm.
However, you are required to know how the sizing and estimation equations work,
what the parameters mean, and what the steps are.
Level of details to know: Although you won't be asked to list all the details
of any particular model, you will need to know enough details in order to
either: (i) compare them or (ii) when given a project specification, select an
appropriate model but use the model characteristics to back up your rationale
for choosing that model.
- What is software engineering?
- Why is it important for Computer Scientists?
- What are some desirable software attributes?
- Consider the Waterfall model. For any given development phase, why is the
cost of fixing faults exponentially more expensive than its earlier phases?
- Why is the cost of fixing faults at a later stage not as great for Agile
development processes?
- Know the SDLCs: Waterfall, V-shaped, RAD, incremental, spiral, XP. Know their
strengths and weaknesses.
- For what type of projects is the V-shaped model more applicable than the Waterfall model?
- For what type of projects is the Waterfall model more suitable than the Rapid
Prototyping approaches?
- Name an SDLC that has an unrestricted number of iterations.
Spiral/any Agile method.
- Why is this a weakness in the model?
- Name four characteristics of Agile methods that make them distinct from the
traditional SDLCs.
- If you are the PM, how do you choose which SDLC to use in a particular project?
- Explain the PM triangle. What are the variables involved? What are the
controllable variables? Give an example to illustrate what happens to the
other variables when you change one of them.
- What is pair programming?
- What are the three types of competencies for a PM? Give two examples for each.
- Why is it important to consider different personality types when working in a
large project? Give an example situation that illustrates when knowing the
type of person you are dealing with helps in resolving the situation.
- What are the 5 stages of the Team Formation Model? Explain what each stage is.
- What is teamicide?
- What causes teamicide? Given an example of the cause and how it can be corrected.
- What is egoless programming?
- For a team of 4 members, how many possible ways of miscommunication are there?
- Know the different group organizational structures.
Which organizational structure promotes group cohesiveness the most? Why?
- What are the 4 parts of a project plan?
- What's the point of making a plan (even a partial one) if you know things will change?
- What is a benchmark?
- How can a project plan be used as a benchmark? Explain in detail.
- What is the difference between a milestone and a task?
- Come up with an example application. Create a WBS.
- Know the steps for the 4 sizing techniques studied in class.
- The analysis in the COCOMO model has equations involving prescribed
exponents. Where do these values come from? What mathematical technique was
used to derive these values?
- Know the steps in carrying out COCOMO basic and intermediate analyses.
The list of cost drivers and equation constants will be provieded if needed.
Passing criteria: You must pass the midterms in order to pass the course.