Você está na página 1de 26

3

Software

3.1 Introduction
The first component of a computerised information system has been discussed in chapter 2, namely hardware. However, the hardware is unable to perform any operations on its own. Software, the second component of a computerised information system, is needed to instruct and manage the usage of the hardware. Software consists of programs and instructions that (a) control the use of the hardware, and (b) provide tools for users to develop applications that perform actions to satisfy their specific needs. All software consists of a series of instructions (called a program) used to instruct the hardware of a computer system. The process of writing these programs is called programming and is done by software programmers. Software can be categorised into two groups, namely system software and application software. System software consists of programs that manage the use of the hardware. Application software consists of programs that are used by users to satisfy their individual data processing needs.

33

Information systems in a business environment

Hardware

System software Application software

Figure 3.1 The relation of the two levels of software to the hardware
As seen in Figure 3.1, the two levels of software are interrelated, with the system software interacting directly with the hardware. Application software is closest to the user and communicates through the system software to the hardware.

3.2 System software


System software controls the use of the hardware as well as the application and end-user software, and other system resources used in the execution of processing tasks. Figure 3.2 depicts the various types of systems software.
System software

Operating Network Utility software Database System development system management management software

System support software

Figure 3.2 System software

3.2.1 Operating system


The operating system is the most important of the system software types. Without it, no functions can be performed by the hardware. The operating system is loaded into primary memory (or sometimes in an online storage device) and resides in primary memory for the duration of the use of the hardware.

34

Software

3.2.1.1 Functions of the operating system


The main functions of the operating system are: (a) it controls the usage of hardware (including primary memory, secondary storage, central processing unit allocation, input and output operations); (b) it tests the critical components of the hardware and software on boot-up (that is, when the computer is restarted); (c) it controls the input and output of data (the peripheral devices that are used to store data or to input data, as well as the transfer of data to and from primary memory, are controlled by the operating system); (d) it manages the system files (for example, the directory files); (e) it schedules the use of the computer resources and programs (the operating system decides when to schedule the programs that have been submitted to the central processing unit (CPU) and co-ordinates the scheduling in various areas of the computer so that different parts of different programs can be performed at the same time, for example, input for one program; output for another program; processing for a third program); (f) it monitors the activities of the computer system by keeping track of each program and all the users of the system (in control of the security of the information system); and (g) it provides a user interface allowing the user to communicate with the computer system (for example, command-driven, menu-driven and graphical user interfaces are offered by different types of operating systems). The main function of the operating system for the user is making the computer hardware easier to use by providing a user-friendly interaction through screening the physical workings of the hardware (called the user interface) to the user. The user communicates with the operating system and the operating system translates these commands and communicates them to the hardware that performs the required action. The trend in user interfaces for operating systems is moving away from the entry of brief user commands (command-driven interface), or even from the selection of choices from menus of options (menu-driven interface) toward graphical user interface (GUI) that uses icons, bars, buttons, boxes and other images together with pointing devices (like the electronic mouse) to help the user with performance on the computer.

Figure 3.3 Communication between the user and the hardware


35

Information systems in a business environment Another main function of the operating system is that of task management where the operating system ensures that the tasks (or commands) of end-users are performed effectively.

3.2.1.2 Different types of operating systems


The first types of operating systems developed were relatively simple and could only perform limited scheduling of programs where one program occupied the CPU completely for the duration of the program. With the advent of multiprogramming operating systems, more complex scheduling of programs was made possible. Multiple programs are now able to share the resources of the computer systems at any one time through the concurrent use of the CPU and peripheral devices. Multiprogramming operating systems schedule different programs to perform different functions at any one given time. For example, program 1 performs an input activity, program 2 performs an output activity, and program 3 is being processed by the CPU. For the users, it seems that all three programs are being processed simultaneously. Although all three programs are active at the same time, they do not use the same computer resources simultaneously. Previous operating systems were ineffective because one program had to be performed from start (input) to finish (output) before any other program could be processed resulting in the CPU being inactive for the duration of the input and output activities. With multiprogramming, the CPU utilisation rate is much higher. Depending on the number of peripheral devices connected to the CPU, the same number of programs can potentially be processed simultaneously.

DEVICE 1:

PROGRAM 1: Performing INPUT

CPU:

PROGRAM 2: Processed by CPU

DEVICE 2:

PROGRAM 3: Performing OUTPUT

Figure 3.4 Multiprogramming operating system


Because more than one program can be processed simultaneously by a multiprogramming operating system, all the instructions of these programs had to be read into primary memory. This led to primary memory being too small (especially if a number of big programs had to be processed simultaneously). However, only a few statements in a program can actually be utilised at any given moment. This means that it is unnecessary to load the full program in primary memory for the duration of the processing of the whole program. Virtual memory was developed by utilising the concept of splitting the program into sections called pages. This permits a very large number of programs to reside in primary memory because only one page per program is loaded in primary memory. All the other pages of the programs are stored on a peripheral device (normally a disk) until 36

Software they are needed for execution. In this way, very large programs can be executed by computers with relatively small primary memory capacity. Virtual memory makes the system appear to have virtually an unlimited amount of primary memory. In some information systems, many users are sharing the same CPU and other peripheral devices simultaneously. To prevent one user, running a large program, from using the CPU for an unlimited amount of time an operating system called time-sharing was developed. Time-sharing allows the sharing of computer resources by many users simultaneously by having the CPU spend a fixed amount of time on each users program before proceeding to the next. The scheduling of computer users is called round robin scheduling. A user enters his program or instruction into the computer. This program is put at the end of the queue of programs waiting to be executed. On reaching the head of the queue, the program is read from secondary storage into primary memory, a time-share is allotted to the program and it is processed by the CPU. If the program is completed within its timeshare, it is removed from primary memory and the output activated. However, if the program is incomplete, the processed program is added to the end of the queue where it waits its turn for another time-share.

