ExcitingAds!
ExcitingAds! Search

Directory A-B C-E F-H I-K L-N O-Q R-T U-W X-Z

 

SiteMap

 

x-Cart GeoIP Admin Access
CRE Loaded RSS Export
osCommerce 5-in-One Product Feeds
CRE Loaded PriceRunner.com Data Feed
Tag Cloud osCommerce Module
CRE Loaded PriceGrabber Data Feed
x-Cart Buyer's Edge Data Feed
Zen Cart shopping.com Data Feed
X-Cart Event Designer module
X-Cart Getprice Data Feed
Mass AdWords Product Ads for osCommerce
X-Cart Sales Channel Analysis
Macro System for CRE Loaded
Store Manager for osCommerce Update Service - 12 Months
CRE Loaded PriceSCAN.com Data Feed
X-Cart 2Checkout Export Feed
Zen Cart LinkConnector Export Feed
Zen Cart Custom Data Feed
Software Development 

Software development is the set of activities that results in software products. Software development may include research, new development, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.[1] Especially the first phase in the software development process may involve many departments, including marketing, engineering, research and development and general management.[2]

The term software development may also refer to computer programming, the process of writing and maintaining the source code.

Contents

[hide]

[edit] Overview

There are several different approaches to software development, much like the various views of political parties toward governing a country. Some take a more structured, engineering-based approach to developing business solutions, whereas others may take a more incremental approach, where software evolves as it is developed piece-by-piece. Most methodologies share some combination of the following stages of software development:

  • Market research
  • Gathering requirements for the proposed business solution
  • Analyzing the problem
  • Devising a plan or design for the software-based solution
  • Implementation (coding) of the software
  • Testing the software
  • Deployment
  • Maintenance and bug fixing

These stages are often referred to collectively as the software development lifecycle, or SDLC. Different approaches to software development may carry out these stages in different orders, or devote more or less time to different stages. The level of detail of the documentation produced at each stage of software development may also vary. These stages may also be carried out in turn (a “waterfall” based approach), or they may be repeated over various cycles or iterations (a more “Xtreme” approach). The more extreme approach usually involves less time spent on planning and documentation, and more time spent on coding and development of automated tests. More “extreme” approaches also promote continuous testing throughout the development lifecycle, as well as having a working (or bug-free) product at all times. More structured or “waterfall” based approaches attempt to assess the majority of risks and develop a detailed plan for the software before implementation (coding) begins, and avoid significant design changes and re-coding in later stages of the software development lifecycle.

There are significant advantages and disadvantages to the various methodologies, and the best approach to solving a problem using software will often depend on the type of problem. If the problem is well understood and a solution can be effectively planned out ahead of time, the more "waterfall" based approach may work the best. If, on the other hand, the problem is unique (at least to the development team) and the structure of the software solution cannot be easily envisioned, then a more "extreme" incremental approach may work best. A software development process is a structure imposed on the development of a software product. Synonyms include software life cycle and software process. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.

Software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on an operating system.

[edit] Terminology

The term includes:

  • Application software such as word processors which perform productive tasks for users.
  • Multimedia applications for playing multimedia.
  • Firmware which is software programmed resident to electrically programmable memory devices on board mainboards or other types of integrated hardware carriers.
  • Middleware which controls and co-ordinates distributed systems.

Software includes websites, programs, video games etc. that are coded by programming languages like C, C++, etc.

  • System software such as operating systems, which interface with hardware to provide the necessary services for application software.
  • Testware which is an umbrella term or container term for all utilities and application software that serve in combination for testing a software package but not necessarily may optionally contribute to operational purposes. As such, testware is not a standing configuration but merely a working environment for application software or subsets thereof.

"Software" is sometimes used in a broader context to mean anything which is not hardware but which is used with hardware, such as film, tapes and records.

[edit] Updated Terminology

The term is now being used to include those that are non PC based like smartphones, palm OS, etc due to the proliferation of the mobile industry based on Symbian and Windows platforms.

"Software" is sometimes used in a broader context to mean anything which is not hardware but which is used with hardware, such as film, tapes and records.

[edit] See Also

Computer software, or just software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system.[1]

The term includes:

Software includes websites, programs, video games etc. that are coded by programming languages like C, C++, etc.

"Software" is sometimes used in a broader context to mean anything which is not hardware but which is used with hardware, such as film, tapes and records.[2]

Contents

[hide]

[edit] Overview

Computer software is often regarded as anything but hardware, meaning that the "hard" are the parts that are tangible (able to hold) while the "soft" part is the intangible objects inside the computer. Software encompasses an extremely wide array of products and technologies developed using different techniques like programming languages, scripting languages etc. The types of software include web pages developed by technologies like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like Microsoft Word, OpenOffice developed by technologies like C, C++, Java, C#, etc. Software usually runs on an underlying operating system (which is a software also) like Microsoft Windows, Linux (running GNOME and KDE), Sun Solaris etc. Software also includes video games like the Super Mario, Grand Theft Auto for personal computers or video game consoles.

Also a software usually runs on a software platform which can either be provided by the operating system or by operating system independent platforms like Java and .NET. Software written for one platform is usually unable to run on other platforms so that for instance, Microsoft Windows software will not be able to run on Mac OS because of the differences relating to the platforms and their own standards. These applications can work using software porting, interpreters or re-writing the source code for the specific platform.

[edit] Relationship to computer hardware

Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, software consists of a machine language specific to an individual processor.

Computer programs (also software programs, or just programs) are instructions for a computer.[1] A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a central processor;[2] however, a program may communicate an algorithm to people without running. Computer programs are usually executable programs or the source code from which executable programs are derived (e.g., compiled).

Computer source code is often written by professional computer programmers. Source code is written in a programming language that usually follows one of two main paradigms: imperative or declarative programming. Source code may be converted into an executable file (sometimes called an executable program or a binary) by a compiler. Alternatively, computer programs may be executed by a central processing unit with the aid of an interpreter, or may be embedded directly into hardware.

Computer programs may be categorized along functional lines: system software and application software. And many computer programs may run simultaneously on a single computer, a process known as multitasking.

Contents

[hide]

[edit] Programming

Main article: Computer programming

#include <stdio.h>
int main(void)
{

puts("Hello world!");
return 0;

}

Source code of a program written in the C programming language

Computer programming is the iterative process of writing or editing source code. Editing source code involves testing, analyzing, and refining, and sometimes coordinating with other programmers on a jointly developed program. A person who practices this skill is referred to as a computer programmer or software developer. The sometimes lengthy process of computer programming is usually referred to as software development. The term software engineering is becoming popular as the process is seen as an engineering discipline.

[edit] Paradigms

Computer programs can be categorized by the programming language paradigm used to produce them. Two of the main paradigms are imperative and declarative.

Programs written using an imperative language specify an algorithm using declarations, expressions, and statements.[3] A declaration associates a variable name with a datatype.

 

 

CheapTickets Cheap of the Week! (468x60)

 

Development

 

Adobe Flex Builder 3

 

MoneyAisle.com - Click Here Now to see Banks Battle Live for You Business.

 

PeachPit (Pearson Education)

 

Diapers.com_Free Shipping_ (100x100) Animated

 


Privacy Statement Advertise with us All rights reserved ExcitingAds® 1998-2008