Software

Languages are usually divided into

  - low level

- high level.

 

Low Level

  The earliest language was Machine Code (1950s). It uses 0s and 1s directly to program. It is very fast in execution and is the only language directly readable by computers. However it is difficult to write and correct errors.

  The first development was Assembly language which uses mnemonics to equal machine code instructions e.g.

ADD

SUB

JMP

 

For execution the program is assembled (translated) into machine code for execution. It is also executed quickly.

 

 High Level

  These were developed in the 1950s. They use pseudo-english structures which are easier to write and correct. Early examples include:

BASIC

FORTRAN

COBOL

  They are not directly executable by computers and must be translated into machine readable form.

  Most are Compiled - translated entirely then executed. BASIC is usually Interpreted - each instruction is translated then executed.

  The high level languages are much easier to write and correct but execution is slow compared to low level.

  So called 4th generation languages have been developed which are considered to be higher level. They use commands which cover a lot of instructions which otherwise have to be fully written out.

 

 

Functions of Language

 

Operating Systems

  Also called Systems Software. They are the interface between the user and the hardware. In micros examples include

MS DOS

OS/2

UNIX

 

They are the first instructions a user gives the computer.:

  The following is a brief summary of some operating system functions.

 

Job management

Resource management

Language translators e.g.

Assembling

Compiling

Interpreting

Data management

System utilities

 

 Windows. This is a very common user interface on microcomputers and is in fact a "user friendly" operating system. It is an example of a W I M P interface - Windows, Icon, Mouse, Pull-down menu. It is a front end to the operating system allowing all the same features of file and disk management as. Options are CHOSEN rather than user ENTERED. This cuts down on typing time and is much less error prone.

 

 

Application Software

  These are programs which actually perform user functions. Nearly all business activities in information processing have had programs written to process them.

  If a program is written specifically for a user’s needs it is sometimes termed in-house.

 

Packages

 

Briefly defined, they are prewritten, commercially available suites of programs. Common examples include

 

(a) Word-processing

Spreadsheets

Databases

 

(b) Payroll package

Auditing package

Stock control

 

(c) Motor dealers package

Building society package

 


The above list is divided into three groups which roughly define package types available:


 (a) General purpose packages. These will be usable in all environments. Thus a word processor should be "culture free" and adaptable for any organisation irrespective of their activity. The three mentioned were chosen deliberately since they are the most common introduction most people have to package software (and indeed computers in general). Integrated Packages. There are a number of packages described as Integrated which allow the user to utilise these three most common of these applications in separate modules within the package. Data can then be imported from one module for use in the others.

  For example a spreadsheet module may analyse a salesperson’s performance over a quarterly period. The result (sales per customer, per week etc.) could then be imported into a Database record field as part of the employment data. The modules compliment each other - databases are not ideal for mathematical analysis, and spreadsheets usually do not have good data handling facilities. There is a good chance if an independent spreadsheet and database package were used data exchange would need extensive internal conversion, if it was possible at all.

 (b) Functionally specific packages. These as the examples suggest have specific functions without being company specific, but a business using one will be able to adapt it to the specific needs of that organisation. In these examples the package would have to be customised to a particular user's requirements. Thus an engineering company's use of stock control package would have specific part -names descriptions etc. which would be entered at the package installation stage. The same package, if flexible enough, should be capable of being customised for other business areas.

 (c) Business specific packages. Usually extensive systems, catering for a specific business activity. The customising in these cases would be very specifically for a single company. These packages would probably contain examples of (a) and (b) above incorporated within them but would be very "tightly bound" to the system. These may be regarded as highly sophisticated Integrated Packages with (hopefully) all the advantages of total data compatibility between package modules

 

Advantages of a package over the equivalent in-house programs include:

(a) It should have been written by software specialists and so should be of a high quality.

(b) A successful package will be continually updated by the software manufacturer, and so the version that a customer buys should be up-to-date.

(c) Other users will have used the package already, and a well established package should be error-free or contain, in later versions, only few and minor errors

