0% found this document useful (0 votes)
2 views

Doc1

Software is a set of instructions and programs that operate computers, categorized into application software and system software. Application software performs specific tasks for users, while system software manages hardware and provides a platform for applications. The software development lifecycle involves planning, design, implementation, testing, and maintenance to create effective software solutions.

Uploaded by

vanjoskip.ek
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Doc1

Software is a set of instructions and programs that operate computers, categorized into application software and system software. Application software performs specific tasks for users, while system software manages hardware and provides a platform for applications. The software development lifecycle involves planning, design, implementation, testing, and maintenance to create effective software solutions.

Uploaded by

vanjoskip.ek
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

software

By

 Cameron Hashemi-Pour, Site Editor

 TechTarget Contributor

What is software?

Software is a set of instructions, data or programs used to operate computers and execute specific
tasks. It is the opposite of hardware, which describes the physical aspects of a computer. Software is
a generic term used to refer to applications, scripts and programs that run on a device. It can be
thought of as the variable part of a computer, while hardware is the invariable part.

The two main categories of software are application software and system software. An application is
software that fulfills a specific need or performs tasks. System software is designed to run a
computer's hardware and provides a platform for applications to run on top of.

Other types of software include the following:

 Programming software, which provides the programming tools software developers need.

 Middleware, which sits between system software and applications.

 Driver software, which operates computer devices and peripherals.

Early software was written for specific computers and sold with the hardware it ran on. In the 1980s,
software began to be sold on floppy disks and, later, CDs and DVDs. Today, most software is
purchased and directly downloaded over the internet. Software can be found on vendor
and application service provider websites.

Examples and types of software

Among the various categories of software, the most common types include the following:

 Application software. The most frequently used software is application software, which is a
computer software package that performs a specific function for a user or, in some cases, for
another application. An application can be self-contained, or it can be a group of programs
that run the application for the user. Examples of modern applications include office suites,
graphics software, databases, database management programs, web browsers, word
processors, software development tools, image editors and communication platforms.

 System software. These software programs are designed to run a computer's application
programs and hardware. System software coordinates the activities and functions of the
hardware and software. In addition, it controls the operations of the computer hardware and
provides an environment or platform for all the other types of software to work in. An
operating system (OS) is the best example of system software; it manages all the other
computer programs. Other examples of system software include firmware, computer
language translators and system utilities.

 Driver software. Also known as device drivers, this software is often considered a type of
system software. Device drivers control the devices and peripherals connected to a
computer, helping them perform their specific tasks. Every device that's connected to a
computer needs at least one device driver to function. Examples include software that comes
with any nonstandard hardware, including special game controllers, as well as the software
that enables standard hardware, such as USB storage devices, keyboards, headphones and
printers.

 Middleware. The term middleware describes software that mediates between application
and system software or between two different kinds of application software. For example,
middleware lets Microsoft Windows talk to Excel and Word. It's used to send a remote work
request from an application in a computer that has one kind of OS to an application in a
computer with a different OS. It also lets newer applications work with legacy ones.

 Programming software. Computer programmers use programming software to write code.


Programming software and programming languages, such as Java or Python, let developers
develop, write, test and debug other software programs. Examples of programming software
include assemblers, compilers, debuggers and interpreters.

A full software stack includes many components,


ranging from hardware to operating system services to the application.

How does software work?


All software provides the directions and data computers need to work and meet users' needs.
However, the two different types -- application software and system software -- work in distinctly
different ways.

Application software

Application software consists of many programs that perform specific functions for end users, such
as writing reports and navigating websites. Applications also perform tasks for other applications.
Applications on a computer can't run on their own; they require a computer's OS along with other
supporting system software programs to work.

These desktop applications are installed on a user's computer and use the computer memory to
carry out tasks. They take up space on the computer's hard drive and don't need an internet
connection to work. However, desktop applications must adhere to the requirements of the
hardware devices they run on.

Web applications, on the other hand, do require internet access to work, but they don't rely on the
hardware and system software to run. Consequently, users can launch web applications from devices
that have a web browser. Since the components responsible for the application functionality are on
the server, users can launch the app from Windows, Mac, Linux or any other OS.

System software

System software sits between the computer hardware and the application software. Users don't
interact directly with system software as it runs in the background, handling the basic functions of
the computer. This software coordinates a system's hardware and software so users can run high-
level application software to perform specific actions. System software executes when a computer
system boots up and continues running as long as the system is on.

System
software and application software differ in some key ways.
Design and implementation of software

The software development lifecycle is a framework that project managers use to describe the stages
and tasks associated with designing software. The first steps in the design lifecycle are planning the
effort, then analyzing the needs of the individuals who will use the software and creating detailed
requirements. After the initial requirements analysis, the design phase aims to specify how to fulfill
those user requirements.

The next is step is implementation, where development work is completed, and then software
testing happens. The maintenance phase involves any tasks required to keep the system running.

Software design includes a description of the structure of the software that will be implemented,
data models, interfaces between system components and potentially the algorithms the software
engineer will use.

The software design process transforms user requirements into a form that computer programmers
can use to do the software coding and implementation. Software engineers develop the software
design iteratively, adding detail and correcting the design as they develop it.

The different types of software design include the following:

 Architectural design. This is the foundational design, which identifies the overall structure of
the system, its main components and their relationships with one another using architectural
design tools.

 High-level design. This is the second layer of design that focuses on how the system, along
with all its components, can be implemented in forms of modules supported by a software
stack. A high-level design describes the relationships between data flow and the various
modules and functions of the system.

 Detailed design. This third layer of design focuses on all the implementation details
necessary for the specified architecture.

You might also like