0% found this document useful (0 votes)
24 views8 pages

Software Development Chap 1

Software is defined as a set of instructions that, when executed, produce desired results, and is categorized into system software and application software. System software acts as a platform for running applications, while application software is designed for end-user tasks. The document also discusses software engineering methods, characteristics of good software, and the software development life cycle, emphasizing the importance of structured processes and user specifications.

Uploaded by

adityanawal09
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views8 pages

Software Development Chap 1

Software is defined as a set of instructions that, when executed, produce desired results, and is categorized into system software and application software. System software acts as a platform for running applications, while application software is designed for end-user tasks. The document also discusses software engineering methods, characteristics of good software, and the software development life cycle, emphasizing the importance of structured processes and user specifications.

Uploaded by

adityanawal09
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

1.1 WHAT IS SOFTWARE?

A software is also ermed as a program which is non-tangible component of the


system. Therefore a software is defined as a set of instructions which when
executed/performed provides desired The instructions are written in a well.
results.

organized manner within a software to solve a particular problem, hence these


instructions are designed to perform well defined functions of computers and are
collection of computer data and instructions.

Software is dived into two main categories

a) System Software
b) Application software

a) System Software :System software is a software program which helps starting


the computer and is the main platform to run applications,It s also known as
operating systèm, which act as an intermediate between hardware and user.

Therefore theSystem software acts as a platform to run applications software and


operating the hardware.

b) Application Software : Application software is a set of one r more programs


which is defined for end user task. These software run on the system softwareof
the computer carrying out specific operations.

Types of Software Products


There are2 types of softwareproducts:
a) Generic Products :Generic products are also called standalone systemswhich are
easilyavailable to everyone as they are produced in open market. However the
production of such products are controlled by the developmnent
organization
b) Customized Products :These are products which are developed for a
particular
customer requirement and the productions of such products are controlled by the
customer organization.
Differerncebetween Genericand Customized Products

Generic Products Customized Products


1. Specifications are owned by the 1. Specifications are owned and controlled
Product Developer. by the Customer
2. Changes are controlled and decide 2. Changes are
negotiated between
by developer. developer and customer tacking
contractual implications into account

3. They are off-the-shelf products 3.


with They have exactly the functions which
pre-defined features, might not be are needed for use
for use

4. Less in cost 4.
Very costly, since they have to be
developed as per specific requirements

5. Support is availableforfree 5. is less extensive as


Support
maintenance and manual has to be
designed
Introduction
3
6.
Readilyavailable 6. Takes time, depending upon the
development requirement,

7. Simple to Upgrade 7. Timeconsuming and complex


upgradés
8. Training cost and time is less 8. Training cost and time
high : staff has to be
iscomparatively

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

maintenance itgains an idealized state. Based on the user demand software


undergoes maintenance and modification, clustering of
a series of the these
; modification and changes would lead to defects causing failure that will

deteriorate the software but not "wear out".

Early Random Failures Wear-out


Rate Failure Failures
Failure
Operational Time

Fig. 1.1: Failure Rate Vs. Time -"Bathtub Curve"

rather than being assembled from the existing


3. Most software is customer built,

it is assembled from the


component- During the manufacturing of the hardware,
available,where as the
components such as IC's,capacitors & resistors
are already

software is developed according to the specifications of the user, providing the

desired functionality.

makes the reusability of the existing features for the


In today's trend, the software

developmentof the product and this approachis called component engineering.


(S. Y.B.Sc. (1.T.)
Softuare Engineering
-Sem.
:). -Tv
Failure
Increased
Effects
Rate Due to Side

Failure

Rate

Change
Actual Curve

Idealized Curve

Time

Fig. 1.2: Failure curves for Software

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

Among the four


layers, the
engineering. process layer
is the
Quality
Focus: foundation that
the Quality
ofthe supports
customer software
softwareisthe
focuses on specifications.
the Quality can backbone of the
continual and be defined
customer. as product, and
Therefore core continuous conformnance must meet
that to
Process: supportsSEisimprovement
process
Process
layer is quality which requirements that
management the focus. would satisty
control of the
software. the foundation for

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

develop the software system.


The fundamentalactivittes of softwareprocess areas follows:

a) Specification

b) Design and Implementation


) Validation

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.

Hence, the softwareprocess can be implemented in different systems according to


their criticality which can be improved by the process of standardization where different
engineering process models can be used for the development of the system. Since different
types of softwareprocess needs different development process, therefore software process

model is a simplified description of a softwareprocess that presents one view of a process.


The VariousProcess Models are –
WaterfallModel :In this model the activities are performed one after other resulting
into the artifacts of one phase output acting as input. It is a plan driven model.
Iterative Development : It emphasizes on short development cycles where
development and validation
specification, are interleaved where the initial system is
developed from the abstract system.

Component Based Software Engineering (CBSE) The development process :


assuming that the part of the system already exist, so that the development process focus
is done

more on integration rather than developing from scratch.


The model depends on the system which is under development,it
choice of a process
is usefulto apply a workflow, dataflow /activity and role/action model.

