CSE 314 Principles of Software Engineering Assignment No 3

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 7

CSE 314

PRINCIPLES OF SOFTWARE ENGINEERING


ASSIGNMENT NO 3

SUBMITTED TO SUBMITTED BY:

Mr TARA CHAND VERMA HARSHIT ARORA

RE1801A19

10809161
CSE314

Home Work 3

Part A:

Q1. What are software metrics? why they are being used?

A1. A software metric is a measure of some property of a piece of software or its specifications.
Since quantitative methods have proved so powerful in the other sciences, computer science
practitioners and theoreticians have worked hard to bring similar approaches to software
development. Tom DeMarco stated, “You can’t control what you can't measure.” Some software
development practitioners are likely to point out that naive and simplistic measurements can
cause more harm than good. Others have noted that metrics have become an integral part of the
software development process. The difficulty is in determining which metrics matter, and what
they mean.

Software metrics are used to give programmers feedback about their program. Metrics can be
used as guidelines for when to refactor. They provide a way to measure the progress of code
during development.

Q2. What do you mean by Halstead Software science?

A2. Halstead proposed the first analytic laws for computer science by using a set of primitive
measures. these can be derived once the design phase is complected and the code is generated.
these measures are listed below

n1= number of distinct operators in a program

n2= number of distinct operands in a program

N1= total numbers of operators

N2= total number of operands

By using these measures,Halstead developed an expression for overall program length,program


volume,program difficulty,development effort and so on.

Program length (N) can be calculated by using equation:

N = n1log2 n1 + n2log2 n2
Program volume (V) can be calculated by using equation:

V = N log2(n1+n2)

Note that the program volume depends on the programming language used and respesents the
volume of information (in bits) required to specify a program.

Volume ratio (L) can be calculated by using the following equation:

L = Volume of most compact form of a program

volume of the actual program

Where value of L must be less than 1. Volume ratio can be also calculated by

L = 2/n1 * n2/N2

Program difficulty level (D) and effort(E) can be calculated by equations:

D = (n1/2)*(N2/n2)

E=D*V

.
Q3. Differentiate between data structure metric and information flow metric?

A3. A metric tree is any tree data structure specialized to index data in metric spaces. Metric
trees exploit properties of metric spaces such as the triangle inequality to make accesses to the
data more efficient. Examples include the M-tree, vp-trees, cover trees, and bk trees.

Whereas in information flow metric The informal analysis of PWC in suggests that information
flow corresponds to an improvement in the accuracy of an attacker’s belief. We use change in
accuracy, as measured by belief distance D, to quantify information flow.

Part B:

Q4. Discuss in detail about CMM and ISO9001 quality standards which are used to categorize
the level of development process a software company is maintaining.

A4. CMM (Capability Maturity Model) is a model of process maturity for software development
- an evolutionary model of the progress of a company’s abilities to develop software.In
November 1986, the American Software Engineering Institute (SEI) in cooperation with Mitre
Corporation created the Capability Maturity Model for Software. Development of this model was
necessary so that the U.S. federal government could objectively evaluate software providers and
their abilities to manage large projects. Many companies had been completing their projects with
significant overruns in schedule and budget. The development and application of CMM helps to
solve this problem.

The key concept of the standard is organizational maturity. A mature organization has clearly
defined procedures for software development and project management. These procedures are
adjusted and perfected as required.

In any software development company there are standards for processes of development, testing,
and software application; and rules for appearance of final program code, components,
interfaces, etc.
The CMM model defines five levels of organizational maturity

ISO 9001 is the internationally recognised standard for the quality management of businesses. It

• applies to the processes that create and control the products and services an organisation
supplies
• prescribes systematic control of activities to ensure that the needs and expectations of
customers are met
• is designed and intended to apply to virtually any product or service, made by any
process anywhere in the world

ISO 9001 is one of the standards in the ISO 9000 family.


Implementing a Quality Management System will motivate staff by defining their key roles and
responsibilities. Cost savings can be made through improved efficiency and productivity, as
product or service deficiencies will be highlighted. From this, improvements can be developed,
resulting in less waste, inappropriate or rejected work and fewer complaints. Customers will
notice that orders are met consistently, on time and to the correct specification. This can open up
the market place to increased opportunities.
Q5. Show the Difference between Software and hardware reliability?

A5. Some of the important differences between software and hardware reliability are:

• Failure does not occur if the software is not used. However in hardware
reliability, material deterioration can cause failure even when the system is not
in use.
• In software reliability, failures are caused by incorrect logic, incorrect
statements, or incorrect input data. In hardware reliability, failures are caused
by material deterioration, random failures, design errors, misuse, and
environmental factors.
• Software failures are rarely preceded by warnings while hardware failures are
usually preceded by warnings.
• Software essentially requires infinite testing, whereas hardware can usually
be tested exhaustively.
• Software does not wear out, and hardware does.

Q6. What is reliability model?

A6. Reliability is the probability of a device performing adequately for the period of time
intended under the operating conditions encountered. Reliability modelling is the process of
predicting or understanding the reliability of a component or system. Two separate fields of
investigation are common: The physics of failure approach uses an understanding of the failure
mechanisms involved, such as crack propagation or chemical corrosion; The parts stress
modelling approach is an empirical method for prediction based on counting the number and
type of components of the system, and the stress they undergo during operation.

Reliability Model

For a series system:

The system works if A works and B works and C works and D works.

For example, if

In terms of time,

Suppose that
Observe that for the constant failure rate (exponential) model, a Weibull distribution can be
used:

but this is much more difficult.

You might also like