Software Development
Software development
is the process of developing software
to automate the tasks involved in a system and thus reducing the human
intervention to minimum saving a lot of human effort and time. There
are several tasks or activities involved the development process.
Domain
Analysis
The very first step of developing software is
the Domain Analysis. The
subject area where we have to work upon is termed as the Domain. Before
developing the software system, it is important to have a thorough knowledge
about the industry and the activities involved in the field. This will
help all the people who are going to involve in the project to have a clear
idea of the data flow and have an image of the end product.
Software
Elements Analysis
A team well versed in the domain then carries
out the Software Elements Analysis. They collect raw data from the area,
interact with the client and the end users who were to use the software
and make clear cut ideas about each and every transactions that are
carried out manually in the present system. Also they collect the customer
requirements, vision and ideas about the final look of the product.
This step is actually the foundation of the whole Software Development
Life Cycle (SDLC) from which other building blocks has to be erected.
Scope
Analysis
A feasibility study is then carried out based
on the requirements collected from the client and clearly outlines the
development process. This document which is known as the ‘Scope Document’ is
the legal document for the agreement between the client and the software
company. It clarifies the work to be done during process and the output
of the proposed system.
Specification
This is a detailed document that describes
the tasks elaborately. It will carry the minute details of the proposed
system and the data flow.
Software
Architecture
As per the specification document, the architecture
of the system is defined. It is prepared keeping aside the client requirements
to ensure the system meets them and ensures the unhindered flow of data.
It also proposes the requirements such as the supporting hardware and software
to ensure the smooth running of the proposed system.
Coding
This step is to transfer the design ideas to code and thus developing
the system.
Testing
The error free running of the software is ensured
by testing engineers fixing the bugs using the automated test tools and
also by manual checking.
Implementation
The next task is implementation of the software
that means installing the developed system at the client’s site and
makes it ready to use.
Documentation
The entire software system is clearly documented
so that it serves as the easiest way understand the software and helps a
lot the supporting and maintenance team.
Software
Training and Support
Adequate training is provided to the
end users to make them familiar with the new system and thoroughly train
them to use it. Queries arising
by the users have to be clarified satisfactorily and clearly state the
advantages of the new system.
Maintenance
Fixing up any unseen bugs and making the software as per the scope document
comes under maintenance. New enhancements and modifications to the system
can be considered as new work.

