Computer Science 587 - Fall 2009
Take Home
Mid Term Exam
Please
answer each of the following four (4) questions. You answers must be typed (word processed)
using a font size of 11 or larger and use a line spacing of at least 1½. Please use the spell checker in your word
processing system to correct any spelling errors before submitting your
exam. Try to limit your answers to 250
words or one page each.
1.
Suppose you worked for a small company
producing Web based products for the general consumer market. Assume that although your company generally
followed a reasonable process for software development, you had previously not
considered using a CMMI or similar formal approach for trying to improve the
way your software was developed. Discuss
both the potential advantages and disadvantages to your company in taking a
CMMI or similar approach toward improving the software process in your
organization
2.
Supposed you managed the Software Quality
Assurance organization for the company above and had the responsibility for
recommending the software development process to be followed. Assuming your company does not currently
perform software inspections formal reviews as part of the current development
process, how would you recommend modifying the process to include them? Assume that the current process your company
follows is based on the spiral model.
Make sure your answer addresses the following questions:
a. What
inspections should be done, or who should determine what inspections/reviews
should be required?
b. How
should inspections/reviews be conducted?
c. What
kind of training, if any, should be provided?
d. How
should the results of inspections/reviews be handled?
e. Are
any organizational changes required, or new positions needed?
f. How
would you evaluate the cost effectiveness of the inspections/reviews?
3.
Again, assuming you worked for the company
above, identify a “Quality Requirement” that you feel is important, like, “The
product will be maintainable”, specify the corresponding “Quality Factor(s)”
(e.g., Maintainability)”, and state one specific measurement goal for it, e.g.,
“Evaluate the maintenance process (in order to improve it)”. Specify the perspective from which you plan
to consider the goal, e.g., “Examine the effectiveness from the viewpoint of
the customer”. Describe the
environmental factors (process factors, people factors, methods, tools,
constraints, etc.) affecting the quality requirement. You may assume any environmental factors you
like, e.g. “The maintenance staff are poorly motivated
programmers who have limited access to tools.”
Then identify “Sub Factors” (e.g., “Modifiability”, “Error tolerance”)
and questions for each that need to be answered in order to achieve the
measurement goal, e.g., “How fast are fixes to customer reported problems
made?” or “What is the quality of fixes delivered?” Finally, for each question specify the
metrics needed to answer the questions, e.g., “Average effort to fix a
problem”, “Percentage of incorrect fixes”,
“Percentage of fixes that cause new problems”, etc.
4.
Some
claim that a good Software Configuration Management (SCM) system is essential
in producing quality software. Explain
in specific terms how a comprehensive SCM system can support software
verification and validation efforts and other quality assurance activities. You may want to look at it from the opposite
viewpoint and describe how the lack of a good SCM system can cause quality
problems and/or make verification and validation efforts more difficult.