Sei sulla pagina 1di 7

Software and Software Development

1. 1 What is Software?

Software is:

Instructions (computer programs) that when executed provide the desired


Functions and Performance.

Data Structures that enable the programs to adequately manipulate information


&

Documents that describe the operation and the use of the programs

Software is not only 'Executable Programs' ~ includes several elements


~Therefore it is a 'Package'

1.1.1 Types of Software Products

Generic ~ off the shelf Bespoke ~ custom built products


Less expensive More expensive
(cost is divided among several clients) (cost is charged from a single client)

More reliable Less reliable


(proven track recording and beta (At least initially failures may occur)
testing)

Immediate installation Delay due to high development time

More user friendly Less user friendly


User requirements are not completely Completely satisfied
satisfied

Cannot accommodate future changes Can easily accommodate this

1.1.2 Other Classification of Software

System Software Application Software

Directly control hardware resources Serves the user requirements in


Supports application software particular application domain.
Business software
Operating systems Scientific and engineering software
Utility software Real-time software
Program translators Embedded software
PC software & AI software
1.2 Software Product Attributes
~ characteristics shown by the product once it is installed and put into use.
~these are not services provided
~concerned with products dynamic behavior and the use made of the product

Maintainability: should be possible to change the software to meet the changing


needs of the customers

Dependability: includes a range of characteristics


~reliability
~safety & ~ security
should not cause physical or economical change in the event of SF

Efficiency : should not make wasteful use of resources such as money & PT

Usability : appropriate user interface, adequate documentation


1.3 Software Development Process
~ set of activities associated with production of a software product.
~ a phased development strategy is essential
~ that is it consists of number of stages that produce one or more documents
and program codes.

What is Software Development Life Cycle?


~ Software Development process model is also called as SDLC
~ process is repeated when software need to be changed

Different software process models


Waterfall model
Evolutionary development model
~evolutionary prototyping
~throw away prototyping

Rapid application development(RAD)


Dynamic system development model(DSDM)
1.3.1 Waterfall Model
~ first explicit model for Software development process
~development process is more visible
~the cascade from one phase to another Waterfall model

Requirements
definition
System &
software design

Implementation
& unit testing

Integration &
system testing

Operation &
maintenance
Drawing 1: Waterfall Model

System's services, limitations and goals established


Requirements
definition
They are defined in an understandable manner.

System designing process partitions as


System &
requirements to software systems requirements to hardware systems
software design

This establishes the overall system architecture


Software design involves ~ representing system functions in a form that may be
transformed in to one or more executable programmes.

System Executable
functions programs

During this stage


Implementation A set of programs/
the software design is realized as
& unit testing program units

Unit testing involves

verifying the each unit meet its specification

Integration &
system testing

Operation &
maintenance

Potrebbero piacerti anche