Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.
Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software , sometimes in a planned and structured process.
Therefore, software development may include following activities that result in software products:-
The research function plays an important role in developing software. It is all about experimenting with all the concepts and technologies.
Research is very important for the future sustainability of software, a well-researched software has a longer life cycle, and it can adopt changes in technology.
The more you research before developing the software, it is likely that the software will be more efficient and stronger.
New development is an activity involved in software development. Whenever a new requirement is analyzed in the market so to fulfill this requirement the new development phase is used.
Here we start from scratch and develop a brand new software. These software are developed to solve a problem of the market and make processes more efficient and productive.
Prototyping is the step involved in software development. It is a process of developing a prototype or we can say a sample of the software we want to develop, through this we can test and analyze the requirements of users.
Users can interact with Prototype and test them and this helps in satisfying user requirements through getting feedback from users. this saves lots of time and resources and makes the software more user-friendly.
The modification is a step that goes throughout the life-cycle of software. Software developers work continuously on finding and fixing the bugs in the software and they give updates of software on regular basis.
A software is reused when we develop new software that has some common functionalities that an existing software has. So we reuse this software for developing new software and this saves lots of time and effort to develop that section of software that has been already developed.
Re-engineering is the process of examining and testing the existing software for developing a new version of it.
Re-engineering is used when software needs very frequent maintenance on some sections of software, this makes maintenance of a software a lot easier.
Maintenance of a software is the process where company provides the service to their clients on having problem while using software. This service is provided by a company for specific life span of a software.