Explanations should take around 40 words. Some slack will be given to 50 or 60 word explanations (however, don't press your luck too many times on this); explanations a page or more long will lose five points.
A shift from functional to structural testing requires more attention to the internal details of the system, which means an increase in the cost to test the system. In addition, structural testing tends to slight the external behavior of the system under test, which means it may be desirable to add or increase increase the size of the acceptance testing done.
A very low rating for product complexity indicates a simple product, while a very high rating indicates a complex product. Because simple products usually cost less to build than do complex products, the fudge factor for very low product complexity should be smaller than the fudge factor for very high product complexity.
A very low rating for programmer capability indicates programmers may have difficulty performing the task at hand, while a very high rating indicates the programmers should be able to perform the task at hand. Because competent programmers cost less to do a job than do incompetent programmers, the fudge factor for very low programmer capability should be larger than the fudge factor for very high programmer capability.
A system with low cohesion should increase the costs of implementing the system. Low cohesion indicates that otherwise separate functions are packed together into the same module, making the module harder to implement. A system with high cohesion devotes one function per module, which increases the number of modules but makes each module simpler, and, as long as the numbers aren't excessive, simplicity wins out over size. A similar argument can be made for the influence of cohesion on testing.
A system with high coupling should increase the costs of testing the system. High coupling indicates that a module cannot easily be considered on its own, but must be lumped together with the other modules to which it is coupled. This makes unit and module-level testing harder and less definitive than it would be if the modules had low coupling. A similar argument can be made for the influence of coupling on implementation, but, with the exception of unit testing, the influence of coupling is not as strong as it is in testing.
It is most likely that their software development process structure was linear, similar to the structure of the software development process used in the project for this course. Other structures - such as a waterfall or a spiral model - incorporate feedback and other forms of interaction between the phases, which makes a linear model a less accurate cost estimator for these structures.
This page last modified on 30 April 2001.