Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
33 views

CH13 PowerPoint - Understanding Software

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

CH13 PowerPoint - Understanding Software

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

Information Systems: A Manager’s Guide to

Harnessing Technology, V7.0


By John Gallaugher
©FlatWorld 2018
PUBLISHED BY:
FLATWORLD

©2018 BY FLATWORLD. ALL RIGHTS RESERVED. YOUR USE OF THIS WORK IS SUBJECT TO THE LICENSE
AGREEMENT AVAILABLE.
USED, MODIFIED, OR REPRODUCED IN ANY FORM BY ANY MEANS EXCEPT AS EXPRESSLY PERMITTED
UNDER THE LICENSING AGREEMENT.

©FlatWorld 2018
CHAPTER 13
Understanding Software: A Primer
for Managers

©FlatWorld 2018
Learning Objectives

1. Recognize the importance of software and its implications for the firm
and strategic decision-making.
2. Understand that software is everywhere; not just in computers, but
also cell phones, cars, cameras, and many other technologies.
3. Know what software is and be able to differentiate it from hardware.
4. List the major classifications of software and give examples of each.

©FlatWorld 2018
Introduction

• computing hardware: Physical components


of information technology, which includes the
computer and the following peripherals:
• Storage devices
• Input devices
• Output devices
• software: Computer program or collection of
programs.
• Precise set of instructions that tells hardware what
to do.

©FlatWorld 2018
What is Software?

• operating system: Software that controls the computer hardware and


establishes standards for developing and executing applications.
• applications: Desktop applications, enterprise software, utilities, and
other programs that perform specific tasks for users and
organizations.

©FlatWorld 2018
The Hardware/Software Layer Cake

©FlatWorld 2018
Learning Objectives

1. Understand what an operating system is and why computing devices


require operating systems.
2. Appreciate how embedded systems extend Moore’s Law, allowing
firms to create “smarter” products and services.

©FlatWorld 2018
Operating Systems

• Computing system needs to be controlled, and that’s the role of the


operating system.
• The operating system 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.
• Graphical user interface items like scroll bars and menus are displayed on the
hardware of the computer display.
• user interface (UI): Mechanism through which users interact with a computing
device.

©FlatWorld 2018
Firmware and Embedded Systems

• firmware: Software stored on nonvolatile memory chips.


• embedded systems: Special-purpose software designed and
included inside physical products.

©FlatWorld 2018
Learning Objectives

1. Appreciate the difference between desktop and enterprise software.


2. List the categories of enterprise software.
3. Understand what an ERP (enterprise resource planning) software
package is.
4. Recognize the relationship of the DBMS (database system) to the
other enterprise software systems.
5. Recognize both the risks and rewards of installing packaged
enterprise systems.

©FlatWorld 2018
Application Software: Apps, Desktop Products, and
Enterprise Systems
• platform: Products and services that allow for the development and
integration of software products and other complementary goods.
• Application software 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

©FlatWorld 2018
Application Software: Apps, Desktop Products, and
Enterprise Systems (cont’d)

• 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

©FlatWorld 2018
Application Software: Apps, Desktop Products, and
Enterprise Systems (cont’d)
• Managers are likely to encounter the following three categories of
enterprise software:
• customer relationship management (CRM): Systems used to support
customer-related sales and marketing activities.
• supply chain management (SCM): 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.

©FlatWorld 2018
Data Management System

• database management system (DBMS): Software for creating,


maintaining, and manipulating data.
• Referred to as database system.
• Stores and retrieves the data created and used by enterprise
applications.
• Firms with common database systems and standards benefit from
increased organizational insight and decision-making capabilities.

©FlatWorld 2018
Database Management System

An organization’s database management system can be set up to work with several applications both within and outside the firm.

©FlatWorld 2018
Packaged Enterprise System

• Enterprise systems can save millions of dollars and turbocharge


organizations.
• Packaged enterprise systems can streamline processes, make data
more usable, and ease the linking of systems with software across the
firm and with key business partners.
• Firms that have systems that work smoothly internally may find it easier
to partner with others.
• Efficient and integrated enterprise systems may also make firms more
attractive acquisition targets or make it easier for a firm to acquire other
firms and realize the benefit from acquisition.

©FlatWorld 2018
Learning Objectives

1. Understand the concept of distributed computing and its benefits.


2. Understand the client-server model of distributed computing.
3. Know what Web services and APIs are and the benefits that these
technologies bring to firms.
4. 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.

©FlatWorld 2018
Distributed Computing, Web Services, and APIs:
The Platform Builders
• distributed computing: A 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.

©FlatWorld 2018
Application Software: Apps, Desktop Products,
and Enterprise Systems
• application server: Software that houses business logic for use by
multiple applications. Used by more advanced distributed
environments.
• web services: Small pieces of code that are accessed via the
application server that permit interoperable machine-to-machine
interaction over a network.
• application programming interface (API): 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.

©FlatWorld 2018
Multitiered Distributed System

©FlatWorld 2018
Application Software: Apps, Desktop Products, and
Enterprise Systems
• Chunks of code that are accessed via the application server are
sometimes referred to as Web services. API (or Application
Programming Interface) used to describe the same concept.
• For managerial purposes you can think of Web services and APIs as
doing pretty much the same thing—pieces of code that can be
summoned by other programs to perform a task.
• For example:
• Firms other than Google using Google Maps.
• Spotify’s API allowed Uber to modify its app to play a rider’s playlist through the
driver’s smartphone-connected car speakers.
• Uber’s API allowed United Airlines to build an app that can summon an Uber driver.

©FlatWorld 2018
Expedia Affiliate Network

The Expedia Affiliate Network uses


