Software Engineering Unit 1 Chapter - 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

SOFTWARE ENGINEERING

UNIT 1
CHAPTER - 1
INTRODUCTION
• Software Engineering

» The process of designing and building something that


serves a particular purpose

• It is program/ set of programs containing instructions which provide


desired functionality
• Also comprises of data structures that enable the program to
manipulate information

B. Madhurika, Assistant Professor, KMIT


DEFINITION
• Software Engineering

– A systematic approach to the development,


operation and maintenance of desired software

B. Madhurika, Assistant Professor, KMIT


Dual role of Software
Software
(Serves)

As a vehicle to
As a Product deliver that
product

-It delivers the computing potential of a - Helps in creation and control of other
H/W i.e. enables the h/w to deliver the programs i.e. it helps other software to
expected functionality do functions and helps as platform. E.g.
- Acts as information transformer Operating System

B. Madhurika, Assistant Professor, KMIT


Why Software Engineering is
important?
• Imposes discipline to work that can become
quite chaotic

– Lot of steps are involved in the development of a s/w, so if a


systematic approach is not taken, it becomes difficult/clumsy

B. Madhurika, Assistant Professor, KMIT


Why Software Engineering is
important?
• Ensures high quality of software

– If a s/w could deliver the features and functionalities required


then it is a high quality software.

B. Madhurika, Assistant Professor, KMIT


Why Software Engineering is
important?
• Enables us to build complex systems in a
timely manner

– Whenever we have a huge/complex project, then we need to


set proper deadlines and milestones of the time taken in each
step, so that in time we can deliver the s/w to the customer.

B. Madhurika, Assistant Professor, KMIT


Software vs. Hardware
Software Hardware
• S/W is logical unit • H/W is physical unit

• No spare parts for s/w • Spare parts for h/w exists

• Problem statement may not • Problem statement is clearly

be complete and clear initially mentioned at the beginning of


development
• Requirements may change
• Requirements are fixed before
with time
manufacturing
• Multiple copies(less cost)
• Multiple copies(more cost)
• Idealized and actual graph
• Bath tub graph
B. Madhurika, Assistant Professor, KMIT
Software vs. Hardware
Software Hardware

B. Madhurika, Assistant Professor, KMIT


Bath tub curve

Failure curve forB. Madhurika,


hardware Assistant Professor, KMIT
Bath tub curve

• Given the name bath tub because its shape is


same as bath tub.
• What does it explain?
– It explains the reliability of the product i.e. until
how many days / time the product works

B. Madhurika, Assistant Professor, KMIT


Bath tub curve

• We have 3 stages in bath tub curve:


– Decreasing failure rate or Infant mortality
– Constant failure rate
– Increasing failure rate or wearout

– H/W effected by the environment factors like dust,


temperature, pollution, etc.
– S/W does not have wearout.
B. Madhurika, Assistant Professor, KMIT
Bath tub curve

• Decreasing failure rate:


– As the product in this stage is new, there are very
less chances of it to fail. The product still fails
because of
• Manufacturing defect
• We haven’t assembled it properly
• It is a weak part or product.
B. Madhurika, Assistant Professor, KMIT
Bath tub curve

• Constant failure rate:


– It is named as constant failure rate because the
graph remains in straight line according to the
time.

– Most of the products fail in this stage

– It is the service life of the product.


B. Madhurika, Assistant Professor, KMIT
Bath tub curve

• Increasing failure rate:


– This is the stage where we use the product more
than its service period. The suddenly, the product
may fail.

– It is named increasing failure rate as the curve


moves upwards as shown according to the time.
B. Madhurika, Assistant Professor, KMIT
Software does not wearout
Increased due to side effects of changes

Spikes

B. Madhurika, Assistant Professor, KMIT


Idealized curve

• Since there is no wear out in s/w the curve


must undergo on 2 phases i.e. decreasing
failure rate and constant failure rate which is
called as Idealized curve.

• But in reality idealized curve is not possible.

B. Madhurika, Assistant Professor, KMIT


