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