APIs to allow partner sites to book
hotels and other travel services
through their own apps and
websites. This process lets
partners provide more travel
services to their customers,
strengthen the customer
relationship, gather additional data,
and gain a cut of additional sales.

©FlatWorld 2018
Formats to Facilitate Data Sharing

• 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.

©FlatWorld 2018
JSON and XML Examples

These examples
both show an
“employees” object
with three employee
records. The first is
represented in
JSON format, the
second in XML.

Source: Adapted from an example at W3Schools.com


©FlatWorld 2018
Learning Objectives

1. Understand, at a managerial level, what programming languages are


and how software is developed.
2. Recognize that an operating system and microprocessor constrain
the platform upon which most compiled application software will run.
3. Understand what Java is and why it is significant.
4. Know what scripting languages are.

©FlatWorld 2018
Writing Software

• programming language: Provides the standards, syntax, statements,


and instructions for writing computer software.
• Many commercial applications are written in a variant of the C programming
language (C++, C#, or Objective-C), Visual Basic, Java, or SQL.
• Most professional programmers use an integrated development environment
(IDE) to write their code, includes a text editor, debugger, and other useful
programming tools.
• scripting languages: Programming tool that executes within an
application.
• VB Script, JavaScript, Python, R

©FlatWorld 2018
Apple’s Xcode IDE

Apple’s free Xcode IDE


allows anyone with a
Mac to build software for
iOS, Mac OS,
AppleWatch, Apple TV,
and more. Xcode comes
with a simulator, and like
most IDEs, includes an
editor that makes code-
completion suggestions
as you type, a canvas to
visually design an app, a
debugger to find and
correct problems, and
more.

Source: Apple’s Xcode IDE.

©FlatWorld 2018
Learning Objectives

1. Understand why firms use software methodologies.


2. Know the benefits and weaknesses of waterfall and agile
methodologies.
3. Understand scrum and its various components.

©FlatWorld 2018
A Brief Introduction to Popular Approaches to
Developing Software
• software developmental methodologies: Methods to divide tasks
related to software creation and deployment up into tasks targeted at
building better products with stronger product management guidelines
and techniques.
• waterfall: Relatively linear sequential approach to software development.
Benefits include surfacing requirements up front and creating a blueprint to
follow throughout a project.
• The classic, but increasingly out-of-favor approach.
• Can prevent “feature creep”: Expansion of the scope of a project.
• Very rigid, can take a long time to implement, and requires precise forethought on all
requirements needed at the end of the project.

©FlatWorld 2018
A Brief Introduction to Popular Approaches to
Developing Software (cont’d)
• agile development: Developing work continually and iteratively, with a goal of
more frequent product rollouts and constant improvement across smaller
components of the larger project.
• Has become the dominant software development methodology.
• This approach is popular due to its speed and flexibility.
• Some criticize that this approach might force products to develop too quickly and with
less quality.
• scrum: Approach to organizing and managing agile projects that breaks
deliverables into “sprints” delivered in one to six week increments by teams of
less than ten. Defines functions as roles, artifacts, and ceremonies.
• Roles—product owner, scrum master, and team
• Artifacts—product vision, product backlog, sprint backlog, task board and/burndown
chart
• Ceremonies—sprint planning, daily scrum, sprint demo and review and retrospective

©FlatWorld 2018
Learning Objectives

1. List the different cost categories that comprise total cost of ownership.
2. Understand that once a system is implemented, the costs of
maintaining and supporting the system continue.
3. List the reasons that technology development projects fail and the
measures that can be taken to increase the probability of success.
4. Examine the failed launch and eventual fix associated with
HealthCare.gov, understanding the factors associated with the
system’s botched rollout and techniques used to recover the effort.

©FlatWorld 2018
Beyond the Price Tag: Total Cost of Ownership
and the Cost of Tech Failure
• Total cost of ownership (TCO): All of the costs associated with the
ALL OF
design, THE COSTS
development, ASSOCIATED
testing, WITH
implementation, ANY FORM
documentation,
OF CAPITAL,
training, INCLUDING
and maintenance A SOFTWARE
of a software system. SYSTEM
• Costs in the case of a software system:
• Design
• Development
• Testing
• Implementation
• Documentation
• Training
• Maintenance

©FlatWorld 2018
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 allowing “feature creep” during
development
• Poor reporting of the project’s status
• Poor communication among customers, developers, and users
• Use of immature technology

©FlatWorld 2018
Why Do Technology Projects Fail? (cont’d)

• Unmanaged risks
• Inability to handle the project’s complexity
• Sloppy development and testing practices
• Poor project management
• Stakeholder politics
• Commercial pressures

©FlatWorld 2018
Why Do Technology Projects Fail?

• capability maturity model integration (CMMI): A process-


improvement approach that can assist in assessing the maturity,
quality, and development of certain organizational business
processes, and suggest steps for their improvement.

©FlatWorld 2018
Lessons Learned From the Failure and Rescue
of Healthcare.gov
• HealthCare.gov served as a national healthcare exchange where
people could shop for, compare, and enroll in healthcare plans.
• Subsidies offered for low-income enrollees.
• Assist those eligible to sign up for Medicaid.
• System riddled with problems:
• Bug-ridden and flawed design prevented sign-ups
• Extremely high cost
• Lack of clear authority over website functioning
• Could not handle national demands
• Lacked common measurement and reporting systems

©FlatWorld 2018
Lessons Learned From the Failure and Rescue
of Healthcare.gov (cont’d)

• Clear leadership brought in,


with responsibility and
authority.
• Team of seasoned
technologists hired:
• Setting clear priorities
• Results reporting
• Coordination implementation
• Stand-up meetings
• Over 8 million users signed up
by mid-April

©FlatWorld 2018

You might also like