Topics Covered: Lesson 8
Topics Covered: Lesson 8
LESSON 8:
1. Delay estimation until late in the project (obviously, we can Correctness is the degree to which the software performs its
achieve 100 percent accurate estimates after the project is required function
complete!). • Product Maintainability-Software maintenance has
2. Use relatively simple decomposition techniques to generate accounted for more effort than any other software activity.
project cost and effort estimates. Maintainability is the ease with which a program can be
corrected if an error is encountered, adapted if its
3. Develop an empirical model for software cost and effort. environment changes, or enhanced if the user desires a
4. Acquire one or more automated estimation tools. change in the requirements.
Unfortunately, the first option, however attractive, is not • Product Integrity-Software integrity measures a system’s
practical. Cost estimates must be provided “up front.” ability to withstand attacks to its security. To measure
However, we should recognize that the longer we wait, the integrity, two additional attributes must be defined: (1)
more we know, and the more we know, the less likely we are to threat is the probability that an attack of a specific type will
make serious errors in our estimates. occur within a given time, and (2) security is the probability
The remaining three options are viable approaches to software that an attack of a specific type will be repelled.
project estimation. Ideally, the techniques noted for each option Integrity = S [1 – threat x (1 – security)]
should be applied in tandem, each used as a crosscheck for the where threat and security are summed over each type of attack.
others. Decomposition techniques take a “divide and conquer”
approach to software project estimation. By decomposing a Halstead’s Software Science
project into major functions and related software engineering M. Halstead’s theory of software science proposes the first
tasks, cost and effort estimation can be performed in a stepwise analytical “laws” of computer software. Software science assigns
fashion. Empirical estimation models can be used to quantitative laws to the development of computer software. It
Summary
Measurement enables managers and practitioners to improve
the software process; assist in the planning, tracking, and
control of a software project; and assess the quality of the
product(software) that is produced. Measures of specific
attributes of the process, project, and product are used to
compute software metrics. These metrics can be analyzed to
provide indicators that guide management and technical actions.
Software quality metrics, like productivity metrics, focus on the
process, the project, and the product. By developing and
analyzing a metrics baseline for quality, an organization can