Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Note 3

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Arch Note Three

THE COMPUTER SOFTWARE


The computer as a machine does not do ant anything except as instructed, hence the
need for a way of giving instructions to the computer. The computer program is a step-
by-step instructions that control the activities of the computer written in the form in
which the computer can understand and execute.
A computer program is a sequence of instructions written to perform a specified task
for a computer A computer requires programs to function, typically executing the
program's instructions in a central processor. The program has an executable form that
the computer can use directly to execute the instructions. The same program in its
human-readable source code form, from which executable programs are derived (e.g.,
compiled), enables a programmer to study and develop its algorithms.
Computer source code is often written by computer programmers. Source code is
written in a programming language that usually follows one of two main paradigms:
imperative or declarative programming. Source code may be converted into an
executable file (sometimes called an executable program or a binary) by a compiler and
later executed by a central processing unit. Alternatively, computer programs may be
executed with the aid of an interpreter, or may be embedded directly into hardware.
A collection of computer programs and related data that provide the instructions for
telling a computer what to do and how to do it, is a software In other words, software
is a conceptual entity which is a set of computer programs, procedures, and associated
documentation concerned with the operation of a data processing system.. ty is a generic
name for computer instructions or programs that direct the activities of the computer in
perform a definite function and any documentation that comes along with programs.
Software is basically the instructions that cause the hardware (the machine) to do work.
We can also say software refers to one or more computer programs and data held in the
storage of the computer for some purposes. In other words software is a set of programs,
procedures, algorithms and its documentation.
In the development of software, programs are written and coded. These programs are
written in a form in which the computer understands. These forms are called the
computer programming languages. A programming language is an artificial language
designed to express computations that can be performed by a machine, particularly a
computer. Programming languages can be used to create programs that control the
behavior of a machine and/or to express algorithms precisely.
The earliest programming languages predate the invention of the computer, and were
used to direct the behavior of machines such as Jacquard looms and player pianos.
Thousands of different programming languages have been created, mainly in the
computer field, with many more being created every year. Most programming
languages describe computation in an imperative style, i.e., as a sequence of commands,
although some languages, such as those that support functional programming or logic
programming, use alternative forms of description.

1
Arch Note Three
The computer programming languages are classified into three different types or levels..
These are:
1 The Machine Language:- Machine language is the re representation of
instructions and data in binary (0, 1) form (BITS). This is the only language
understandable to the machine as the computer itself is said to be a binary machine.
Machine code or machine language is a system of instructions and data executed
directly by a computer's central processing unit. Machine code may be regarded
as a primitive (and cumbersome) programming language or as the lowest-level
representation of a compiled and/or assembled computer program
The language itself follows the electrical properties/systems of the machine in
arriving at each code. The machine language is machine dependent i.e. every
machine (make and model) has its own machine language. It a very efficient and
effective way of program execution.. But it has the disadvantage of being very
difficult to write, learn or modify and the programs are not transferable from one
system to the other (being machine dependent). Any program written in any other
language other than this language needs to be converted to its machine code
equivalent before execution.
2 The Assembly Language:- The assemble or symbolic language is the
representation of instruction in symbols, pseudocodes or mnemonics. It is a much
more readable rendition of machine language, called which uses mnemonic codes
to refer to machine code instructions, rather than using the instructions' numeric
values directly. This representation is usually defined by the hardware
manufacturer, and is based on mnemonics that symbolize processing steps
(instructions), processor registers, memory locations, and other language features.
An assembly language is thus specific to a certain physical (or virtual) computer
architecture. There is a one to one relationship between the machine and assembly
language. As machine language, the assembly language is machine dependent. It
has the advantage of being effective and efficient but not as the machine language
as it needs to be translated to machine language before it can be executed. The
machine language and the assembly language are together called the Low Level
Languages.
3 The High level language:- This is the representation of instructions in a form
similar to human written language. It makes use of identifiers (nouns) and verbs
for the construction of its statements. A high-level programming language is a
programming language with strong abstraction from the details of the computer.
In comparison to low-level programming languages, it may use natural language
elements, be easier to use, or be more portable across platforms. Such languages
hide the details of CPU operations such as memory access models and
management of scope.