Figure 3.5 Time-sharing operating system


Some computers use more than one CPU all linked together to work in parallel in a single computer system. A multiprocessing operating system assigns multiple CPUs to execute different instructions from the same program or each CPU processes instructions from different programs simultaneously.

3.2.1.3 Personal computer operating systems


An operating system for a personal computer is developed specifically for that computer hardware. All application programs are written for a specific operating system. When selecting a specific operating system for a computer, the computer hardware should be taken into consideration as well as the range of possible application programs available for that operating system. With the standardisation of the personal computer hardware, operating systems were also standardised.

3.2.1.3.1 Command-driven operating systems


The first operating systems developed for personal computers were all command-driven, meaning that the user had to type in a specific command and, on pressing ENTER, the microcomputer would execute that command. These types of operating systems are very user-unfriendly, but if a user knows the commands, the commands are executed very quickly. The most popular command-driven operating system was developed by 37

Information systems in a business environment Microsoft in the early 1980s and was called MS DOS (Microsoft disk operating system). However, MS DOS does not allow multitasking (the running of more than one program at the same time). To make MS DOS more user-friendly, menus were developed that contain a list of commands. The user can, by highlighting a specific command with the arrow keys, select a command without typing it. Although this is a more user-friendly way of interacting with the operating system, it is also a lot slower to get the computer to perform a specific command. Other popular microcomputer operating systems include OS/2, UNIX and System 7.

3.2.1.3.2 Operating environments


To make the MS DOS operating system more user-friendly, a graphical user interface was developed to run on top of the MS DOS operating system. Microsoft Windows, a program developed by Microsoft, is an example of a graphical user interface (GUI) running on top of the existing MS DOS, but presenting the user with icons and menus and making the selection of complicated commands easy by choosing the corresponding icon. MS Windows also made it possible for MS DOS to do multitasking by dividing the screen (and memory) into different windows with different application programs running simultaneously in the different windows. In MS DOS the user has to type the command, whilst in MS Windows the user selects the corresponding icon with the mouse.

3.2.1.3.3 Graphical user interface systems


The latest operating systems developed are based on graphical user interface (GUI) using icons and pull-down menus. The acronym WIMP is used to describe these operating systems, meaning that it is based on Windows, icons, mouse and pull-down menus. The MS Windows-range of operating systems (as developed by Microsoft) is all operating systems in their own right, making full use of the capabilities of the latest hardware technology. Developed from the original MS Windows interface, it has broken away from the MS DOS operating system and instead developed its own unique operating system.

3.2.1.4 File systems and operating systems


Information in computer systems is stored in the form of files. A file is similar to a physical file or folder in which handwritten or printed documents in the form of paper are stored. On a computer system, a file consists of electronic information represented by bits stored either in memory or on a physical medium, for example, a magnetic disk. Because the primary memory is volatile, the files are used to store the information permanently even when no power is supplied to the computer. Files are given names in order to be able to refer to them. If a user needs to access information in a file, the file name is used to specify which file must be opened. File names normally have rules which they must adhere to. File names are normally constructed using alphanumeric characters (A to Z, a to z, and 0 to 9). To further identify the contents of a file, it is convenient to specify the file type. File types are specified with an extension. Extensions are added to the end of file names, preceded by a single dot. The operating system has strict rules according to which file names must adhere. In the MS DOS operating system, as an example, file names may only consist of alphanumerical characters and 38

Software may only be eight characters long. The extension may only be three characters long and may also only consist of alphanumerical characters. The operating system provides capabilities to organise and store files on physical media such as hard disks and optical drives. In order to make it easier for humans to access files, the files are maintained in a file system which is independent of the actual physical media that is used. The file system formats the physical media and maintains files in a standardised way for the user. File systems are organised in a hierarchical tree structure called a directory within which files and subdirectories can be located. A directory is also called a folder. The folders can contain as many subfolders and files as the disk space will allow. A file system always has a root directory indicated by a single forward or backward slash character (/ or \). From the root directory, subdirectories or subfolders are given unique names within a specific folder. Within subdirectories other subdirectories can be created. The root directory is called the parent directory of the subdirectories. A subdirectory is the parent directory of its own subdirectories. The address of a file in the file system is the path to a file. The path is a concatenation of all the subdirectory names from the root directory. The subdirectory names are separated by a forward or backward slash. The file system will maintain the physical address of the file on the physical media. It stores the physical address along with the file system path in a file allocation table (FAT) or similar mechanism. If a user specifies the path, the operating system looks up the physical address of the file in the FAT and will be able to retrieve the file from the physical media. To the user, all media and drives operate the same way but, internally, the operating system controls and operates all types of drives and media according to the specification of that specific device by using device drivers, and organises the files using a file system. Drives can be: l Local mounted in the computer; l Virtual a part of memory is temporarily reserved to serve as disk drive because it is extremely fast; or l Network drives disks in other computers distributed over a network. With Microsoft operating systems, in order to simplify the use of drives, the drives were originally given letters as names. Unix operating systems operate differently and mount file systems from the root file system by providing a name similar to a subdirectory. The files on the drive are accessed by supplying the drive name as if it were a subdirectory under the root directory. On the Microsoft operating systems, drives are usually split into: A: to E: Local drives with: A: first floppy drive, B: second floppy drive, C: first hard disk drive, and F: to Z: virtual or network drives. 39

Information systems in a business environment The newer Microsoft operating systems allow the user to assign and reassign any available drive letter to any drive. To execute a program in a directory or use a file in a directory, the user must specify the full path (the drive and all directories and subdirectories) to the program or file.

3.2.1.5 Selecting an operating system


