Lecture Software process improvement: Lesson 38 provide students with knowledge about: Introduction to measurements; software measurement; neglect of measurements in SE; objectives for software measurements; managers’ perspectives;... Please refer to the detailed content of the lecture!
Introduction to Measurements Lecture # 38 Software measurement • Software measurement, once an obscure and esoteric specialty has become essential to good software engineering • Many of the best software developers measure characteristics of the software to get some sense of whether the requirements are consistent and complete, whether the code is ready to be tested Software measurement • Effective project managers measure attributes of process and product to be able to tell when the software will be ready for delivery and whether the budget will be exceeded • Informed customers measure aspects of the final product to determine if it meets the requirements and is of sufficient quality Software measurement • Measurement lies at the heart of many systems that govern our lives • Economic measurements determine price and pay increases • Measurements in radar systems enable us to detect aircraft when direct vision is obscured • Medical system measurements enable doctors to diagnose specific illnesses Software measurement • Measurements in atmospheric systems are the basis for whether prediction • Without measurement, technology cannot function. But measurement is not solely the domain of professional technologists. Each of us uses it in every day life Examples of Measurements • Prices acts as a measure of value of an item in a shop • We use height, weight, and size measurements to ensure that our clothing will fit properly • When making a journey, we calculate distance, choose our route, measure our speed, and predict when we will arrive at our destination (and perhaps when we need to refuel) Examples of Measurements • So measurement helps us to understand our world, interact with our surroundings and improve our lives Examples of Measurements • These examples present a picture of the variety in how we use measurement • There is a common thread running through each of the described activities: in every case, some aspect of a thing is assigned a descriptor that allows us to compare it with others Examples of Measurements • In a shop, we can compare the price of one item with another • In a clothing store, we contrast sizes • And on our journey, we compare distance travelled to distance remaining Examples of Measurements • The rules for assignment and comparisons are not explicit in the examples, but it is clear that we make our comparisons and calculations according to a well defined set of rules • So, we can define measurement formally 10 A Productivity Model 54 A Productivity Model 55 Data Collection • The quality of any measurement program is clearly dependent on careful data collection • Consistent and accurate data collection is very difficult • Metrics data collection must be planned and executed in a careful and sensitive manner 56 Quality Models and Measures • Productivity cannot be viewed in isolation. Without an accompanying assessment of product quality, speed of production is meaningless • Therefore, a number of models of quality whose measurements can be combined with those of productivity models 57 Software Quality Model 58 Software Quality Model 59 Reliability Models • Most quality models include reliability as a component factor, but the need to predict and measure reliability itself has led to a separate specialization in reliability modeling and prediction • This provides better understanding and control of software products 60 Performance Evaluation and Models • Performance is another aspect of quality. Performance evaluation includes externally observable system performance characteristics, such as response times and completion rates • Performance specialists investigate the internal workings of a system, including the efficiency of algorithms as embodied in embodied and algorithmic complexity 61 Structural and Complexity Metrics • Desirable quality attributes like reliability and maintainability cannot be measured until some operational version of the code is available • Yet we wish to be able to predict which parts of the software system are likely to be less reliable, more difficult to test, or require more maintenance than others, even before the system is complete 62 • As a result, we measure structural attributes of representations of the software which are available in advance of (or without the need for) execution; then, we try to establish empirically predictive theories to support quality assurance, quality control, and quality prediction 63 Management by Metrics • Measurement is becoming an important part of software project management • Customers and developers alike rely on measurementbased charts and graphs to help them decide if the project is on track • It is important to collect measures in a standard format for comparisons and contrast 64 Evaluation of Methods and Tools • In order to select a method or tool for adoption, it is important to investigate them before incorporating them into an organization • These investigations can be in the form of experiments, case studies, or suveys • These investigation cannot be done without careful, control measurement and analysis 65 Capability Maturity Assessment • SEI proposed capability maturity assessments to evaluate contractors have been in use since 1980s, using quality models • Capability maturity assessment is based on key practices that every good contractor should be using • Other organizations are using their own 66 capability assessments Summary • Measurement pervades our everyday life • Measurement is essential for good engineering in other disciplines; it should likewise become an integral part of software engineering practice 67 References • Software Metrics: A Rigorous & Practical Approach, by Norman E. Fenton and Shari L. Pleeger, 2nd Edition, PWS Publishing Company, 1997 (Chapter 1) 68 .. .Software? ?measurement • Software? ?measurement, once an obscure and esoteric specialty has become essential to good? ?software? ?engineering • Many of the best? ?software? ?developers ... particular entities and attributes, making software? ?engineering as powerful as other engineering disciplines 29 • Some? ?software? ?engineers may continue to claim that important? ?software? ?attributes like dependability, quality, usability, and ... assessing the status of your projects, 41 products, processes, and resources Objectives for? ?Software? ? Measurements • Let’s talk about objectives of? ?software? ? engineering measurements from the perspectives of management as well as