You are on page 1of 4

INFORMATION CHS N.C.

LEVEL : II
COMMON Perform Computer Operations
SHEETS # 3 Module 1 LO. 1

Common Types of Computer Software

Computer Software is the languages of the computer. And like the human languages, there are many different computer
languages. Essentially, Computer software can be divided into three main groups depending on their use and application
these are:

1. System software or Operating System software

Is the software used by the computer to translate inputs from various sources into a language which a machine
can understand. Basically the System software or the operating system software coordinates the different
hardware components of a computer. There are many OS in the market. The most popular OS are from the stable
of Windows, Microsoft has migrated to Vista, its latest offering in the market. It may come as a surprise to some `
that there are other operating systems used by others. Among these UNIX is use for large office setups with
extensive networking. XENIX is software which has now become redundant. HP –UX and AIX are some operating
system used by HP computers. Apache OS is quite popular with web servers. IBM is still uses proprietary
operating system for its main frames. Proprietary systems are generally built with the help of a variant of UNIX
operating system.

2. Application software

A normal user rarely gets to see the operating system or to work with it. But all of us are familiar with application
software which we must use to interact with computer. Popular example of application software are the Microsoft
office suite which include word, excel, and PowerPoint. We have use this application extensively. Internet
explorer , Mozilla Firefox is two applications software used to access the internet.

Application Software - also provides support to the physical components of computers. System software
coordinates all external devices of computer system like printer, keyboard, displays etc.

Application software is used for commercial purpose. The application software is widely used in educational,
business and medical fields. Computer games are the most popular forms of application software. Industrial
automation, databases, business software and medical software prove to be of great help in the respective fields.
Educational software is widely used in educational institutes across the globe.

3. Programming Languages;
Programmers use the programming software to develop the programming languages necessary to run computer
software. Compliers, interpreters, linkers and text editors are some of the basic tools used in programming
software.

Programming program or Programming Languages

Now this a kind of computer software which is used exclusively by computer programmers. Unless we are also
programmers, we are unlikely to come across programming languages. A simple way to understand programming
languages is to think of them as bricks which can be used to create application and operating system. C++, Java
and SIMLAB are some popular programming languages. Generally java is used for internet application. C++ is a
language of a professional developers and used extensively in developing operating system. PHP is another
languages used for internet applications. There is a new class of languages which are utilized for mobiles. These
are light weight, modular languages which are used to design mobile application.

Computer software fall under three basic categories; system software or operating system software, application
software, and Programming languages. We usually use application on a day to day basis. These application are
themselves created using programming languages.

TESDA Document No. ICT/CBLM


OCTAVS Issued by: Date: 06-10-2010
Computer Software
QA Revision: 0 Page 1 of 4
SYSTEM
INFORMATION CHS N.C. LEVEL : II
COMMON Perform Computer Operations
SHEETS # 3 Module 1 LO. 1

OTHER TYPES OF SOFTWARE

There are many different types of software, which can be a little confusing for the uninitiated. Following is a brief definition of
each type, and the differences between them.

Retail software: This type of software is sold off the shelves of retail stores. It includes expensive packaging designed to
catch the eye of shoppers and, as such, is generally more expensive. An advantage of retail software is that it comes with
printed manuals and installation instructions, missing in hard-copy form from virtually every other category of software.
However, when hard-copy manuals and instructions are not required, a downloadable version off the Internet will be less
expensive, if available.

OEM software: OEM stands for "Original Equipment Manufacturer" and refers to software sold in bulk to resellers,
designed to be bundled with hardware. For example, Microsoft has contracts with various companies including Dell
Computers, Toshiba, Gateway and others. Microsoft sells its operating systems as OEM software at a reduced price, minus
retail packaging, manuals and installation instructions. Resellers install the operating system before systems are sold and
the OEM CD is supplied to the buyer. The "manual" consists of the Help menu built into the software itself. OEM software is
not legal to buy unbundled from its original hardware system.

Shareware: This software is downloadable from the Internet. Licenses differ, but commonly the user is allowed to try the
program for free, for a period stipulated in the license, usually thirty days. At the end of the trial period, the software must be
purchased or uninstalled. Some shareware incorporates an internal clock that disables the program after the trial period
unless a serial number is supplied. Other shareware designs continue to work with "nag" screens, encouraging the user to
purchase the program.

Crippleware: This software is similar to shareware except that key features will cease to work after the trial period has
ended. For example, the "save" function, the print function, or some other vital feature necessary to use the program
effectively may become unusable. This "cripples" the program. Other types of crippleware incorporate crippled functions
throughout the trial period. A purchase is necessary to unlock the crippled features.

Demo software: Demo software is not intended to be a functioning program, though it may allow partial functioning. It is
mainly designed to demonstrate what a purchased version is capable of doing, and often works more like an automated
tutorial. If a person wants to use the program, they must buy a fully functioning version.

Adware: This is free software that is supported by advertisements built into the program itself. Some adware requires a live
Internet feed and uses constant bandwidth to upload new advertisements. The user must view these ads in the interface of
the program. Disabling the ads is against the license agreement. Adware is not particularly popular.

Spyware: Spyware software is normally free, but can be shareware. It clandestinely "phones home" and sends data back to
the creator of the spyware, most often without the user's knowledge. For example, a multimedia player might profile what
music and video files the software is called upon to play. This information can be stored with a unique identification tag
associated with the specific program on a user's machine, mapping a one-to-one relationship. The concept of spyware is
very unpopular, and many programs that use spyware protocols were forced to disclose this to users and offer a means to
turn off reporting functions. Other spyware programs divulge the protocols in their licenses, and make acceptance of the
spyware feature a condition of agreement for using the software.

Freeware: Freeware is also downloadable off the Internet and free of charge. Often freeware is only free for personal use,
while commercial use requires a paid license. Freeware does not contain spyware or adware. If it is found to contain either of
these, it is reclassified as such.

Public domain software: This is free software, but unlike freeware, public domain software does not have a specific
copyright owner or license restrictions. It is the only software that can be legally modified by the user for his or her own
purposes. People are encouraged to read licenses carefully when installing software, as they vary widely.
TESDA Document No. ICT/CBLM
OCTAVS Issued by: Date: 06-10-2010
Computer Software
QA Revision: 0 Page 2 of 4
SYSTEM
INFORMATION CHS N.C. LEVEL : II
COMMON Perform Computer Operations
SHEETS # 3 Module 1 LO. 1

GENERAL SECURITY, PRIVACY LEGISLATION AND COPYRIGHT

The security of software is threatened at various points throughout its life cycle, both by inadvertent and intentional choices
and actions taken by “insiders”—individuals closely affiliated with the organization that is producing, deploying, operating, or
maintaining the software, and thus trusted by that organization—and by “outsiders” who have no affiliation with the
organization. The software’s security can be threatened:

• during its development: A developer may corrupt the software—intentionally or unintentionally—in ways that will
compromise the software’s dependability and trustworthiness when it is operational.
• during its deployment (distribution and installation): If those responsible for distributing the software fail to
tamperproof the software before shipping or uploading, or transmit it over easily intercepted communications
channels, they leave the software vulnerable to intentional or unintentional corruption. Similarly, if the software’s
installer fails to “lock down” the host platform, or configures the software insecurely, the software is left vulnerable
to access by attackers.
• during its operation: Once COTS and open source software has gone operational, vulnerabilities may be
discovered and publicized; unless security patches and updates are applied and newer supported versions (from
which the root causes of vulnerabilities have been eliminated) are adopted, such software will become increasingly
vulnerable. Non-commercial software and open source software (OSS) may also be vulnerable, especially as it
may manifest untrustworthy behaviors over time due to changes in its environment that stress the software in ways
that were not anticipated and simulated during its testing. Any software system that runs on a network-connected
platform has its vulnerabilities exposed during its operation. The level of exposure will vary depending on whether
the network is public or private, Internet-connected or not, and whether the software’s environment has been
configured to minimize its exposure. But even in highly controlled networks and “locked down” environments, the
software may be threatened by malicious insiders (users, administrators, etc.).
• during its sustainment: If those responsible for addressing discovered vulnerabilities in released software fail to
issue patches or updates in a timely manner, or fail to seek out and eliminate the root causes of the vulnerabilities
to prevent their perpetuation in future releases of the software, the software will become increasingly vulnerable to
threats over time. Also, the software’s maintainer may prove to be a malicious insider, and may embed malicious
code, exploitable flaws, etc., in updated versions of the code.

Both research and real-world experience indicate that correcting weaknesses and vulnerabilities as early as possible in the
software’s life cycle is far more cost-effective over the lifetime of the software than developing and releasing frequent
security patches for deployed software.

Software Assurance

The main objective of software assurance is to ensure that the processes, procedures, and products used to produce and
sustain the software conform to all requirements and standards specified to govern those processes, procedures, and
products. Software security and secure software are often discussed in the context of software assurance. Software
assurance in its broader sense refers to the assurance of any required property of software. For software practitioners at the
National Aeronautics and Space Administration (NASA), software assurance refers to the assurance of safety as a property
of software. Similarly, in other communities, software assurance may refer to assurance of reliability or quality. In the context
of this article, software assurance is concerned with assuring the security of software.

An increasingly agreed-upon approach for assuring the security of software is the software security assurance case, which is
intended to provide justifiable confidence that the software under consideration

(1) is free of vulnerabilities;


(2) functions in the “intended manner,” and this “intended manner” does not compromise the security or any other required
properties of the software, its environment, or the information it handles; and
(3) can be trusted to continue operating dependably under all anticipated circumstances, including anomalous and hostile

TESDA Document No. ICT/CBLM


OCTAVS Issued by: Date: 06-10-2010
Computer Software
QA Revision: 0 Page 3 of 4
SYSTEM
INFORMATION CHS N.C. LEVEL : II
COMMON Perform Computer Operations
SHEETS # 3 Module 1 LO. 1

environmental and utilization circumstances—which means that those who build the software need to anticipate such
circumstances and design and implement the software to be able to handle them gracefully. Such circumstances include

• the presence of unintentional faults in the software and its environment


• the exposure of the operational software to accidental events that threaten its security
• the exposure of the software to intentional choices or actions that threaten its security during its development,
deployment, operation, or sustainment

Software is more likely to be assuredly secure when security is a key factor in the following aspects of its development and
deployment:

• Development principles and practices: The practices used to develop the software and the principles that
governed its development are expressly intended to encourage and support the consideration and evaluation of
security in every phase of the software’s development life cycle. Some secure development principles and
practices for software are suggested later in this article.
• Development tools: The programming language(s), libraries, and development tools used to design and
implement the software are evaluated and selected for their ability to avoid security vulnerabilities and to support
secure development practices and principles.
• Testing practices and tools: The software is expressly tested to verify its security, using tools that assist in such
testing.
• Acquired components: Commercial off-the-shelf (COTS) and OSS components are evaluated to determine
whether they contain vulnerabilities, and if so whether the vulnerabilities can be remediated through integration to
minimize the risk they pose to the software system.
• Deployment configuration: The installation configuration of the software minimizes the exposure of any residual
vulnerabilities it contains.
• Execution environment: Protections are provided by the execution environment that can be leveraged to protect
the higher level software that operates in that environment.
• Practitioner knowledge: The software’s analysts, designers, developers, testers, and maintainers are provided
with the necessary information (e.g., through training and education) to give them sufficient security awareness
and knowledge to understand, appreciate, and effectively adopt the principles and practices that will enable them
to produce secure software.

Self-Check # 4

1. Enumerate the common types of software?

2. What is the assurance of software?

3. Safety for the Software?

TESDA Document No. ICT/CBLM


OCTAVS Issued by: Date: 06-10-2010
Computer Software
QA Revision: 0 Page 4 of 4
SYSTEM

You might also like