The Changing Nature of Software

The nature of software has changed a lot over the years. When everyone started to get PCs on their desks, innovative companies started to write general-purpose software like word processing programs and spreadsheets that you could buy in a little shrink-wrapped box, and a whole new industry was born. The nature of software continues to evolve. The latest move, of course, is towards software being delivered as a service, across the Internet, and ultimately, this will become the delivery mechanism of choice - and the vast majority of software will no longer run locally. The Internet infrastructure has been developed to the point where it is fast and secure, web browsers have become pervasive and useful as a standard client, and in the current tight economy, companies (including software developers) are looking for cheaper ways to create and deliver their goods. Already, much of today's e-business is conducted over applications that are delivered to web clients. Now a days we can see that the standard productivity applications also run on the same mechanism.

From a macro perspective, it makes sense. It costs an enormous amount of money for a software vendor to create, maintain, and upgrade software for the dozens of different platforms they must support. Software, when delivered as a service, bypasses this bottleneck, since the only thing they have to support is a web browser. Another advantage is that the traditional software has an upgrade cycle, whereby versions are released periodically, and customers must wait until the next release to see a new feature, a fix, or a patch incorporated. In the newer "software as services" model, upgrades are ongoing.

We're differentiating here between what's called Software As Service or SAS and standard ASPs (Application Service Provider). An ASP delivers software to clients that is usually created by a third party, and is developed with the usual traditional cycle of periodic upgrades. The software delivered by the ASP is often the same software as the client could buy, install, and maintain in-house, the advantage the ASP offers is the convenience of outsourced management. Software-as-services, on the other hand, adds the advantage of continuous upgrades. The ASP hosts traditional software that was meant to be used for a single client, and a separate instance of the application is required for each client. Software-as-services, which is multi-tenant capable, that is, a single iteration can service multiple clients. Either way, it's an inevitable change from the traditional model of discrete software packages, installed and maintained in-house.

The nature of software is also depends on the usability of software. For example some software are used to provide various services to properly run other softwares. And some software are used to create communication link between two computers. So, by the nature of software, it can be divided into several categories which are given below :

System Software : System softwares are collection of programs written to service other programs. In other words System software is a type of computer program that is designed to run a computer’s hardware and application programs. If we think of the computer system as a layered model, the system software is the interface between the hardware and user applications. The example of system softwares are operating systems, compilers, editors, file management utilities etc.

Application Software : Application software consists of standalone programs that solve some specific business application. The Application softwares are used to control business functions in real time. They deal mainly with solving out some specific computing types of problems. They work for fulfillment of specific needs only. Some example of Application software are Database processing software, Word processors, Multimedia softwares, Web Browsers etc.

Engineering/Scientific Software : In general, this is a category of software used to facilitate the engineering functions and tasks. For example Computer Aided Design (CAD) programs and applications that help an engineer in drawing and (in some cases) test the properties of a drafted part. Some of the more sophisticated packages allow the engineer to fit together and test assemblies and simulate production.

Embedded Software : Software in this category performs limited functions. Embedded software is a piece of software that is embedded in hardware or non-PC devices. It is written specifically for the particular hardware that it runs on and usually has processing and memory constraints because of the device’s limited computing capabilities. Examples of embedded software include those found in dedicated GPS devices, factory robots, some calculators and even modern smartwatches.

Artificial Intelligence Software : Artificial intelligence is the simulation of human intelligence processes by machines, especially computer systems. These processes include learning, reasoning and self-correction. Artificial intelligence software is  software that capable of intelligent behavior. The creation of intelligent software involves simulating a number of capabilities, including reasoning, learning, problem solving, perception, knowledge representation. In today's world, Artificial intelligence software is at work in applications such as smartphone assistant, ATMs that read checks, voice and image recognition software on social networks etc.

Client/Server Software : Client-Server is a software architecture model consisting of two parts, client systems and server systems, both communicating over a computer network. A client-server application is a distributed system made up of both client and server software. Client server application provide a better way to share the workload.The client process always initiates a connection to the server, while the server process always waits for requests from any client.

Open Source Software : The term "open source" refers to something people can modify and share because its design is publicly accessible. Open source software is software with source code that anyone can inspect, modify, and enhance. LibreOffice and the GNU Image Manipulation Program are examples of open source software.

Next Topic :

No comments:

Post a Comment