As mentioned earlier, the operating system is the most important piece of software the user will buy. Without an operating system, the hardware is unable to perform any actions. The operating system also plays a role in the application programs that can be used. Some of the characteristics of an operating system to look out for are: l it must be easy to use; l it must be easy to understand any messages and easy to maintain; l it must be as reliable as the hardware it runs on; l it must be secure enough not to allow different users of programs to interfere with each other; l it must utilise the peripheral devices to the maximum; l it must have an easily readable and understandable manual or on-line help facility; l it must have a wide enough range of possible application programs; and l it must be compatible with the hardware and other programs to be run.

3.2.1.6 Commercial versus open-source operating systems


Microsoft, whose operating systems are on about 90% of all personal computers in the world, introduces new versions of their operating system on a regular basis. However, this dominance of Microsoft is being challenged by Unix operating systems. Although Unix has been around for years, it was mainly used by large organisations. While this operating system is stable and can handle huge networks, it used to lack the user-friendliness of Windows. Recently Unix has also introduced user-friendly interfaces. The number of application software systems that can be used with Unix is also limited. There are a number of Unix operating system flavours available, for example, Linux, BSD, Solaris, etc. Some that are commercially sold are similar to MS Windows and others, such as Linux and BSD, are available free of charge. An example is Linux which is also termed an open-source operating system (this means making the softwares underlying code public so programmers can customise it). Linux is distributed along with its source code so that anyone who receives it is free to make changes to the source code and to redistribute it. No one company or individual owns Linux (compared to commercial operating systems like those owned by Microsoft) which was developed, and is still being improved, by thousands of corporate-supported and voluntary programmers all over the world. Linux remains challenging to use for those without programming experience. In recent years, the battle between open-source operating systems and commercial operating systems (or proprietary software) is coming to the fore. The advantage in using open-source operating systems is that no license fees are payable. The disadvantage is the limited number of user applications that are available. Linux has been used extensively as the operating system for servers. Due to its low cost and its high configurability, Linux is often used in embedded systems such as cellphones and handheld devices. 40

Software

3.2.2 Utility software


Utility software is normally included with the operating system and consists of programs for routine, repetitive tasks which can be shared by many users. Some of the more common utility programs include: l copying information from one file to another or from one disk to another; l sorting information on a disk; l clearing main storage; l setting up of new files, deleting of files; and l formatting of disks.

3.2.3 System development software


All software tools that are used to develop new software are categorised as system development software. Programmers write instructions in the form of programs to perform certain tasks on the computer. All these programs need to be translated into a format that can be understood by the computer hardware (in ones and zeros). Instructions in the format of ones and zeros are called machine language. Programs written in machine language can be executed directly by the computer hardware. However, it is very difficult and time consuming to write in machine language. Higher levels of program languages were developed over the years but all of these program instructions have to be translated into machine language. The translation of the program instructions into machine language is performed by system software called language translators. Depending on the level of program language used, different language translators are used.

3.2.3.1 Assemblers
The first level of programming that language programmers can use is called lower-level programs. Although it is easier to program in a lower-level program than machine language, it is still very difficult and requires a high degree of knowledge about the hardware and the lower-level language. Assemblers are used to translate these lower-level language programs into a machine readable format. The machine code created by the assembler can be saved on a disk and executed without the original lower-level language program (or source code). The translation of the source code into executable code needs only to be done once. If, however, the program needs an amendment, the source code needs to be amended and translated again. This form of programming is no longer common.

3.2.3.2 Compilers
Programming in a high-level language is much easier than programming in low-level languages. These programs also need to be translated into machine code. A compiler is used to translate high-level language programs into machine code instructions. A compiler translates a high-level language program into machine code by creating an object code file. The object code file is then used by a program called a linker to resolve all relative memory references into an executable program file. The executable program file can be executed numerously without the high-level language program, the compiler or linker. The operating system is able to run the program on its own. 41

Information systems in a business environment

3.2.3.3 Interpreters
Some high-level languages (like BASIC) do not use a compiler but an interpreter instead. An interpreter translates each source code instruction one at a time into machine code and executes it. Therefore, no object code file is created. Every time the program is run, the high-level language program needs to be translated instruction per instruction by the interpreter. An interpreter is normally used when the programmer wants to create a program interactively and tests his code on a regular basis without creating an object code file each time. The disadvantages are that the high-level language program must always be run with the interpreter and executes slower than a compiler. An interpreted language program cannot run without the interpreter itself. The operating system is not able to run the program on its own.

3.2.3.4 Object-oriented programming languages


Object-oriented programming languages encourage programmers to develop code in reusable modules called objects. Each object is capable of receiving messages, processing data, sending messages to other objects and can be viewed as an independent machine with a clear responsibility or function. Generic objects are created that can be used and reused in various software programs and can be seen as pluggable components, helping programmers to create new software from using existing and well tested pieces of software code (objects). This leads to a huge reduction in the time it takes to develop new applications. Both Visual Basic and C++ are examples of event-driven programming languages where the flow of the program is determined by user actions (like a mouse click). Visual Basic is used extensively for creating Windows-like user interfaces and C++ for manipulating data at its lowest level. Other object-oriented programming languages include Java and HTML. Java allows programmers to write an application once and then run it on any hardware (known as write once, run anywhere (WORA)). This means that programmers can develop code on a PC and can expect it to run on any Java enabled device (like other PCs, cell phones, etc) without any adjustments. HTML (hypertext markup language) is an editing language used to create web pages. It provides a means to describe the structure of text-based information in a document and to supplement that text with interactive forms, embedded images and other objects.

3.2.3.5 Visual programming


Few programmers still use assembly language on a day to day basis. Modern optimising compilers render high-level languages into machine code that runs at least as fast as hand-written assembly language. Nowadays, programmers tend to use integrated development environments (IDE) to assist them in developing software. An integrated development environment consists of system software providing programmers with a variety of development features like authoring, modifying, compiling, deploying and debugging software. There is also a growing use of visual programming that allows programmers to create new applications by moving programming building blocks to create flowcharts or diagrams which are then compiled. A visual programming language (VPL) describes programming languages that let users create software by manipulating program elements graphically rather than by specifying them textually. 42

