Monday, January 11, 2010

Software

Computer software, or just software is a general term primarily used for digitally stored data such as computer programs and other kinds of information read and written by computers. Today, this includes data that has not traditionally been associated with computers, such as film, tapes and records.[1] The term was coined in order to contrast to the old term hardware (meaning physical devices); in contrast to hardware, software is intangible, meaning it "cannot be touched".[2] . Software is also sometimes used in a more narrow sense, meaning application software only.

Examples:

* 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 govern computing resources and provide convenience for users.
* 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.
* Video games (except the hardware part)
* Websites
Software characteristics

* Software is developed and engineered.
* Software doesn't "wear-out".
* Most software continues to be custom built.
* Software is constantly outdated.
Types of software

Practical computer systems divide software systems into three major classes[citation needed]: system software, programming software and application software, although the distinction is arbitrary, and often blurred.
[edit] 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

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.
[edit] 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

The Lanka Software Foundation is a Free and Open Source R&D Non-Profit organization with the objective of giving fellowships and internships to talented developers who would like to contribute to FOSS. Notable contributions from Lanka Software Foundation have been the Apache AXIS project, other Apache Web Services projects and the Sahana Disaster Management System.
Offshore Software Development and Outsourcing

Offshore software development is a cost effective alternative to developing software in-house. We safeguard your intellectual property, proprietary software and new development specifications with very high levels of security and you retain full ownership, of all intellectual property rights and software source code at the completion of the project.

List of portable software
Portable software is a class of software that is suitable for use on portable drives such as a USB (thumb) drive or digital audio player or PDA with "drive mode", although any external hard drive can be used. [1] [2] The concept of carrying one's favored applications, utilities, and files on a portable drive for use on any computer is one which has evolved considerably in recent years.

Programs in this category (also known as portable applications) are typically 'lite' versions of their parent software, but there are many exceptions.

To be considered portable, for purpose of this list, a software program must:

1. Not require any kind of formal installation onto a computer's permanent storage device to be executed, and can be stored on a removable storage device such as USB flash drive, enabling it to be used on multiple computers.
2. Settings are stored with, and can be carried around with, the software (i.e., they are written to the USB drive). If the registry is used to store settings, the application's configuration isn't portable, and must be set up on every PC it is used on
3. Leaves a zero (or near-zero) "footprint" on any PC it's run on after being used. i.e., All temporary files/registry settings should be removed once the program has exited, and files created by the user can be saved directly to the same removable media as the application is stored on.
A serious vulnerability in SSL v3 and previous versions of SSL protocol has been identified and made public on November 4, 2009.
This makes every SSL site vulnerable to serious man-in-middle (MITM) attacks related to renegotiation.

This vulnerability is due to the design of "session resumption" feature of SSL protocol.

No comments:

Post a Comment