TYPES OF SOFTWARE
DEFINITION OF SOFTWARE
Software is a set of instructions, data or programs used to operate computers and
execute specific tasks. Software is a generic term used to refer to applications, scripts and
programs that run on a device.
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.
1. 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. 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.
SPECIFIC FUNCTIONS: EDUCATIONAL, PERSONAL or BUSINESS
2. 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.
3. 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. 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.
4. 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.
5. 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.
HOW DOES SOFTWARE WORK?
The dimensions of software quality include the following characteristics:
1. Accessibility. The degree to which a diverse group of people, including individuals who
require adaptive technologies such as voice recognition and screen magnifiers, can comfortably
use the software.
2. Compatibility. The suitability of the software for use in a variety of environments, such as
with different OSes, devices and browsers.
3. Efficiency. The ability of the software to perform well without wasting energy, resources,
effort, time or money.
How well the software performs its intended functions while minimizing the
consumption of resources like energy, time, and computational power.
4. Functionality. Software's ability to carry out its specified functions.
5. Installability. The ability of the software to be installed in a specified environment.
6. Localization. The various languages, time zones and other such features a software can
function in.
The process of adapting a software application to meet the specific linguistic, cultural,
and technical requirements of a target market.
7. Maintainability. How easily the software can be modified to add and improve features, fix
bugs, etc.
Refers to how easily it can be modified, updated, or repaired.
8. Performance. How fast the software performs under a specific load.
Refers to how quickly and efficiently a software application operates under a
specific workload or load. It's a crucial aspect of software quality, encompassing
factors like speed, responsiveness, stability, and scalability.
9. Portability. The ability of the software to be easily transferred from one location to another.
The ability of software to be transferred and run on different systems (hardware or
software environments) with minimal or no modifications. This means the software
can be used across various platforms (like different operating systems) without
needing to rewrite or extensively alter the code.
10. Reliability. The software's ability to perform a required function under specific conditions
for a defined period of time without any errors.
Software reliability refers to the probability that a program will operate without
failure for a specified period in a specified environment. It essentially measures how
consistently a software application performs its intended functions under defined
conditions over time. This includes performing those functions without errors,
crashes, or other malfunctions.
11. Scalability. The measure of the software's ability to increase or decrease performance in
response to changes in its processing demands.
Ability of a system, application, or infrastructure to handle an increasing amount of
data, users, or load without compromising performance or stability.
12. Security. The software's ability to protect against unauthorized access, invasion of privacy,
theft, data loss, malicious software, etc.
13. Testability. How easy it is to test the software.
How easily a system or component can be tested. High testability means it's easier to
create test conditions, execute tests, and evaluate results, leading to more reliable and
maintainable software.
14. Usability. How easy it is to use the software.
How easily users can learn, use, and interact with the software to achieve their goals.