Software

3.2.4 Database management systems


One of the major uses of computer systems is the storage and retrieval of vast amounts of information. Information can be stored in many different ways, but most users use databases to store their information. A database can be defined as a collection of data organised to service many applications and users at the same time by organising the data so that it appears to be in one location (databases will be discussed in depth in chapter 5). A database management system (DBMS) is the software that aids the user in the creation, maintenance and usage of database files.

3.2.4.1 Components of a database management system


As shown in Figure 3.6, a database management system consists of three components, namely a command language, a data dictionary and the physical database.

Figure 3.6 Components of a database management system 3.2.4.1.1 Command language


Users communicate through a command language to the DBMS software that translates the instructions and performs the actual hardware operation (such as the withdrawal of data or the storage of data). The DBMS acts as an interface between the user and the hardware where the data is stored physically. The DBMS also works closely with the operating system to control the physical input, output and storage of data.

43

Information systems in a business environment

Figure 3.7 DBMS as interface between user and hardware


Most DBMS software systems contain a number of different languages and interfaces. The most common to these software systems are data definition and manipulation languages, data query language, report generators and the link-up to host languages. The data definition language is used to create a database (by specifying the content and structure of the database) and to describe all the data items in the database. The data manipulation language is used to update, replace, store, retrieve, insert, delete, sort and otherwise manipulate the data items in the database. The data query language is a high-level language used to extract information from the database. This language can perform fairly advanced interrogations of the database with an easy to use set of commands. The query language is typically available to all users. Report generators are similar to data query languages but are used specifically in extracting information in the form of reports. All the user needs to do is specify the data elements to be printed and the desired output. The report generator searches the database, extracts the required data items and prints them out in the format specified by the user. Most DBMSs are also compatible with high-level programming languages permitting greater processing efficiency and flexibility.

3.2.4.1.2 Data dictionary


The data dictionary is maintained automatically by the DBMS and contains information on both the types of data and the uses for the data. For each data element used in the database, there is a record in the data dictionary that contains data (like the name of the data element, its description, the name of the source document from which it originates, its size or field length, its field type, the names of all programs that use it, the names of all output reports in which it is used, the names of people who are authorised to use it, etc) about that data element. The data dictionary can serve as a very important data management tool and can assist in the control of the database. In cases where the DBMS software needs amending, the dictionary can provide information of data elements and files that will be affected by the amendments. 44

Software

3.2.4.1.3 Physical database


As mentioned earlier, the physical storage of the database is done by the DBMS software. The user does not need to know the physical way the database is stored, but is instead given a logical view of the database (in a format that can be understood by that user). The physical view of the database shows how the data is actually organised and structured on the physical storage medium (for example, a magnetic disk).

3.2.4.2 Advantages of using a database management system


Database management systems are widely used in all business environments. Advantages of using database management systems are: l By using a database management system, end-users can obtain information by using an English-like query language or by using the report generator. Immediate output in the required format is possible without typing complicated commands or using professional programmers. l A database management system also makes the work of programmers a lot easier. It is not necessary to write long and complicated programming procedures because all database management systems contain a set of easy to use data manipulation commands. l The complexity of the organisations information system environment can be reduced by using a database. Management of the data, access to the database, utilisation of the database and security procedures can be exercised centrally. l Different users can have different views of the same database. Depending on the user obtaining access to the database and his level of authority, selected data items will be displayed and only approved actions (deleting, adding, retrieving) on the data items will be allowed. In most organisations that use databases, a database administrator is appointed. The database administrator is responsible for co-ordinating, controlling and managing the data in the database. Some of the responsibilities include: l to establish and enforce data standards and specifications; l to define and organise the database structure and its content; l to develop and maintain all database documentation (including the data dictionary); l to provide for adequate control over the database; and l to maintain the database management software.

3.2.4.3 Workings of a database management system


A database management system performs the following functions: l creation of the database structure; l input of data to the database, and deletion, insertion or amendment of these data items; l extraction and manipulation of data items; and l generation of reports. Databases will be discussed in more detail in chapter 5. 45

Information systems in a business environment

3.2.5 System support programs


A variety of system support software (or utility software) are either marketed as separate programs or could be included as part of the operating system. This software is designed to help manage and tune the computer hardware, operating system and application software, to perform a single task or range of tasks; and to provide security to the system. Examples of typical system support software that are used include: l Virus protection software A virus is a program or piece of code that is loaded onto a computer without the knowledge of the user. Viruses can start executing without the users knowledge and are also able to replicate themselves. A simple virus that can duplicate itself over and over again is relatively easy to produce. Even such a simple virus is dangerous because it will quickly use all available memory and bring the system to a halt. An even more dangerous type of virus is one capable of transmitting itself across networks and bypassing security systems. Since 1987, when a virus infected ARPANET, a large network used by the USA Defence Department and many universities, many antivirus programs have become available. Antivirus software searches the hard drive and other storage media for any known or potential viruses through scanning files to look for known viruses matching definitions in a virus dictionary. It also identifies suspicious behaviour from any computer program which might indicate infection. To achieve consistent success in the prevention of viruses infecting systems, the virus dictionary requires regular downloads of updated virus dictionary entries. l Data compression software Data compression software allows data to be stored in a format that requires less space than usual and is particularly useful in communications because it enables devices to transmit or store the same amount of data using fewer bits. Data compression is widely used in making backups of system and other software. l File defragmentation software Fragmentation refers to the condition of a disk in which files are divided into pieces scattered around the disk and occurs naturally when a disk is frequently used in creating, deleting and modifying files. Fragmented files can slow down the speed at which data is accessed because the disk drive must search through different parts of the disk to put together a single file. File defragmentation software locates all the fragments of data files and restores them into fewer fragments (or whole files). This reduces data access time and allows storage to be used more efficiently. l Performance monitoring software Performance monitoring software obtains data that is useful in diagnosing system problems and in planning for the growth in demand for system resources. Regular monitoring of the performance of memory, the processor, disk(s) and network ensures that the user has up to date information about how the computer is functioning. l Intrusion prevention software Intrusion prevention software monitors network traffic to identify potential threats to network security and has the ability to take immediate action based on the rules established by the network administrator. All software systems that aim to keep attackers 46