2
Arch Note Three
This greater abstraction and hiding of details is generally intended to make the
language user-friendly, as it includes concepts from the problem domain instead
of those of the machine used. A high-level language isolates the execution
semantics of a computer architecture from the specification of the program,
making the process of developing a program simpler and more understandable
with respect to a low-level language. The amount of abstraction provided defines
how "high-level" a programming language is It has a library of functions where
all these verbs and some keywords are defined. It has to be translated to machine
language before it can be executed. It is less effective and efficient that the
assembly language .It is not machine dependent that is a program written on or for
a particular machine can be executed on any other machine.
4. Very High-Level Programming Language (VHLL): - A very High Level
Programming Langauge is a programming language with a very high level of
abstraction, used primarily as a professional programmer productivity tool.
Very high-level programming languages are usually limited to a very specific
application, purpose, or type of task. For this reason, very high-level programming
languages are often referred to as goal-oriented programming languages.

TYPES OF SOFT WARE


There are two type of computer soft ware. These are: The system software and
application software

The System Software


The system software refers to all software designed to assist the hardware in the
performance of its functions. It is tailored towards the need and efficiency of the
hardware. System software is computer software designed to operate the computer
hardware and to provide a platform for running application software. It acts as and
interface between the hardware, the application software and the user of the system. It
is always installed with the computer hardware either during manufacturing or
installation. T
The system software can be grouped into three. These are:
1. BIOS and Device Firmware: - The BIOS (Basic Input / Output System) is built
into the PC, and is the first code run by a PC when powered on ('boot firmware').
The primary function of the BIOS is to set up the hardware and load and start an
operating system. When the PC starts up, the first job for the BIOS is to initialize
and identify system devices such as the video display card, keyboard and mouse,
hard disk drive, optical disc drive and other hardware. The BIOS then locates

3
Arch Note Three
software held on a peripheral device (designated as a 'boot device'), such as a hard
disk or a CD/DVD, and loads and executes that software, giving it control of the
PC.[2] This process is known as booting, or booting up, which is short for
bootstrapping.
Firmware is a term often used to denote the fixed, usually rather small, programs
and/or data structures that internally control various electronic devices. Typical
examples of devices containing firmware range from end-user products such as
remote controls or calculators, through computer parts and devices like hard disks,
keyboards, TFT screens or memory cards, all the way to scientific instrumentation
and industrial robotics. Also more complex consumer devices, such as mobile
phones, digital cameras, synthesizers, etc., contain firmware to enable the device's
basic operation as well as implementing higher-level functions
2. The Operating System:- An operating system (OS) is software, consisting of
programs and data, that runs on computers, manages computer hardware
resources, and provides common services for execution of various application
software. Operating system is the most important type of system software in a
computer system. Without an operating system, a user cannot run an application
program on their computer, unless the application program is self booting.
3. The Utilities Or Service Programs:- Utility software is a kind of system software
designed to help analyze, configure, optimize and maintain the computer. A single
piece of utility software is usually called a utility or tool. Utility software usually
focuses on how the computer infrastructure (including the computer hardware,
operating system, application software and data storage) operates. Due to this
focus, utilities are often rather technical and targeted at people with an advanced
level of computer knowledge. The utility programs may include:
 Disk storage utilities
 Disk defragmenters
 Disk checkers.
 Disk cleaners
 Disk space analyzers
 Disk partitions.
 Backup utilities
 Disk compression.
 Anti-virus utilities scan for computer viruses.
4. The Program Translators:- These are programs that translate instruction written
in any other language other than machine language to their machine code
equivalent. There are three types of translators.

