SOFTWARE Show
Term software is used to refer to the computer programs used in a computer system. Software can be broadly divided into two categories:
APPLICATION SOFTWAREApplication programs are written to solve end-user problems. These include:
Application programs software falls into the following categories: X General-Purpose X Custom Written X Customisation of General Purpose X Specialized Software Packages General-Purpose Application SoftwareGeneral-purpose application software is used by a large number of people in a variety of jobs and personal situations. The “Big Five” types of general-purpose application software are: - Word processing - Spreadsheet - Database management - Communication - Graphics/Presentation Advantages of using General Purpose Software· You can install it yourself by following the easy instruction in the installation manual that comes with the software. · Cheaper than employing a programmer to write the software for you. · Easy Updating and Revising, each new version can be had at a reduced price if the owner can show proof of purchase of a previous version. · Most users may already be familiar with previous versions of the software, so no intensive training programme is required. · Several persons use the software, therefore help is easy to find. Disadvantages of General Purpose Software· The package may be poorly documented · The package may have hidden problems · The package may not fit the user’s need exactly · The package may not be user friendly
Custom Written SoftwareIf you need a new outfit, you can buy the fabric and take it to a tailor, allow the tailor to take your measurement and then make an outfit that fits you. A custom written software is a software that has been designed or created by a programmer to meet the unique need of a user or organization. For example, you could hire a system analyst to look at the accounting principles employed by your company and then set a team of programmers to write a program to meet the requirements. This program would be a custom written software. Advantages of Custom Written Software· The software meets the need of the user specifically · The software can grow with the company · Business owners can relieve the stress placed on over burdened employees and save money from hiring additional staff. Disadvantages of Custom Written Software· Expectations can change midstream when developing custom written software, making a realistic budget difficult to project. As a result, businesses often run out of money before the project is completed. · An experienced software team is needed. Acquiring the right team can be costly. · If the people who are trained to use the program resign then it will be some time before new persons are trained, slowing down the business functions. Customisation of General-Purpose Software PackagesImagine buying an outfit in a department store that you like but not exactly your fit. What do you do? Find a tailor or fashion designer who can adjust it to your size. Similarly, if you find a general-purpose software in a software house that you like, but it needs some adjustment to meet your specific need, you can get a programmer to modify the program to meet your specific need. A customised general-purpose software package is a generalised software package that has been tailored to meet a user or firms specific need. Areas of the software that can be customized include: ü Screen colour ü Page size and arrangement on the desktop ü Navigation to available menus Specialised Software PackagesSpecialised software packages are written for a specific discipline. An example of such packages is expert systems. An expert system is a type of computer application program that makes decisions or solves problems in particular fields, such as banking or architecture, by using knowledge and analytical rules defined by experts in the field. For example, a doctor could employ an expert system that asks a patient a series of questions and then make a diagnosis. The software fall into two main categories: · Business Application Programs – programs that perform the information processing tasks of important business functions or industry requirements. · Scientific Application Programs – programs that perform information processing tasks for the natural, physical, social and behavioural sciences. SYSTEM SOFTWARESystems programs do not solve end-user problems. Rather, they enable users to make efficient use of the computing facilities for solving their problems. These programs manage the resources of a computer system, automate its operation, and make easier the writing, testing and debugging of users’ programs. Many systems programs are supplied by the computer manufacturer, since to write them a programmer needs in-depth knowledge of the hardware details of the specific computer. (In contrast many application programs can be written with very little knowledge of the hardware details of a specific computer, and can run on several different computers with little or no modifications.) The most important systems program is the ‘operating system’; this actually consists of a number of programs designed to ensure the smooth running of the computer system. Other common systems programs (from the user’s viewpoint) are:
Operating SystemAn operating system may be seen as a suite of programs that has taken many functions once performed by human operators. The sophistication and speeds of modern computers is beyond the capability of human operators to control without the aid of an operating system. The role of the operating system is therefore one of resource management. The primary resources it manages are:
It can be seen from what is said that the operating system controls the way software uses hardware. This control ensures that the computer not only operates in the way intended by the user but does so in a systematic , reliable and efficient manner. This “view” of the operating system is shown below
Part of the operating system remains in main storage permanently during the running of the computer. This part is called the Kernel (or Supervisor or Executive) and as the name suggests is the “controlling” part of the operating system. It controls the running of all other programs. The remainder of the operating-system programs are stored on a direct-access storage device (preferably) from which any particular one will be “called” into main storage by the kernel when required. On many very small microcomputers the kernel is stored permanently in ROM and starts execution the moment the computer is switched on. A message is usually displayed by the kernel to signify it is ready to accept commands from the user. On most modern computers the kernel is not in main storage when the machine is switched on. The system must be “booted up”. This sometimes involves pressing special “boot buttons”, keys or switches, which cause the hardware to load the kernel into main storage from a predetermined position on a disk. Functions of the Operating SystemØ In multitasking where multiple programs can be running at the same time, the operating system determines which application should run, in what order and how much time should be allocated for each application before giving another application a turn. Ø It manages the sharing of internal memory among multiple applications. Ø It handles input and output to and from attached hardware devices, such as hard disks, printers and dial-up ports. Ø It sends messages to the applications or interactive users ( or to a system operator) about the status of operations and any errors that may have occurred. Ø It can offload the management of what are called batch jobs (for example, printing) so that the initiating application is freed from this work. Ø On computers that can provide parallel processing, an operating system can decide how to divide a program so that it runs on more than one processor at a time. Choice of Operating SystemThe applications for which a computer is needed largely determined the choice of hardware and accompanying software. The operating system supplier will need to consider these factors:
The choice of O/S is also dependent on the processing environment required by the user. This includes:
Batch Systems – These are systems that provide multiprogramming of batch programs but have few facilities for interaction or multi-access. Commands or jobs are collected in groups and processed in the order in which they are placed in the group, i.e. in a “first in first out” sequence. Each group of commands or jobs is called a batch. The jobs are entered in a batch queue and then run one or more at a time under the control of the operating system. A job may wait in a batch queue for minutes or hours depending on the workload. No amendments are possible during processing. Time-sharing multi processing – Processor time is divided into small units called time slices and shared in turn between users to provide multi-access. These systems allow the CPU to switch between different programs rapidly so that users are unaware that they were ‘time-sharing’ the CPU with others. Several persons can connect to the main computer via dumb terminals and access different application programs. Single User Processing – These systems came on the scene with the advent of personal computers. The majority of small microcomputer-based systems have operating systems, which allow a user to operate the machine in an interactive conversational mode (response to the user’s message is immediate) but normally only one user program to be in main storage and processed at a time, there is no multiprogramming of user programs. Multiprogramming occurs when more than one program in main storage is being processed apparently at the same time. This is accomplished by the programs taking turns at short burst of processing time. Single-User Multitasking – This system only allows one person to use the computer at a time to do multiple tasks. Real-Time Processing – is a system that is able to process data so quickly that the results are available to influence the activity currently taking place. There is often a need for multiprocessing. Multiprocessing is the name for the situation that occurs if two or more processors are present in a computer system and are sharing some or all of the same memory. In such cases two programs may be processed at the same instant. These systems are used mainly in critical systems. Critical systems are systems where delay in the processing of data after its input can lead to the destruction of life and property. Examples of critical systems are systems that monitor critically ill patients, nuclear plants, the engine of an aeroplane, etc. Utility programs perform tasks related to the maintenance of your computer’s health, hardware or data. Some are included with the operating system; others can be bought as a separate package. Utility programs perform tasks such as: Ø File Management Ø Disk Management Ø Backup Ø Data Recovery Ø Data Compression Ø Antivirus Programs The interaction between end-users and the computer is said to take place at the “Human Computer Interface” (HCI). The term “Human Computer Interface” is meant to cover all aspects of this interaction, not just the hardware. Of particular interest is what makes one HCI better than another one. One of the most important features normally required in an HCI is that it be “user friendly.” As the name suggest, a user-friendly interface is one that the end-user finds helpful, easy to learn and easy to use. It is easy recognise unfriendly interfaces but not so easy to design one that is certain to be user friendly. What makes an HCI user friendly? There is no simple answer but the following points are important.
Of course these points are rather general in nature. We now turn to a number of specific practical issues. Types of interfaceThere are many different types of user interfaces available. They may be broadly classified as follows:
Note. In some situations two different kinds of interfaces may be combined, e.g. a menu interface with command options. Command driven interfacesOne of the long-established methods by which user can interact with the computer is by the use of commands. Commands enable the user quickly and simply to instruct the computer what to do. However they require the user to already have a knowledge of what commands are available, what they do and the rules governing how they should be typed, so they are more suited to experienced users than the end-user is a technical person, such as a computer operator or programmer, or where the end-user continually works with the same program and therefore can gain mastery of the commands. Advantages of command driven interface
Disadvantages of command driven interface
Menu-driven interfacesMenus provide another popular form of user interface. There are many different alternative forms of menu. The simplest menus provide the user with a number of options and a simple means of selecting between them. The user is presented with a choice and therefore does not have to remember any commands. The interface is therefore suitable for beginners and infrequent users. All the user has to do is to make a choice. A special type of menu called a pop-up menu, an additional submenu pops up as a selection is made.
Pull-down menus are a special type of menu used in windowing and were briefly introduced. Some variations on the same idea are pop-up menus and below an item on the screen in order to elicit a choice from the user. Advantages of menu driven interfaces
Disadvantages of menu driven interface
Graphical User InterfaceA Graphical User Interface (GUI, commonly pronounced “guey”) is an HCI based upon a graphical display. GUIs are most commonly found on workstations or PCs fitted with graphics adapters able to support high-resolution graphics. A GUI is a variation of the menu-driven system of selecting commands with the use of the mouse. This system popularised by the Apple Macintosh uses a graphical user interface. This consists of icons and “pop-up” and “drop-down” menus. A mouse is used to click on an icon to execute some operation or select options from a pop-up or drop-down menu. Advantages of GUIs
Disadvantages of GUIs
END OF CLASS QUESTIONS
1. John receives computer hardware from a friend who lives in the United States of America, but the software was missing. He therefore, decided to purchase the necessary software. In order for his system to run he realized that he would have to purchase Software to manage the resources of the computer as well as Software, which could provide for his particular needs. For both type of software he had a choice of two styles of interface; one which was command driven or the other which provide screen listings with options from which the user could select appropriate functions. Some software provides user interface which display small graphic images that can be selected when the function they represented is required. Since John intended to use the computer in his family business he had a choice of acquiring software written especially for his business or general purpose. He noted, however, that if he purchased general-purpose software, that he would have to do some modification to allow it to meet his specific need.
State the proper technical terms for EACH of the SIX underlined passages. (b) State two functions of an operating system. (c) What is the major interfacing device for (i) a command language interface? (ii) A graphical user interface (c) Explain briefly ONE distinguishing feature of Each interface mentioned in part ii 2. What is the process of starting up a computer called? (1 mark) 3. What is an integrated software package? Give an example. (3 marks) 4. What is the difference between application software and system software? (2 marks) 5 What category of software is the back-up and recovery tool? (1 mark) |