You are on page 1of 4

Assignment

of
software engineering

C.S.E-314

Submitted to: submitted by:

Mr MEHANDRU Manish barthwal


Rollno:A27

Regno:10808581

SEcno:E1803
Ans1:- Software metrics are defined as measures used measure different
characteristics of a software system or process of development of software. Two
types of software metrics exist:-

(i) Product metrics: These metrics are used to measure characteristics of software i.e.
the product being developed.

(ii) Process metrics: These metrics are used to measure the characteristics of the
process being used to develop the software. Process metrics aim at the
measurement of qualities such as productivity, cost and resource requirements,
effectiveness of quality assurance measures, and the effect of development
techniques and tools.

Need of software metrics:- Metrics and measurements are an important part of managing a
software development process. For effective monitoring management needs information
about the project: how far it has progressed, how much development has taken place, how
far behind schedule it is, and the quality of development so far. Based on this information
decisions can be taken on the project. Without proper metrics to quantify the required
information, subjective opinion would have to be used, which often unreliable and goes
against the goals of engineering. Hence we can say that metrics based management is a key
component in software engineering strategy to achieve its objectives.

Ans:2 Halstead’s software science proposed the first analytical laws of computer software.
Halstead assigned quantitative laws to the development of computer software, using a set of
primitive measures that may be derived after code is generated or estimated once design is
complete. The measures are:

n1= the number of distinct operators that appear in a program.

n2= the number of distinct operands that appear in a program.

N1= the total number of operator occurrences.

N2= the total number of operand occurrences.

Halstead used these primitive measures to develop expressions for the overall program length,
potential minimum volume for an algorithm, the actual volume, the program level, the
language level and other features such as development effort, development time, and the
projected number of faults in the software. Halstead shows that length N can be estimated

N= n1log n1 + n2logn2

And program volume may be defined as:

V= Nlog(n1+n2)

Halstead defines a volume ratio L as the ratio of volume of the most compact form of a
program to the volume of actual program. In fact, L must be always less than 1. In terms of
primitive measures, the volume ratio may be expressed as:

L= 2/n1*n2/N2.

Ans4:- ISO 9001 is the quality assurance standard that applies to software engineering. The
standard contains 20 requirements that must be present for an effective quality assurance
system. Because the ISO 9001 standard is applicable to all engineering disciplines, a special
set of ISO guidelines have been developed to help interpret the standard for use in the
software process. The requirements delineated by ISO 9001 address topics such as
management responsibility, quality system, contract review, design control document and data
control, product identification and traceability, process control, inspection and testing,
corrective and preventive action, control of quality records, internal quality audits, training,
servicing and statistical techniques. For a software organization to become registered to ISO
9001, it must establish policies and procedures to address each requirement just noted and
then be able to demonstrate that these policies and procedures are being followed.

Ans5:- Software reliability is defined as the probability of failure-free operation of a computer


program in a specified environment for a specified amount of time. On the other hand
hardware reliability is defined as the probability of failure free operation of computer
hardware in a given amount of time and in a particular environment.

Failure in case of software reliability is defined as non-


conformance of requirements of software. On the other hand, failure in case of hardware
reliability is defined as wear out of hardware before the completion of period of time for
which the hardware was supposed to work error free.

Ans6:- Reliability model :- A reliability model is a model used for software reliability
estimation. Software reliability model has a direct role in project management. Reliability of
software often depends on the quality of testing. Reliability estimation can be used to decide
whether enough testing has been done. In terms of reliability model, reliability of a system is
the probability that the system has not failed by time t. In other words,

R(t) = P(X > t)

where X is a random variable representing the life of a system.

There are three common definitions of time for software reliability models:- execution time,
calendar time and clock time. Execution time is the actual CPU time software takes during its
execution. Calendar time is the regular time we use, and clock time is the actual clock time
that elapses while the software is executing i.e. it includes the time the software waits in the
system. Different models have used different time definitions, though the most commonly
used are execution and calendar time. It is believed that execution time models are better and
more accurate than calendar time models, as they more accurately capture the “stress” on the
software due to execution.

Example:- An example of reliability model is Musa’s basic execution time model. This
model is an execution time model i.e. the time taken during modeling is the actual CPU
execution time of the software being modeled. This model concentrates on failure intensity
while modeling reliability. It assumes that the failure intensity decreases with time, that is, as
execution time increases, the failure intensity decreases. In this model, it is assumed that each
failure causes the same amount of decrement in the failure intensity. That is, the failure
intensity decreases with constant rate with the number of failures.

You might also like