Introduction to Information Technology 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons, Inc.
Chapter 4: Computer Software
Prepared by: Roberta M. Roth, Ph.D. University of Northern Iowa Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-1
Chapter Preview In this chapter, we will study: Systems Software Application Software How software applications are developed How software has evolved and where it’s headed Software for the enterprise Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-2
The Software Crisis Computer System
Hardware
Software
New software
applications cannot be developed fast enough to: Keep up with dynamic business environment Keep pace with rapid hardware advances
Lag in software
development limits IS capabilities Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-3
The Software Crisis (continued) In addition to new application
development, existing software must also be maintained (80% IT personnel effort towards maintenance).
Increasing complexity leads to the
increased potential for “bugs.” Testing and “debugging” software is expensive and time-consuming.
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-4
Software Fundamentals Some basic terms… Computer programs - sequences of instructions for the computer
Stored program concept – instructions written in programs are stored and executed by CPU when needed
Programming - process of writing (or coding) programs
Programmers - individuals who perform programming Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-5
Software Fundamentals (continued) Computer Software
Systems Software
Application Software
Makes the computer function
Does somethin g interestin g
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
Systems Software Instructions that manage the hardware resources Application
Software Instructions that perform specific user tasks 4-6
System Software System software is software that: Controls and supports the computer system’s activities Supports application software by directing the computer’s basic functions Facilitates program development, testing, and debugging Is independent of any specific type of application Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-7
Systems Software (continued) Systems Software
System Control
Programs
System Control Programs
Systems Support Programs
Control use of all system resources (hardware, software, data); operating system
System Support
Programs
Specialized support capabilities Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-8
System Control Programs Operating System - main system
control program supervises the overall operation of the computer allocates CPU time and main memory to programs running on the computer provides an interface between the user and the hardware Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-9
Operating System Services Process management – manage program(s) running on processor Multitasking or Multiprogramming - managing two or more tasks, or programs, running on the computer system at the same time
Multithreading – type of multitasking; run two or more tasks from the same application simultaneously
Timesharing - many users share same CPU, each using a different input/output terminal
Multiprocessing – simultaneous processing with multiple CPUs
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-10
Operating System Services (continued) Virtual memory - simulates more main memory than actually exists in the computer system
File management and security - managing the arrangement of, and access to, files held in secondary storage Fault tolerance - system can produce correct results and continue to operate even in the presence of faults or errors User interface - allows users to have direct control of visible objects (icons) and actions that replace complex command syntax Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-11
Types of Operating Systems Major Desktop Operating Systems Microsoft Products: MS-DOS Windows 95 Windows Windows 98 ME Windows NTWindows 2000Windows XP Other Products:
UNIX
Linux
Java Operating System (JavaOS) IBM O/S 2 Macintosh Operating System
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-12
Types of Operating Systems (continued)
Departmental Server Operating
Systems
Support hundreds of concurrent users UNIX, Linux, Windows 2000, Windows XP, Novell NetWare
Enterprise Operating Systems Support thousands of concurrent users; millions of transactions per day IBM’s OS/390, IBM’s VM (Virtual Machine), IBM’s VSE (Virtual Storage Extended), and IBM’s OS/400 Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-13
System Support Programs Support the operations,
management, and users of a computer system Examples: System Utilities • Perform common tasks: sorting records,
checking disk integrity, creating directories and subdirectories, restoring accidentally erased files, locating stored files, managing memory usage, and redirecting output. Introduction to Information Technology, 2 Edition nd
Turban, Rainer & Potter © 2003 John Wiley & Sons
4-14
System Support Programs (continued) Examples (continued)
Performance monitors • monitor job processing • produce statistical reports on system
resource usage
Security monitors • monitor the use of a computer system to
protect it and its resources from unauthorized use, fraud, or destruction Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-15
Application Software Programs performing specific
information processing activities and user functionality Types of Application Software Proprietary application software • Addresses a specific or unique business need for a
company
Off-the-shelf application software • Vendor developed programs sold to many
organizations • May be standard package or may be customizable Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-16
Application Software
(continued)
Personal Application Software - off-theshelf application programs supporting general types of processing Spreadsheets Multimedia Data Communication
management Word processing Desktop publishing Graphics Presentation; Introduction to Information Technology, 2 Edition Analysis; CAD Turban, Rainer & Potter
Speech-
recognition Groupware
nd
© 2003 John Wiley & Sons
4-17
Software Issues Software Evaluation and Selection Selection factors • Size and location of the user base • System administration tools • Initial and subsequent costs • Current and future system capabilities • Existing computing environment • In-house technical skills
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-18
Software Issues
(continued)
Software Licensing Copyright - exclusive legal right to reproduce, publish, and sell the software Licenses - permission granted under the law to engage in an activity otherwise unlawful Software Upgrades May or may not offer valuable enhancements Risk that revised software may contain bugs Upgrading in a large organization is a major undertaking, so must assess the merits of the new release Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-19
Software Issues
(continued)
Open Systems A model of computing products that work together Empower designers to choose the best computer hardware, operating system, and application software without compatibility concerns Open Source Software Software code offered freely to developers Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-20
Programming Languages Various programming languages
enable people to tell computers what to do Foundation for developing applications
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-21
How are Programs Understood by the Computer? (The Language Translation Process)
Program written in programming language (source code)
Translator program Assembl er Compiler Interpret er
Program written in machine language (object code) Processed By CPU
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-22
Programming Languages Machine Language
(first generation of
programming languages)
The computer’s ‘native language’ Composed of binary digits (0s, 1s) The only language that computers understand
Assembly Language
(second generation of
programming languages)
One-to-one correspondence to machine language Somewhat more user-friendly than machine language (mnemonic rather than binary digits) Introduction to Information Technology, 2 Edition 4-23 Rainer Turban, & Potter Assembler – program that translates an © 2003 John Wiley & Sons nd
Programming Languages (continued …) Procedural Languages (third generation languages)
One instruction translates into many machine language instructions Programs describe the computer’s processing step-by-step Closer to natural language; uses common words rather than abbreviated mnemonics Examples: Cobol, C, Fortran, QuickBasic Compiler - translates the entire program at once Interpreter - translates and executes one source program statement at a time
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-24
Programming Languages (continued) Nonprocedural Language (fourth generation languages)
Allows the user to specify the desired result without having to specify the detailed procedures needed for achieving the result Example – data base query language - SQL Can be used by non technical users
Natural Language Programming
Languages (fifth generation (intelligent) languages)
Translates natural languages into a structured, machine-readable form Are extremely complex and experimental Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-25
Current Programming Languages Visual Programming Languages Used within a graphical environment Example : Visual Basic and Visual C++ Popular to non technical users Hypertext Markup Language (HTML) standard language used in World Wide Web contains text, images, and other types of information such as data files, audio, video, and executable computer Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-26
Current Programming Languages Extensible Markup Language (XML) Improved on web document functionality Componentware Software components that may be assembled by developer as needed “Plug and Play” software development
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-27
Current Programming Languages (continued)
Virtual Reality Modeling Language
(VRML)
a file format for describing three-dimensional interactive worlds and objects can be used with the World Wide Web
Object-Oriented Programming
Languages (OOP)
based on objects – packaging data and the instructions about what to do with that data together Examples: Java, C++ Unified Modeling Language (UML)- modeling Introduction to Information Technology, 2 Edition tool for object-oriented systems 4-28 Turban, Rainer & Potter nd
© 2003 John Wiley & Sons
Enterprise Software Problem faced in many organizations… Competitive pressures require change in organizational procedures, however all the different types of software and hardware in use cause so much complexity that change is difficult
Solution options Software packages with integrated functional modules (i.e., human resource, operations, marketing, finance, accounting, etc.) Use of middleware to link disparate applications Enterprise software that manages all organizational operations
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-29
Chapter Summary Software can be broadly categorized as
Systems software and Applications software Systems software provides an interface between the hardware and the application software Application software performs specific business functions Programming languages provide the means for humans to give computers instructions Organizations seek enterprise wide software solutions to provide integrated organizational systems
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-30
Copyright © 2003 John Wiley & Sons, Inc. All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United Stated Copyright Act without the express written permission of the copyright owner is unlawful. Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these programs or from the use of the information herein.
Introduction to Information Technology, 2nd Edition Turban, Rainer & Potter © 2003 John Wiley & Sons
4-31