For Genious Alert1234 A
9-*
Information Systems:
A Manager’s Guide to Harnessing Technology
9-*
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-*
Chapter 9
Understanding Software: A Primer for Managers
9-*
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-*
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-*
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-*
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
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-*
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-*
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-*
Figure 9.1 - The Hardware/Software Layer Cake
9-*
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-*
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-*
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,” sharing usage information, helping diagnose problems, indicating maintenance schedules, providing alerts, or enabling devices to take orders from other systems
9-*
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-*
Application Software
- Categories of enterprise software include:
- ERP (enterprise resource planning)
- SCM (supply chain management)
- CRM (customer relationship management
- BI (business intelligence) software
9-*
Categories of Enterprise Software
9-*
| 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 |
Figure 9.4 - ERP in Action
9-*
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-*
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-*
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-*
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-*
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-*
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-*
Figure 9.6 – Multitiered Distributed System
9-*
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-*
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-*
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-*
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-*
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-*
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-*
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-*
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, and suggest steps for their improvement
9-*
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-*