Computer Software Class Notes
Computer Software Class Notes
Definition: Software refers to a group/set of instructions that enables the hardware to function:-
Types of Software
systems software
applications software
Application Software
1) General purpose/ready made/ off-the shelf: - computer software that allows the user to accomplish
simple computer related tasks. For example: word processing software, spreadsheet software, etc.
Database packages (e.g. MS Access, Lotus Approach, Paradox) are used to store and retrieve
information;
Spreadsheet packages (e.g. MS Excel, Lotus 123) are used for tasks that involve a lot of calculations
or for the production of graphs and charts;
Word processing packages (e.g. MS Word, WordPerfect) are used to produce text based
documents such as letters, reports and memos;
Desktop publishing (DTP) packages (e.g. MS Publisher, PageMaker, PagePlus) are used to produce
professional quality publications such as posters, books, newsletters, newspapers and magazines;
Graphics packages (e.g. Paint, PaintBrush, Serif Draw, Corel Draw) are used to produce and manipulate
artwork;
Computer-aided design (CAD) packages (e.g. 2D-Design, AutoCAD, TurboCAD) are used to produce
engineering designs and architectural plans;
1
Communications software (e.g. Microsoft edge, Chrome) is used to access the Internet and send and
receive e-mail;
Presentation graphics packages (e.g. PowerPoint, Lotus Freelance) are used to create slide
shows and presentations like this one which can be viewed on-screen or with an overhead
projector;
Web page editors (e.g. MS FrontPage, Macromedia Dreamweaver) are used to create Web
pages.
Examples: Tax management system, payroll processing system, stock management, school
management information system (LMS) etc.
System Software
These are the programs that monitor and control the operations of a computer. E.g. Operating System,
Support systems like translators and Utility software.
2
This is a suite/collection of related computer programs that help manage the computer resources. It is
an interface between the computer hardware and application programs.
Hardware OS CAS
Read about types of user interface – GUI, Command line, Form fill-in, Natural Language, Menu etc
3.File security
Operating system enables users and system administrators to define passwords and data access
permissions in order to prevent unauthorized access and manipulation of data
6. File Management
Allows users to save, copy, delete, rename, search for file, create folders etc
7. Device management
Manages and controls input (mouse, keyboard, touch screen etc.)/output (printer, monitor,
speaker, storage devices (hard disk, flash disk, DVD) devices
8. Etc. etc.
3
A network server is a computer designed to process requests and deliver data to other (client)
computers over a local network or the Internet. Common types of network servers include:-
i) Web servers: either the hardware (the computer) or the software (the computer application)
that helps to deliver Web content that can be accessed through the Internet
ii) Proxy servers: a proxy server is a server that acts as an intermediary between a workstation
user and the Internet so that the enterprise can ensure security, administrative control
iii) FTP servers: used to transfer files from a computer to the server.
iv) Print server: print server, or printer server, is a device that connects printers to client computers
over a network. It accepts print jobs from the computers and sends the jobs to the appropriate
printers.
v) Online game servers:-for storing online games that can be accessed by internet users.
Examples of network operating system Microsoft Windows Server 2003, Microsoft Windows Server
2008, UNIX, Linux, Mac OS X and Novell NetWare.
4) Embedded operating System: - The operating systems designed for being used in embedded systems
such as .PDAs, digital watches and MP3 players, or traffic lights and factory controllers. They are
designed to operate on small machines like PDAs with less autonomy. Windows CE, FreeBSD and Minix
3. Are some examples of embedded operating systems.
5) Mobile Operating System: A mobile OS controls a mobile device and its design supports wireless
communication and mobile applications. It has built-in support for mobile multimedia formats. Tablet
PCs and smart phones run on mobile operating systems. E.g. Android
2) Proprietary software or closed source software:-computer software licensed under exclusive legal
right of the copyright holder with the intent that the licensee is given the right to use the software only
under certain conditions, and restricted from other uses, such as modification, sharing, studying or
redistribution.
3) Alpha software: - a first release of a software product that is usually tested only by the
developers.
3) Beta software:-a commercial software program that is tested for crashes, errors, inconsistencies,
and any other problems before the final software is released to the public. Testing is done by the
general public and the system developers.
5) Integrated software: - a package of programs that perform multiple functions e.g. MS Office, Visual
Studio
Utility programs
Utility software is system software designed to help analyze, configure, optimize or maintain a
computer.
4
Symptoms of an infected computer system
i) Unusual Error Messages
ii) Missing files
iii) Frequenting re-booting of the system
iv) System Crashing
v) Slow Performance
vi) Disks or Disk Drives Are Not Accessible
vii) The operating system will not load when you start your computer.
2) Backup software: - can make copies of all information stored on a disk and restore either the entire
disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental deletion).
3) Data compression:-reduces the size of a file
4) Disk checkers: - scans the hard drive for errors.
5) Disk cleaners: - can find files that are unnecessary to computer operation, or take up considerable
amounts of space. Disk cleaner helps the user to decide what to delete when their hard disk is full.
6) Disk compression:-utilities can transparently compress/uncompress the contents of a disk, increasing
the capacity of the disk.
7) Disk defragmenters: - detects computer files whose contents are broken across several locations on
the hard disk, and move the fragments to one location to increase efficiency.
8) Disk partitions: - divides an individual drive into multiple logical drives.
9) File managers:-provide a convenient method of performing routine data management tasks, such as
deleting, renaming, moving, copying, merging, generating and modifying data sets.
10) Memory testers: - check for memory failures.
11) Network utilities: - used to analyze the computer's network connectivity, configure network
settings, check data transfer or log events.
12) System monitors: - for monitoring resources and performance in a computer system.
13) System profilers: - provide detailed information about the software installed and hardware attached
to the computer.
14) Device drivers
A device driver is a program that controls a particular type of device that is attached to your computer.
There are device drivers for printers, displays, CD-ROM readers, diskette drives, NIC card, Modem card
etc. A device driver essentially converts the more general input/output instructions of the operating
system to messages that the device type can understand.
Translators – is a software that converts source code to object code e.g. assembler, compiler and an
interpreter.
Assembler – converts assembly language program to machine language
Compiler and Interpreters convert high level language programs to machine language
5
Types of Programming Languages
Machine language
Commonly referred to as first generation language, the source code is written using binary
based syntax.
The binary digits (1 & 0) are understood by the computer systems hence machine
language programs are not translated
Machine languages support the development of programs which require a longer coding time
and a shorter execution time
Their programs are difficult to trace and debug because there are no translators to suggest
the location of the errors.
Machine language programs are machine dependent i.e. they depend on the micro processor
structures of the computers that are used to code them
Reliability
Consider whether the software will be able to satisfy the objective over the defined period of use
Upgrading
The software selected should easily be updated without corrupting or removing the existing files.
6
Upgrading refers to the installation of a later version of the software.
Cost
The software should be cost effective i.e. benefits derived from its use should justify its cost of
acquisition
Compatibility
The software selected should easily interface with computer hardware and other software. Software
to hardware compatibility means that the software should support the installation of hardware drivers
in order to optimize the performance of hardware.
Etc.