MANAGEMENT INFOIRMATION SYSTEM CHAPTER 5 AND 6

patricio11
Ch05.pdf

Kenneth J. Sousa Effy Oz

MANAGEMENT

INFORMATION

SYSTEMS Seventh Edition

Chapter 5

Business Software

© Cengage Learning 2015

Objectives

• Explain the difference between application

software and system software

• Enumerate the different generations of

programming languages and explain how they

differ

• Cite the latest major developments in application

and system software

• Identify and explain the roles of Web

programming languages

© Cengage Learning 2015 2

Objectives (cont'd.)

• Explain the types and uses of Web site design

tools

• Clarify the differences between proprietary

software and open source software

• List characteristics that are important in

evaluating packaged software applications for

business use

• Understand the problem of software piracy and

how it affects businesses and consumers

© Cengage Learning 2015 3

Software: Instructions to the Hardware

• Applications: computer programs that

contribute to productivity

• Software: a series of instructions to a computer

to execute processes

• Two major categories of software:

– Application software: enables task completion

– System software:

• Enables applications to run on a computer

• Manages components and devices

© Cengage Learning 2015 4

Programming Languages

and Software Development Tools

• Programs are needed for every computer

operation

• Programming: process of writing programs

• Machine language: the only language that

hardware understands

– Consists of long strings of 0s and 1s

• Assembly language: easier to program than

machine language using “words” for commands

• High-level programming languages: use English-

like statements © Cengage Learning 2015 5

Programming Languages and Software

Development Tools (cont'd.)

• Software development kits (SDKs): tools to

develop software with little knowledge of

programming languages

• Third-generation languages (3GLs): known as

“procedural” languages

– Programmer must detail logical procedure

– Includes languages such as COBOL, FORTRAN,

BASIC, RPG, Pascal, and C

– One 3GL statement = five to ten assembly

language statements

© Cengage Learning 2015 6

Programming Languages and Software

Development Tools (cont'd.)

• Fourth-generation languages (4GLs): use more

English-like statements

– Speed up the development process

– Built around database management systems

– Include many preprogrammed procedures

– One 4GL statement = several 3GL statements

– Structured Query Language (SQL) is an example

• Debugging: process of locating and fixing

program errors

© Cengage Learning 2015 7

© Cengage Learning 2015 8

Figure 5.1 The evolution of programming languages © Cengage Learning 2015

© Cengage Learning 2015 9

Figure 5.2 Advantages and disadvantages of using higher-level programming languages © Cengage Learning 2015

Visual Programming

• Visual programming languages: create

graphical screen objects by selecting icons from

a palette

• Common visual programming languages

– Microsoft Visual Basic

– Embarcadero Delphi

– Micro Focus COBOL

– ASNA Visual RPG

– Visual C++

• Developer can still work at the code level © Cengage Learning 2015 10

Object-Oriented Programming

• Object-oriented programming (OOP)

languages provide a modular approach to

programming

• Advantages:

– Ease of maintenance

– Efficiency in application development

• Object: contains data elements (data members)

and the methods to manipulate that data

– Data members can only be accessed through the

object’s methods

© Cengage Learning 2015 11

© Cengage Learning 2015 12

Figure 5.3 Advantages of object-oriented programming (OOP) over procedural languages © Cengage Learning 2015

Object-Oriented Programming (cont'd.)

• Objects are reusable and are combined to

create complex programs

• Popular OOP languages include Java, C++/C#,

and Visual Basic

• Increasing amount of software developed for the

Web using languages such as Java, JavaScript,

and PHP

• Applet: code produced by a Web programming

language

– Runs same way on different operating systems

© Cengage Learning 2015 13

Language Translation:

Compilers and Interpreters

• Source code: program as originally written by

the developer

• Object code: program in machine language that

can be run by the computer

• Types of programming language translators

– Compilers

– Interpreters

© Cengage Learning 2015 14

Language Translation:

Compilers and Interpreters (cont'd.)

• Compiler: translates entire source code to

object code but does not execute the code

– Scans for syntax errors

– Generates error messages if syntax errors found

• Interpreter: scans one statement at a time

– If error-free, interprets and executes the

statement

– Goes through the program until an error or end of

program is encountered

© Cengage Learning 2015 15

© Cengage Learning 2015 16

Figure 5.5 A compiler converts higher-level language code (source code) into machine language (object

code), which the computer can execute © Cengage Learning 2015

Application Software

• Application software allows nonprogrammers to

develop their own tools

• Application-specific software: programs

designed to perform specific jobs

• General-purpose application software:

programs that serve multiple purposes

– Usually comes as packaged software

• Packaged software: software that is ready to

install from external storage media such as CDs

© Cengage Learning 2015 17

Office Productivity Applications

• Productivity tools assist normal office work

– Include word processors, spreadsheets,

presentation tools, file/database software,

graphics programs, desktop publishing tools, etc.

• Word processors create text documents

• Spreadsheets store numbers and perform

complex mathematical, statistical, and financial

analysis functions

© Cengage Learning 2015 18

Office Productivity Applications (cont'd.)

• Presentation tools develop impressive

presentations quickly

• File/database management tools create and

manipulate local or shared databases

• Graphics programs create intricate graphical

images and manipulate digital photographs

• Desktop publishing tools develop items for

publication, such as pamphlets, newsletters,

cards, calendars, etc.

© Cengage Learning 2015 19

Office Productivity Applications (cont'd.)

• Project management tools help plan projects

and track progress

• Suite: collection of various applications that

perform multiple interrelated functions

– Examples include Microsoft Office, IBM Lotus

SmartSuite, and the free Apache OpenOffice.org

© Cengage Learning 2015 20

Hypermedia and Multimedia

• Hypermedia: a feature that enables users to

access information by clicking text or graphics

• Web authoring tools enable hypermedia

features

– Often part of other applications such as word

processors and presentation tools

© Cengage Learning 2015 21

Hypermedia and Multimedia (cont'd.)

• Multimedia software handles many different

types of data

• Often used in:

– Education: lessons presented in multimedia

– Research: data compiled and integrated

– Training exercises: simulated real-world situations

– Business situations: compound documents filed

and used electronically; and interactive websites

© Cengage Learning 2015 22

Hypermedia and Multimedia (cont'd.)

• Mashup: an integrated application containing

some or all features from several applications

– Provides enhanced features for the end user

© Cengage Learning 2015 23

Web Site Design Tools

• Used to develop and change the content of Web

pages

• Popular packages include

– Microsoft SharePoint Designer and Expression

Web, Avanquest WebEasy Professional, and

Adobe CS2/Dreamweaver

• Newer software enables websites implemented

using a blog environment

© Cengage Learning 2015 24

Groupware

• An application that enables sharing of ideas and

information resources among group members

– Supports real-time collaboration via web

technologies

– Allows for remote collaboration

– Eliminates travel times and facilitates expression

and exchange of ideas

• Examples: Wiggio and Google Drive

© Cengage Learning 2015 25

3D Geographic Software

• Used to develop three-dimensional models of

geographic locations

• Models are created from land and aerial

photographs

• Helps with navigation when tied to global

positioning system software

• Can create virtual existing tangible items or

create new ones

© Cengage Learning 2015 26

System Software

• System software: deals with essential operations

between the user and computer such as:

– Loading, copying, and deleting files

– Managing memory resources

– Operating peripheral equipment

– Encompasses compilers and interpreters

• Applications must be compatible with system

software

© Cengage Learning 2015 27

Operating Systems

• Operating system (OS): most important

program on the computer

– Recognizes input from keyboard and mouse

– Sends output to computer display

– Keeps track of files and directories

– Runs applications

– Manages memory

• Usually developed using low-level programming

languages such as assembly languages

• Also known as “platforms” © Cengage Learning 2015 28

© Cengage Learning 2015 29

Figure 5.6 The operating system mediates the computer system’s resources and application software as

well as controls peripheral and network devices © Cengage Learning 2015

Operating Systems (cont'd.)

• Application program interfaces (APIs):

software included in the OS that can be used by

application program developers

© Cengage Learning 2015 30

Operating Systems (cont'd.)

• OS’s position in the computer’s logical operation

– User interacts with user interface using menus,

icons, and application commands

– Application converts user input into commands

– OS commands the CPU to carry out the operation

– OS allows applications to use the CPU, memory,

input and output devices, and the file system

• Utilities perform other OS functions, e.g.,

hardware diagnostics, file comparison, and file

sorting

© Cengage Learning 2015 31

© Cengage Learning 2015 32

Figure 5.7 Computer systems operate on a number of layers, beginning with the user interface and moving

into the computer’s hardware © Cengage Learning 2015

Operating Systems (cont'd.)

• OS must manage the system by allocating

hardware resources to applications

• OS provides several services, including:

– User interface

– Memory allocation, including the use of virtual

memory (hard disk used as an extension of

RAM)

– Plug-and-play (PnP): recognize and run a device

as soon as it is physically attached

© Cengage Learning 2015 33

Operating Systems (cont'd.)

• Driver: software that enables OS to control a

device

• Additional OS services include:

– Database management

– Networking

– Security

© Cengage Learning 2015 34

Operating Systems (cont'd.)

• Different computers and types of

microprocessors use different OSs

• Popular PC operating systems

– Windows

– Linux

– Mac OS

• OSs for mobile environments used with

smartphones and tablets

• OSs noted for stability include UNIX, Mac OS X,

and Linux © Cengage Learning 2015 35

© Cengage Learning 2015 36

Figure 5.8 Popular operating systems for various hardware platforms © Cengage Learning 2015

© Cengage Learning 2015 37

Figure 5.8 (cont’d.) Popular operating systems for various hardware platforms © Cengage Learning 2015

Other System Software

• Other types of system software include:

– Compilers and interpreters

– Communications software

– Utilities

– Database management systems

• Communications software supports transmission

and reception of data across computer networks

• Utilities include antivirus programs, firewalls, and

other programs that detect and remove

unwanted files and applications © Cengage Learning 2015 38

Open Source Software

• Proprietary software: sold/licensed for profit

– Source code is private and not available

– Developer retains all rights to the software; user

purchases a license to use the software

• Open source software: free source code

– Developed through voluntary collaboration of

programmers

– Reviewed by many programmers → fewer bugs

• Examples includes Mozilla Firefox, Drupal,

MySQL, PERL, and OpenOffice.org suite

© Cengage Learning 2015 39

Open Source Software (cont'd.)

• Linux: best known open source OS

– Includes free versions and versions that charge

for support and additional features

– Disadvantage: limited number of applications that

run on it

– Popular because of its stability and versatility

• Runs on mainframes, PCs, handhelds, and

electronic devices

© Cengage Learning 2015 40

Software Licensing

• Software is usually licensed

• Licensed software: provides limited permission

to use the software

– Time-limited license requires annual fees

© Cengage Learning 2015 41

Software Licensing

• Software licensing models

– Permissive model: anyone can use and sell

modified versions of the software

– General Public License (GPL): anyone can use

and make modified versions, but cannot sell

modified versions for profit

– Proprietary: code is owned by someone who has

the right to sell or license it to us

© Cengage Learning 2015 42

Software as a Service (SaaS)

• Provides application software developed and

maintained by a third-party provider

– Offered to organizations for a recurring fee

• Third-party provider: also referred to as

application service provider (ASP)

– Develops and maintains the software on their

hardware

– Provides maintenance, support, and hardware

operations

© Cengage Learning 2015 43

Considerations for Packaged Software

• Factors when purchasing large software

packages are complex, including:

– Cost

– Time to implement

– Cost of interrupting operations

– Modification costs to customize the software

© Cengage Learning 2015 44

© Cengage Learning 2015 45

Figure 5.9 Sample software evaluation form © Cengage Learning 2015

© Cengage Learning 2015 46

Figure 5.9 (cont’d.) Sample software evaluation form © Cengage Learning 2015

Summary

• Software: a collective term for computer

programs

• Two categories of software: system or

application

• Programming languages and software

development tools are used to develop software

• Increasing amount of software is linked to the

Internet

• Code written in non-machine language must be

translated by compilers or interpreters

© Cengage Learning 2015 47

Summary (cont'd.)

• Some application programs are custom-

designed; many are packaged

• Office productivity tools such as word

processors and spreadsheets help improve

worker efficiency

• Hypermedia and multimedia technology are

useful for training, education, research, and

business

© Cengage Learning 2015 48

Summary (cont'd.)

• Groupware combines hypermedia and

multimedia with web technologies for

collaboration

• Three-dimensional geographic software helps

model maps and locations

• Many applications support web services and

access to information on the web

• Most important system software is operating

systems

© Cengage Learning 2015 49

Summary (cont'd.)

• Open source software is distributed freely via the

web

• Nearly all software is licensed; SaaS is an

alternative to traditional software licensing

• Ready-made software purchase decisions

should evaluate many factors, e.g., suitability,

ease of learning, ease of use, vendor reputation,

expected quality of vendor support, etc.

• Software piracy is still a significant problem

© Cengage Learning 2015 50