Software away from gaining access to a network (including anti-virus software) are classified as security monitoring and prevention software. l Spyware protection software Spyware is software that covertly gathers information about a user without his knowledge via the users Internet connection. Because spyware exists as independent programs, it has the ability to monitor keystrokes, scan files on the hard disks, install other spyware programs and consistently relay this information back to the spyware author who will use it either for advertising or marketing purposes or sell the information to another party. To counteract the threat of spyware, a number of techniques have been developed. These include programs designed to remove or to block spyware (anti-spyware programs), as well as the advocating of various user practices that reduce the chance of spyware being introduced onto a system. l Anti-spam software Spamming is the abuse of electronic messaging systems (e-mail systems) to send unsolicited and undesired bulk messages to recipients. Because advertisers have low operating costs in sending these messages, it is viable for numerous advertisers to target huge numbers of recipients with this unsolicited mail. Some popular methods for managing spamming is through e-mail filtering, the setting up of blacklists (lists of IP addresses of known spammers) and spamtraps to catch and blacklist spammers.

3.3 Application software


Application software includes all software that utilises the information system to solve specific data processing needs of users. Application software sits on top of system software because it is unable to run without the operating system and the system utilities. Application software will, therefore, be provided for specific operating systems. Because there are literally millions of different needs for data processing by individual users, there are also millions of different application programs to satisfy these needs. Application software will be divided into general application and e-business enabling software. General application software presents users with software to solve problems and processing needs of a local nature (for example, software suites, word processing, spreadsheets, accounting packages and graphical packages). E-business enabling software is all the software that allows the user to process information using the Internet as a communications medium (for example, web browsers, e-mail and electronic commercial systems).

3.3.1 General application software


General application software aims to support users in solving data processing tasks using software located locally to the computer of the user. By providing an easy to use interface, a user can manipulate this software to create documents, models and graphical presentations suited to his or her personal style and needs. The most popular general application software includes spreadsheet, word processing, accounting packages and graphical packages. The latest trend is to integrate all the general application software in one office suite that allows users full integration and sharing of information between the different components. This allows users to import files into any of the programs in the suite, no matter which program was used to create the file. All the programs in 47

Information systems in a business environment a software suite use a similar graphical-user interface of icons, tools and status bars, and menus which give them the same look and feel, making it easier for end-users to learn and use. These capabilities make software suites more efficient and easier to use than a variety of individual programs.

3.3.1.1 Spreadsheets
Spreadsheets have numerous applications in a business environment and are ideally suited for building financial models. Spreadsheets are mainly used for the creation of models where numerical data has to be processed into meaningful reports. The processing of the data normally entails repetitive and time-consuming calculations performed with ease and without any mistakes after the user has created the logical processing structure to perform these calculations. A spreadsheet can be compared to a blank piece of paper that is divided into a grid (consisting of rows and columns).
A 1 2 3 4 B C D

Figure 3.8 Spreadsheet layout


The spreadsheet is used by the user to design a model by inserting numerical data, text (mainly used to clarify the data) and formulas in the rows and columns. Each cell (for example, C3) has a unique address and can either contain data, text or a formula. Formulas can refer to other cells by using their unique cell address. The designer of a model can decide on the layout of the model, what data should be incorporated and the way this data has to be processed (by using formulas). Once the structure of a model has been defined, data can be entered, edited, deleted or new data entered after which the spreadsheet is able to recalculate all the formulas to show the effect of the changes in the data immediately. Spreadsheets are very handy management tools because the manager can change different input (data) to the model and observe the effect of this change on the output supplied by the model (called What if-analysis). The uses of spreadsheets are numerous and are only limited to the imagination of the user. Some of the more general models used in business, are: l balance sheets; l income statements; l cash flow statements; l budgets; l general ledger analysis; l stock records; 48

Software l tax planning; l salary and wages analysis; l market-share analysis and planning; and l profit projections. Because of the simplicity and ease of use of spreadsheets, it has become a vital business tool. Popular spreadsheet packages used widely are, Lotus 123, Microsoft Excel, Microsoft Works and Quattro. Most spreadsheet packages also include other general purpose application software such as word processing facilities, graphical presentations and database management systems. Spreadsheets that include these other facilities are called integrated packages. Earlier versions of spreadsheet programs handled only one spreadsheet in a file at any one time. Current versions can contain many spreadsheets in a single file. Figure 3.8 is a typical example of a spreadsheet frame that is displayed when the program is loaded. The spreadsheet contains rows (1, 2, 3 . . . the row markers) and columns (A, B, C . . . the column markers) that display empty cells without data. These individual cells are depicted by the empty square blocks below the row and to the right of the column markers. The active cell will be highlighted (C3). The active cell will receive input when typed on the keyboard. The cursor keys are used to move the active cell.
A 1 2 3 4 5 6 7 8 9 10 11 12 B C

Figure 3.9 Example of a spreadsheet


A spreadsheet consists of a great number of cells. Each cell is identified by a unique cell reference (cell A4 refers to column A, row 4 and cell AB90 to column AB, row 90). Cells in other sheets are identified by indicating the sheet name, followed by the cell address (for example, Sheet2!IA300 refers to a cell in sheet 2 in row 300, column IA). 49

