Devops Unit-1
Devops Unit-1
Definition of Software
Software is a set of programs (sequence of
instructions) that allows the users to perform a
well-defined function or some specified task.
Software is
(1) instructions (computer programs) that
when executed provide desired features,
function, and performance.
(2) data structures that enable the programs to
adequately manipulate information, and
(3) descriptive information(documentation)
that describes the operation and use of the
programs.
What is Software Crisis?
In Late 1960’s many software projects failed.
Software crisis is a term used for the difficulty of
developing software on time, within budget, and
with in requirements.
The term "software crisis" was coined by some
attendees at the first NATO Software Engineering
Conference in 1968 at Garmisch, Germany.
What is Software Crisis?
Size: Software is becoming more expensive and more
complex with the growing size. For example, the code
in the consumer product is doubling every couple of
years.
Quality: Many software products have poor quality,
i.e., the software has more defects after delivery due to
ineffective testing technique.
Cost: Software development is costly. Highly qualified
and skilled manpower is required to develop the
software.
Delayed Delivery: Serious schedule overruns are
common. Very often the software takes longer than the
estimated time to develop, which in turn leads to cost
shooting up. For example, one in four large-scale
development projects is never completed.
Software Crisis
The following are the main reasons for software crisis:
Increase in size of software.
Increase in cost of developing a software.
Software is delivered late.
Software is unreliable.
Increased complexity of the problem area.
Poor Project management.
Lack of understanding of the problem and its environment.
Duplication of efforts (rework)due to absence of automation
in most of the software development activities.
High optimistic estimates regarding software development
time and cost.
Software Engineering
Solution to the problem was to transform unorganized
coding effort into a software engineering discipline.
Software engineering is a process of analysing user
requirements and then designing, building, and testing
software application which will satisfy those requirements.
These engineering models helped companies to streamline
operations and deliver software meeting customer
requirements.
▪ In the late 1970s widespread use of software
engineering principles.
▪ In the 1980s , automation of software engineering
process and growth of (CASE) Computer Aided
Software Engineering tools.
▪ The 1990s have seen an increased emphasis on the
management aspects of projects for quality.
Definition of Software Engineering
various definitions of software engineering:
IEEE standard defines software engineering as the
application of a systematic, disciplined, quantifiable
approach for the development, operation,and
maintenance of software.