Skip to main content
Engineering LibreTexts

3: Software

  • Page ID
    17957
  • Learning Objectives

    Upon successful completion of this chapter, you will be able to:

    • define the term software;
    • identify and describe the two primary categories of software;
    • describe the role ERP software plays in an organization;
    • describe cloud computing and its advantages and disadvantages for use in an organization; and
    • define the term open-source and identify its primary characteristics.

    Introduction

    The second component of an information system is software, the set of instructions that tells the hardware what to do. Software is created by developers through the process of programming (covered in more detail in Chapter 10). Without software, the hardware would not be functional.

    Types of Software

    Software can be broadly divided into two categories: operating systems and application software. Operating systems manage the hardware and create the interface between the hardware and the user. Application software performs specific tasks such as word processing, accounting, database management, video games, or browsing the web.

    Operating Systems

    Diagram of software layers: user applications operating system hardware

    An operating system is first loaded into the computer by the boot program, then it manages all of the programs in the computer, including both programs native to the operating system such as file and memory management and application software. Operating systems provide you with these key functions:

    1. managing the hardware resources of the computer;
    2. providing the user-interface components;
    3. providing a platform for software developers to write applications.

    All computing devices require an operating system. The most popular operating systems for personal computers are: Microsoft Windows, Apple’s Mac OS, and various versions of Linux. Smartphones and tablets run operating systems as well, such as iOS (Apple), Android (Google), Windows Mobile (Microsoft), and Blackberry.

    Microsoft provided the first operating system for the IBM-PC, released in 1981. Their initial venture into a Graphical User Interface (GUI) operating system, known as Windows, occurred in 1985. Today’s Windows 10 supports the 64-bit Intel CPU. Recall that “64-bit” indicates the size of data that can be moved within the computer.

    Apple introduced the Macintosh computer 1984 with the first commercially successful GUI. Apple’s operating system for the Macintosh is known as “Mac OS ” and also uses an Intel CPU supporting 64-bit processing. Mac OS versions have been named after mountains such as El Capitan, Sierra, and High Sierra. Multitasking, virtual memory, and voice input have become standard features of both operating systems.

    Image of Linux Ubuntu desktop
    Linux Ubuntu desktop

    The Linux operating system is open source, meaning individual developers are allowed to make modifications to the programming code. Linux is a version of the Unix operating. Unix runs on large and expensive minicomputers. Linux developer Linus Torvalds, a professor in Finland and the creator of Linux, wanted to find a way to make Unix run on less expensive personal computers. Linux has many variations and now powers a large percentage of web servers in the world.


    Sidebar: Why Is Microsoft Software So Dominant in the Business World?

    If you’ve worked in business, you may have noticed that almost all computers in business run a version of Microsoft Windows. However, in classrooms from elementary to college, there is almost a balance between Macs and PCs. Why has this not extended into the business world?

    As discussed in Chapter 1, many businesses used IBM mainframe computers back in the 1960s and 1970s. When businesses migrated to the microcomputer (personal computer) market, they elected to stay with IBM and chose the PC. Companies took the safe route, invested in the Microsoft operating system and in Microsoft software/applications.

    Microsoft soon found itself with the dominant personal computer operating system for businesses. As the networked PC began to replace the mainframe computer, Microsoft developed a network operating system along with a complete suite of programs focused on business users. Today Microsoft Office in its various forms controls 85% of the market. [1]


    Application Software

    The second major category of software is application software. Application software is utilized directly today to accomplish a specific goal such as word processing, calculations on a spreadsheet, or surfing the Internet using your favorite browser.

    The “Killer” App

    Microsoft Excel image
    Image of Microsoft Excel

    When a new type of digital device is invented, there are generally a small group of technology enthusiasts who will purchase it just for the joy of figuring out how it works. A “killer” application is one that becomes so essential that large numbers of people will buy a device just to run that application. For the personal computer, the killer application was the spreadsheet.

    The first spreadsheet was created by an MBA student at Harvard University who tired of making repeated calculations to determine the optimal result on a problem and decided to create a tool that allowed the user to easily change values and recalculate formulas. The result was the spreadsheet. Today’s dominant spreadsheet is Microsoft Excel which still retains the basic functionality of the first spreadsheet.

    Productivity Software

    Along with the spreadsheet, several other software applications have become standard tools for the workplace. Known as productivity software, these programs allow office employees to complete their daily work efficiently. Many times these applications come packaged together, such as in Microsoft’s Office suite. Here is a list of some of these applications and their basic functions:

    • Word processing Users can create and edit documents using this class of software. Functions include the ability to type and edit text, format fonts and paragraphs, as well as add, move, and delete text throughout the document. Tables and images can be inserted. Documents can be saved in a variety of electronic file formats with Microsoft Word’s DOCX being the most popular. Documents can also be converted to other formats such as Adobe’s PDF (Portable Document Format) or a .TXT file.
    • Spreadsheet This class of software provides a way to do numeric calculations and analysis, displaying the result in charts and graphs. The working area is divided into rows and columns, where users can enter numbers, text, or formulas. It is the formulas that make a spreadsheet powerful, allowing the user to develop complex calculations that can change based on the numbers entered. The most popular spreadsheet package is Microsoft Excel, which saves its files in the XLSX format.
    • Presentation Users can create slideshow presentations using this class of software. The slides can be projected, printed, or distributed to interested parties. Text, images, audio, and visual can all be added to the slides. Microsoft’s PowerPoint is the most popular software right now, saving its files in PPTX format.
    • Some office suites include other types of software. For example, Microsoft Office includes Outlook, its e-mail package, and OneNote, an information-gathering collaboration tool. The professional version of Office also includes Microsoft Access, a database package. (Databases are covered more in Chapter 4.)

    Microsoft popularized the idea of the office-software productivity bundle with their release of the Microsoft Office Suite. This package continues to dominate the market and most businesses expect employees to know how to use this software. However, many competitors to Microsoft Office do exist and are compatible with the file formats used by Microsoft (see table below). Microsoft also offers a cloud-based version of their office suite named Microsoft Office 365. Similar to Google Drive, this suite allows users to edit and share documents online utilizing cloud-computing technology.

    Image of table comparing software suites

    Utility Software and Programming Software

    Utility software includes programs that allow you to fix or modify your computer in some way. Examples include anti-malware software and programs that totally remove software you no longer want installed. These types of software packages were created to fill shortcomings in operating systems. Many times a subsequent release of an operating system will include these utility functions as part of the operating system itself.

    Programming software’s purpose is to produce software. Most of these programs provide developers with an environment in which they can write the code, test it, and convert/compile it into the format that can then be run on a computer. This software is typically identified as the Integrated Development Environment (IDE) and is provided free from the corporation that developed the programming language that will be used to write the code.


    Sidebar: “PowerPointed” to Death

    Screen shot of Tableau
    Screen shot of Tableau (click to enlarge)

    As presentation software has gained acceptance as the primary method to formally present information to a group or class, the art of giving an engaging presentation is becoming rare. Many presenters now just read the bullet points in the presentation and immediately bore those in attendance, who can already read it for themselves. The real problem is not with PowerPoint as much as it is with the person creating and presenting. Author and chief evangelist Guy Kawasaki has developed the 10/20/30 rule for Powerpoint users. Just remember: 10 slides, 20 minutes, 30 point font.”[2] If you are determined to improve your PowerPoint skills, read Presentation Zen by Garr Reynolds.

    New digital presentation technologies are being developed that go beyond Powerpoint. For example, Prezi uses a single canvas for the presentation, allowing presenters to place text, images, and other media on the canvas, and then navigate between these objects as they present. Tools such as Tableau allow users to analyze data in depth and create engaging interactive visualizations.


    Sidebar: I Own This Software, Right? Well…

    When you purchase software and install it on your computer, are you the owner of that software? Technically, you are not! When you install software, you are actually just being given a license to use it. When you first install a package, you are asked to agree to the terms of service or the license agreement. In that agreement, you will find that your rights to use the software are limited. For example, in the terms of the Microsoft Office software license, you will find the following statement: “This software is licensed, not sold. This agreement only gives you some rights to use the features included in the software edition you licensed.”

    For the most part, these restrictions are what you would expect. You cannot make illegal copies of the software and you may not use it to do anything illegal. However, there are other, more unexpected terms in these software agreements. For example, many software agreements ask you to agree to a limit on liability. Again, from Microsoft: “Limitation on and exclusion of damages. You can recover from Microsoft and its suppliers only direct damages up to the amount you paid for the software. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages.” This means if a problem with the software causes harm to your business, you cannot hold Microsoft or the supplier responsible for damages.


    Applications for the Enterprise

    As the personal computer proliferated inside organizations, control over the information generated by the organization began splintering. For instance, the customer service department creates a customer database to keep track of calls and problem reports, and the sales department also creates a database to keep track of customer information. Which one should be used as the master list of customers? Or perhaps someone in sales might create a spreadsheet to calculate sales revenue, while someone in finance creates a different revenue document that meets the needs of their department, but calculates revenue differently. The two spreadsheets will report different revenue totals. Which one is correct? And who is managing all of this information?

    Enterprise Resource Planning

    SAP logoIn the 1990s the need to bring an organization’s information back under centralized control became more apparent. The Enterprise Resource Planning (ERP) system (sometimes just called enterprise software) was developed to bring together an entire organization within one program. ERP software utilizes a central database that is implemented throughout the entire organization. Here are some key points about ERP.

    • A software application. ERP is an application that is used by many of an organization’s employees.
    • Utilizes a central database. All users of the ERP edit and save their information from the same data source. For example, this means there is only one customer table in the database, there is only one sales (revenue) table in the database, etc.
    • Implemented organization-wide. ERP systems include functionality that covers all of the essential components of a business. An organization can purchase modules for its ERP system that match specific needs such as order entry, manufacturing, or planning.

    ERP systems were originally marketed to large corporations. However, as more and more large companies began installing them, ERP vendors began targeting mid-sized and even smaller businesses. Some of the more well-known ERP systems include those from SAP, Oracle, and Microsoft.

    In order to effectively implement an ERP system in an organization, the organization must be ready to make a full commitment. All aspects of the organization are affected as old systems are replaced by the ERP system. In general, implementing an ERP system can take two to three years and cost several million dollars.

    So why implement an ERP system? If done properly, an ERP system can bring an organization a good return on their investment. By consolidating information systems across the enterprise and using the software to enforce best practices, most organizations see an overall improvement after implementing an ERP. Business processes as a form of competitive advantage will be covered in Chapter 9.

    Customer Relationship Management

    A Customer Relationship Management (CRM) system manages an organization’s customers. In today’s environment, it is important to develop relationships with your customers, and the use of a well-designed CRM can allow a business to personalize its relationship with each of its customers. Some ERP software systems include CRM modules. An example of a well-known CRM package is Salesforce.

    Supply Chain Management

    Supply Chain

    Many organizations must deal with the complex task of managing their supply chains. At its simplest, a supply chain is the linkage between an organization’s suppliers, its manufacturing facilities, and the distributors of its products. Each link in the chain has a multiplying effect on the complexity of the process. For example, if there are two suppliers, one manufacturing facility, and two distributors, then the number of links to manage = 4 ( 2 x 1 x 2 ). However, if two more suppliers are added, plus another manufacturing facility, and two more distributors, then the number of links to manage = 32 ( 4 x 2 x 4 ). Also, notice in the above illustration that all arrows have two heads, indicating that information flows in both directions. Suppliers are part of a business’s supply chain. They provide information such as price, size, quantity, etc. to the business. In turn, the business provides information such as quantity on hand at every store to the supplier. The key to successful supply chain management is the information system.

    Supply chain diagram

    A Supply Chain Management (SCM) system handles the interconnection between these links as well as the inventory of the products in their various stages of development. As discussed previously much of Walmart’s success has come from its ability to identify and control the supply chain for its products. Walmart invested heavily in their information system so they could communicate with their suppliers and manage the thousands of products they sell.

    Walmart realized in the 1980s that the key to their success was information systems. Specifically, they needed to manage their complex supply chain with its thousands of suppliers, thousands of retail outlets, and millions of customers. Their success came from being able to integrate information systems to every entity (suppliers, warehouses, retail stores) through the sharing of sales and inventory data. Take a moment to study the diagram above…look for the double-headed arrow. Notice that data flows down the supply chain from suppliers to retail stores. But it also flows up the supply chain, back to the suppliers so they can be up to date regarding production and shipping.

    Mobile Applications

    Just as with the personal computer, mobile devices such as smartphones and electronic tablets also have operating systems and application software. These mobile devices are in many ways just smaller versions of personal computers. A mobile app is a software application designed to run specifically on a mobile device.

    As shown in Chapter 2, smartphones are becoming a dominant form of computing, with more smartphones being sold than personal computers. A greater discussion of PC and smartphone sales appears in Chapter 13, along with statistics regarding the decline in tablet sales. Businesses have adjusted to this trend by increasing their investment in the development of apps for mobile devices. The number of mobile apps in the Apple App Store has increased from zero in 2008 to over 2 million in 2017.[3]

    Building a mobile app will will be covered in Chapter 10.

    Cloud Computing

    Historically, for software to run on a computer an individual copy of the software had to be installed on the computer. The concept of “cloud” computing changes this.

    Cloud Computing

    The “cloud” refers to applications, services, and data storage located on the Internet. Cloud service providers rely on giant server farms and massive storage devices that are connected via the Internet. Cloud computing allows users to access software and data storage services on the Internet.

    You probably already use cloud computing in some form. For example, if you access your e-mail via your web browser, you are using a form of cloud computing if you are using Google Drive’s applications. While these are free versions of cloud computing, there is big business in providing applications and data storage over the web. Cloud computing is not limited to web applications. It can also be used for services such as audio or video streaming.

    Advantages of Cloud Computing

    • No software to install or upgrades to maintain.
    • Available from any computer that has access to the Internet.
    • Can scale to a large number of users easily.
    • New applications can be up and running very quickly.
    • Services can be leased for a limited time on an as-needed basis.
    • Your information is not lost if your hard disk crashes or your laptop is lost or stolen.
    • You are not limited by the available memory or disk space on your computer.

    Disadvantages of Cloud Computing

    • Your information is stored on someone else’s computer.
    • You must have Internet access to use it.
    • You are relying on a third-party to provide these services.

    Cloud computing has the ability to really impact how organizations manage technology. For example, why is an IT department needed to purchase, configure, and manage personal computers and software when all that is really needed is an Internet connection?

    Using a Private Cloud

    Many organizations are understandably nervous about giving up control of their data and some of their applications by using cloud computing. But they also see the value in reducing the need for installing software and adding disk storage to local computers. A solution to this problem lies in the concept of a private cloud. While there are various models of a private cloud, the basic idea is for the cloud service provider to section off web server space for a specific organization. The organization has full control over that server space while still gaining some of the benefits of cloud computing.

    Virtualization

    Virtualization is the process of using software to simulate a computer or some other device. For example, using virtualization a single physical computer can perform the functions of several virtual computers, usually referred to as Virtual Machines (VMs). Organizations implement virtual machines in an effort to reduce the number of physical servers needed to provide the necessary services to users. This reduction in the number of physical servers also reduces the demand for electricity to run and cool the physical servers. For more detail on how virtualization works, see this informational page from VMWare.

    Software Creation

    Example program "Hello World" written in Java
    Example program “Hello World” written in Java

    Modern software applications are written using a programming language such as Java, Visual C, C++, Python, etc. A programming language consists of a set of commands and syntax that can be organized logically to execute specific functions. Using this language a programmer writes a program (known as source code) that can then be compiled into machine-readable form, the ones and zeroes necessary to be executed by the CPU. Languages such as HTML and Javascript are used to develop web pages.

    Open-Source Software

    When the personal computer was first released, computer enthusiasts banded together to build applications and solve problems. These computer enthusiasts were motivated to share any programs they built and solutions to problems they found. This collaboration enabled them to more quickly innovate and fix problems.

    As software began to become a business, however, this idea of sharing everything fell out of favor with many developers. When a program takes hundreds of hours to develop, it is understandable that the programmers do not want to just give it away. This led to a new business model of restrictive software licensing which required payment for software, a model that is still dominant today. This model is sometimes referred to as closed source, as the source code is not made available to others.

    There are many, however, who feel that software should not be restricted. Just as with those early hobbyists in the 1970s, they feel that innovation and progress can be made much more rapidly if they share what has been learned. In the 1990s, with Internet access connecting more people together, the open-source movement gained steam.

    Open Office startup screen

    Open Office Suite

    Open-source software makes the source code available for anyone to copy and use. For most people having access to the source code of a program does little good since it is challenging to modify existing programming code. However, open-source software is also available in a compiled format that can be downloaded and installed. The open-source movement has led to the development of some of the most used software in the world such as the Firefox browser, the Linux operating system, and the Apache web server.

    Many businesses are wary of open-source software precisely because the code is available for anyone to see. They feel that this increases the risk of an attack. Others counter that this openness actually decreases the risk because the code is exposed to thousands of programmers who can incorporate code changes to quickly patch vulnerabilities.

    There are thousands of open-source applications available for download. For example, you can get the productivity suite from Open Office. One good place to search for open-source software is sourceforge.net, where thousands of programs are available for free download.

    Summary

    Software gives the instructions that tell the hardware what to do. There are two basic categories of software: operating systems and applications. Operating systems interface with the computer hardware and make system resources available. Application software allows users to accomplish specific tasks such as word processing, presentations, or databases. This group is also referred to as productivity software. An ERP system stores all data in a centralized database that is made accessible to all programs and departments across the organization. Cloud computing provides access to software and databases from the Internet via a web browser. Developers use various programming languages to develop software.


    Study Questions

    1. Develop your own definition of software being certain to explain the key terms.
    2. What are the primary functions of an operating system?
    3. Which of the following are operating systems and which are applications: Microsoft Excel, Google Chrome, iTunes, Windows, Android, Angry Birds.
    4. What is your favorite software application? What tasks does it help you accomplish?
    5. How would you categorize the software that runs on mobile devices? Break down these apps into at least three basic categories and give an example of each.
    6. What does an ERP system do?
    7. What is open-source software? How does it differ from closed-source software? Give an example of each.
    8. What does a software license grant to the purchaser of the software?

    Exercises

    1. Find a case study online about the implementation of an ERP system. Was it successful? How long did it take? Does the case study tell you how much money the organization spent?
    2. If you were running a small business with limited funds for information technology, would you consider using cloud computing? Find some web-based resources that support your decision.
    3. Go to sourceforge.net and review their most downloaded software applications. Report on the variety of applications you find. Then pick one that interests you and report back on what it does, the kind of technical support offered, and the user reviews.
    4. Review this article on the security risks of open-source software. Write a short analysis giving your opinion on the different risks discussed.
    5. List three examples of programming languages? What features in each language makes it useful to developers?

    Lab

    1. Download Apache Open Office and create a document. Note: If your computer does not have Java Runtime Environment (JRE) 32-bit (x86) installed, you will need to download it first from this site.Open Office runs only in 32-bit (x86) mode. Here is a link to the Getting Started documentation for Open Office. How does it compare to Microsoft Office? Does the fact that you got it for free make it feel less valuable?

    1. Statista. (2017). Microsoft – Statistics & Facts. Retrieved from https://www.statista.com/topics/823/microsoft/
    2. Kawasaki, G. (n.d.). The 10/20/30 Rules for PowerPoint. Retrieved from https://guykawasaki.com/the_102030_rule/.
    3. Statista. (2018). Number of apps in Apple App Store July 2008 to January 2017. Retrieved from https:https://www.statista.com/statistics/...ple-app-store/.