Programming and web design

Software development

Software development

The term 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 sequential set of interrelated code commands, and the development process Software is a logical, iterative process that aims to create a computer program that is designed and programmed to accomplish a specific task or process.

The person who writes code for various software and supervises it is called a programmer, and it should be noted that the work of software development is not limited to programmers only, as developers of technical devices create software code for their devices even though they may not be software developers originally.

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. Different textiles, and in the year 1948 A.D. the first real program appeared in history, when Tom Kilburn and his colleague designed a small-scale experimental Manchester 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.

Read also:How do I open blocked sites

Modern structured programming languages ​​appeared for the first time in the fifties and sixties of the twentieth century, such as Fortran, Lisp, and other languages ​​that became the basis for technical computing and programming during the middle of that century, then object-oriented programming appeared during the seventies, and the next decade witnessed The last century saw a great development in software development and production, as software appeared on personal computers, such as AutoCAD and Microsoft Word.

Interest in open-source software that the user can modify emerged during the nineties of the twentieth century, and later the software became not limited to the computer world as it was used to develop smart phones and mobile devices, and at the present time software is involved in almost everything that surrounds us, from the simplest things to The most complex of them, using many ancient and modern programming languages.

Software development stages

Software goes through during its development what is known as the software development life cycle (in English: Software Development Life Cycle), and this term refers to all the stages that the software development process goes through, starting from planning for its production and ending with its maintenance, and these stages are as follows:

  • Planning stage: In which software developers gather from the customer the requirements and desired goals of the software, and during which they determine how the software works, and this process is usually associated with an analysis of market surveys related to the field of software to be developed.
  • Feasibility Analysis Stage: At this stage, a complete analysis of the client's requirements is made, and how to implement them is determined. This stage witnesses the creation of a document known as the Software Requirements Specification (SRS), which includes all the requirements necessary to complete the project.
  • Design stage: During this stage, the units of the overall software system are designed by defining the function of each unit of the software, and how these units interact with the third party.
  • Code writing stage: 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: It searches for defects or errors in the generated program, and verifies that it works correctly with external hardware and software.
  • Deployment and maintenance phase: At this stage, the software is presented in its final form.
  • Maintenance phase: The software is maintained, improved and developed according to the change in the system environment that you may work on in the future.

Types of software being developed

There are four different types of software, which are as follows:

Read also:How to learn programming
  • system software: (in English: System Software), which is software that deals with operating systems, memory disk management, devices, and other operational necessities.
  • programming software: (in English: Programming Software), 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: (in English: Application Software), it means developing applications designed to help users accomplish certain tasks, such as data management programs, smartphone applications, web applications, and various social networking sites.
  • Included software: (in English: Embedded Software), which is the software that is developed to control machines and electronic devices that are not considered computers, such as industrial robots, and other types of other machines.

software development models

Software is created in all its stages within what is known as the systems or applications development life cycle (SDLC) through many models, where the team of programmers who work on creating the software choose the model that they want to adopt to develop all stages of that software, and the following are the most important models and forms that developers resort to Software to build a specific software:

  • waterfall model: (in English: Waterfall Model); This model is named after the method of its implementation, which resembles the flow of a waterfall, and the software is built according to this model in a linear way. So that each stage of the software development cycle is completed sequentially before the start of the next stage, and the outputs of each stage are the inputs of the next stage.
  • spiral model: (in English: Spiral Model); This model is based on the principle of using different types of software development models and merging them together, through which software prototypes are presented, in addition to synchronization in the work of programmer teams, including designers and developers.
  • Agile modeling: (in English: Agile Model); This model adopts the division of programmers into groups, and each of them is assigned to complete a specific stage of software development, and all these teams work at the same time so that the entire project is completed in a short time, and it is worth noting that this model has become in recent years the most used for software development in software companies small and large.
  • Rapid form: (in English: Rapid Model); This model focuses on delivering the initial versions of the software, in order to achieve the greatest possible speed in developing the software while adhering to a strict and fast schedule, and deferring design improvements to subsequent product releases.
Previous
How a browser works
Next
Website development