4
Arch Note Three
a. The Assembler: which translates instructions written in assembly language
to its machine code equivalent
b. The interpreter: The interpreter translates instructions written in High
Level Language into its machine code equivalent or some other intermediate
representation, one instruction at a time, and executes it as such. It does not
generate a translated copy of the instruction. It does not keep a translated
copy. Hence each time the program needs to be executed, it must be
translated.
c. The compiler: A compiler translates instructions written in high-level
language into machine code equivalent. It generates a translated copy of the
program known as the object program. It does not execute. The most
common reason for wanting to transform source code is to create an
executable program..
5. Device Drivers: A device driver is a computer program that allows higher-level
computer programs to interact with a hardware device. A driver typically
communicates with the device through the computer communications subsystem
to which the hardware connects. When a calling program invokes a routine in the
driver, the driver issues commands to the device. Once the device sends data back
to the driver, the driver may invoke routines in the original calling program.
Drivers are hardware-dependent and operating-system-specific. They usually
provide the interrupt handling required for any necessary asynchronous time-
dependent hardware interface.

The Application Software


The application software also known as an application or an "app", is the software
designed to solve a particular problem of the user. It is tailored toward the need of the
user of the user. It is computer software designed to help the user to perform singular
or multiple related specific tasks. Apps may be bundled with the computer and its
system software, or may be published separately. Some users are satisfied with the
bundled apps and need never install one.
There are wide varieties of application software. It varies as human endeavour varies.
Among the popular application software are
1 The Word Processor:-These are applications designed for the production of
professional documents. It is designed for an author. Examples are Microsoft
Words, Word perfect, word star, write 4, note pad, word pad, etc.
2 The Spreadsheet Applications:- These are applications designed to perform
mathematical and statistical analysis on large amount of numeric data. It is
designed for mathematicians. Statisticians. Accountant etc. Examples are
Microsoft Excel, Lotus 1-2-3, Easy Calc, Visi Calc, etc.

5
Arch Note Three
3 The Computer graphics:- These are application software used for the generation
of two dimensional artistical material. It is designed for and artist. Examples are
Paint Brush, Corel Draw etc.
4 The CADs/CAMs:-These are applications created for the designs and/or modeling
of engineering and architectural pieces. It equally assists in the analysis of such
designs. Examples include the Auto CAD, The Chief Architect, etc
5 The Publishers;- These are application used to design pages for publishing. This
application is mainly used by the print media and publishing houses. Examples
are Abode Page maker, Microsoft publishers, etc
6 DBMS/RDBMS/OODBMS/RODBMS: Database Management System is a group
of application software for the management of a large Database. It is used in the
management of records (student records, staff records, mailing lists, Ticketing,
Billing etc). Over the years DBMS has grown to Relational DBMS, Object
Oriented DBMS and Object Relational DBMS.
7 Web Browsers: This is a group of software that allows hyper Text objects to be
displayed on a web page. It is used is viewing or displaying a web page created
using Hyper Text Maker Language (HTML). Examples include Netscape, Internet
Explorer etc
8 Communication software: Communication software is used to provide remote
access to systems and exchange files and messages in text, audio and/or video
formats between different computers or user IDs. This includes terminal
emulators, file transfer programs, chat and instant messaging programs, as well as
similar functionality integrated within MUDs (Multi-User Domain).
9 Entertainment Software: Entertainment software are the computer programs that
provides entertainment in all its categories. The entertainment software mare
include Gambling Software, Video Games and sports, Novelty software

Application Software can equally be grouped based on where or how it is acquired. In


this category there are tow types of application Software. Theses are:
1. Off-the-Shelve Application Software: This is the application software that can be
procured in the open market. It is designed for a general purpose and not for a
particular customer. For example an off the Shelve application software designed
for Banking may be used by any bank with or without taking a license for it. This
group of application software are a times referred to as application Packages.
Examples of the off-the-shelve application include the MS Words (for Word
Processing), Corel Draw for graphics etc. the off the shelve application has
advantage of ease of procurement (in time and cost) and as a result of popularity
of such application may be easy to use or find people who can use it. Its major

6
Arch Note Three
drawback is such applications takes more of computer resources because it
contains so many general facilities that may not be needed by tej user organization.
2. Custom Made Application: A custom made application may be in-house (That is
designed and implemented by the programmers of the company) or Commissioned
to an external programmers. Customs made applications are made with a particular
client in mind. The client commissions its development and it is developed to his
requirement and specification. A custom make application takes a longer time to
develop, particularly if the company is creating such from the scratch. In building
a custom application the company develops the software development circle.

You might also like