Aviva Directory » Computers & Internet » Software » Software Development

The software development process is the focus of this category. In software engineering, this refers to the steps that are involved in taking a project from an idea to the completed software application.

First, it is important to know that there are three basic types of software: system software, programming software, and application software.

System software provides the core functions of a computer, and includes operating systems, disk management, utilities, hardware management, and other operational necessities. For the purposes of categorization here, we have another category for System Software, parallel to this one, although the development process of system software may be discussed here.

Programming software refers to software tools for programmers, such as text editors, compilers, linkers, debuggers, and so on. While the development of such tools is an appropriate topic for this category, much of this information is covered in our Programming and Text & Code Editors categories.

When most people think of software as a product, they are thinking of application software. Often known as programs, application software is used to help users perform tasks. Examples of this type of software include office suites, data management software, graphics editors, cybersecurity programs, and many others. Most of the programs that computer users purchase on CD or download from an online retailer are examples of application software, and this would include those designed for desktop computers, tablet devices, or mobile phones.

A fourth type of software, not generally seen by end-users, is embedded software, which is used to control machines and devices that are not commonly thought of as computers, such as automobiles, industrial robots, and appliances connected to the Internet of Things.

Software development is typically accomplished by programmers, software engineers, and software developers, whose roles often overlap and interact in many ways. The number and variety of people involved will depend on the size of the software to be developed, as well as other variables like time and budget.

Also known as coders, programmers write the source code that programs computers for specific tasks, using one or more programming languages or scripts. Some software programs are developed by an individual who assumes all of the necessary roles, generally as a private project, but most commercial software is developed by multiple people. In such cases, programmers will usually interpret instructions from software developers and engineers, using their programming skills to carry them out.

Software engineers apply engineering principles to design software and systems to solve problems, using modeling language and other tools to design solutions that can be applied in a general way, so that the final product can serve multiple uses rather than solving a single problem for a specific client or instance. Software engineers apply scientific principles of software engineering to the design, development, maintenance, testing, and evaluation of computer software, and are generally involved in large-scale projects.

The role of a software developer is less formal than that of an engineer, and is likely to involve working closely on specific project areas, including writing code, but they also drive the overall software development process, working across teams in the development, testing, and maintenance phases.

The actual development process may be informal, in the case of private or even collaborative projects, but software development companies typically have an established process of distinct phases, most of which have names.

These methodologies or processes might be known as Agile development, Lean development, Waterfall development, Spiral development, and Offshore development, as well as several others, with new ones likely to follow.

Other practices that may be used in software development include continuous integration, prototyping, incremental development, and rapid application development.

Several development frameworks have evolved over the years, each with strengths and weaknesses, and a single methodology is unlikely to be suitable for use in every project so, while a company may have a preference for one practice or methodology, the one chosen will depend on the nature and demands of the project, the amount of time given to the project, and budget considerations.

Topic related to software development, or to the software designed for use in software development, are appropriate for this category, while software development companies may be represented in the appropriate subcategory, and/or the Local & Global category representing the company's location or base. In most cases, smaller companies will benefit more from a local listing as they tend to serve local clients.

Categories

@System Software

@Text & Code Editors

@Programming

Development Tools

Scripts & Code

Software Development Companies

 

 

Recommended Resources


Search for Software Development on Google, Bing, or Yahoo!