Computer hardware is virtually useless without computer software. Software is the programs that are needed to accomplish the input, processing, output, storage, and control activities of information systems.
Computer software is typically classified into two major types of programs: system software and application software.
Systems software are programs that manage the resources of the computer system and simplify applications programming. They include software such as the operating system, database management systems, networking software, translators, and software utilities.
Application software are programs that direct the performance of a particular use, or application, of computers to meet the information processing needs of end users. They include [email protected] software such as word processing and spreadsheet packages, as well as internally or externally developed software that is designed to meet the specific needs of an organization.
Software trends have been away from custom-designed one-of-kind programs developed by the professional programmers or end users of an organization toward the use of [email protected] software packages acquired by end users from software vendors.
Two types of packages are available:
1. Vertical packages – assist users within a specific industry segment. Examples include packages that help to manage construction projects, keep track of inventory of hospitals, or fast-food outlets.
2. Horizontal packages – can perform a certain general function, such as accounting, or office automation, for a range of businesses.
Relationships between Hardware and Software Components [Figure 5.1][Slide 5-3]
Figure 5.1 is an excellent tool to use to explain the relationship that exists between computer systems hardware, systems software, and application software. This [email protected] model indicates that the outer layers rely on the facilities furnished by the inner ones.
5.2 Operating Systems
The most important system software package for any computer is its operating system. Every computer system runs under the control of an operating system. Operating systems for computers that are shared by many users are considerably more complex than operating systems for personal computers.
What Does an Operating System Do?
The operating system is the software that controls all the resources of a computer system. For example it:
1. Assigns the needed hardware to programs
2. Schedules programs for execution on the processor
3. Allocates the memory required for each program
4. Assigns the necessary input and output devices
5. Manages the data and program files stored in secondary storage
6. Maintains file directories and provides access to the data in the files
7. Interacts with the users
Multiprogramming is the capacity of a computer to executing several programs concurrently on the same processor by having one of the programs using the processor while others are performing input or output.
Multiprogramming requires that the active parts of the programs competing for the processor be available in main memory. Virtual memory is the seemingly expanded capacity of the main memory of the computer, and achieved by keeping in the main memory only the immediately needed parts of programs, with the complete programs kept in secondary storage.
Modes of Computer System Operation
Operating systems enable the system they manage to operate in various modes. These include batch processing, time sharing, and real-time processing.
Batch processing Processing programs or transactions in batches, without a user’s interaction.
Time Sharing Systems providing interactive processing by allocating a short time slice for the use of the server to each user in turn.
Real-time Processing Systems that respond to an event within a fixed time interval; used for example, in manufacturing plants or to collect data from several pieces of equipment in a laboratory.
With the move toward multiprocessors, in which several (or even many) processors are configured in a single computer system, multiprocessing operating systems have been designed to allocate the work to the multiple processors. These systems also support multiprogramming, which allows many programs to compete for the processors.
Operating Systems for Personal Computers
The operating systems of personal computers which are dedicated to a single user are vastly simpler than the operating systems running larger machines, to which hundreds or thousands of users may have simultaneous access. One important capability an operating system can offer in a personal computing environment is multitasking: the ability to run several tasks at once on behalf of a user.
The most popular microcomputer operating systems are:
Windows 95 – Windows 95 is an advanced operating system
– graphical user interface
– true multitasking
– network capabilities
DOS – is an older operating system which was used on microcomputers
– is a single user, single-tasking operating system
– can add a GUI interface and multitasking capabilities by using an operating environment such as Microsoft Windows
OS/2 Warp – graphical user interface
– virtual memory capabilities
– telecommunications capabilities
Windows NT – multitasking network operating system
– multiuser network operating system
– installed on network servers to manage local area networks with high-performance computing requirements
UNIX – popular operating system that is available for micros, minis, and mainframe computer systems
– multitasking and multiuser system
– installs on network servers
MacIntosh System 7 – multitasking
– virtual memory capabilities
– graphical user interface
A user interface is a combination of means by which a user interacts with the computer system. It allows the end user to communicate with the operating system so they can load programs, access files, and accomplish other tasks. The three main types of user interfaces are:
1. Command drive
2. Menu drive
3. Graphical User Interface (GUI)
The most popular graphical user interface is that provided by Windows 95. The Windows environment has become a standard platform for computers.
The Goal of Open Systems
A drive is to use open systems in organizational computing, so that the software and hardware of any vendor can operate with those of any other, calls for an operating system that would run on any hardware platform. The term Aopen [email protected] is used as the opposite of proprietary systems of a specific manufacturer.
In open systems, organizations want portability, scalability, and interoperability of applications software.
Portable application: can be moved from one computer system to another.
Scalable application: is one that can be moved without significant reprogramming.
Interoperability: means that machines of various vendors and capabilities can work together to produce needed information.
5.3 Personal Productivity Software
Personal productivity software is the most common applications software. Run on personal computers, these programs assist the user in a certain range of tasks. Taken together with professional support systems and systems supporting groupwork, personal productivity software is a potent enabler of today’s knowledge work.
Functions of Personal Productivity Software [Figure 5.3][Slide 5-4]
Personal productivity software enhances its user’s performance on a specific range of common tasks. This software supports database management and analysis, authoring and presentation, and activity and notes tracking. All these are software applications. Data management is supported by database management systems, while spreadsheet software assists in data analysis. For the needs of authoring and presentation, users employ the applications software for word processing, desktop publishing, presentation, and multimedia authoring. Personal information management software is used to track activities and personal notes. Communications software enables the user to connect to a telecommunications network in order to exchange information with other users or systems. Web browsers are used to access the resources of the Internet’s World Wide Web.
Electronic spreadsheet packages are programs that are used for analysis, planning, and modelling. They provide electronic replacement for more traditional tools such as paper worksheets, pencils, and calculators. In a worksheet of rows and columns are stored in the computer’s memory and displayed on the video screen. Data and formulas are entered into the worksheet and the computer performs the calculations based on the formulas entered. A spreadsheet package can also be used as a decision support tool to perform what-if analysis.
Database management packages facilitate the storage, maintenance, and utilization of data in a database that is shared by many users. Microcomputer DBMs enables the users to:
1. Create and maintain a database
2. Query a database with a query language
3. Prepare formatted reports
In addition, packages offer security features, network connectivity, and the ability to present graphical output, as well as to perform spreadsheet-type computations.
Word processing packages are programs that computerize the creation, edition, and printing of documents by electronically processing text data. Word processing is an important application of office automation. Word processing is the most popular authoring and presentation activity. In fact, it is the most common personal computing application.
Organizations use desktop publishing software to produce their own printed materials like newsletters, brochures, manuals, and books with several type styles, graphics, and colors on each page. The components required to set up a modest desktop publishing system include: a high-resolution display, a laser printer, desktop publishing software, and perhaps a scanner.
The goal of presentation graphics is to provide information in a graphical form that helps end users and mangers understand business proposals and performance and make better decisions about them. It is important to note that presentation graphics does not replace reports and displays of numbers and text material.
Multimedia Authoring Software
Multimedia authoring software enables its users to design multimedia presentations. Using these packages, you can develop attractive computer-based training (CBT) courseware or customer presentations. This software has superior graphic imagery, computer animation, and motion video which may be combined with high-fidelity sound in combination with the text.
Hypermedia are electronic documents that contain multiple forms of media, including text, graphics, video, voice messages, or other units of information such as worksheets. In the hypermedia method of information delivery, linkages may be established among various items in a large multimedia document. These linkages enable the user to move from one topic directly to a related one, instead of scanning the information sequentially. Hypertext is a methodology for the construction and interactive use of text databases. By definition, hypertext contains only text and a limited amount of graphics.
Personal Information Management
Personal Information management (PIM) packages are tools that help knowledge workers track tasks, people, projects, commitments, and ideas. These packages help end users store, organize, and retrieve text and numerical data in the form of notes, lists, clippings, tables, memos, letters, reports, and so on.
Communications Software and Web Browser
Communications software enables the user to connect to a telecommunications network in order to exchange information with other users or systems. The software provides the following capabilities:
1. Sending and receiving electronic mail
2. File transfer. You can download a program or a data file from a remote computer to your own workstation or upload a file to the remote computer.
3. Terminal emulation – enabling the personal computer to act as a terminal when required in a particular application.
4. Sending and receiving a fax
More and more frequently, the reason for connecting to a telecommunications network is to gain access to the resources of the Internet. Web browsers are rapidly becoming one of the most popular categories of software packages. A browser is a program that enables its user to access electronic documents in included in the Internet’s World Wide Web, a collection of interlinked hypermedia databases distributed among remote sites.
5.4 Programming Languages and their Translators [Figure 5.8][Slide 5-5]
Much of the applications software used in an organization needs to be programmed or customized. Programming languages are the languages which computer programs are written int. A programming language allows a programmer or end user to develop the sets of instructions that constitute a computer program. These languages have evolved over four generations and can be grouped into five major categories:
1. Machine languages
2. Assembler languages
3. High-level languages
4. Fourth generation languages
5. Object-oriented languages
Machine languages are the most basic level of programming languages. They were the first generation of machine languages.
Disadvantages of machine languages:
1. Programs had to be written using binary codes unique to each computer.
2. Programmers had to have a detailed knowledge of the internal operations of the specific type of CPU they were using.
3. Programming was difficult and error-prone
4. Programs are not portable to other computers.
Assembler languages are the second generation of machine languages. They were developed to reduce the difficulties in writing machine language programs. Assembly language is also a low-level language (refers to machine resources, such as registers and memory addresses), it is also specific to a computer model or a series of models.
An assembly language program is translated into a machine language by a simple translator called an assembler. Assembly languages are used today only when tight control over computer hardware resources is required, such as in certain systems programs, particularly those for real-time computing.
1. Uses symbolic coded instructions which are easier to remember
2. Programming is simplified as a programmer does not need to know the exact storage location of data and instructions.
3. Efficient use of computer resources is outweighted by the high costs of very tedious systems development and by lock of program portability.
1. Assembler languages are unique to specific types of computers.
2. Programs are not portable to other computers.
High-Level Languages (procedural)
High-level languages are the third generation programming languages. These languages provide statements, each of which is translated into several machine-language instructions. High-level languages include COBOL (business application programs), BASIC (microcomputer end users), FORTRAN (scientific and engineering applications), and more popular today are C, C++, and Visual Basic.
1. Easier to learn and understand than an assembler language as instructions (statements) that resemble human language or the standard notation of mathematics.
2. Have less-rigid rules, forms, and syntaxes, so the potential for error is reduced.
3. Are machine-independent programs therefore programs written in a high-level language do not have to be reprogrammed when a new computer is installed.
4. Programmers do not have to learn a new language for each computer they program.
1. Less efficient than assembler language programs and require a greater amount of computer time for translation into machine instructions.