Information systems in a business environment The physical size of a computer screen limits the number of visible columns and rows. The screen can be enlarged or reduced to display more or less rows. Although all cells are not visible, they can be reached by using the direction keys or the scrollbars. When the last row or column on screen is reached, the spreadsheet starts scrolling through rows and columns automatically. The scrolling stops when the user lets go of the direction key or the end of the sheet is reached. It is possible to split the screen and display more than one part of the spreadsheet. The split screens can be synchronised to allow cells on the two screens to move simultaneously if a direction key is pressed. With spreadsheet modelling, the user can set up a model in columns and rows by: l the input of data into logically arranged rows and columns (data can be either the descriptive row and/or column headings or numerical data that can be processed); and l the input of formulas and cell references used by the spreadsheet program to process data in the spreadsheet model. Data can be only: l alphanumerical data (text or words, typically headings or descriptions. It is nothing more than descriptive data and can usually not be used in calculations); l numerical data (values or numbers); and l formulas and functions (starting with operators like ( ) + * @ = ). Spreadsheet programs conveniently define dates and time as separate data types. Dates and time are nothing but a formatted display of numerical data called date values in spreadsheets. These values are calculated from 1 January 1900 in IBM-compatible systems and from 1 January 1904 in Macintosh systems. Only numerical data can be used in calculations. Alphanumerical data can be used in functions and formulas, but cannot be used in calculations unless it can be changed into a numerical value before the calculation takes place. Any data processing task consists of three procedures, namely: the input of data; processing to useful data; and the output of the result. In a spreadsheet it is not necessary and sometimes not even possible to separate the procedures. The user usually wants to see all or as much as possible of the information. Sometimes the model is small enough to display all the sections simultaneously. The three procedures are explained separately below. As with all computerised solutions, it is important to plan the layout, input and output beforehand. Because of the convenience and ease of the use of spreadsheets, model design became the most neglected part of spreadsheet-use. Well designed models save time and money. Unlike in programming, the user does not have to create the processing procedure. Processing procedures are embedded in the spreadsheet software and executed automatically once a formula is entered. Once the model is complete, the calculated values will be part of the output. The cells in which the calculation takes place remain active and recalculate every time new data is entered or a recalculation event, like pressing the ENTER key, takes place. 50

Software

3.3.1.2 Word processing


Word processing packages are used to manipulate text data electronically as a computer file rather than on paper. The word processor allows the user to create documents, amend, edit, store, make hard copies of them, and retrieve the information at a later stage and process them further. It is very easy to either change the text of an existing document or to edit the text. By using a word processing package, users are able to: l observe the text being typed into the system on the video display unit, and to correct or amend this information immediately; l make hard copies of a text document, distribute it for comment, and change or amend the original text with ease. Copies can be produced and reproduced at any time; l add text at any time to the original text. By saving a text document on a disk, it can be retrieved at any time, amended, stored and printed over and over; l format text to make changes in line spacing, margins, character size, font and column width; l change the way text is displayed and printed by printing certain text in bold print, some text in italic print, some text can be underlined, whilst other text can be placed in the centre of the line (or justified); and l insert tables, graphics, pictures and other objects that were created using other software packages into the document. Popular word processing packages include Microsoft Word and WordPerfect. Most word processing packages have advanced features that also automate other writing tasks (such as spelling checkers, style checkers, thesaurus programs, and mail merge programs).

3.3.1.3 Graphics
An alternative to presenting information as text documents (created with a word processor) or tables of numerical data (created with a spreadsheet) is to present the information in a visually attractive manner in order to convey the information. However, the quality of computer graphics influences whether the information presented attracts and convinces an audience. High quality computer graphics are an increasingly important competitive factor in conveying information in a business environment. The production of graphics on a computer requires: l suitable software (some software packages include a facility to produce graphics whilst others have been developed solely to produce high quality computer graphics); and l suitable hardware. The two types of graphics mainly used by users are analytical graphics and presentation graphics. Analytical graphics present numerical data in a visual format in order to determine trends. Typical analytical graphics include line, bar, scatter and pie graphs. Most spreadsheet packages include a facility to produce analytical graphical images from the numerical data with ease. 51

Information systems in a business environment

Figure 3.10 Examples of analytical graphs


Presentation graphics are graphs or drawings that are presented in a visual format in order to convey information in an attractive way.

Figure 3.11 Example of conveying information using presentation graphics


Different types of graphs that can be used to convey information include: l free format graphs and drawings; l slide shows for use in presentations; l organisational charts; l flow charts; 52

Software l network diagrams; l floor plan layouts, etc. All the graphics packages allow the user to interact with the software using the keyboard, but for free format graphs and drawings, the mouse or stylus is used mostly by the artist.

3.3.1.4 Office suites


Integrated software packages (also called office suites) combine the functions of the more popular microcomputer software packages (such as spreadsheets, word processing, graphics, and data management). Data created in one of the software packages can be processed further in any of the other packages included in the suite, with ease. For example, numerical data can be entered in a table format with the spreadsheet, a graph attached analysing the table with the graphical package, and a document prepared including the table as well as the graph with the word processor. Users are forced to use the other products in the suite even though he may prefer a product (like spreadsheets) from another suite.

3.3.1.5 Business and accounting software


Business and accounting software packages mainly process transactions as they take place. All the various functions of the business (accounting, marketing, production, finance, personnel and management) are supported by these software packages. Accounting packages can either be written for businesses in general (known as horizontal accounting packages) to cater for the normal business functions. Accounting packages developed for specific industries (for doctors, lawyers, accountancy firms, etc) that aim to solve unique processing needs, are known as vertical accounting packages. Accounting packages are used for the recording and processing of all business transactions in order to supply information about these transactions (in the form of reports) and other economic happenings. The processing of data using accounting packages is done by either: l batch processing where similar data is gathered over a period of time (for example, monthly) after which the whole batch of transactions are used to update all the relevant records; or l interactive processing where records are updated after each transaction is entered. All records are always up to date with the latest information. A computerised accounting package, as in the case of an accounting system done by hand, consists of different modules according to the accounting functions it performs. The more common modules found in a horizontal accounting package are: l general ledger where all the data from the other modules is collected to create all the financial reports (for example, trial balance, income statement and balance sheet); l debtors where all data regarding the sales to clients on credit and payments from these clients is recorded. Monthly statements to all clients are produced by this module; l creditors where all data regarding the purchases on credit from suppliers as well as payments to these suppliers is recorded; 53