1.4 SOFTWARE ENGINEERING METHODS


Software engineering methods is a discipline which is responsible for ideas and
designing of the system.It is a set of activities and methods that are designed to measure,
monitor and control a specific set of system properties. They are the organized way that

lead to the systematic


engineering of the softwareaccording to the user specification. Each
of the method provides their own framework to be followed, defined with the

specifications and design layout todevelop and maintainthe software.


The SoftwareEngineering model accomplishesthe following:
a) It defines the process that serves the need for views.

b) Itrepresents the behaviorof process and assumption.


6 (S.Y.B.Sc.
Softoare Engineering (I.T.) -
et c) between the.
It
reprebents the constraints
and dependencies Sem.-y
sdewstor
bet
understbnding.

The various software engineering methodsare :


1. Waterfall Model :asequential linear model.
2. Prototype Model: Iterative Model
3. Incremental Model :Iterative linear framework
4. Spiral Model :CombinedIterative- linear model
5. Rapid Application Development :Iterative Framework
6. Extreme (X) Programming:Sprint Framework
1.5 ATTRIBUTES OF GOOD SOFTWARE
The attributes of a good software are listed as -

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.

1.6 SOFTWAREDEVELOPMENT LIFE CYCLE


The
software development life cycle is used to
facilitate the development of a large
software product in a
systematic, well-defined and cost effective
way.
It is a multistep, iterative process, structured in a methodical way. This process
used to model
15
or provide a frameworkfor technical arnd non-technical activities to deliver
a quality system which meets or exceeds business expectations or
manage decisiot
making progression.

The various purposes of usinga life cycle model are:


It helps in understanding the entire process.
It enforces structured approach todevelopment.
• Itenables planning of resources in advance.

• Ithelps in monitoring the process of the system.


Introduction
7
Information system developmentinvolves various activities performed together. It is
awell defined process by which a system is planned, and implermented. The
developed
system developmentstarts with the requirement for improvingtheir businesystem
There are following phases involved in SDLC:
• Preliminary Investigation (Problem Identification)

Feasibility study
System analysis
System designing
Coding
System testing
Implementation & Evaluation
Maintenance

Preliminary Investigation (ProblemIdentification)


It is the first stage of information system developmentcycle. It specifies aboutwhat
actually the existing system is. The preliminary investigation must define the scope of the
project and the perceived problems, opportunities and directives that triggered the
project. It is generally carried out by a senior manager and willresult in a study proposal.
It provides the basis for the initial studyof the project.
It include the following tasks:

a) List problems, opportunities and directives.

b) Negotiate preliminary scope.

) Assess project worth.

d) Plan the project.

e) Present the project and plan.

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 consists of the following :

1. Statement of the problem

2. Summary of findings and recommendations


3. Details of findings
4. Recommendationsand conclusions

The feasibility of a system can beevaluated in four categories :


a) Organizational Feasibility : It is on how well a proposed information system
Supports the objectives of the organization and is strategic plan for information
system.

b) EconomicFeasibility :It involves post benefit analysis to determine the benefit


and savings that are expected from new system and compared with costs. lt
Softuare Egneering(S.Y.B.Sa. (1.T)-
Sem,
-V)
benefits out weight cost then decisión is made to design and
implement new
system.
c) Technical
Feasibility : It involves the required and existing computer
systern,
hardware, software &e to what extent it can support the proposed application.

It answersfollowing questions :
Whetherthe system can be carried out with existing equipments?

• Whether the existing software is enough?


OIanew technology is required how best it can be implemented?
d) Operational Feasibility :It concerns human, organizational and with
political
aspects. It covers technical performance as well as aceptance within

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.

Organizational Feasibility EconomicFeasibility

How well the proposed systemCost savings

supports the strategic objectives ofIncreased Revenue


the organization.
Decreased Investment

Increased Profits

Technical Feasibility Operational Feasibility

Hardware, softwarea and End user acceptance.


network-capability, reliability and Management support.
availability.
Customer, supplier and

government requirement.

Table represent'the key characteristics of feasibility.

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:

a) Examine and document the relevant aspects of the existingsystem.


b) Analyze the findings and record the result.

c) Define and document in outline a proposed system

d) Test the proposed design against known facts.

)e)

The
Producea detailed report
Estimate the resources required to design and

objective is to provide solutions


to support the proposal.

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

b) Database is also designed in this phase

c) Changes to be nmade in the organisational structure of the firm


are outlines
d) Input, Output, files, formsand procedures are planned
e) Finally standards for testing, documentation, system' control are designed.
Coding
Thegoal of this phase is to translate the design of
the system into code in a given
programnming language. The aim of this phase is to implement the design
in the best
possible manner.

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:

a) Enhancement Adding new : functions or additional capability of the system.

b) Adaptation : Customizing the software to run in a new environment.

c) Correction :Correcting the bugs in the existing software.

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.

6. Difference betweenGeneric Products and Customized Products.


7. Write a note on SDLC.

2/S.Y.B. Sc. (1.T.).-Software Engineering (Sem.-IV)

You might also like