Difference between revisions of "Software development"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(See also)
(See also)
 
(11 intermediate revisions by 2 users not shown)
Line 56: Line 56:
  
 
* [[Agile software development]]
 
* [[Agile software development]]
 +
* [[Codebase]]
 +
* [[Computer]]
 +
* [[Computer programmer]]
 +
* [[Computer programming]]
 +
* [[DevOps]] -  is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the software development process and infrastructure changes.
 +
* [[Docker]]
 +
* [[Integrated development environment]]
 
* [[Model-view-controller]]
 
* [[Model-view-controller]]
 +
* [[Programmer]]
 
* [[Revision control]]
 
* [[Revision control]]
 +
* [[Software]]
 
* [[Software architecture]]
 
* [[Software architecture]]
 +
* [[Software development and scale]]
 
* [[Software development process]]
 
* [[Software development process]]
 
* [[Software architecture]]
 
* [[Software architecture]]
 +
* [[Software design]]
 
* [[Software developer]]
 
* [[Software developer]]
 
* [[Software engineering]]
 
* [[Software engineering]]
 
* [[Software testing]]
 
* [[Software testing]]
 +
* [[Technical debt]]
 +
* [[Test automation]]
 +
* [[The Mythical Man-Month]]
  
 
== External links ==
 
== External links ==
  
 
* [https://en.wikipedia.org/wiki/Software_development Software development] @ Wikipedia
 
* [https://en.wikipedia.org/wiki/Software_development Software development] @ Wikipedia
 +
 +
[[Category:Computer science]]
 +
[[Category:Software]]
 +
[[Category:Software development]]
 +
[[Category:Software engineering terminology]]

Latest revision as of 10:39, 22 August 2016

Software development is the computer programming, documenting, testing, and bug fixing involved in creating and maintaining Application software applications and frameworks involved in a software release life cycle and resulting in a software product.

Description

The term "software development" sometimes refers to the process of writing and maintaining source code.

In a broader sense, the term "software development" includes a range of activities and a variety of technical and business disciplines, including:

  • Research
  • New development
  • Prototyping
  • Modification
  • Reuse
  • Re-engineering
  • Maintenance
  • Any other activities that result in software products

Stages

Software development passes through a series of stages, from conception of the desired software through to the final manifestation of the software, ideally in a planned and structured process.

Purposes

Software can be developed for a variety of purposes, the three most common being:

  • To meet specific needs of a specific client/business (the case with custom software)
  • To meet a perceived need of some set of potential users (the case with commercial and open source software)
  • For personal use (e.g. a scientist may write software to automate a mundane task)

Embedded software

Embedded software development, that is, the development of embedded software such as used for controlling consumer products, requires the development process to be integrated with the development of the controlled physical product.

System software

System software underlies applications and the programming process itself, and is often developed separately.

Software engineering

The need for better quality control of the software development process has given rise to the discipline of software engineering, which aims to apply the systematic approach exemplified in the engineering paradigm to the process of software development.

Software project management

There are many approaches to software project management, known as:

  • Software development life cycle models
  • Methodologies
  • Processes
  • Models

The waterfall model is a traditional approach.

Agile software development is a more recent development, intended to improve on the waterfall model.

See also

External links