L6. System Software
L6. System Software
1
Contents
Objectives ....................................................................................................................................... 3
Software .......................................................................................................................................... 3
System Software ............................................................................................................................. 3
Operating systems (O.S.) ............................................................................................................ 3
Utility programs .......................................................................................................................... 4
Communication software ............................................................................................................ 5
Application Software ...................................................................................................................... 5
Application packages .................................................................................................................. 5
Productivity software .................................................................................................................. 6
Specialty application packages ................................................................................................... 6
User Programs ............................................................................................................................. 7
Comparison between packages and user programs .................................................................... 7
Programming Languages/Development Software .......................................................................... 8
2
Objectives
1. To explain Operating systems (O.S.)
2. To discuss Application packages
3. To elaborate Programming Languages/Development Software
Software
Software is broadly classified into System software and Application software. Programming
languages that are used to code (write) this software are also considered part of the software side
of the computer system.
System Software
All the various components of the computer system including the processor, memory, storage and
peripheral devices represent the resources of the system that need to be managed in an efficient
manner if the computer system has to achieve the objectives of which it was procured. The system
software is a set of programs that are used to manage these resources, coordinate them so that they
work together efficiently and to schedule them to make the best use of the computer’s time. It
therefore acts as the linkage or interface between the computer system and the application
programs that the user wants to run.
3
• Multi-programming i.e. concurrent execution of different user’s programs. This function
relates to a multi-user environment and therefore the OS also is multi-user i.e. it is essentially a
multi-user version of multi-tasking.
• Timesharing i.e. a round robin processing of programs for different users. It is used when
several users are linked by a communication network to a single computer. The computer will
work on one user’s task for a fraction of a second and then go to the next.
• Multi-processing i.e. simultaneous processing of two or more programs by multiple
processors (also known as distributed processing). The processing is done by more than one
computer or processors linked together to perform tasks simultaneously. This can entail processing
instructions from different programs at the same time.
b) Managing memory - The OS is used to allocate available memory among jobs as required.
c) Input and output control – The OS manages essential peripheral devices and allows the
computer to communicate with them. This usually comes in the form of device drivers i.e. software
programs that support specific peripheral devices. Each driver consists of detailed machine
language necessary to control a specific device.
d) Coordinating some network communication functions – Despite the fact that a network will
be expected to have its own NOS (Network Operating System), some comm. Functions are
included in the regular OS to meet personal network connection needs.
Common OS platforms
There are many operating systems available in the market. The original operating system is the
MS DOS (Micro Soft Disc Operating System) developed by Microsoft Corporation for IBM
computers. It was then developed into the Windows OS by Microsoft, which has been improved
upon over the years and released as various versions of the same up to the latest version Windows
11 operating system.
Utility programs
This is the system software component that is used to support, enhance or expand existing
programs in the computer. Many OS have utility programs build-in for common purposes although
additional utility programs are available separately. Their functions are:
1. Back-up – These are programs that assist in creating back-up or duplicate copies of the
information on the hard disk to aid in recovery in case of failure or data loss.
4
2. Data recovery – These are programs that are used to restore data that has been physically
damaged or corrupted.
3. Virus protection – Viruses are small hidden programming instructions that are buried
within a program or code in a data file and designed with malicious intentions. Utility programs
are available that can scan disks and detect viruses and in most cases destroy the viruses on the
spot.
4. Data compression – This program is used in cases where your storage media is filled up.
The instructions are used to remove redundant elements, gaps and unnecessary data from the
computer’s storage space so that fewer bits are required to store or transmit data.
Communication software
This is an extension of the OS of the computer whereby it provides additional logical support for
the computer system to control a variety of communications equipment so that it can communicate
with peripherals located far from the C.P.U. It supervises functions such as:
a) The systems communications with remote terminals.
b) Monitoring communication equipment and lines
c) Managing traffic on communication lines
d) Logging and analyzing communication traffic
e) Diagnosing communication problems.
Many PC operating systems now come with comm. Programs as part of the standard package. For
instance, a manager cab be able to benefit from such software whereby it can allow the manager’s
home computer to be connected to the organization’s networks so that they can use their computer
as a remote workstation (a work arrangement known as telecommuting).
Application Software
This refers to the computer software that performs the specific data or text processing function for
which the computer system was acquired. These are program that aid the computer to solve specific
user problems i.e. problems that are specific to individual organizations.
Application packages
These are also referred to as commercial software or off-the-shelf programs or canned programs.
They are fully described or narrated programs developed to solve an organization’s specific data
processing tasks with little or no alteration. They are designed in such a way as to support many
data processing requirements as possible in application of different workloads. They are
categorized as basic productivity or specialty software.
5
Productivity software
These are application packages found on computers in most offices or even homes whereby they
aim at making users more productive at general tasks. The most common ones include:
a) Word processing packages: which are used for typing and documentation. They lead to an
increase in productivity of clerical and secretarial staff within the organization. It allows users to
create, edit, format and print documents. Commercial names include MS word, Word Perfect,
Word Star etc.
b) Spreadsheet software: This is software that allows managers to do among other data
processing tasks – prepare budgets, perform tax analysis, analyze investment portfolios, projects,
sales projection and profits. In its basic form, it’s made up of a grid of rows and columns, creating
cells, cell addresses and cell pointer that allow users to produce financial projections and reports.
Common packages include MS Excel, Lotus 1-2-3, Quattro Pro etc.
c) Database management software: This software is used to create and manage the
organization’s database whereby the manager can be able to access all the organization’s records
and retrieve only the data they need for decision-making. It is also used to manage the updating of
new records into the database. Managers can use it to prepare reports based on data found in many
different types of records, for instance, personnel managers may wish to prepare reports that relate
data about employees in personnel records to data about employees in payroll records. Examples
of database management software include MS Access, dBase IV, Oracle etc.
d) Presentation graphics software: This software allows the manager to design his/her
presentation using slides and incorporating among other things charts, text, images and sound.
Commercial names include MS PowerPoint, Harvard Graphics etc.
a) Desktop publishing software. They aid Desktop Publishers to produce high quality printed
outputs by using a microcomputer in conjunction with other devices such as the mouse, scanners
and laser printers through the mix of text and graphics. Examples include Quark Press, PageMaker,
MS Publisher etc.
6
b) Project management software. Designed to assist project managers in supervising a large
group of people and activities. They are used to plan, schedule and control the resources required
to complete the project on time. For instance, a producer of a film can use such a program to keep
track of the locations, the cast and crew, materials, money and shooting schedules that are required
to complete the film on time and within budget. Examples include MS Project for Windows,
Project Scheduler, Harvard Project Manager, Super Project etc.
c) Computer Aided Design (C.A.D) and Computer Aided Manufacturing (C.A.M) software -
These are used in the design of structures and manufacturing respectively.
These are just a few examples of specialty application packages and there are many other packages
dealing with other organizational problems available in the market.
User Programs
Many of he applications software used by organizations, especially middle-sized and large
organizations are usually written and developed specifically to be used by that
organization/manager. These programs are also referred to as in-house programs since in most
cases they are written and developed by application programmers employed or commissioned by
the organization. They are also known as custom-written software tailor made programs since they
are developed to perform data processing tasks for individual, specific organizations/managers and
may not be as effective for different situations. However, the process does not necessarily need to
be an in-house affair since the organization can commission outside consultants or programmers
to write these programs as per the specifications provided by the organization’s systems analyst.
The languages are characterized as being low-level or high-level depending on how easy it is for
the machine to understand the program instructions. Most developers use high-level languages
since the instructions of a program written using such a language are more easily understandable
to human beings than to machines. Examples here include Pascal, Java, Fortran, C++ etc. Low-
level languages have a one-to-one correspondence between statement in the language and a
machine instruction. These include machine languages and assembly languages which are usually
computer specific e.g. Basic, C. Programs written in such languages are directly executed by the
computer whereby the computer uses its compiler to do this. On the other hand, the computer uses
an interpreter to execute high-level language programs. The interpreter is an application program
that is used to translate the high-level program instructions into a form the machine can understand.
Syntax rules of a programming language refer to the rules that govern the validity of the program
with regards to its form. These rules are similar to those that govern the validity of an English
sentence. Therefore, when violated, they generate an error message and the compilation process is
halted. Semantic rules are concerned with the ordering of the instructions in such a way that they
produce the correct results. They relate to the meaning of the instructions and not necessarily its
make-up. Therefore, a violation of semantic rules do not halt compilation but will instead produce
the wrong result or solution.
8
The software development process follows these steps:
1. Requirement analysis. The activities here include identifying the objectives and users of the
program; identify the inputs and outputs of the program as well as performing a preliminary
feasibility analysis. All the above actions also ought to be documented.
2. Program design. This phase of the process involves writing the instructions that represent the
solution to the problem. Structured programming is an approach that uses a top-down approach in
designing the program by breaking it into parts known as modules as well as utilizing logic tools
known as control structures. This is aimed at making the programs more efficient and readable and
to have better notations so that they may have clear and correct descriptions.
3. Program coding. This is the actual writing of the design program instructions into the computer
using the keyboard. With the aid of an appropriate programming language, the instructions are
translated from pseudocode and flowcharts into letters, numbers and symbols that make up a
computer program. This phase entails selecting the appropriate programming language (consider
factors such as the purpose of the program since some programs languages are more appropriate
for mathematical calculations while others are more suited for database applications). And then
following the logic and syntax rules of the programming language.
4. Program testing. Involves running various tests e.g. desk checking, debugging and running
actual data through the program.
5. Documentation and maintenance. These are graphic, written and electronic descriptions of
what the program is and how to use it. The documentation is usually in three categories: user,
operator and programmer documentation.