(d) Good packages are well-documented, with easy to follow user manuals. Good documentation is a key feature of successful software development.

(e) The computer user does not need to employ his own specialist staff to develop, write and test 'in-house' programs, which takes a lot of time to produce and is very costly. 

(f) Some packages can be tailored to the user's specific needs


 

 The following is a checklist of points to consider when choosing a software package.

 

1. Does the package fit user's requirements?

2. Will the package run on the user's existing computer.

3. How much does the package cost.

4. Does the package require major changes to the user's system?

5. Is the package easy to use?

6. Are processing times fast enough?

7. Is there full and clear documentation ?

8. Can the package be updated and modified by the user?

 

Expert systems (ES) and Artificial Intelligence (AI)

 

Artificial intelligence

 AI is the branch of computer science which attempts to make computers reason, problem-solve, learn, and carry out many of the mental activities characteristic of human intelligence.

 

Problem-solving

 Getting machines to think and reason about complex problems as humans do. Some progress has been made in this area with well-defined problems; for instance, computers can play chess to a very high standard. ES problem-solving has come out of this research, but other aspects of human intelligence have remained elusive. No computer, so far, can display creativity and show insight in problem-solving, although there are occasional reports of computer originality, e.g. finding novel solving to mathematical problems.

 

Computer vision

 Building a computer which can see and understand what it sees is still a considerable problem. Techniques for image processing have been devised but the recognition phase depends on knowledge of many everyday objects which we take for granted. For instance, in a room we automatically know what a chair is, what it is made of, why it does not fall over, etc. A computer has to be told all this general knowledge. The common-sense knowledge problem has been one of the big barriers to progress in Al. Computer vision systems, as with much in Al, are fine in limited circumstances. Systems have been built which can recognise and make sense of airport scenes but these systems are limited to a knowledge of airports and nothing else.



 

Robotics

 In Al robotics means intelligent robots which can see, feel or at least sense their environment, and have intelligence to plan and control their own activity. Robotics too has encountered the general knowledge problem. Early success in making robots pick up blocks when spoken to, e.g. 'pick up the red block underneath the white one', have not been followed by spectacular advances. The problems become worse once robots move. Teaching a machine about the three-dimensional world and then making it understand that world when it has moved is very complex. We spend many years when very young making sense of this problem. It is becoming clear that computers need this sort of training too.

 

 

 Natural language processing

 In this area Al attempts to build machines which can understand and generate natural language as people do. A further part of this research is speech and voice recognition.. The limitation again is common-sense knowledge. We make sense of language with a vast amount of everyday knowledge about the world, and recognise words and their meaning in the context in which they are used with intuitive understanding.

 In business environment direct voice input systems attempt to use this technology . A system which could input and accurately comprehend natural language input would be revolutionary and transform totally, not just business use of computer systems but all human/computer interaction

 

Expert Systems

 

While (AI) is concerned with the actual methods developing software - hardware systems , Expert Systems are concerned with writing the programs.

 

Expert systems are computer programs that attempt to mimic human expertise in a particular subject area - the system seems capable of limited reasoning and can appear to make intelligent decisions. In reality, expert systems are just programs containing complex logic and rules.

 

There are three main components of expert systems:

 

1. The knowledge base This base contains a set of facts (or assertions) which the system is given. During reasoning the system may add further facts from its own inferences.

 

2. Inference mechanism A process that acts upon the knowledge base to solve the problem. Various forms of inference are possible but two of the most common are forward and backward chaining.

 

3. User interface and explanation facility The user interface gathers user input in the form of data and facts which are input into the inference process. Results are also communicated back to the user. The explanation facility explains the results of the system's reasoning to the user.

 

An ES purports to be knowledge-based rather than data and formula based. Rules are by far the most common form of knowledge representation in expert systems, and it is mainly through these that the system incorporates "knowledge". This process of knowledge acquisition is time consuming and difficult since it may have to be developed over a considerable time period.

 

