Wednesday, March 27, 2013

Software and its Types


Software
Definition:
Software is a term for a set of instructions, which makes a computer to perform a task. The set of instructions are commonly known as a program, without which computers cannot do any operations. A software is classified broadly in to two groups, application software, which includes normal utility applications like microsoft word, powerpoint etc that interacts and performs user specific tasks and system software, such as operating systems, which interacts directly with hardware to make the system work and also provide a platform for other applications to work.


Types of Software

Programming Software:
This is one of the most commonly known and popularly used types of computer software. These software come in the form of tools that assist a programmer in writing computer programs. Computer programs are sets of logical instructions that make a computer system perform certain tasks. The tools that help programmers in instructing a computer system include text editors, compilers and interpreters. Compilers translate source code written in a programming language into the language which a computer understands (mostly the binary form). Compilers generate objects which are combined and converted into executable programs through linkers. Debuggers are used to check code for bugs and debug it. The source code is partially or completely simulated for the debugging tool to run on it and remove bugs if any. Interpreters execute programs. They execute the source code or a precompiled code or translate source code into an intermediate language before execution.

System Software:
It helps in running computer hardware and the computer system. System software refers to the operating systems; device drivers, servers, windowing systems and utilities. System software helps an application programmer in abstracting away from hardware, memory and other internal complexities of a computer. An operating system provides users with a platform to execute high-level programs. Firmware and BIOS provide the means to operate hardware.

Application Software:
It enables the end users to accomplish certain specific tasks. Business software, databases and educational software are some forms of application software. Different word processors, which are dedicated to specialized tasks to be performed by the user, are other examples of application software.

Malware:
Malware refers to any malicious software and is a broader category of software that are a threat to computer security. Adware, spyware, computer viruses, worms, trojan horses and scareware are malware. Computer viruses are malicious programs which replicate themselves and spread from one computer to another over the network or the Internet. Computer worms do the same, the only difference being that viruses need a host program to attach with and spread, while worms don't need to attach themselves to programs. Trojans replicate themselves and steal information. Spyware can monitor user activity on a computer and steal user information without their knowledge.

Adware:
Adware is software with the means of which advertisements are played and downloaded to a computer. Programmers design adware as their tool to generate revenue. They do extract user information like the websites he visits frequently and the pages he likes. Advertisements that appear as pop-ups on your screen are the result of adware programs tracking you. But adware is not harmful to computer security or user privacy. The data it collects is only for the purpose of inviting user clicks on advertisements.

Inventory Management Software:
This type of software helps an organization in tracking its goods and materials on the basis of quality as well as quantity. Warehouse inventory management functions encompass the internal warehouse movements and storage. Inventory software helps a company in organizing inventory and optimizing the flow of goods in the organization, thus leading to improved customer service.

Utility Software:
Also known as service routine, utility software helps in the management of computer hardware and application software. It performs a small range of tasks. Disk defragmenters, systems utilities and virus scanners are some of the typical examples of utility software.

Data Backup and Recovery Software:
An ideal data backup and recovery software provides functionalities beyond simple copying of data files. This software often supports user needs of specifying what is to be backed up and when. Backup and recovery software preserve the original organization of files and allow an easy retrieval of the backed up data.


Custom Software:
Software that is developed for a specific user or organization is custom software. Since it is built for a specific user, its specifications and features are in accordance with the user's needs.

Off-the-Shelf Software:
As opposed to custom software, off-the-shelf software is standard software bought off the shelf. It has predefined specifications that may or may not cater to any specific user's requirements. When you buy it, you agree to its license agreement.

Free Software:
Software that a user is free to use, modify and distribute is known as free software. Free software generally comes free of cost but charges may be involved in distribution, servicing and maintenance. The term free refers to freedom of copying, distributing and modifying.

Open Source and Closed Source Software:
In a closed source model, the source code is not released to public, while the source code is available for modification and use in open source software. Open source software is available in its source code form and the rights to change, improve and sometimes distribute its code are given under a software license. Software developed by an individual or an organization, where the source code is closed from public (not available openly) is referred to as closed source software.

Proprietary Software:
In proprietary software, legal rights remain exclusively with the copyright holder. Most proprietary software are available in the closed source form. Some vendors distribute proprietary software source code to the customers, however, with restricted access. Proprietary software is provided as shareware or demoware wherein users do not have to pay for use and it is distributed as trialware. There are no packaging costs involved. However the programmer may ask you to pay a small fee after which you are entitled to receive assistance and updates of that software.

No comments:

Post a Comment