Computer Science 587 - Fall 2009

Take Home

Mid Term Exam

Due: Wednesday, October 28, 2009

 

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.