Idealized curve
• Initial failure happens just like h/w due to undetected
defects.
• After correcting the defects, the curve reaches a steady
state, but if any change occurs in the s/w then there is
spike in the graph.
• Most of the times the failure rate increases when a
change effect is requested.
• The actual curve is higher than the idealized curve.
B. Madhurika, Assistant Professor, KMIT
What is work product?
» (Result / Outcome of Software Engineering)

The outcome is in 2 perspectives:


1. Software Engineer
– The set of programs, the content (data) along with
documentation that is a part of s/w.

2. User/Customer
– The functionality delivered by the s/w that
improves user B.experience
Madhurika, Assistant Professor, KMIT
What S/W Engineering focuses on?
• Quality(While Software development)

– Functional
» To what extent that we have delivered the correct s/w and is
it reaching the expectations.
» Degree to which correct software is produced.

– Non functional
» Also called structural attributes.
» Features other than functions of s/w like robustness,
security, etc.
B. Madhurika, Assistant Professor, KMIT
What S/W Engineering focuses on?
• Maintainability(After the software has been developed and delivered)

– Should be easily enhanced and adapted to


changing requirements whenever required.

B. Madhurika, Assistant Professor, KMIT


The changing nature of S/W
• S/w is developed by software engineers and it
becomes a challenge to them with these changes
in s/w.
• 7 categories of s/w are
– System s/w
• Developed to serve other software's
• Example: OS, compilers

B. Madhurika, Assistant Professor, KMIT


The changing nature of S/W
• 7 categories of s/w are
– Application s/w
• Designed for end users. E.g. Email apps, spread sheets, etc

– Engineering and Scientific s/w


• Used for engineering functions and tasks. E.g. CAD

– Embedded s/w
• Resides in a product and controls its features and
functionalities. E.g. microwave oven
B. Madhurika, Assistant Professor, KMIT
The changing nature of S/W
• 7 categories of s/w are
– Web application s/w
• Client server program running on web browsers. E.g. multimedia,
online auctions, etc

– Artificial intelligence s/w


• Will have machine learning which includes algorithms that are
developed to tell the computer how to respond to something. E.g.
Speech recognition, etc

– Product line s/w


• Develop specific product under same brand. E.g. milk, ice cream,
etc
B. Madhurika, Assistant Professor, KMIT
Legacy software

• Generally, something which u get in


inheritance
• Example: Money / Status
• In terms of s/w, something which is old but
still in use and difficult to replace.
• Example: Legacy car

B. Madhurika, Assistant Professor, KMIT


Legacy system

• The combination of legacy software and


hardware overall is called legacy system.

• Ex: a s/w working in win XP is not compatible


with windows 11.

B. Madhurika, Assistant Professor, KMIT


Legacy software

• Outdated s/w still in use as it is fulfilling the


needs of the organization
• Ex: Bank s/w
• Customize s/w: s/w once developed will not
have any changes or new requirements then
we use it for decade
• Ex: Games
B. Madhurika, Assistant Professor, KMIT
Legacy software

• Need to be replaced for the following reasons:


– Due to change in business model

– Due to change in architecture

– Inadequate security, performance, flexibility, etc.

B. Madhurika, Assistant Professor, KMIT


Software Myths

• Blind belief that management, customers and


practitioners have on s/w and the process to
use it.
• Management myths
• Customer myths
• Practitioners myths
B. Madhurika, Assistant Professor, KMIT
Software Myths
• Management myths:
– When required, we can add more programmers for
fast s/w development.

– There is a book that contain standards and procedures


for developing s/w that a developer needs.

– There is no need to change approach to s/w


development, we can develop same s/w that was
developed 10yrs ago.
B. Madhurika, Assistant Professor, KMIT
Software Myths
• Customer myths:
– Only the general statement is sufficient and no
need to mention details.

– Project requires changes but can be easily


accommodated.

B. Madhurika, Assistant Professor, KMIT


Software Myths
• Practitioner myths:
– Once we write program and get it work, job is done.

– Until I get programming running, I have no way of


accessing its quality – FTR(Formal technical reviews)

– Deliverable product is only working product.


• Documentation, technical reviews, code, how to use,
prototype needed

B. Madhurika, Assistant Professor, KMIT


END OF UNIT 1 - CHAPTER 1

You might also like