Citizendia

Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system. A screenshot, screen capture, or screen dump is an Image taken by the Computer to record the visible items displayed on the monitor OpenOfficeorg Writer is the Word processor component of the OpenOffice Computer programs (also software programs, or just programs) are instructions for a Computer. [1] The term includes application software such as word processors which perform productive tasks for users, system software such as operating systems, which interface with hardware to provide the necessary services for application software, and middleware which controls and co-ordinates distributed systems. Application software is a subclass of Computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform System software is any Computer software which manages and controls Computer hardware so that Application software can perform a task An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination Hardware is a general term that refers to the physical artifacts of a Technology. Middleware is computer Software that connects Software components or applications Distributed computing deals with Hardware and Software Systems containing more than one processing element or Storage element concurrent

"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

Relationship to computer hardware

Main article: 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. Typical PC hardware A typical Personal computer consists of a case or chassis in a tower shape (desktop and the following parts Motherboard A computer is a Machine that manipulates data according to a list of instructions. Typical PC hardware A typical Personal computer consists of a case or chassis in a tower shape (desktop and the following parts Motherboard In computers, software is loaded into RAM and executed in the central processing unit. At the lowest level, software consists of a machine language specific to an individual processor. Machine code or machine language is a system of instructions and data executed directly by a Computer 's Central processing unit. A machine language consists of groups of binary values signifying processor instructions which 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. In computing a high-level programming language is a Programming language with strong abstraction from the details of the computer In the Philosophy of language, a natural language (or ordinary language) is a Language that is spoken or written in phonemic-alphabetic or phonemically-related High-level languages are compiled or interpreted into machine language object code. A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another In Computer science, an interpreter normally means a Computer program that executes, i Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. See the terminology section below for information regarding inconsistent use of the terms assembly and assembler Assembly language must be assembled into object code via an assembler. See the terminology section below for information regarding inconsistent use of the terms assembly and assembler

The term "software" was first used in this sense by John W. Tukey in 1958. John Wilder Tukey ( June 16, 1915 &ndash July 26, 2000) was an American Statistician. Year 1958 ( MCMLVIII) was a Common year starting on Wednesday (link will display full calendar of the Gregorian calendar. [3] In computer science and software engineering, computer software is all computer programs. Computer science (or computing science) is the study and the Science of the theoretical foundations of Information and Computation and their Software engineering is the application of a systematic disciplined quantifiable approach to the development operation and maintenance of Software. 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. Alan Mathison Turing, OBE, FRS (ˈt(jʊ(ərɪŋ (23 June 1912 &ndash 7 June 1954 was an English Mathematician Year 1935 ( MCMXXXV) was a Common year starting on Tuesday (link will display full calendar of the Gregorian calendar. [4]

Types

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. A computer is a Machine that manipulates data according to a list of instructions. A software system is a System based on Software forming part of a Computer system (a combination of hardware and software System software is any Computer software which manages and controls Computer hardware so that Application software can perform a task A programming tool or software development tool is a program or application that Software developers use to create debug maintain or otherwise Application software is a subclass of Computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform

Program and library

A program may not be sufficiently complete for execution by a computer. Computer programs (also software programs, or just programs) are instructions for a Computer. A computer is a Machine that manipulates data according to a list of instructions. In particular, it may require additional software from a software library in order to be complete. In Computer science, a library is a collection of Subroutines used to develop Software. Such a library may include software components used by stand-alone programs, but which cannot work on their own. Thus, programs may include standard routines that are common to many programs, extracted from these libraries. Libraries may also include 'stand-alone' programs which are activated by some computer event and/or perform some function (e. In Computer programming, event-driven programming or event-based programming is a Programming paradigm in which the flow of the program is determined g. , of computer 'housekeeping') but do not return data to their calling program. Libraries may be called by one to many other programs; programs may call zero to many other programs. Execution in computer and Software engineering is the process by which a Computer or Virtual computer carries out the instructions

Three layers

Starting in the 1980s, application software has been sold in mass-produced packages through retailers.
Starting in the 1980s, application software has been sold in mass-produced packages through retailers.
See also: Software architecture

Users often see things differently than programmers. The software architecture of a program or computing system is the structure or structures of the system, which comprise software components the externally visible properties People who use modern general purpose computers (as opposed to embedded systems, analog computers, supercomputers, etc. An embedded system is a special-purpose Computer system designed to perform one or a few dedicated functions often with Real-time computing constraints An analog computer (spelt analogue in British English is a form of Computer that uses continuous physical phenomena such as electrical mechanical A supercomputer is a Computer that is at the frontline of processing capacity particularly speed of calculation (at the time of its introduction ) 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). In Computing, a platform describes some sort of Hardware architecture or Software framework (including Application frameworks, that allows In Computing, firmware is a computer program that is Embedded in a hardware device for example a Microcontroller. In computing a device driver or software driver is a Computer program allowing higher-level computer programs to interact with a Hardware device An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination For an account of the words periphery and peripheral as they are used in biology sociology politics computer hardware and other fields see the Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software. A personal computer ( PC) is any Computer whose original sales price size and capabilities make it useful for individuals and which is intended to be operated
Application software
Application software or Applications are what most people think of when they think of software. Application software is a subclass of Computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform 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 almost always 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
User software tailors systems to meet the users specific needs. User software include spreadsheet templates, word processor macros, scientific simulations, and scripts for graphics and animations. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into purchased application packages, many users may not be aware of the distinction between the purchased packages, and what has been added by fellow co-workers.

Creation

Main article: Computer programming

Operation

Computer software has to be "loaded" into the computer's storage (such as a hard drive, memory, or RAM). Computer data storage, often called storage or memory, refers to Computer components devices and recording media that retain digital A hard disk drive ( HDD) commonly referred to as a hard drive, hard disk, or fixed disk drive, is a Non-volatile storage device 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 code. In Computer science, an instruction is a single operation of a processor defined by an Instruction set architecture. Hardware is a general term that refers to the physical artifacts of a Technology. Machine code or machine language is a system of instructions and data executed directly by a Computer 's Central processing unit. Each instruction causes the computer to carry out an operation -- moving data, carrying out a computation, or altering the control flow of instructions. In Computer science, data is anything in a form suitable for use with a Computer. Computation is a general term for any type of Information processing. In Computer science control flow (or alternatively flow of control refers to the order in which the individual statements, instructions or Function

Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together.

Instructions may be performed sequentially, conditionally, or iteratively. Sequential instructions are those operations that are performed one after another. Conditional instructions are performed such that different sets of instructions execute depending on the value(s) of some data. In some languages this is known as an "if" statement. Iterative instructions are performed repetitively and may depend on some data value. This is sometimes called a "loop. " Often, one instruction may "call" another set of instructions that are defined in some other program or module. Modular programming is a software design technique that increases the extent to which software is composed from separate parts called modules When more than one computer processor is used, instructions may be executed simultaneously.

A simple example of the way software operates is what happens when a user selects an entry such as "Copy" from a menu. In this case, a conditional instruction is executed to copy text from data in a 'document' area residing in memory, perhaps to an intermediate storage area known as a 'clipboard' data area. If a different menu entry such as "Paste" is chosen, the software may execute the instructions to copy the text from the clipboard data area to a specific location in the same or another document in memory.

Depending on the application, even the example above could become complicated. The field of software engineering endeavors to manage the complexity of how software operates. Software engineering is the application of a systematic disciplined quantifiable approach to the development operation and maintenance of Software. This is especially true for software that operates in the context of a large or powerful computer system. A computer is a Machine that manipulates data according to a list of instructions.

Currently, almost the only limitations on the use of computer software in applications is the ingenuity of the designer/programmer. Consequently, large areas of activities (such as playing grand master level chess) formerly assumed to be incapable of software simulation are now routinely programmed. The only area that has so far proved reasonably secure from software simulation is the realm of human art— especially, pleasing music and literature.

Kinds of software by operation: computer program as executable, source code or script, configuration. Computer programs (also software programs, or just programs) are instructions for a Computer. In Computing, an executable (file causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a file that only contains In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable "Scripting" redirects here For other uses see Script. In communications or Computer systems a configuration is an arrangement of Functional units according to their nature number and chief characteristics

Quality and reliability

Software reliability considers the errors, faults, and failures related to the creation and operation of software. In the context of Software engineering, software quality measures how well Software is designed ( quality of design) and how well the software conforms

See Software auditing, Software quality, Software testing, and Software reliability. A computer security audit is a manual or systematic measurable technical assessment of a system or application In the context of Software engineering, software quality measures how well Software is designed ( quality of design) and how well the software conforms Software testing is an Empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test, with respect to the In the context of Software engineering, software quality measures how well Software is designed ( quality of design) and how well the software conforms

License

Software license gives the user the right to use the software in the licensed environment, some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. A software license (or software licence in commonwealth usage is a Legal instrument governing the usage or redistribution of copyright protected software Other software comes with a free software licence, granting the recipient the rights to modify and redistribute the software. A free software licence is a Software licence which grants recipients rights to modify and redistribute the Software which would otherwise be prohibited by Copyright Software can also be in the form of freeware or shareware. Freeware is computer Software that is available for use at no cost or for an optional fee The term shareware, popularized by Bob Wallace, refers to Copyrighted commercial Software that is Distributed without payment on a trial See also License Management. Copy protection, also known as content protection, copy prevention, or copy restriction, is a technology for preventing the unauthorised reproduction

Patents

The issue of software patents is controversial. Software patent does not have a universally accepted definition Some believe that they hinder software development, while others argue that software patents provide an important incentive to spur software innovation. Software development is the translation of a user need or marketing goal into a Software product See software patent debate. Software patent debate is the argument dealing with the extent to which it should be possible to patent software and computer-implemented inventions as a matter of

Ethics and rights for software users

Being a new part of society, the idea of what rights users of software should have is not very developed. Some, such as the free software community, believe that software users should be free to modify and redistribute the software they use. The free software community is an informal term referring to the users and developers of Free software as well as supporters of the Free software movement. They argue that these rights are necessary so that each individual can control their computer, and so that everyone can cooperate, if they choose, to work together as a community and control the direction that software progresses in. Others believe that software authors should have the power to say what rights the user will get.

Software companies and non-profit organizations

Examples of non-profit software organizations : Free Software Foundation, GNU Project
Examples of large software companies are: Microsoft, IBM, Oracle, SAP and HP. The Free Software Foundation ( FSF) is a Non-profit corporation founded by Richard Stallman on 4 October 1985 to support the Free software movement The GNU Project is a Free software, Mass collaboration project announced in 1983 by Richard Stallman. Microsoft Corporation is an American multinational Computer technology Corporation, which rose to dominate the Home computer International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology An oracle is a person or agency considered to be a source of wise counsel or prophetic opinion an Infallible authority usually spiritual in nature [5]

See also

References

  1. ^ Wordreference.com: WordNet® 2.0. System software is any Computer software which manages and controls Computer hardware so that Application software can perform a task Application software is a subclass of Computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform Computer programs (also software programs, or just programs) are instructions for a Computer. Computing is usually defined like the activity of using and developing Computer technology Computer hardware and software. Software as a service ( SaaS, typically pronounced 'sass' is a model of Software deployment where an application is hosted as a service provided to customers across This is a list of the origins of computer-related terms or terms used in the computing world (i The software industry comprises businesses involved in the development, maintenance and publication of Computer software. Custom software (also known as Bespoke software) is a type of Software that is developed either for a specific organization or function that differs A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer. A software development process is a structure imposed on the development of a software product Software engineering is the application of a systematic disciplined quantifiable approach to the development operation and maintenance of Software. A software license (or software licence in commonwealth usage is a Legal instrument governing the usage or redistribution of copyright protected software Proprietary software is Computer software on which the producer has set restrictions on use private modification copying, or republishing. Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified Open source software (OSS began as a marketing campaign for Free software. The Copyright infringement of Software (also known as software piracy) refers to several practices which involve the unauthorized copying of computer Freeware is computer Software that is available for use at no cost or for an optional fee The term shareware, popularized by Bob Wallace, refers to Copyrighted commercial Software that is Distributed without payment on a trial This is a timeline-style look at how Free software has evolved and existed from its inception Princeton University, Princeton, NJ. Retrieved on 2007-08-19. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 43 BC - Octavian, later known as Augustus compels the Roman Senate to elect him Consul.
  2. ^ software. . (n. d. ). Dictionary. com Unabridged (v 1. 1). Retrieved 2007-04-13, from Dictionary. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 1111 - Henry V is crowned Holy Roman Emperor. 1204 - The Fourth Crusade sacks Constantinople com website: http://dictionary.reference.com/browse/software
  3. ^ John Tukey, 85, Statistician; Coined the Word 'Software', New York Times, Obituaries, 2000-07-28. 2000 ( MM) was a Leap year that started on Saturday of the Common Era, in accordance with the Gregorian calendar. Events 1540 - Thomas Cromwell is executed at the order of Henry VIII of England on charges of Treason.
  4. ^ Hally, Mike (2005:79). Electronic brains/Stories from the dawn of the computer age. British Broadcasting Corporation and Granta Books, London. ISBN 1-86207-663-4.
  5. ^ Software Top 100: the world's largest software companies. the Top 100 research foundation. Retrieved on 2008-04-28. 2008 ( MMVIII) is the current year in accordance with the Gregorian calendar, a Leap year that started on Tuesday of the Common Events 1192 - Assassination of Conrad of Montferrat (Conrad I King of Jerusalem, in Tyre, two days after his title

Economic Aspects

External links


© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic