Wednesday, August 4, 2010

Softwares

Software, by definition, is the collection of computer programs, procedures and documentation that performs different tasks on a computer system. The term 'software' was first used by John Tukey in 1958. At the very basic level, computer software consists of a machine language that consists of groups of binary values, which specify processor instructions. The processor instructions change the state of computer hardware in a predefined sequence. Briefly, computer software is the language in which a computer speaks. There are different types of computer software. What are their major types? Let us see.


Major Types of Software

Programming Software:
This is one of the most commonly known and popularly used forms of computer software. These software come in forms 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 the programmers in instructing a computer system include text editors, compilers and interpreters.
A programming tool or software development tool is a program or application that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object.

System Software:

It helps in running the computer hardware and the computer system. System software is a collection of operating systems; devise 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.

The operating system and utility programs are the two major categories of system software. Just as the processor is the nucleus of the computer system, the operating system is the nucleus of all software activity. 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 for specialized tasks to be performed by the user, are other examples of application software.


The operating system is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as

i. recognizing input from the keyboard
ii.sending output to the display screen
iii.keeping track of files and directories on the disk
iv.controlling peripheral devices such as disk drives and printers.

It is the first program loaded into memory when the computer is turned on and, in a sense, brings life to the computer hardware. Without it, you cannot use your word processing software, spreadsheet software, or any other applications.


Without an operating system, you cannot communicate with your computer. When you give the computer a command, the operating system relays the instructions to the 'brain' of the computer, called the microprocessor or CPU. You cannot speak directly to the CPU because it only understands machine language. When you are working in an application software program, such as Microsoft Word, commands that you give the application are sent through the operating system to the CPU. Windows2000, Window95/98, Mac OS, Unix and DOS are all examples of operating systems.




Apart from these three basic types of software, there are some other well-known forms of computer software like inventory management software, ERP, utility software, accounting software and others. Take a look at some of them.

Application software, also known as an application, is computer software designed to help the user to perform singular or multiple related specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players.


Application software is contrasted with system software and middleware, which manage and integrate a computer's capabilities, but typically do not directly apply them in the performance of tasks that benefit the user. A simple, if imperfect analogy in the world of hardware would be the relationship of an electric light bulb (an application) to an electric power generation plant (a system). The power plant merely generates electricity, not itself of any real use until harnessed to an application like the electric light that performs a service that benefits the user.
Application software classification


There are many types of application software:

An application suite consists of multiple applications bundled together. They usually have related functions, features and user interfaces, and may be able to interact with each other, e.g. open each other's files. Business applications often come in suites, e.g. Microsoft Office, OpenOffice.org, and iWork, which bundle together a word processor, a spreadsheet, etc.; but suites exist for other purposes, e.g. graphics or music.

Enterprise software addresses the needs of organization processes and data flow, often in a large distributed environment. (Examples include Financial, Customer Relationship Management, and Supply Chain Management). Note that Departmental Software is a sub-type of Enterprise Software with a focus on smaller organizations or groups within a large organization. (Examples include Travel Expense Management, and IT Helpdesk)

Enterprise infrastructure software provides common capabilities needed to support enterprise software systems. (Examples include Databases, Email servers, and Network and Security Management)

Information worker software addresses the needs of individuals to create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, documentation tools, analytical, and collaborative. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks.

Content access software is software used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consume digital entertainment and published digital content. (Examples include Media Players, Web Browsers, Help browsers, and Games)

Educational software is related to content access software, but has the content and/or features adapted for use in by educators or students. For example, it may deliver evaluations (tests), track progress through material, or include collaborative capabilities.

Simulation software are computer software for simulation of physical or abstract systems for either research, training or entertainment purposes.

Media development software addresses the needs of individuals who generate print and electronic media for others to consume, most often in a commercial or educational setting. This includes Graphic Art software, Desktop Publishing software, Multimedia Development software, HTML editors, Digital Animation editors, Digital Audio and Video composition, and many others.[2]

Product engineering software is used in developing hardware and software products. This includes computer aided design (CAD), computer aided engineering (CAE), computer language editing and compiling tools, Integrated Development Environments, and Application Programmer Interfaces.

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.
Utility software is a kind of system software designed to help analyze, configure, optimize and maintain the computer. A single piece of utility software is usually called a utility (abbr. util) or tool.


Utility software should be contrasted with application software, which allows users to do things like creating text documents, playing games, listening to music or surfing the web. Rather than providing these kinds of user-oriented or output-oriented functionality, utility software usually focuses on how the computer infrastructure (including the computer hardware, operating system, application software and data storage) operates. Due to this focus, utilities are often rather technical and targeted at people with an advanced level of computer knowledge.

Most utilities are highly specialized and designed to perform only a single task or a small range of tasks. However, there are also some utility suites that combine several features in one software.

Most major operating systems come with several pre-installed utilities.

Utility software categories


Disk storage utilities

Disk defragmenters can detect computer files whose contents are broken across several locations on the hard disk, and move the fragments to one location to increase efficiency.

Disk checkers can scan the contents of a hard disk to find files or areas that are corrupted in some way, or were not correctly saved, and eliminate them for a more efficiently operating hard drive.

Disk cleaners can find files that are unnecessary to computer operation, or take up considerable amounts of space. Disk cleaner helps the user to decide what to delete when their hard disk is full.

Disk space analyzers for the visualization of disk space usage by getting the size for each folder (including sub folders) & files in folder or drive. showing the distribution of the used space.

Disk partitions can divide an individual drive into multiple logical drives, each with its own file system which can be mounted by the operating system and treated as an individual drive.

Backup utilities can make a copy of all information stored on a disk, and restore either the entire disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental deletion).

Disk compression utilities can transparently compress/uncompress the contents of a disk, increasing the capacity of the disk.

File managers provide a convenient method of performing routine data management tasks, such as deleting, renaming, cataloging, uncataloging, moving, copying, merging, generating and modifying data sets.

Archive utilities output a stream or a single file when provided with a directory or a set of files. Archive utilities, unlike archive suites, usually do not include compression or encryption capabilities. Some archive utilities may even have a separate un-archive utility for the reverse operation.

System profilers provide detailed information about the software installed and hardware attached to the computer.

Anti-virus utilities scan for computer viruses.

Hex editors directly modify the text or data of a file. These files could be data or an actual program.

Data compression utilities output a shorter stream or a smaller file when provided with a stream or file.

Cryptographic utilities encrypt and decrypt streams and files.

Launcher applications provide a convenient access point for application software.

Registry cleaners clean and optimize the Windows registry by removing old registry keys that are no longer in use.

Network utilities analyze the computer's network connectivity, configure network settings, check data transfer or log events.

Command line interface (CLI) and Graphical user interface (GUI) Allows the user to contact and make changes to the operating system


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.

This was an overview of the major types of software. Computer software are widely popular today and hence we cannot imagine a world of computers without them. We would not have been able to use computers if not for the software. What is fascinating about the world of computers is that it has its own languages, its ways of communication with our human world and human interaction with the computers is possible, thanks to computer software. I wonder, if the word 'soft' in ‘software’ implies ‘soft-spokenness’, which is an important quality of a pleasant communication.

No comments:

Post a Comment