Software matrics and measurement

deepaksaini1k 877 views 12 slides Apr 17, 2018
Slide 1
Slide 1 of 12
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12

About This Presentation

Software matrics and measurement


Slide Content

SOFTWARE MARTICS AND MEASUREMENT

WHAT ARE SOFTWARE MATRICS ? Quantitative measure of degree to which a system, component or process possesses a given attribute. “A handle or guess about a given attribute.” e.g.: Number of errors found per person hours expended. A software metric is a measure of software characteristics which are quantifiable or countable. Software metrics are important for many reasons, including measuring software performance, planning work items, measuring productivity, and many other uses . Within the software development process, there are many metrics that are all related to each other. Software metrics are related to the four functions of management: Planning, Organization, Control, or Improvement.

Areas of Use of Metrics 1)    Cost and size estimation: The most created area of software metrics is cost and size estimation techniques. There are many proprietary packages in the market that provide estimates of software system size, cost to develop a system, and the period of the development or enhancement of the project. These packages are based on estimation models, like COCOM081, COCOMO-11, developed by Berry Boehm. 2)    Controlling Software Development Projects: calculating software development projects through measurement is an area that is generating a great deal of interest. This has much more germane with the increase in fixed price contracts and the use of price clause by customers who deal with software developers. 3)    Prediction of Quality Levels: The forecast of quality levels for software, often in terms of reliability, is another area where software metrics have an vital role to play. 4)    Provide Quantitative Checks: The use of software metrics to present quantitative checks on software design are also a well-establishes area. 5)    Provide Management Information: Software metrics are also used to provide management information. This include in information about productivity, quality and process effectiveness. It is essential to realize that this should be seen as an ongoing activity, Snapshots of the existing situation have their place, but the most valuable information comes when we see trends in data.

Categories of Metrics 1)    Product Metrics                              i .   Size Metrics                              ii. Complexity Metrics                           iii. Reliability Metrics                           iv .   Style Metrics 2)    Process Metrics 3)    Project Metrics

Product Metrics These are metrics that pertain to product quality. They are used to measure cost , quality and the product’s time to market. Product metrics help the software engineers gain insight into the design and construction of the software they build by focusing on specific and measurable attributes of the work products. These metrics examine the requirements model with the intent of predicting the size and complexity of the resulting system.

PROCESS METRICS Process metrics are used to measure the efficiency and effectiveness of various processes . Process metrics are collected across all projects and over long period of time. Their intent is to provide a set of process indicators that lead to long-term software process improvement. The only way to improve any process is to measure specific attributes of the process, develop a set of meaningful metrics based on the outcomes and then use the metrics to provide indicators that will lead to strategic improvements.

PROJECT METRICS Unlike process metrics, software project metrics are used for tactical purposes . Project metrics and the indicators derived from them enables a software project manager to - • assess the status of an ongoing project , • track potential risks, • uncover problem areas before they go “critical ,” • adjust work flow or tasks, and • evaluate the project team’s ability to control quality of software work products. The intent of these metrics is twofold – It is used to minimize the development schedule by making the adjustments necessary to avoid delays and mitigate potential problems and risks 2 . It is used to assess product quality on an ongoing basis and, when necessary, modify the technical approach to improve quality. As the quality improves, defects are minimized and the amount of rework required during the project is also reduced , which leads to the reduction in overall project cost.

ROLE OF SOFTWARE MATRICS MONITOR REQUIREMENT. PREDICT DEVELOPMENT RESOURCES. TRACK DEVELOPMENT PROCESS. UNDERSTANDABLE MAINTENANCE COST.

SOFTWARE MEASUREMENT Software measurement is a quantitative indication of extent,amount,dimension,capacity,or size of some attribute of a product or process. e.g.: Number of errors. Quantifiable measure of degree. Prediction – To predict complexity To predict usage Predictive analytics Control – Production hours, cost, security, quality Assessment – Usability Web analytics Return on Investment

Types of Software Measurements Direct measures Easy to collect E.g . Cost, Effort, Lines of codes (LOC), Execution Speed, Memory size, Defects etc. Indirect measures More difficult to assess & can be measured indirectly only . Quality, Functionality, Complexity, Reliability, Efficiency, Maintainability etc.

ROLE OF MEASUREMENT PROCESS IMPROVEMENT MEANINGFUL GOAL MONITOR QUALITY MEASURE RELIABILITY SOFTWARE PRODUCTIVITY

Thank you