Description Of Computer Software
Computer software, or just software, is any set of machine- readable instructions (most often in the form of a computer program) that directs a computer’s processor to perform specific operations. Software is a general term. It can refer to all computer instructions in general or to any specific set of computer instructions. It is inclusive of both machine instructions (the binary code that the processor understands) and source code (more human- understandable instructions that must be rendered into machine code by compilers or interpreters before being executed). In most computer platforms, software can be grouped into a few broad
categories:
Figure 5a: Organization of Computer Software
Page 80 of 288 Information Communication Technology (ICT)
5.2 System Software
System software is a group of programs that contribute to the control and performance of the computer system. System software manages and supports the operations of computer systems and networks. They are usually provided by the computer manufacturers. System software is made up of systems management programs and systems development programs.
- System Management Programs manage the hardware, software, network, and data resources of the computer system during its execution of the various information- processing jobs of users. Examples are operating systems, network management programs, database management systems, and system utilities.
- System Development Programs help users develop information system programs and procedures and prepare user programs for computer processing. Examples are programming language translators and editors.
5.3 Operating Systems
An operating system is a collection of programs which takes over the operation of the computer to the extent of being able to allow a number of programs to be run on the computer without human interventions by an operator. Examples of operating systems on mainframe and minicomputers are IBM-OS/VS, IBM-OS/400 and ICL-VME. On microcomputers, examples include MS-DOS, WINDOWS and LINUX.
Functions of Operating Systems
An operating system (OS) performs five basic functions in the operation of a computer system, namely, providing a user interface, resource management, task management, file management, as well as utilities and support services.
Page 81 of 288 Information Communication Technology (ICT)
- The User Interface: This is the part of the operating system that allows the user to communicate with it so that the user can load programs, access files, and accomplish other tasks. The main types of user interfaces are
- Resource Management: An operating system uses a variety of resource management programs to manage the hardware and networking resources of a computer system, including its CPU, memory, secondary storage devices, telecommunications processors, and input/output peripherals. For example, memory management programs keep track of where data and programs are stored.
- File Management: An operating system contains file management programs that control the creation, deletion, and access of files of data and programs. File management also involves keeping track of the physical location of files on magnetic disks and other secondary storage devices. So, operating system maintains directories of information about the location and characteristics of files stored on a computer systems secondary storage device.
- Task Management: The task management programs of an operating system manage the accomplishment of the computing tasks of end-users. They give each task a slice of a CPU‘s time and interrupt the CPU operations to substitute other tasks. Task management may involve a multitasking capability where several computing tasks can occur at the same time. Multitasking may take the form of multiprogramming, where the CPU can process the tasks of several programs at the same time, or timesharing, where the computing tasks of several users can be processed at the same time.
Page 82 of 288 Information Communication Technology (ICT)
- System Utilities: Utility programs are type of system management software that are marketed as separate programs or are included as part of an operating system. Utilities perform miscellaneous housekeeping and file conversion functions. Examples include data backup, data recovery, virus protection, data compression, and file defragmentation.
5.4 Utilities and Service Programs
These are systems programs that provide facilities for performing common tasks of routine nature. The main types include.
- Sort is a program used to arrange records into a predetermined sequence by reference to a record key.
- Editors are used at a terminal and provide facilities for the creation or amendment of programs.
- File Copying is a program that copies data from one medium to another, for example, from diskettes to hard disk.
- File Renaming is a program that changes the name of a file to another.
- File Backup is a program that copies data or file from one medium to another for security purposes.
- Disk Formatting is a program that prepares a disk or diskette for the purpose of receiving and storing data..
- Dump is a program that is used to copy the contents of the main storage onto an output medium such as paper.
- File maintenance is a program that carries out the process of insertion and deletion of records in any file. It can also make amendments to standing data in records.
- Tracing and Debugging is used in conjunction with the testing of application programs on the computer. Tracing involves dumping to locate errors. Debugging is the process of eliminating errors from a program.
Page 83 of 288 Information Communication Technology (ICT)
5.5 Programming Languages
A programming language describes the way in which the instructions that make up a computer program are written. The three basic types of programming languages are machine language, assembly language and high-level language.
5.5.1 Machine Languages
A machine language is a programming language composed of numeric instructions. It is made up of strings of binary digits specific to a particular make and model of computer. When programming in machine language, an appropriate set of storage locations must be allocated for both the program and the data before any actual instructions can be written. The interpretation of a machine language program is a direct function of the computer hardware circuitry.
Advantages of Machine Languages
- They are very flexible. They allow programmers to make efficient use of the computer‘s capabilities.
- The concepts of machine language programming involve simply transferring data into and out of the accumulator.
Disadvantages of Machine Languages
- Machine language programming is very detailed; therefore, an actual program can be quite complicated.
- Tedious bookkeeping is involved in writing machine language programs.
- Machine language programs are difficult to correct for errors and difficult to alter.
- Every computer model has its own machine language; hence machine language programs are machine dependent.
Page 84 of 288 Information Communication Technology (ICT)
5.5.2 Assembly Language
An assembly language is a programming language made up of operation mnemonics and symbolic data locations. The assembly language programmer makes use of instruction mnemonics and symbolic names of addresses rather than work with operation codes and operand addresses.
Advantages of Assembly Language
- The task of learning and writing the language is easier than with machine language.
- Macroinstructions enable one instruction to be translated into several machine language instructions.
- Assembly languages can be used for programming closed subroutines.
Disadvantages of Assembly Language
- Assembly languages are more difficult to learn than high- level languages.
- An assembly language program is more difficult to modify than corresponding high-level language program.
- An assembly language is machine dependent.
5.5.3 High-Level Languages
A high-level computer language is a programming language composed of instructions written in English words (for business applications) or in mathematical notations (for scientific applications).The two main purposes of a high-level language are:
- To improve the productivity of programmers because high- level languages are relatively easier to learn and a statement written in a high-level language would produce several machine code instructions.
Page 85 of 288 Information Communication Technology (ICT)
- To enable programs to be used on different types of computers without the need to rewrite the programs completely.
Advantages of High-Level Languages
- Instructions are more like English (for business applications) or more like mathematical notations (for scientific applications), so the languages are easier to learn, easier to write and easier to understand.
- They are developed for use on more than one type of computer. That is, they are machine independent.
- Programs written in a high-level language are easier to modify and to test.
- Programmers trained in the use of a high-level language do not need to learn an entirely new language to work on a new computer.
- Programs can be written by persons not possessing a detailed knowledge of computers because high-level languages are problem-oriented.
Disadvantages of High-Level Languages
- The fact that high-level languages can be used for different makes of computers does not allow them to take advantage of specific facilities on individual computers.
- Programs written in high-level languages are unlikely to be as efficient, in terms of processing speed and the use of internal storage space, as programs written in machine language or in assembly language.
5.6 Translators
A translator is a systems program that converts statements written in one programming language into statements in the computer language. The statements in a programming language are called
Page 86 of 288 Information Communication Technology (ICT)
source program. The statements in the computer language are called object program. The three types of translators are Assemblers, Compilers and Interpreters.
5.6.1 Assembler
An assembler (or a symbolic assembly program) is a program specially developed by the computer manufacturer to assist the programmer in the preparation of machine-code programs from programs written in symbolic language.
5.6.2 Compiler
A compiler is a program specially written by the computer manufacturer for the purpose of translating a program written in high level language into machine language.
5.6.3 Interpreter
The interpreter is used to translate high-level language programs. It deals with the source program one instruction at a time, completely translating and executing each instruction before it goes on to the next.
The advantage of the Interpreter over a compiler is that it is suitable for interactive work, where the programmer wishes to modify or test the program on-line as it is being developed.
- Applications Software & Application Programs Applications software is a group of programs that are developed to solve particular problems. They directly provide the processing that users want to have performed. They may be produced by the computer manufacturer or supplier, a software house, or the computer user. They are of two types, application programs and application packages.
- Application programs are mostly written by the users to carry out a task, e.g. payroll programs; hence they are also called user programs or tailor-made programs.
Page 87 of 288 Information Communication Technology (ICT)
- Application packages are ready-made generalised programs with associated documentations for solving business and other problems.
Advantages of Application Software
- The user gets a well-tried and tested program.
- Implementation is quicker and possibly cheaper.
- Systems design, programming and systems testing are minimised.
- Systems documentation is provided with the packages.
- Efficiency in terms of speed, storage requirements and accuracy.
- Portability from the existing computer system to another.
Disadvantages of Application Packages
- It may be inefficient due to the inclusion of irrelevant features.
- It might be used even when it is not completely suitable to the particular application.
- The user is dependent on the supplier for the maintenance of the package.
- No immediate help on site when a serious problem occurs.
- May not be updated in line with legislation, e.g. VAT rates.
5.8 Application Software Selection
There are various considerations before one select application software for his or her business organization or individual personal uses. Some of the considerations are described as follows.
- Comprehensiveness. The package must satisfy user‘s requirements.
- Cost. It should be affordable to the user.
Page 88 of 288 Information Communication Technology (ICT)
- Reliability. The package should have been used by other organisations for some time with considerable degree of success.
- Flexibility. It should be fairly easy to be amended, modified and upgraded.
- Portability. The package should be suitable for use with any computer system acquired in the future by the user.
- Interfacing. The package should link up conveniently with existing systems and routines.
- Peripherals. The input and output hardware devices required by the package should be compatible with the user‘s existing devices.
- Storage. The package should be able to be accommodated within the main storage and backing storage existing on the user‘s system.
- Documentation. It must be well documented. The procedures for input, processing and output should be clearly documented.
- Timing. The time required to process a particular application, such as payroll, should be compared on a number of similar packages.
5.9 Software Suites
A software suite consists of most widely used productivity packages bundled together. Examples are Microsoft Office, Lotus Smart Suite and Corel Word Perfect Office. Each suite typically integrates software packages for word processing, spreadsheets, presentation graphics, database management and personal information management. Each suite may contain other programs such as programs for Internet access and web publishing.
Page 89 of 288 Information Communication Technology (ICT)
Advantages of Software Suite
- It costs a lot less than the total cost of buying its individual packages separately.
- All programs use a similar graphical user interface (GUI) of icons, tool and status bars, menus, and so on, which gives them the same look and feel, and makes them easier to learn and use.
- All programs share common tools such as spell checkers and help wizards to increase their efficiency.
- The programs are designed to work together seamlessly, and import each other‘s files easily, no matter which program is in use at the time. This makes them more efficient and easier to use than using a variety of individual package versions.
Disadvantages of Software Suite
- Many software suite features are never used by most end users.
- The suite takes up a lot of disk space.
0 Comments