Applications and limitations of ES

 

Expert systems have been tried in a wide variety of business applications. Problems such as diagnosis, scheduling and planning are suitable applications. ESs are successful in small, narrow domains where knowledge is well structured, but they cannot address problems which involve general or common sense knowledge.

 

ESs cannot learn in the way people can. The system is utterly dependent on the knowledge it was provided with in the first place. ESs are limited to inferring new facts and reaching conclusions on the basis of knowledge they were designed with.

 

ESs can be applicable to particular aspects of business such as financial planning, marketing strategies and portfolio management. At the moment the capabilities of ESs are way ahead of the business user's abilities to exploit them.

 

 

 Virtual Reality

 Virtual Reality (VR) brings together a variety of hardware and software technologies. Loeffler and Anderson (1994) provide a useful working definition

 

" ... virtual reality is a three-dimensional, computer-generated, simulated environment that is rendered in real time according to the behaviour of the user.

 The elements of this definition can be examined in turn.

 VR is three-dimensional. In computer interfaces, VR provides a qualitative leap beyond the traditional two-dimensional graphical user interfaces such as Windows, and even beyond three-dimensional systems available in Computer Aided Design (C.A.D.) and Computer Aided Manufacturing (C.A.M.).

 Virtual reality is a simulated environment. The simulation may represent a real environment or it may be purely imaginary. It may follow familiar laws of physics or not; it may be filled with realistic detail or be highly abstracted. But the complexity and multi-dimensionality of the interface creates in the user a sense of his or her own presence in the simulated environment. While a graphical user interface is like a window on a computer application, virtual reality interfaces are like portals that allow the user to step into the application.

 Virtual reality is rendered in real time according to the behaviour of the user. A virtual environment does not consist of a series of predetermined points of view, like a film or video does. It is not a static creation, like a computer drawing. The user can move around in the virtual world, and the simulation is created according to the user's movement. To operate in real time means that the displayed environment responds to the user's actions with only a slight delay. Within a simulation one can move forward or backward, left or right, and up or down simultaneously.

 

Immersion and Interactivity

One important aspect of virtual environments is immersion, or the degree to which the user's senses are limited to the simulation and screened from the real world. In computerised environments, the degree of immersion can vary significantly.

 Although virtual reality is too young a field to speak of a classic model or image, the "goggles and gloves" version that is often featured in the popular entertainment media represents a typical highly immersive environment. The "goggles" actually cover the eyes and ears, and are called a head-mounted display (HMD) by VR practitioners. The HMD offers both visual and audio display, and cuts off, or at least heavily screens, sights and sounds from outside the virtual world. Navigation is by hand gestures and body position; there is no computer mouse or keyboard, no real-world hardware to intrude on the virtual world.

 The least immersion is offered by desktop virtual reality systems. These are exemplified by computer games, but are also used for scientific visualisation, database display, and other purposes. Here a user can have an emotional sense of immersion by being absorbed in the game or the data, but at any moment can disengage and look around.

 Another aspect is VR interactivity, which may include navigating within the virtual world, turning features on and off, and interacting with other users. Many installations also allow the user to interact with agents, which are computer-simulated characters that inhabit the virtual world.

Virtual realities, then, vary widely in crucial aspects. There is a great deal of difference between immersive and nonimmersive, interactive and non-interactive experiences.

 

 

 

Business Impact

 VR has an obvious social role especially in the entertainment industry and as an educational medium. In the business environment much more sophisticated C.A.D./C.A.M. is feasible. Architectural plans of new buildings, projects etc. in VR form could give the buyers/users a totally different perspective of the proposed entity compared to traditional drawings or non-VR three-dimensional displays.

In the important aspect of communication in the business community (teleconferencing, multimedia systems), it offers the potential for vastly more sophisticated features in presentations, talks, if someone presenting a proposal can develop a VR format to illustrate a proposal or argument.

 The potential impact on data and information flows in a business (the central feature of Business Information Systems) is not clear.

  RETURN TO INDEX