Chapter 4 - Bond Wetherbe
Download
Report
Transcript Chapter 4 - Bond Wetherbe
Chapter 4
Computer Software
McGraw-Hill/Irwin
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
Learning Objectives
Describe several important trends
occurring in computer software.
Give examples of several major types of
application and system software.
Explain the purpose of several popular
software packages for end-user
productivity and collaborative
computing.
4-2
Learning Objectives
Define and describe the functions of an
operating system.
Describe the main uses of computer
programming software, tools, and
languages.
Describe the issues associated with
open-source software.
4-3
Section 1
Application Software: End-user Applications
4-4
I. Introduction to Software
What is Software? – software is
programs – instructions that tell the
computer and associated peripherals
what to do
Types of Software
System Software – programs that run the
computer
Application Software – programs perform a
function/job for you
4-5
I. Introduction to Software
Application Software for End Users
General Purpose Application Programs –
perform common information processing
jobs for end users
Productivity Package – increases productivity of
user
Application-Specific Software – does a
specific function
4-6
I. Introduction to Software
Custom Software – designed and created
specifically to do a particular job for one
company
Commercial Off-the-Shelf Software (COTS) –
developed to sell many copies (usually for
profit); source code may not be modified by
user
Open Source Software – anyone may
modify the software, the documentation
and source code are available to anyone
4-7
I. Introduction to Software
4-8
II. Business Application Software
Available to support any part of business
Reengineer/Automate Business Processes
Customer Relationship management (CRM)
Enterprise Resource Planning (ERP)
Supply Chain Management (SCM)
4-9
II. Business Application Software
Internal Organizational Activities
Human Resource management (HRM)
Accounting
Finance
Decision Support tools
Data Mining
Enterprise Information Portals
Knowledge Management Systems
4-10
SAP Business Suite 7: Introducing Modular
Scenarios Cutting Across Organizational
Functions
What is Business Suite 7?
What does Business Suite 7 provide?
How does this help the organization?
What is the Need that this product fills?
4-11
III. Software Suites and Integrated
Packages
Software Suites – bundle together a variety of
general-purpose software applications
Advantages:
Lower cost than buying each package individually
All the programs use a common graphical user interface
(GUI)
The programs are designed to work together
Disadvantages:
Many features are never used
Suites take up a lot of disk space
4-12
III. Software Suites and Integrated
Packages
Integrated Packages – combine some but not
all of the functions of several programs; offer
advantages in a smaller package
Less powerful than software suites – leave out
some functions
Take up less disk space than software suites
Cost less than software suites
4-13
IV & V. Web Browsers & E-Mail
Web Browsers – the most widely used
software (even more than email)
Electronic Mail, Instant Messaging, and Blogs
Email – has changed the way people communicate
Instant Messaging (IM) – email/computer-conferencing
hybrid
Blog – short for Weblog or Web Log – a personal or
commercial website on a particular topic or range of topics,
frequently updated
4-14
VI. Word Processing and Desktop
Publishing
Word Processing – creation, revision, editing,
and printing of documents; spell checkers and
grammar checkers, thesaurus
Desktop Publishing – produce printed
documents that look professionally published
4-15
VII & VIII. Spreadsheets and
Presentation Graphics
Spreadsheets – used for analysis, planning,
and modeling; calculations, graphics, what-if
scenarios
Presentation Graphics – convert numeric data
into graphics displays for easy and intuitive
comprehension
4-16
IX & X. Personal Information Managers
(PIM) and Groupware
Personal Information Managers (PIM) – help
end-users store, organize, and retrieve basic
personal and business information
Groupware – helps workgroups and teams
collaborate
4-17
XI. Software Alternatives
Application Service Providers – provide necessary
applications for a fee (rather than a firm developing or
purchasing the s/w)
Cloud Computing – a recent advance in computing and
software delivery; software and virtualized hardware
are provided as a service over the Internet; “cloud” is a
metaphor for the Internet
Software Licensing – a complex topic involving
copyrights, trademarks, and intellectual property
rights; in most cases software is not purchased but
“licensed” for use under very specific circumstances
4-18
McAfee Inc.: Security under a Softwareas-a-Service Model
What SaaS does McAfee offer?
What are the advantages of this service?
How is different from other products on the market?
4-19
Australian Maritime Safety Authority:
Cloud Computing? Nothing New
What need did AMSA have?
How did a cloud service provide for this need?
What were the cost differentials between in-house
development and the SaaS version?
What were the risks of using the SaaS version?
4-20
Section 2
System Software: Computer System
Management
4-21
I. System Software Overview
System Management Programs –
programs that manage the hardware,
software, network, and data resources
System Development Programs –
programs that help users develop IS
programs and procedures; CASE tools
4-22
I. System Software Overview
4-23
II. Operating Systems – programs that run
the computer operations
Operating Systems Functions –
User Interface – how the user
communicates with the computer
Graphical User Interface (GUI)
Command-driven
Menu Driven
Resource Management – manages the
hardware and network resources
File Management – controls the creation,
deletion, and access of files of the data and
programs
4-24
II. Operating Systems – programs that run
the computer operations
Operating Systems Functions –
Task Management – manages which tasks
are performed and when
Multitasking (Multiprogramming or
Timesharing) – programs take turns using the
processor
Preemptive – each program gets a slice of time
Cooperative – programs use the processor when it is
not being used by another program
Virtual Machines- applications run
independently at the same time
4-25
II. Operating Systems – programs that run
the computer operations
Unix – a multitasking, multiuser,
portable (runs on different hardware
platforms) operating system
Linux – low-cost, reliable, powerful,
open-source UNIX-like operating system
Open-Source Software – source code is
available to users, can be modified by
users
4-26
II. Operating Systems – programs that run
the computer operations
OpenOffice.org 3 – an open-source office
suite, may be used entirely free without
any license fees
Mac OS X – the latest OS from Apple for
Macintosh computers
Application Virtualization – software
technologies that allow applications to
run on various platforms
4-27
Toronto’s Hospital for Sick Children:
Challenges in Making Virtualization Work
What is the biggest problem with
virtualization at “Sick Kids”?
What is another problem?
What does this tell you about many
vendors? Why would they do this?
What’s the problem with data
migration? Why is this a continuing
problem?
4-28
III. Other System Management Programs
Utilities – system management programs
marketed separately from an operating
system
Middleware – helps diverse software
work together more efficiently
4-29
IV. Programming Languages
Machine Languages – first generation language
– instructions written in binary (0’s and 1’s);
runs directly on the computer
Assembler Languages – second generation
language – uses symbols/mnemonics to
represent operational codes; converted into
binary by an Assembler
High-Level Languages – third generation
language – BASIC, COBOL, FORTRAN;
converted into binary by Compliers and
Interpreters; users tell the computer What
results they want and How to get there
4-30
IV. Programming Languages
Fourth-Generation Languages (4GL) – nonprocedural languages; users tell the computer
What results they want, but the computer
decides How to get there
Fifth Generation Languages (5GL) – natural
languages, very close to English,
conversational
Object-Oriented Languages (5GL) – combine
the data elements and the programs that act
on them into Objects; Reusability
4-31
Modern (and Automatic?) Code
Generation
Why is automatic code generation
important?
Why would this be important for nonprogrammers?
4-32
V. Web and Internet Languages and Services
HTML (Hypertext Markup Language) – a page
description language (markup languages are
NOT programming languages)
XML (eXtensible Markup Language) –
describes the Content of Web pages by
applying contextual labels to the data
4-33
Aptara Inc.: Revolutionizing the Publishing
Industry through XML
Why are traditional publishing houses
experiencing lower sales?
Why is a shift to digital publishing a
challenge?
What opportunities are to be found?
Why is this good for the user/customer?
What does .xml have to do with this?
4-34
V. Web and Internet Languages and Services
Java and .NET
Java – a platform independent, object-oriented
programming language; very powerful
Applets – small Java programs that can be
executed by any computer running any OS
anywhere on the network
.NET – Microsoft’s collection of programming
support for Web services
Web Services – software that electronically
links applications of different users and
different platforms
4-35
V. Web and Internet Languages and Services
4-36
Airbus: Flying on SAP and Web Services
Why does Airbus like an open
architecture?
Why did Airbus want a Web-services
based travel management system?
What benefits does this system provide?
4-37
VI. Programming Software
Language Translator Programs –
instructions must be translated into
binary to be executed by the computer
Assembler – translates symbolic
instructions written in assembly language
Compiler – translates high level language
statements; translates the entire program
(Source code) into binary (Object code) then
executes the entire binary program
4-38
VI. Programming Software
Interpreter – translates and executes one
line of the program at a time
Programming Tools – help programmers
identify and minimize errors as they
write the code
CASE Tools (Computer-Aided Software
Engineering) – automated software support
tools for developing systems
4-39