You are on page 1of 14

Submitted By

K.Durga Prasad
DPC25 (172725)

Submitted To
Mr.Kamalakar Raj sir
Dept of Comp Sci
What Is Software?
 The world can’t operate without software. Industries are
controlled by software systems, as the financial systems,
scientific labs, infrastructures and utilities, games, film,
television, and the list goes on.
 A software is a computer programs along with the
associated documents and the configuration data that
make these programs operate correctly.
 A program is a set of instructions (written in form of
human-readable code) that performs a specific task.
What is Software Engineering?
 Software Engineering could be more accurately called
Software System Engineering, it builds upon System
Engineering

 Software engineering is an engineering discipline that is


concerned with all aspects of software production.

 Software engineers should adopt a systematic and organised


approach to their work and use appropriate tools and
techniques depending on the problem to be solved, the
development constraints and the resources available.
What is a Software Process?
 A set of activities whose goal is the development or evolution of
software.
 Generic activities in all software processes are:
 Specification - what the system should do and its development
constraints.
 Development - production of the software system.
 Verification – checking that the software meets the requirements.
 Validation - checking that the software is what the customer wants
or meets intended use.
 Evolution - changing the software in response to changing
demands.

V&V = Verification and Validation


Software Life Cycle Models
 A simplified representation of a software process, presented from a
specific perspective.
 Generic process models
 Waterfall;
 Iterative development;
 Component-based software engineering.
 A software process (also knows as software methodology) is a
set of related activities that leads to the production of the
software.
 These activities may involve the development of the software
from the scratch, or, modifying an existing system.
Activities of Software Process
 software process must include the following four
activities:
 Software specification (or requirements engineering): Define
the main functionalities of the software and the constrains
around them.
 Software design and implementation: The software is to be
designed and programmed.
 Software verification and validation: The software must
conforms to it’s specification and meets the customer needs.
 Software evolution (software maintenance): The software is
being modified to meet customer and market requirements
changes.
 In practice, they include sub-activities such as
requirements validation, architectural design, unit
Software Process Models
 A software process model is a simplified representation of a
software process. Each model represents a process from a
specific perspective.

 Some methodologies are sometimes known as software


development life cycle (SDLC) methodologies, though this
term could also be used more generally to refer to any
methodology.
 Waterfall Model
 Sprial Model
 Iterative
Waterfall Model
 The waterfall model is a sequential approach, where each
fundamental activity of a process represented as a separate
phase, arranged in linear order.

 Plan-driven process is a process where all the activities are


planned first, and the progress is measured against the plan.
While the agile process, planning is incremental and it’s easier to
change the process to reflect requirement changes.

 The phases of the waterfall model are: Requirements, Design,


Implementation, Testing, and Maintenance.
The Waterfall Model
Spiral Model
 The spiral model is a risk-driven where the process is
represented as spiral rather than a sequence of activities.

 It was designed to include the best features from the waterfall


and prototyping models, and introduces a new component;
risk-assessment.

 Each loop (from review till service — see figure below) in the
spiral represents a phase. Thus the first loop might be
concerned with system feasibility, the next loop might be
concerned with the requirements definition, the next loop
with system design, and so on.
The spiral model
Iterative Development
 Iterative development model aims to develop a system
through building small portions of all the features, across all
components.
 We build a product which meets the initial scope and release
it quickly for customer feedback. An early version with
limited features important to establish market and get
customer feedback.
 In each increment, a slice of system features is delivered,
passing through the requirements till the deployment.
Key Points
 Software engineers have responsibilities to the engineering
profession and society. They should not simply be concerned
with technical issues.

 Professional societies publish codes of conduct which set out


the standards of behaviour expected of their members.

 Methods are organised ways of producing software. They


include suggestions for the process to be followed, the
notations to be used, rules governing the system descriptions
which are produced and design guidelines.

You might also like