Software development
Software development refers to the set of processes through which electronic software is produced and created, and it is also known as the process of developing and creating a specific program using a programming language, and this includes writing a series of interconnected programming commands.
Software development is a logical, iterative process that aims to create a computer program designed and programmed to accomplish a specific task or process. The person who writes the code for different software and supervises it is called the programmer
It should be noted that software development work is not limited to programmers only, as developers of technical devices create code for their devices, although they may not be software developers in the first place.
Software development history
The history of software development dates back to more than 125 years before the advent of the computer, where programming was used in some industrial fields. A variety of textiles
In 1948 the first real program appeared in history, when Tom Kilburn and his colleague designed a small-scale Manchester experimental machine that was used to perform calculations that took about an hour, and it is worth noting that the time it took was considered fast at that time.
Modern structured programming languages first appeared in the 1950s and 1960s, as Fortran, Lisp, and other languages that became the basis for technical computing and programming during the mid-century, then object-oriented programming during the 1970s.
The following decade of the last century witnessed a great development in software development and production, as software appeared in personal computers, such as AutoCAD and Microsoft Word programs. The interest in open source software that can be modified by the user emerged during the nineties of the twentieth century
Later, software became not confined to the computer world, as it was used to develop smart phones and portable devices. Nowadays, software is involved in almost everything that surrounds us, starting from the simplest things to the most complex, using many ancient and modern programming languages.
Software development stages
During its development, software passes what is known as the software development life cycle, and this term refers to all the stages of the software development process, starting from planning its production to its maintenance, and these stages are as follows:
Planning stage: in which software developers gather from the client the requirements and desired goals of the software, during which they determine how the software will work, and this process is usually accompanied by an analysis of market surveys related to the field of software to be developed.
Feasibility Analysis Phase: In this phase, a complete analysis of the client's requirements is carried out, and how to perform them. This phase witnesses the creation of a document known as the Program Requirements Specification (SRS), where it is included with all the requirements necessary to complete the project.
Design phase: During this phase, the units of the overall software system are designed, by defining the function of each software unit, and how those units interact with the third party.
Code writing phase: in which programmers start writing the code according to the programming tools available to them and the standards of the company executing the software project. Test phase: In which defects or errors in the created program are searched
and verify that it is working properly with external hardware and software. Deployment and maintenance phase: In this phase, the software is presented in its final form. Maintenance phase: in which software is maintained, improved and developed according to the change of the system environment on which it may operate in the future.
Software types
There are four different types of software that are developed, and they are as follows: System software, which is software that deals with operating systems, memory disk management, hardware, and other operational necessities.
Programming software: This is a type of software that deals with software development, such as a text editor, tools for writing and debugging code, and so on.
Application software: It is concerned with developing applications designed to help users accomplish certain tasks, such as data management programs, smartphone applications, web applications, and various social networking sites.
Embedded software, which is software that is developed to control machines and electronic devices that are not computers, such as industrial robots, and other types of machines.
TRANSLATED FROM: