Software Development Chap 1
Software Development Chap 1
a) System Software
b) Application software
4. Less in cost 4.
Very costly, since they have to be
developed as per specific requirements
trained as per
requirements
Characteristics of Software
1. Softwareis developed or engineered, it is notmanufactured- Its isimportant for
the software to be developed with identified requirements and ideas so that they
can be designed according to specifications and can be produced efficiently. Since
software is a logical unit rather than physical, therefore it is necessary to
determine the objective of the software for the engineering and production to
meet the functionality of the end user.
2. Softwaredoes not "wear out" -The curve below,i, called the "bathtube curve"
which indicates that the wear out' state is the state, when the product with
progression of time the failure rate of the hardware rises due' to excessive
temperature, dust or improper use which at one point of time makes it totally
unusable. The curve shows the wear out state of the hardware with respect to the
failure rate and time, where software does not wear out like the hardware.
Though initially it leads towards failure but with continual and continuous
desired functionality.
Failure
Rate
Change
Actual Curve
Idealized Curve
Time
12 SOFTWARE
ENGINEERING
Software
Engineering is an engineering
discipline which is concerned
systematic developmentof the software. with the
It is defined
as the disciplined and
methods and tools for the
quantifiable
approach that introduces
engineering of thesoftware which the
for use of
development, operations provides the
and maintenanceof
It is the the software. methodology
establishment ànd
effiient software sound engineering
in an principles applied
economicalmanner. to obtain
SE is alayered reliable and
technology, with following
4 layers as
shown in fig below:
Tools
Methods
Process
QualityFocus
Methods : Methods
software SE
project and
defined the
which
forms the
timely
base for the
requirement
actual analysis,
implementation
results
design
of
into
modeling,
the task
that
development of e
these task includes the
Tools:They is program
areused carried out. construction,
implementationof to testing andcommunicatou
focused the automatethe
software. methods support, where
accordingtodevelopment
the process
process resulting
defined to into an efficient
deliverthe
quay
1.3 SOFTWARE PROCESS
Software process can be defined as the structured set of activities that are required to
a) Specification
d) Evolution
a) Specification :It defined what system must do and the constraints on the systerm
b) Design and Implementation : It defines the actual design of the system where
they have to be developed and implemented
c) Validation : Validation is to check whether the design and implementationare
done according to the specification of the user i.e. validation is to test the system
with respect to requirementspecifications.
d) Evolution : It is the change in the system in response to change in customerand
market needs.
1.
Maintainability
2. Dependability
3. Efficiency
4. Usability
1. Maintainability :The software must accept the changes according to the lses
requirements. A software is maintainable if it sustains the changes due
upgrades, migrations, fix implementations and retirement.
2. Dependability:
is a measure of a system's availability, reliability, and it
maintainability. This may also encompass mechanismsdesigned to increase ad
maintain the dependability of a system. It
involves reliability, safety, security and
availability of the software which are the major
attributes of the system.
3. Efficiency : A software must be efficient to automate
routine system task by
making the use of availableresources such as
memory and processor cycle.
4. Usability :
Software must be user friendly
available with the user manual for
to be used by maximum user and
is
reference.
Feasibility study
System analysis
System designing
Coding
System testing
Implementation & Evaluation
Maintenance
Feasibility Study
Itis preliminary study which investigates the information needs of prospective users
and determines the resource requirements, costs, benefits and feasibility of a proposed
project.
The goal is to evaluate alternative system and to propose the most feasible and
desirable system for development.
It answersfollowing questions :
Whetherthe system can be carried out with existing equipments?
organization. It determines the general attitude and job skills of existing person
and whether any restructuring of jobs will be acceptable to the current user.
Increased Profits
government requirement.
System Analysis
It is a detailed study of the various operations performed by a system and their
relationship with in and outside of the system. Detailed investigationshould be conducted
with personnel closely involved with area under investigation, according to the precise
terms of reference arising out of the initial study reports. The task to be carried out should
be clearly defined by the following:
)e)
The
Producea detailed report
Estimate the resources required to design and
to stated
implementthe system.
problems to meet user requiremens
and to make recommendations for a new computer based system.
System Designing
In this process the primary object is to identify user requirements and to build
system that satisfies these requirements. Design of the system is mainly the logical des"
Iatroductlom 9
that can be sketch on a paper or on a computer. It includes physlcal design elements,
describes the datd to be inputted.
The process involved in manipulation of data & output design represents :
a) File structure, storage devices etc
System Testing
Testing is a process of making sure that the program performs the intended task.
Once the system is designed it should be tested for validity. During this phase the system
is used experimentally to ensure that software does not fail and it will work according to
its specification. It is tested with special test data.
Implementation& Evaluation
This is the final phase of development. It consists of installing hardware, programs,
collecting data and organizing people to interact with and run the system. In this phase
user actually starts using the system therefore it also involves training of users and
provides friendly documentation.
Evaluation is the process of verifying the capability of a system after it put into
operation to see whether it meets the objective or not. It includes response time, overall
reliability and limitations user behaviour.
Maintenance
Itis process of incorporating changes in the implemented existing system. The cost of
maintenance varies from 50% to 80% of the total development cost.
It is classified as:
QUESTIONS
1. Explain the term software with its type.
2 Draw the neat and labeled diagram of Software Engineering layered technology.
3
List and explain the various attributesof the software.
4 Write a note on software prOcess.
5. List the characteristics of a software.