0% found this document useful (0 votes)
14 views

Software Metrics-Object Orinted Software Engineering

Software metrics are measures used to characterize software products, processes, and resources. There are three main types: product metrics measure characteristics of the software product like size and complexity; process metrics measure the development process like development time; and project metrics measure characteristics of a project like number of developers and cost. Software quality assurance (SQA) aims to ensure quality in the software development process through activities like reviews, testing, and change management. It focuses on attributes like correctness, reliability, and maintainability. Benefits of SQA include producing high quality software that saves time and costs while improving reliability.

Uploaded by

Bishnu Bhandari
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Software Metrics-Object Orinted Software Engineering

Software metrics are measures used to characterize software products, processes, and resources. There are three main types: product metrics measure characteristics of the software product like size and complexity; process metrics measure the development process like development time; and project metrics measure characteristics of a project like number of developers and cost. Software quality assurance (SQA) aims to ensure quality in the software development process through activities like reviews, testing, and change management. It focuses on attributes like correctness, reliability, and maintainability. Benefits of SQA include producing high quality software that saves time and costs while improving reliability.

Uploaded by

Bishnu Bhandari
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Software metrics:

A software metric is a measure of software characteristics which are measurable or countable.


Software metrics are valuable for many reasons, including measuring software performance,
planning work items, measuring productivity, and many other uses.

Within the software development process, many metrics are that are all connected. Software
metrics are like the four functions of management: Planning, Organization, Control, or
Improvement.

It can be divided into three groups:

 Product metrics:
o The product characteristics like size, features of the design, complexity,
performance, level of quality, etc., are described using product metrics.
o Product related metrics have not been demonstrated to be a useful quality
predictor.

These are the measures of various characteristics of the software product. The two
important software characteristics are:
 Size and complexity of software.
 Quality and reliability of software.

 Process metrics:

These are the measures of various characteristics of the software development process. For
example, the efficiency of fault detection. They are used to measure the characteristics of
methods, techniques, and tools that are used for developing software.

o Process-related metrics measures things like total development time, schedule


time and no. of faults during testing.
o Example of process related metrics are:  Total development time, 
Development time in each process and sub process  Cost for quality assurance.
o Process related metrics may form a basis for future planning.
o Software development and maintenance are improved using process metrics.
 Project metrics
o The project’s characteristics and execution are described by project metrics whose
examples include the count of software developers, cost, etc.
 Types of Metrics
 Internal metrics: Internal metrics are the metrics used for measuring properties that are
viewed to be of greater importance to a software developer. For example, Lines of Code
(LOC) measure.
 External metrics: External metrics are the metrics used for measuring properties that are
viewed to be of greater importance to the user, e.g., portability, reliability, functionality,
usability, etc.
 Hybrid metrics: Hybrid metrics are the metrics that combine product, process, and
resource metrics. For example, cost per FP where FP stands for Function Point Metric.
 Project metrics: Project metrics are the metrics used by the project manager to check the
project's progress. Data from the past projects are used to collect various metrics, like
time and cost; these estimates are used as a base of new software. Note that as the project
proceeds, the project manager will check its progress from time-to-time and will compare
the effort, cost, and time with the original effort, cost and time. Also understand that
these metrics are used to decrease the development costs, time efforts and risks. The
project quality can also be improved. As quality improves, the number of errors and time,
as well as cost required, is also reduced.

 Advantage of Software Metrics


 Comparative study of various design methodology of software systems.
 For analysis, comparison, and critical study of different programming language
concerning their characteristics.
 In comparing and evaluating the capabilities and productivity of people involved in
software development.
 In the preparation of software quality specifications.
 In the verification of compliance of software systems requirements and specifications.
 In making inference about the effort to be put in the design and development of the
software systems.
 In getting an idea about the complexity of the code.

Software Quality Assurance (SQA) is simply a way to assure quality in the software. It is the
set of activities which ensure processes, procedures as well as standards are suitable for the
project and implemented correctly.

Software Quality Assurance is a process which works parallel to development of software. It


focuses on improving the process of development of software so that problems can be prevented
before they become a major issue. Software Quality Assurance is a kind of Umbrella activity that
is applied throughout the software process.

Software quality assurance focuses on:


 software’s portability

 software’s usability

 software’s reusability

 software’s correctness

 software’s maintainability
 software’s error control

Benefits of Software Quality Assurance (SQA):


1. SQA produces high quality software.

2. High quality application saves time and cost.

3. SQA is beneficial for better reliability.

4. SQA is beneficial in the condition of no maintenance for a long time.

5. High quality commercial software increase market share of company.

6. Improving the process of creating software.

7. Improves the quality of the software.

8. It cuts maintenance costs. Get the release right the first time, and your company can
forget about it and move on to the next big thing. Release a product with chronic issues,
and your business bogs down in a costly, time-consuming, never-ending cycle of repairs.

Elements Of Software Quality Assurance:


1. Standards: The IEEE, ISO, and other standards organizations have produced a broad
array of software engineering standards and related documents. The job of SQA is to
ensure that standards that have been adopted are followed, and all work products conform
to them.

2. Reviews and audits: Technical reviews are a quality control activity performed by
software engineers for software engineers. Their intent is to uncover errors. Audits are a
type of review performed by SQA personnel (people employed in an organization) with
the intent of ensuring that quality guidelines are being followed for software engineering
work.

3. Testing: Software testing is a quality control function that has one primary goal—to find
errors. The job of SQA is to ensure that testing is properly planned and efficiently
conducted for primary goal of software.

4. Error/defect collection and analysis: SQA collects and analyzes error and defect data to
better understand how errors are introduced and what software engineering activities are
best suited to eliminating them.
5. Change management: SQA ensures that adequate change management practices have
been instituted.

6. Education: Every software organization wants to improve its software engineering


practices. A key contributor to improvement is the education of software engineers, their
managers, and other stakeholders. The SQA organization takes the lead in software
process improvement which is key proponent and sponsor of educational programs.

7. Security management: SQA ensures that appropriate process and technology are used to
achieve software security.

8. Safety: SQA may be responsible for assessing the impact of software failure and for
initiating those steps required to reduce risk.

9. Risk management: The SQA organization ensures that risk management activities are
properly conducted and that risk-related contingency plans have been established.

You might also like