Page 72 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 72

Principles of Software Engineering



                   Notes                          Figure 4.1: The Verification and Validation Process


                                                                                Validation Process
                                                   Validation Process




                                                                                     Lower-
                                                                    Speci-  Development  Level  Development  Product
                                    Customer                        fication         Speci-
                                                                                    fication



                                                   Requirements          Verification Process  Verification Process
                                                     Process


                                 Metrics
                                 IEEE Standard defines a metric as “a quantitative measure of the degree to which a system,
                                 component or process possesses a given attribute.”

                                 Further, a software quality metric is “A function whose inputs are software data and whose
                                 output is a single numerical value that can be interpreted as the degree to which the software
                                 possesses a given quality attribute.
                                 Software metrics are therefore quantitative measurements of product (system or component),
                                 process, or even project (in this case software projects) indicating the quality of a desired attribute.
                                 However, software metrics can be concerned with more than just quantitative measurements.
                                 Since  we  are  measuring  quality  of  product,  process,  or  project,  qualitative  aspects  must  be
                                 considered. Metrics can also be qualitative in nature.
                                 Metrics are Measurements of Quality: In most well established engineering disciplines candidate
                                 measurement  attributes are well understood.  Software engineering is one of the disciplines
                                 outside  of  the  “most”  category.  Software  engineering  is  a  young  engineering  discipline  and
                                 as such does not have the hundreds of years of empirical scientific foundation as other core
                                 engineering disciplines. Partly due to this fact, many measures of software are not well understood
                                 or are ill-defined.
                                 Measurement: In the most general sense, is the mapping of numbers to attributes of objects in
                                 accordance  with  some  prescribed  rule. The  mapping must  preserve  intuitive and  empirical
                                 observations about the attributes and entities.

                                 Empirical Observation Requires Experimentation: Therefore, strictly speaking, for software metric to
                                 be valid it must be based on empirical observation through experimentation, whether qualitative
                                 or quantitative.
                                 Often with software development, the single best metric is sought. Given the above definitions,
                                 such an approach comes across as foolish. An engineered product cannot be properly understood
                                 purely through the application of one measurement. Single software metric can only present
                                 a single view of a software product. Multiple metrics are required to sufficiently understand a
                                 product or process. Knowing a car’s weight gives no indication of overall performance, it is only
                                 one piece of the picture. It is also possible that the gathered metric does not answer a question
                                 of interest or provide any decision support value. The same is true for software.

                                 Many definitions of metrics require them to be quantitative. However, many qualitative measures
                                 of product, process, or project are also valid. Consider a fast car. The “fast” attribute indicates


        66                                LOVELY PROFESSIONAL UNIVERSITY
   67   68   69   70   71   72   73   74   75   76   77