Computer software , or just software is a general term used to describe the role that computer programs, procedures and documentation play in a computer system.
The term includes:
- Application software, such as word processors which perform productive tasks for users.
- 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.
- System software such as operating systems, which interface with hardware to provide the necessary services for application software.
- Software testing is a domain dependent of development and programming. Software testing consists of various methods to test and declare a software product fit before it can be launched for use by either an individual or a group.
- 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 includes things such as websites, programs or video games, that are coded by programming languages like C or C++.
"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.
Overview
Computer software is often regarded as anything but hardware, meaning that the "hard" are the parts that are tangible 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, microcode, or an FPGA configuration. The types of software include web pages developed by technologies like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like OpenOffice, Microsoft Word developed by technologies like C, C++, Java, C#, or Smalltalk. Software usually runs on an underlying software operating systems such as the Linux or Microsoft Windows. Software also includes video games and the logic systems of modern consumer devices such as automobiles, televisions, and toasters.
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. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.
The term "software" was first used in this sense by John W. Tukey in 1958. In computer science and software engineering, computer software is all computer programs. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem .
Software Characteristics
- Software is developed and engineered.
- Software doesn't "wear-out".
- Most software continues to be custom built.
Types of software
Practical computer systems divide software systems into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred.
System software
System software helps run the computer hardware and computer system. It includes a combination of the following:
- device drivers
- operating systems
- servers
- utilities
- windowing systems
The purpose of systems software is to unburden the applications programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner. Examples are- Windows XP, Linux, and Mac OS X.
Programming software
Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:
- compilers
- debuggers
- interpreters
- linkers
- text editors
An Integrated development environment (IDE) is a single application that attempts to manage all these functions.
Application software
Application software allows end users to accomplish one or more specific (not directly computer development related) tasks. Typical applications include:
- industrial automation
- business software
- computer games
- quantum chemistry and solid state physics software
- telecommunications (i.e., the internet and everything that flows on it)
- databases
- educational software
- medical software
- military software
- molecular modeling software
- image editing
- spreadsheet
- simulation software
- Word processing
- Decision making software
Application software exists for and has impacted a wide variety of topics.
Software topics
Architecture
See also: Software architectureUsers often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software.
- Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software.
- Application software: Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications.
- User-written software: End-user development tailors systems to meet users' specific needs. User software include spreadsheet templates, word processor Documentation Main article: Software documentation
Most software has software documentation so that the end user can understand the program, what it does, and how to use it. Without a clear documentation, software can be hard to use—especially if it is a very specialized and relatively complex software like the Photoshop or AutoCAD.
Developer documentation may also exist, either with the code as comments and/or as separate files, detailing how the programs works and can be modified.
Library
Main article: Software libraryAn executable is almost always not sufficiently complete for direct execution. Software libraries include collections of functions and functionality that may be embedded in other applications. Operating systems include many standard Software libraries, and applications are often distributed with their own libraries.File:Software.jpg
Standard
Main article: Software standardSince software can be designed using many different programming languages and in many different operating systems and operating environments, software standard is needed so that different software can understand and exchange information between each other. For instance, an email sent from a Microsoft Outlook should be readable from Yahoo! Mail and vice versa.
Execution
Main article: Execution (computing)Computer software has to be "loaded" into the computer's storage (such as a , memory , or RAM ). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine
Best free pc diagnostic software downloads. wAPI Monitor is a small ...
Pc diagnostic software software: RS 232 data monitor, Automotive electronic systems simulations, Network diagnostic software discover nodes and more.
<Free PC Diagnostic, Free Computer Diagnostic, Free Diagnostic ...
Free PC Diagnostic software designed for end-users who want to check out their computer for themselves. PC-Diag Ultra Lite freeware diagnostic is a basic PC test, troubleshooting ...
Software Utilities And Tools | Computer Diagnostics
Information on the best free diagnostic software to use to scan, repair and fix your computer.
HelpDesk-Now How We Fix Your PC -- Get Support Online
Part of the Magic at HelpDesk-Now is our Free Diagnostic Software. We ask (but not insist) new customers ...
PC Diagnostic Utilities
Order Toll Free in the US and Canada: 1-888-689-2978 ... PC Diag's PC Diagnostic Software and Tools are designed to reduce the expenses associated with ...
Open Directory - Computers: Software: Diagnostics
Alasir CPUinfo - Free open source x86 processor information retrieving tool for UNIX-like and DOS/Windows systems. Project info, downloads, examples.
Free PC Diagnostic software download
Free download PC Diagnostic software by date, includes SysCheckUp,HWM Blackbox,WhoCrashed and more.
Free Software Diagnostic Tools
Overclockers.com is a clearinghouse of information on pushing your system's performance to the absolute limit.
Free download NAVPAK Diagnostic Software Users Manual.pdf ...
Download free NAVPAK Automotive diagnostic tools user guide in pdf format, also available various service manual and repair manual of various make
Diagnostic Monitor Software - What does DMS stand for? Acronyms and ...
Acronym Definition; DMS: Degrees, Minutes, Seconds: DMS: Defense Message System: DMS: Document Management System: DMS: Department of Management Services: DMS: Dartmouth Medical ...