Information systems in a business environment l salaries and wages where all data about personnel and salaries paid to them is recorded; l stock control where data about the movement of stock in and out of the company is recorded; l sales orders where all orders received from clients are recorded and processed. Accounting packages usually contain interface files through which data can be exchanged with other applications (such as spreadsheets and database management systems). It is now predicted by many observers that accounting packages would no longer be developed by the companies programming staff themselves (sometimes referred to as legacy systems), but will now be made available to buy as pre-written packages. Only when a business has unique requirements can new software development be justified. Popular accounting packages available in the trade include Pastel, Brilliant, SAP and AccPac. Examples of other business software used by organisations to process and organise the flow of data in their organisation include: l customer relationship management software (CRM software aids organisations in the storage and analyses of its customer records in order to generate personalised marketing based on this analyses); l enterprise resource planning systems (ERP systems integrate all data and processes of an organisation into one single and unified system containing one database to store all the data generated by the various modules of the ERP system); l human resource management systems (HRM systems assist an organisation in automating its personnel function including the maintenance of personnel records and the payroll function); and l project management software (project management software assists project managers with the planning and management of projects. Functions include assistance with the scheduling of activities in a project (differentiate between critical and non-critical activities, and what if-type analyses).

3.3.1.6 Intelligent software


Computers have until recently been used mainly to automate functions and processes of a repetitive nature. It was reckoned that tasks requiring human intelligence could not be performed by a computer. However, programmers have started to experiment with programs that can emulate human behaviour. The execution of tasks that require human intelligence by a computer is known as artificial intelligence. Aspects of human behaviour that are emulated by artificial intelligence include reasoning (for example, playing chess), communicating (talking), seeing and hearing. Artificial intelligence software accumulates knowledge, learns from experience and can then modify its subsequent reasoning. There are several types of artificial intelligence (like natural language, visual recognition, robotics, voice recognition), but expert systems have the most significant impact on businesses. An expert system is a computerised information system that allows non-experts to make decisions that are comparable to those of an expert in that problem area. A technique called knowledge engineering is used to develop an expert system. The development of an expert system requires the co-operation of the developer of the system and the experts in that specific field. Experts are interviewed by the developer in order to obtain the optimum methods and techniques used by these experts to solve 54

Software a problem in their field of expertise. The developer then analyses these methods and techniques in order to determine a set of rules that can be followed to come to the same conclusion as the experts. This information is used by the developed system to design computer programs that are able to think like the experts. An expert system typically contains: l the knowledge base (all the data, knowledge, rules of thumb and decision rules used by the experts to solve the problem); l the knowledge base management system; l the inference engine (the program containing the logic and reasoning that will simulate the logic process of the expert); and l the user interface (the program that allows the user to communicate with the expert system. A typical interface could be the use of a menu selection technique where the user selects an item from the menu systematically until his problem is solved). Examples of expert systems in use include: l auditing; l tax and financial planning; l education; and l monitor controls present in an information system. Reasons why expert systems will become more popular are: l the preservation and distribution of the knowledge of expert(s) to other users; l using an expert system for obtaining a second opinion; l increasing productivity (the more common problems can be resolved by an expert system giving more time to the human expert to solve complex problems); and l enabling users to produce more consistent and better quality decisions. The uses are, however, limited regarding what can be achieved by an expert system because: l it can be costly and time consuming to develop; l it is difficult and costly to obtain the knowledge from the experts to develop a system; l it is difficult to convert certain facets of knowledge into computer programs (for example, common sense); and l its ability to solve problems is limited to the number of solutions it contains (not all problems can be solved by the expert system). As technology advances, some of these problems will be overcome and expert systems will play an increasingly important role in the business environment.

3.3.2 E-business enabling software


E-business enabling software allows the user to process information using the Internet as the communications medium. By using the Internet, the user can transact with, communicate with, interact with and obtain information from any location in the world. This software enables users to connect electronically with any other user on the Internet. In the next chapter, the workings of the Internet will be discussed in more detail. 55

Information systems in a business environment

3.3.2.1 Web browsers, web servers and electronic mail


Probably the most frequent software used by end-users is the web browser. A web browser (like Netscape Navigator or Microsoft Internet Explorer) allows the end-user to access information on the World Wide Web (WWW) by using hyperlinked text and graphical images. The web browser accesses a web server. The web server provides information to the users web browser in the form of HTML (Hyper Text Markup Language) pages. HTML is a standard format to describe content and is understood by all web browsers. The advantage of the web browser is that all web server content can be accessed by any user that is in control of a web browser. Web servers are becoming more complex and operate as application servers to implement e-Commerce applications (for example, an Internet banking web server). Any user having network access from a computer with a web browser to the web server can access the application it serves. For this reason web servers and web browsers are becoming the key software that allow users to interact with all other software on the networked environment (whether it be to watch a video, make a phone call, download software, holding a video conference, check e-mail, performing electronic commerce transactions, or work on a mutual worksheet, users will use the web browser to launch and host all other applications). Electronic mail has dramatically changed the way people work and communicate. Most users are now totally dependent on electronic mail software for communications with each other, whether in the same organisation or to any other individual worldwide. E-business application software is software that enables individuals and organisations to transact over the Internet and include business and accounting software that uses the Internet as a way of communicating between various business partners (like supply chain management).

3.3.2.2 Groupware
Groupware (or collaboration software) is software that helps workgroups and teams work together to accomplish group assignments no matter where they physically happen to be. Groupware products (like Lotus Notes and Microsoft Exchange) support collaboration though electronic mail, discussion groups and databases, scheduling, task management, etc, using the Internet in connecting the various members of a group. Groupware is sometimes divided into communication tools (including e-mail, FAX and voice mail), conferencing tools (data, voice and video conferencing, message boards and chat rooms) and collaborative management tools (electronic calendars, project management systems and workflow systems). When employees are using an application at the same time this is referred to as synchronous groupware and when employees are using the same application at different times this is referred to as asynchronous groupware. Businesses use groupware for a variety of reasons. One primary reason is to bypass the traditional problem of having employees in different places that need to work on the same application. By logging in to a network employees in different places can access the same application and benefit from the various perspectives and opinions of others. Another use for groupware is group problem-solving, allowing employees realtime cooperation without being physically in the same room. 56

Software

3.4 New trends in software


There has been a major move away from custom-designed programs developed by programmers towards the use of off-the-shelf software packages developed by software vendors. Most of these packages are designed with networking capabilities and collaboration features that tie in with the move towards web-based software and groupware as required by end-users. Vendors of software applications will in future compete more and more to win corporate customers on the basis of features, usability and price. Most of the applications are designed for Microsofts Windows-operating system since the graphical environment largely dominates the market. As a result, attractive Windows packages are available from several vendors. But those who offer only one or two application categories come up against the overwhelming trend towards the application suite. Above and beyond suites, there is the networked-application market (also called groupware) that is designed to enable groups of employees to work together and share information more easily. Software is becoming more interactive and easier to use through the use of pointer devices (for example, the mouse). Voice recognition software allows people to interact with the computer by speaking. Artificial intelligence features are also being built into this new generation of packages. Many software suites provide intelligent features (called wizards) that help the end-user to perform common software functions. Other software packages use intelligent agents to perform activities on instructions from the user (for example, some e-mail software use intelligent software to organise or screen all e-mail messages). A major long-term trend is the ability of business software to make available corporate data to all end-users using e-based technologies and software. Other trends include the advances in developing a range of software available for PDAs (personal digital assistants), the use of the Internet for conducting phone calls (VoIP) and the use of JAVA applets in web-based communications. VoIP (voice over IP that is, voice delivered using the Internet Protocol) is a term used to describe the facilities for managing the delivery of voice information using the Internet Protocol (IP). In general, this means sending voice information in digital form in discrete packets rather than in the traditional circuit-committed protocols of the public switched telephone network (PSTN). A major advantage of VoIP and Internet telephony is that it avoids the tolls charged by the ordinary telephone service. Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed to have the look and feel of the C++ language, but it is simpler to use than C++ and enforces an object-oriented programming model. Java can be used to create complete applications that may run on a single computer or be distributed amongst servers and clients in a network. It can also be used to build a small application module or applet for use as part of a web page. Applets make it possible for a web page user to interact with the page. Java applets can perform interactive animations, immediate calculations, or other simple tasks without having to send a user-request back to the server. HTML (hyper text markup language) is still the predominant markup language for the creation of web pages as it provides an easy means to describe the structure of textbased information in a document to be published on the Internet. XML (extensible markup language) has developed as an important extension of HTML to facilitate the sharing of data across different information systems that are connected via the Internet. 57

Information systems in a business environment

3.5 Case study


Mr Bakerman, the owner of CakeaBake, a bakery operating from premises in Germiston, is considering whether to open a new shop in a shopping mall being built opposite his current position. At the end of last year, Mr Bakerman acquired a personal computer and, on advice from his accountant, started recording all the financial transactions on a daily basis in a spreadsheet file. Once a month, the accountant makes a copy of this spreadsheet file on a disk to compile and print the necessary management reports that are then given to Mr Bakerman. As Mr Bakerman now requires more up to date information from his information system, he has requested a local IT consultant to propose a new information system for the current premises, but one that can be expanded if he decides to move to the shopping mall as well. The proposed hardware configuration for Mr Bakerman was described in chapter 2 (2.7). This hardware configuration will not be able to assist Mr Bakerman in the processing and communication of information without the required software. The IT consultant recommends that Mr Bakerman acquires the following software: Microsoft Windows XP Pro Norton Internet Security 2007 Microsoft Office Small Business 2007 Pastel Partner 2007 The system software that is being suggested by the IT consultant is the Windows XP Professional operating system. The operating system comes standard with Internet Explorer (a webbrowser used to access the Internet as well as standard utility software (to manage the software and hardware). The Norton Internet Security 2007 software is an example of a system support program that contains antivirus, antispyware, a firewall, intrusion prevention and anti-phishing. Phishing refers to the practice whereby a criminal attempts to acquire sensitive information (like passwords and credit card details) by masquerading as a trustworthy person or business in an electronic communication. This style of identity theft has become very popular mainly because of the ease with which people divulge personal information (like credit card numbers) to phishers. Anti-phishing software (like Norton Internet Security 2007) identifies phishing contents on websites, acts as a toolbar that displays the real domain name for the visited website and spots phishing attempts in e-mails. Microsoft Office Small Business 2007 is the application software recommended by the IT consultant. This is an example of an office suite that consists of a spreadsheet (Excel), a word processor (Word), a database management system (Access), a graphical presentation software (Powerpoint), a communication software that allows users to send and receive e-mails electronically (Outlook), and a software to develop business and marketing materials (Publisher). Pastel Partner 2007 is a business application software recommended to process business (mainly financial) transactions, store them and create the required financial reports. Pastel Partner allows multiple users (up to 30) and includes point-of-sale software as well as all the core accounting applications. This software can be tailored to the specific needs of Mr Bakerman.

58

Você também pode gostar