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

Notepad

The document discusses different types of software: - Application software performs specific functions for users like office suites and web browsers. - System software runs application programs and hardware like operating systems. - Driver software controls devices and peripherals. - Middleware mediates between different software. - Programming software is used by programmers to write code.

Uploaded by

Nachiket Patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Notepad

The document discusses different types of software: - Application software performs specific functions for users like office suites and web browsers. - System software runs application programs and hardware like operating systems. - Driver software controls devices and peripherals. - Middleware mediates between different software. - Programming software is used by programmers to write code.

Uploaded by

Nachiket Patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

Examples and types of software

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

Application software. The most common type of software, application software 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 and 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. The OS is the best example of system software; it
manages all the other computer programs. Other examples of system software include
the 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, enabling them to perform their specific tasks. Every
device that is 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 enables Microsoft Windows to talk to Excel and
Word. It is also 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 enables newer applications to work with legacy ones.
Programming software. Computer programmers use programming software to write code.
Programming software and programming tools enable developers to develop, write,
test and debug other software programs. Examples of programming software include
assemblers, compilers, debuggers and interpreters.
Diagram of the software stackExamples and types of software
Among the various categories of software, the most common types include the
following:

Application software. The most common type of software, application software 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 and 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. The OS is the best example of system software; it
manages all the other computer programs. Other examples of system software include
the 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, enabling them to perform their specific tasks. Every
device that is 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 enables Microsoft Windows to talk to Excel and
Word. It is also 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 enables newer applications to work with legacy ones.
Programming software. Computer programmers use programming software to write code.
Programming software and programming tools enable developers to develop, write,
test and debug other software programs. Examples of programming software include
assemblers, compilers, debuggers and interpreters.
Diagram of the software stack
Here is a complete picture of the full software stack.
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 can also
perform tasks for other applications. Applications on a computer cannot 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 do
not 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, only require internet access to work; they do
not 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 do not 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.

Table comparing system and application software


Here are the key differences between system and application software.
Design and implementation
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 and 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.

The 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. The 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.
Diagram of the software development lifecycle
Find out the six main steps involved in developing software.
How to maintain software quality
Software quality measures if the software meets both its functional and
nonfunctional requirements.

Functional requirements identify what the software should do. They include
technical details, data manipulation and processing, calculations or any other
specific function that specifies what an application aims to accomplish.

Nonfunctional requirements -- also known as quality attributes -- determine how the


system should work. Nonfunctional requirements include portability, disaster
recovery, security, privacy and usability.

Software testing detects and solves technical issues in the software source code
and assesses the overall usability, performance, security and compatibility of the
product to ensure it meets its requirements.
Here is a complete picture of the full software stack.
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 can also
perform tasks for other applications. Applications on a computer cannot 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 do
not 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, only require internet access to work; they do
not 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 do not 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.

Table comparing system and application software


Here are the key differences between system and application software.
Design and implementation
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 and 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.

The 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. The 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.
Diagram of the software development lifecycle
Find out the six main steps involved in developing software.
How to maintain software quality
Software quality measures if the software meets both its functional and
nonfunctional requirements.

Functional requirements identify what the software should do. They include
technical details, data manipulation and processing, calculations or any other
specific function that specifies what an application aims to accomplish.

Nonfunctional requirements -- also known as quality attributes -- determine how the


system should work. Nonfunctional requirements include portability, disaster
recovery, security, privacy and usability.

Software testing detects and solves technical issues in the software source code
and assesses the overall usability, performance, security and compatibility of the
product to ensure it meets its requirements.

You might also like