Application Software

Download Report

Transcript Application Software

Information Systems:
A Manager’s Guide to Harnessing Technology
9-1
This work is licensed under the
Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
To view a copy of this license,
visit http://creativecommons.org/licenses/by-nc-sa/3.0/or send a letter to
Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA
9-2
Chapter 9
Understanding Software: A Primer for Managers
9-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
9-4
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
•
Appreciate the difference between desktop and enterprise software
9-5
Learning Objectives
•
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
9-6
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
9-7
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
9-8
Introduction
•
•
Computer hardware: The physical components of information technology,
which can include the computer itself plus peripherals such as storage
devices, input devices output devices, and networking equipment
Software is everywhere — Cell phones, cars, cameras, and many other
technologies
9-9
What is Software?
•
Software: A computer program or a collection of programs. It is a precise
set of instructions that tells hardware what to do
•
Operating system: The software that controls the computer hardware and
establishes standards for developing and executing applications
•
Applications: Includes desktop applications, enterprise software, utilities,
and other programs that perform specific tasks for user and organizations
9-10
Figure 9.1 - The Hardware/Software Layer
Cake
9-11
Functions of the Hardware/Software Layer
•
•
The flexibility of these layers gives computers the customization options
that managers and businesses demand
Understanding how the layers relate to each other:
– Helps you make better decisions on what options are important to your unique
business needs
– Can influence what you buy
– Can have implications for everything from competitiveness to cost overruns to
security breaches
9-12
Operating Systems (OS)
•
Every computing and specialty devices have an operating system
– Desktops, laptops, enterprise-class server computers, mobile phone, iPods,
video game consoles, and television set top boxes
•
Some firms develop their own proprietary OS for their own hardware
•
Some firms sell OS to other commercial firms
•
Some specialty firms help other firms develop operating systems for all
sorts of devices that don’t necessarily look like a PC
9-13
Firmware and Embedded Systems
•
Firmware
– Software stored on nonvolatile memory chips (as opposed to being stored on
devices such as hard drives or removable discs)
– Despite the seemingly permanent nature of firmware, many products allow for
firmware to be upgraded online or by connecting to another device
•
Embedded systems
– Special-purpose software designed and included inside physical products (often
on firmware)
– They help make devices “smarter” by sharing usage information, helping
diagnose problems, indicating maintenance schedules, providing alerts, or
enabling devices to take orders from other systems
9-14
Application Software
•
•
•
It performs the work that users and firms are directly interested in
accomplishing
Desktop software: Applications installed on a personal computer, typically
supporting tasks performed by a single user
Enterprise software: Applications that address the needs of multiple
users throughout an organization or work group
9-15
Application Software
•
Categories of enterprise software include:
– ERP (enterprise resource planning)
– SCM (supply chain management)
– CRM (customer relationship management
– BI (business intelligence) software
9-16
Categories of Enterprise Software
ERP
A software package that integrates the many functions of a business
CRM
Systems used to support customer-related sales and marketing activities
SCM
Systems that can help a firm manage aspects of its value chain, from the
flow of raw materials into the firm, through delivery of finished products
and services at the point-of-consumption
BI
Systems that use data created by other systems to provide reporting and
analysis for organizational decision making
9-17
Figure 9.4 - ERP in Action
9-18
Application Software
•
Most enterprise software works in conjunction with a database
management system (DBMS)
– Database management system (DBMS): Sometimes referred to as database
software, it is software used for creating, maintaining, and manipulating data
9-19
Figure 9.5 - An organization’s database management system can be
set up to work with several applications both within and outside
the firm
9-20
The Rewards and Risks of Packaged
Enterprise Systems
•
When set up properly, enterprise systems can save millions of dollars and
turbocharge organizations by:
– Making data more usable
– Easing the linking of systems with software across the firm and with key
business partners
9-21
Distributed Computing
•
•
•
A form of computing where systems in different locations communicate
and collaborate to complete a task
It can create entirely new ways of doing business
It can yield enormous efficiencies in:
– Speed
– Error reduction
– Cost savings
9-22
Distributed Computing
•
Server: A program that fulfills the requests of a client
– It is frequently used in two ways:
• In a hardware context, a server is a computer that has been configured to support
requests from other computers
• In a software context, a server is a program that fulfills requests
•
More advanced distributed environments may use an application server
– Application server: Software that houses and serves business logic for use (and
reuse) by multiple applications
9-23
Distributed Computing
•
•
Web services: Small pieces of code that are accessed via the application
server which permit interoperable machine-to-machine interaction over a
network
It results in:
–
–
–
–
Fewer errors
Time savings
Cost reductions
Creating whole new ways of doing business
9-24
Figure 9.6 – Multitiered Distributed System
9-25
Distributed Computing
•
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): A robust set of Web services built
around an organizations processes and procedures
9-26
Messaging Standards
•
EDI (electronic data interchange): A set of standards for exchanging
information between computer applications
– It is used as a way to send the electronic equivalent of structured documents
between different organizations
– It can speed processes, cut the cost of transactions, and reduce errors
•
A new generation of more-flexible technologies for specifying data
standards are replacing extensible markup language (XML)
– Extensible markup language (XML): A tagging language that can be used to
identify data fields made available for use by other applications
9-27
Writing Software
•
Programmers write software in a programming language
– Programming language: Provides the standards, syntax, statements, and
instructions for writing computer software
•
Professional programmers use an integrated development environment
(IDE) to write their code
– Integrated development environment (IDE): An application that includes an
editor (a sort of programmer’s word processor), debugger, and compiler, among
other tools
9-28
Writing Software
•
Popular programming languages include C++, C#, Visual Basic, and Java
•
Scripting languages: Programming tool that executes within an
application
– They are interpreted within their applications, rather than compiled to run
directly by a microprocessor
•
Interpreted: Languages where each line of written code is converted (by
a software program, called an “interpreter”) for execution at run-time
9-29
Total Cost of Ownership (TCO): Tech Costs Go
Way beyond the Price Tag
•
Total cost of ownership (TCO): All of the costs associated with the design,
development, testing, implementation, documentation, training and
maintenance of a software system
•
Different cost categories that comprise total cost of ownership:
– Software development and documentation
– Purchase price
– Ongoing license and support fees
– Configuration
– Testing
– Deployment
9-30
Total Cost of Ownership (TCO): Tech Costs Go
Way beyond the Price Tag
– Maintenance
– Support
– Training
– Compliance auditing
– Security, backup
– Provisions for disaster recovery
9-31
Why Do Technology Projects Fail?
•
•
•
•
•
Unrealistic or unclear project
goals
Poor project leadership and weak
executive commitment
Inaccurate estimates of needed
resources
Badly defined system
requirements and allowing
“feature creep” during
development
Poor reporting of the project’s
status
•
•
•
•
•
•
•
•
Poor communication among
customers, developers, and users
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
9-32
Why Do Technology Projects Fail?
•
Information systems organizations can improve the overall quality of their
development practices
•
Capability maturity model integration (CMMI): A process-improvement
approach that can assist in assessing the maturity, quality, and
development of certain organizational business processes. Also suggests
steps for their improvement
9-33
Why Do Technology Projects Fail?
•
Success rates can be improved, when methodologies are applied to
projects:
– That are framed with clear business goals and business metrics
– That engage committed executive leadership
9-34