Software Engg Chap 01
Software Engg Chap 01
Overview of Software
Engineering & The Software
Development Process
Definition of Software
Software is a set of instructions that when
executed, provide desired features, functions
and performance.
It is a datastructure that enables the programs
to manipulate the information.
Software is a document that describes the
operation and use of programs.
Characteristics
1.Software is developed or engineered; it is not
manufactured.
2.Software doesnt “wear out”.
3.Although the industry is moving towards
component based constructions, most
software continues to be custom built.
Bathtub Curve for Hardware failure
Bathtub Curve for Software failure
Types/Categories of Software
1.System Software
2.Application Software
3.Engineering/Scientific Software
4.Embedded Software
5.Product-line Software
6.Web applications
7.Artificial Intelligence Software
System Software
It is a collection of programs written to service
other programs.
System software area is characterized by
heavy interaction with computer hardware.
Ex: Operating system, Compilers, Editors, File
management utilities, Drivers, Networking
Software, Telecommunication Processors.
Application Software
It consist of standalone programs that solve
specific business needs.
Application software is used to control
business functions in real time.
Ex: Microsoft office suite, Google docs,
Browser
Engineering/Scientific Software
This application range from astronomy to
volconology, automotives stress analysis to
space shuttle orbital dynamics, molecular
biology to automated manufacturing etc.
Embedded Software
It resides within a product or system and is
used to implement and controll features and
functions for the end users and for the system
itself.
Ex: Keypad control for microwave oven, Digital
functions, Dashboard displays etc
Product-line Software
Desigened to provide a specific capability for
use by many different customes.
It focus on limited marketplace or address
mass consumer markets.
Ex: Word processing, Spread sheets,
Computer graphics, Entertainment,
Multimedia, Database management, Business
financial application.
Web applications
Span a wide area of applications.
In their simplest form, WebApps can be a little
more than a set of linked hypertex files that
present information using text and limited
graphics.
Artificial Intelligence Software
AI software makes use of nonnumerical
algorithms to solve complex problems that are
not amenable to computation or straight
forward analysis.
Ex: Robotics, Pattern recognition, Artificial
nueral networks, etc
Definition of Software Testing
C- Communication
P - Planning
M – Modeling
C - Construction
D - Deployment
Delivers software in small but usable pieces, each piece builds on pieces
already delivered
There are many situation ,that require a lot of experiment
action through trial & error in order to finalize the
requirment analysis & specifications
The incremental model combines elements of waterfall
model applied in parallel process flows
Each linear sequence produce deliverable “increments”
of the s/w product .
It produce a s/w product as aseries of increment release.
When an incremental model is used the first increment is
often a core product i.e basic requirment
The core product is used by customer .As a result of
use ,a plan is developed for the next increment
This process is repeated following the delivery of each
increment ,until the complete product is produced.
For example : Word processing s/w is developed
using incremental paradigm then,
1) in 1st :Basic file management editing &
document production functions are delivered
2) in 2nd : More sophisticated editing &
document production capabilities are delivered
3) in 3rd : Spelling & grammer checking functions
are deliverd
4) in last : Advanced web page layout
capabilitites functions are delivered.
Rapid Application Development Model(RAD)
The RAD approach is mapped into the generic
framework activities :
1) Communnication: Works to understand the
business problems
2) Planning : Is essential because multiple s/w
teams work in parallel on different system
function.
3) Modelling : 3 Major phases -Business modeling,
Data modeling & process modeling
4)Construction :Emphasizes on the use of pre-
existing s/w components & application
5) Deployment : Changes & innovations are done if
required for customer satisfaction
Advantages