Uploaded by Jung Ho Park

10 Understanding Software

Information Systems: A
Manager’s Guide to Harnessing
Technology, version 2.0
John Gallaugher
© 2013, published by Flat World Knowledge
10-1
Published by:
Flat World Knowledge, Inc.
© 2013 by Flat World Knowledge, Inc. All rights reserved. Your use of this work is subject to the
License Agreement available here http://www.flatworldknowledge.com/legal. No part of this
work may be used, modified, or reproduced in any form or by any means except as expressly
permitted under the License Agreement.
© 2013, published by Flat World Knowledge
10-2
Chapter 10
Understanding Software: A Primer
for Managers
© 2013, published by Flat World Knowledge
10-3
Learning Objectives
• Recognize the importance of software and its
implications for the firm and strategic decision
making
• Understand that software is everywhere; not just in
computers, but also cell phones, cars, cameras, and
many other technologies
• Know what software is and be able to differentiate it
from hardware
• List the major classifications of software and give
examples of each
© 2013, published by Flat World Knowledge
10-4
Introduction
• Computing hardware: Physical components of
information technology which includes the computer
and its peripherals
– Storage devices
– Input devices
– Output devices
• Software: Computer program or collection of
programs
– Precise set of instructions that tells hardware what to
do
© 2013, published by Flat World Knowledge
10-5
Software
• Operating system: Software that controls the
computer hardware
– Establishes standards for developing and executing
applications
• Applications: Desktop applications, enterprise
software, utilities, and other programs that perform
specific tasks for users and organizations
© 2013, published by Flat World Knowledge
10-6
Figure 10.1 - The Hardware/Software
Layer Cake
© 2013, published by Flat World Knowledge
10-7
Learning Objectives
• Understand what an operating system is and why
computing devices require operating systems
• Appreciate how embedded systems extend Moore’s
Law, allowing firms to create “smarter” products and
services
© 2013, published by Flat World Knowledge
10-8
Operating Systems
• Provides a common set of controls for managing
computer hardware
– Makes it easier for users to interact with computers
and for programmers to write application software
• User interface: Mechanism through which users
interact with a computing device
© 2013, published by Flat World Knowledge
10-9
Firmware and Embedded Systems
Firmware
• Software store on nonvolatile
memory chips
Embedded systems
• Special-purpose software designed
and included inside physical
products
© 2013, published by Flat World Knowledge
10-10
Learning Objectives
• Appreciate the difference between desktop and
enterprise software
• List the categories of enterprise software
• Understand what an ERP (enterprise resource
planning) software package is
• Recognize the relationship of the DBMS (database
system) to the other enterprise software systems.
• Recognize both the risks and rewards of installing
packaged enterprise systems
© 2013, published by Flat World Knowledge
10-11
Application Software
• Performs the work that users and firms are directly
interested in accomplishing
• Platform: Products and services that allow for the
development and integration of software products
and other complementary goods
• Desktop software: Applications installed on a
personal computer, typically supporting tasks
performed by a single user
© 2013, published by Flat World Knowledge
10-12
Enterprise Software
• Applications that address the needs of multiple users
throughout an organization or work group
– Software package: Software product offered
commercially by a third party
– Enterprise resource planning (ERP): Software package
that integrates the many functions of a business
•
•
•
•
Sales and inventory
Manufacturing and purchasing
Human resources
Order tracking and decision support
© 2013, published by Flat World Knowledge
10-13
Enterprise Software
Customer relationship management (CRM)
• Systems used to support customer-related sales and
marketing activities
Supply chain management
• Systems that can help a firm manage aspects of its value chain
• Through delivery of finished products and services at the
point-of-consumption
Business intelligence (BI) systems
• Systems that use data created by other systems to provide
reporting and analysis for organizational decision making
© 2013, published by Flat World Knowledge
10-14
Database Management System
• Software for creating, maintaining, and manipulating
data
– Referred to as database software
• Stores and retrieves the data used by the other
enterprise applications
• Firms with common database systems and standards
benefit from increased organizational insight and
decision-making capabilities
© 2013, published by Flat World Knowledge
10-15
Figure 10.5 - Database Management
System
© 2013, published by Flat World Knowledge
10-16
Learning Objectives
• Understand the concept of distributed computing
and its benefits
• Understand the client-server model of distributed
computing
• Know what Web services are and the benefits that
Web services bring to firms
• Appreciate the importance of messaging standards
and understand how sending messages between
machines can speed processes, cut costs, reduce
errors, and enable new ways of doing business
© 2013, published by Flat World Knowledge
10-17
Distributed Computing
• Form of computing where systems in different
locations communicate and collaborate to complete
a task
• Server: Program that fulfills the requests of a client
– Hardware context - Computer that has been
configured to support requests from other computers
– Software context - Program that fulfills requests
• Client: Software program that makes requests of a
server program
© 2013, published by Flat World Knowledge
10-18
Distributed Computing
Application server
• Software that houses and serves business logic for use and reuse by
multiple applications
• Used by more advanced distributed environments
Web services
• Small pieces of code that are accessed via the application server which
permit interoperable machine-to-machine interaction over a network
Application programming interfaces (APIs)
• Programming hooks, or guidelines, published by firms that tell other
programs how to get a service to perform a task such as send or receive
data
Service-oriented architecture (SOA)
• Set of Web services built around an organization’s processes and
procedures
© 2013, published by Flat World Knowledge
10-19
Figure 10.6 - Multitiered Distributed
System
© 2013, published by Flat World Knowledge
10-20
Formats to Facilitate Sharing Data
EDI (electronic data interchange)
• Set of standards for exchanging messages
containing formatted data between computer
applications
Extensible markup language (XML)
• Tagging language that can be used to identify
data fields made available for use by other
applications
• New generation of more-flexible technologies
© 2013, published by Flat World Knowledge
10-21
Learning Objectives
• Understand, at a managerial level, what
programming languages are and how software is
developed
• Recognize that an operating system and
microprocessor constrain the platform upon which
most compiled application software will run
• Understand what Java is and why it is significant
• Know what scripting languages are
© 2013, published by Flat World Knowledge
10-22
Writing Software
Programming language
• Provides the standards, syntax, statements, and
instructions for writing computer software
Integrated development environment (IDE)
• Application that includes an editor, debugger, and
compiler, among other tools
• IDE will also compile a programmer’s code
• Compile: Program code written in a language that
humans understand is converted into a form that
can be understood and executed by a
microprocessor
© 2013, published by Flat World Knowledge
10-23
Writing Software
Java
• Programming language designed to provide true
platform independence for application developers
• Java programmers use special Java commands to
control their user interface
Scripting languages
• Programming tool that executes within an application
• Are interpreted within their applications, rather than
compiled to run directly by a microprocessor
• Interpreted: Languages where each line of written
code is converted for execution at run-time
© 2013, published by Flat World Knowledge
10-24
Learning Objectives
• List the different cost categories that comprise total
cost of ownership
• Understand that once a system is implemented, the
costs of maintaining and supporting the system
continue
• List the reasons that technology development
projects fail and the measures that can be taken to
increase the probability of success
© 2013, published by Flat World Knowledge
10-25
Total Cost of Ownership
• All of the costs associated with a software system
–
–
–
–
–
–
–
Design
Development
Testing
Implementation
Documentation
Training
Maintenance
© 2013, published by Flat World Knowledge
10-26
Why Do Technology Projects Fail?
• Unrealistic or unclear project goals
• Poor project leadership and weak executive
commitment
• Inaccurate estimates of needed resources and badly
defined system requirements
• Allowing feature creep during development
• Poor reporting of the project’s status
• Poor communication among customers, developers,
and users
© 2013, published by Flat World Knowledge
10-27
Why Do Technology Projects Fail?
•
•
•
•
•
•
•
Use of immature technology
Unmanaged risks
Inability to handle the project’s complexity
Sloppy development and testing practices
Poor project management
Stakeholder politics
Commercial pressures
© 2013, published by Flat World Knowledge
10-28
Capability Maturity Model Integration
(CMMI)
• Process-improvement approach that can assist in:
– Assessing the maturity, quality, and development of
certain organizational business processes
– Suggesting steps for their improvement
© 2013, published by Flat World Knowledge
10-29