Skip to main content
Workforce LibreTexts

3.2: Types of Software

  • Page ID
    22713
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Figure \(\PageIndex{1}\) illustrates the types of software. The bottom layer of a computer system is composed of hardware components like the CPU, motherboard, and ports. Above this is the Operating System, which facilitates communication between the hardware and other layers. The next layer includes single-purpose utilities like anti-virus software and general-purpose applications like word processors, as well as specialized applications like CAD engineering software. At the top layer, we see the interactions between the users and different types of software.

     

    Layers of software - see long description above the text
    Figure \(\PageIndex{1}\): Overview of software types. Image by Ly-Huong Pham is licensed under CC BY-NC

     

    System Software

    System software refers to the group of software called: operating systems and utilities.

     

    Operating Systems

    The operating system provides several essential functions, including:

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

    An operating system (OS) is a key component of the system software. Popular operating systems include Google AndroidTM, Microsoft WindowsTM, and Apple iOSTM.

    An OS is a set of programs that coordinate hardware components and other programs and acts as an interface with application software and networks. Some examples include getting input from a keyboard device, displaying output to a screen, and storing or retrieving data from a disk drive.

     

    Long explanation is below the picture
    Figure \(\PageIndex{2}\): Operating System Role. Image by Ly-Huong T. Pham is licensed by CC BY NC

     

    Figure \(\PageIndex{2}\) shows the operating system at the center; it accepts input from various input devices such as a mouse, a keyboard, a digital pen, or a speech recognition (left panel), outputs to various output devices such as screen monitor or a printer (right panel); acts an intermediary between applications and apps (top middle), and access the internet via network devices such as a router or a web server (bottom middle.)

    In 1984, Apple introduced the Macintosh computer, featuring an operating system with a graphical user interface, now known as macOS. Apple has different names for its OS running on different devices such as iOS, iPadOS, watchOS, and tvOS.

    In 1986, as a response to Apple, Microsoft introduced the Microsoft Windows Operating Systems, commonly known as Windows, as a new graphical user interface for their then command-based operating system, known as MS-DOS, which was developed for IBM’s Disk Operating System or IBM-DOS. By the 1990s, Windows dominated the desktop personal computers market as the top OS and overtaken Apple’s OS.

    Behaviorism_1.gif
    Figure \(\PageIndex{3}\): Tux, Linux’s Mascot. Image by Larry Ewing and The GIMP is licensed Public Domain

     

    A third personal-computer operating system family that has gained popularity is Linux. Linux is a version of the Unix operating system that runs on a personal computer. Unix is an operating system used primarily by scientists and engineers on larger minicomputers. These computers, however, are costly, and software developer Linus Torvalds wanted to find a way to make Unix run on less expensive personal computers: Linux was the result. Linux has many variations and now powers a large percentage of web servers in the world. It is also an example of open-source software, a topic we will cover later in this chapter.

    In 2007, Google introduced Android to support mobile devices such as smartphones and tablets specifically. It is based on the Linux kernel, and a consortium of developers developed other open-source software. Android quickly became the top OS for mobile devices, overtook Microsoft, and has created opportunities for new competitors such s Samsung Group.

    Operating systems have continuously improved with more and more features to increase speed and performance to process more data at once and access more memory. Features such as multitasking, virtual memory, and voice input have become standard features of both operating systems. Many of these features are enabled by the improved speed and performance of the underlying hardware components.

    All computing devices run an operating system, as shown in the below table. The most popular operating systems are Microsoft’s Windows, Apple’s operating system, and different Linux versions for personal computers. Smartphones and tablets run operating systems as well, such as Apple’s iOS and Google’s Android.

     

    Computing devices and Operating systems

    Operating Systems

    Desktop

    Mobile

    Microsoft Windows

    Windows 11

    Windows 10

    Apple OS

    Mac OS

    iOS

    Various versions of Linux

    Ubuntu

    Android (Google)

    According to Statista.com (2023), Windows still retains the desktop's dominant position with over 74% market share, followed by Apple's OS with %15.33 market share. However, in the mobile industry, Statista.com (2023) reports that Android maintained its position as the leading mobile operating system worldwide with a market share of 70.8 percent and Apple's iOS had a market share of 28.4 percent.

     

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

    As we learned in Chapter 1, almost all businesses used IBM mainframe computers in the 1960s and 1970s. Businesses shied away from personal computers until IBM released the PC in 1981. Initially, business decisions were low-risk decisions since IBM was dominant, a safe choice. Another reason might be that once a business selects an operating system as the standard solution, it will invest in additional software, hardware, and services built for this OS. The switching cost to another OS becomes a financial hurdle and for the workforce to be retrained.

     

    Utility

    Utility software includes specific-purposed computer programs and is focused on keeping the computing environment or infrastructure healthy. Examples include antivirus software to scan and stop computer viruses and disk defragmentation software to optimize files' storage. Over time, some of the popular utilities were absorbed as features of an operating system. Here are a few popular utilities:

    1. CCleaner: Cleans up junk files, repairs registry errors, and offers tools to optimize the startup process.
    2. Defraggler: Designed to defragment hard drives to optimize the speed of the device
    3. Norton Utilities: Various tools including disk cleaner, startup manager, and disk defragmenter to optimize and speed up your computer.
    4. Advanced SystemCare: Optimization tools, malware protection, and a wide range of system maintenance utilities.
    5. Disk Utility (for macOS): Apple's built-in tool for disk repair, partitioning, and format management.

    Keep in mind that the "top" software can vary based on reviews, specific needs, updates, and new entrants in the market. Always ensure that any utility software you use is compatible with your system and is sourced from reputable providers to avoid potential harm or unwanted software.

     

    Application or App Software

    The second major category of software is application software. While system software focuses on running the computers, application software allows the end-user to accomplish some goals or purposes. Examples include word processing, photo editor, spreadsheet, or a browser. Applications software are grouped in many categories, including:

    • Killer app
    • Productivity
    • Enterprise
    • Mobile

    The “Killer” App

     

    Behaviorism_1.gif
    Figure \(\PageIndex{4}\):VisiCalc. Image by Gortu is licensed under Public Domain

     

    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 runs only on one OS platform and becomes so essential that many people will buy a device on that OS platform just to run that application. For the personal computer, the killer application was the spreadsheet. In 1979, VisiCalc, the first personal computer spreadsheet package, was introduced. It was an immediate hit and drove sales of the Apple II. It also solidified the value of the personal computer beyond the relatively small circle of technology geeks. When the IBM PC was released, another spreadsheet program, Lotus 1-2-3, was the killer app for business users. Another killer is the web browser that brings the Internet to the mass. Microsoft Excel dominates as the spreadsheet program, running on all the popular operating systems. Today various Artificial Intelligence (AI) generated text such as ChatGPT appears to be the next killer app. We will discuss AI-generated text in a later chapter.

    Productivity Software

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

    • Word processing: This class of software provides for the creation of written documents. Functions include the ability to type and edit text, format fonts and paragraphs, and add, move, and delete text throughout the document. Most modern word-processing programs also have the ability to add tables, images, voice, videos, and various layout and formatting features to the document. Word processors save their documents as electronic files in a variety of formats. The most popular word-processing package is Microsoft Word, which saves its files in the Docx format. This format can be read/written by many other word-processor packages or converted to other formats such as Adobe’s PDF.
    • Spreadsheet: This class of software provides a way to do numeric calculations and analysis. The working area is divided into rows and columns, where users can enter numbers, text, or formulas. The formulas make a spreadsheet powerful, allowing the user to develop complex calculations that can change based on the numbers entered. Most spreadsheets also include the ability to create charts based on the data entered. The most popular spreadsheet package is Microsoft Excel, which saves its files in the XLSX format. Just as with word processors, many other spreadsheet packages can read and write to this file format.
    • Presentation: This software class provides for the creation of slideshow presentations that can be shared, printed, or projected on a screen. Users can add text, images, audio, video, and other media elements to the slides. Microsoft’s PowerPoint remains the most popular software, saving its files in PPTX format.
    • Office Suite: Microsoft popularized the idea of the office-software productivity bundle with their release of Microsoft Office. 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.) 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 exist and are compatible with Microsoft's file formats (see table below). Microsoft now has a cloud-based version called Microsoft Office 365. Similar to Google Drive, this suite allows users to edit and share documents online utilizing cloud-computing technology. Cloud computing will be discussed later in this chapter.

     

    Popular Software

    Category

    Word Processing

    Spreadsheet

    Presentation

    Other

    Microsoft Office 365 suite

    Word

    Excel

    PowerPoint

    Outlook email, Access (database), OneNote (note and share notes), One Drive (cloud storage), ClipChamp, etc.

    Cloud version works on any platform via a browser

    Apple iWork suite

    Pages

    Numbers

    KeyNotes

    Integrates with Apple apps such as iTunes, iCloud, and other Apple software.

    Work only Apple’s devices

    Open Office suite

    Discontinued as of April 2011

    Writer

    Calc

    Impress

    Base (database), Draw (drawing), Math (equations)

    Multiple versions to support different OS, including Linux

    Google Drive

    Docs

    Sheets

    Slides

    Gmail (email), Forms, Draw, Meet, etc.

    Work in any browser

     Figure \(\PageIndex{5}\): Comparison of office application software suites. Adapted by Ly-Huong Pham from image by David Bourgeois, Ph.D. is licensed under CC BY 4.0

     

    Enterprise Software

    As the personal computer proliferated inside organizations, control over the information generated by the organization began splintering. For example, the customer service department creates a customer database to track calls and problem reports. The sales department also creates a database to keep track of customer information. Which one should be used as the master list of customers? As another example, someone in sales might create a spreadsheet to calculate sales revenue, while someone in finance creates a different one that meets their department's needs. However, the two spreadsheets will likely come up with different totals for revenue. Which one is correct? And who is managing all this information? This type of example presents challenges to management to make effective decisions.

    Enterprise Resource Planning (ERP)

    In the 1990s, the need to bring the 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 in one software application. Key characteristics of an ERP include:

    • An integrated set of modules: Each module serves different functions in an organization, such as Marketing, Sales, Manufacturing.
    • A consistent user interface: An ERP is a software application that provides a common interface across all modules of the ERP and is used by an organization’s employees to access information
    • A common database: All users of the ERP edit and save their information from the data source. This means that there is only one customer database, there is only one calculation for revenue, etc.
    • Integrated business processes: All users must follow the same business rules and process throughout the entire organization”: ERP systems include functionality that covers all of the essential components of a business, such as how organizations track cash, invoices, purchases, payroll, product development, supply chain.

    Figure \(\PageIndex{6}\) shows that an ERP has many modules, all connected to a central database. Each module support different business processes like, going clockwise, Accounting, Finance, Inventory, Human Resources, Production Planning, Sales and Distribution, Project Management, Quality Management, and Materials Management.  ERP integrates business processes across departments onto a single unified system and database. This helps improve efficiency, data access, and decision making.

     

    fig-ch01_patchfile_01.jpg
    Figure \(\PageIndex{6}\): Enterprese Resource Planning Modules.  Image by Ly-Huong Pham, is licensed under  CC BY-NC

     

    ERP systems were originally marketed to large corporations, given that they are costly. 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.

    To effectively implement an ERP system in an organization, the organization must be ready to make a full commitment, including the cost to train employees as part of the implementation.

    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 several million dollars.

    So why implement an ERP system? If done properly, an ERP system can bring an organization a good return on its 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 (CRM)

    A customer relationship management (CRM) system is a software application designed to manage customer interactions, including customer service, marketing, and sales. It collects all data about the customers.  

    CRM (Customer Relationship Management) is not typically a module within an ERP (Enterprise Resource Planning) system. CRM and ERP are separate systems that can complement each other when integrated:

    • ERP focuses on internal business processes such as manufacturing, finance, HR, etc.
    • CRM focuses on managing customer interactions and data - sales, marketing, customer service, support.

    The objectives of a CRM are:

    • Personalize customer relationships to increase customer loyalty
    • Improve communication
    • Anticipate need to retain existing or acquire new customers

    Some ERP software systems include CRM modules. An example of a well-known CRM package in Salesforce

    Behaviorism_1.gif
    Figure \(\PageIndex{7}\): Components in the different types of CRM. Image by Bgrigorov is licensed under CC-BY-SA

     

    While they have different focuses, integrating CRM and ERP can be beneficial for companies. Some ways they can work together:

    • CRM system provides customer data that helps inform demand forecasts and supply chain in ERP.
    • ERP provides product availability and pricing information to the CRM system.
    • Integrated reporting and analytics brings together data from both systems.
    • Automated workflows between both systems (e.g. order management).

    CRM and ERP serve different core purposes, but integration between the two systems allows critical customer and business data to be shared to increase the effectiveness of the decisions made by the organization.

     

    Supply Chain Management (SCM) Software

    SCM is a module within an ERP. SCM supports functions like:

    • Inventory management - tracking stock levels, setting reorder points, etc.
    • Purchasing - managing vendors, purchase orders, payment terms, etc.
    • Warehouse management - inventory allocation across locations, stock movement, picking/packing, etc.
    • Order management - order entry, shipment/fulfillment, returns/exchanges, etc.
    • Manufacturing - production planning, materials requirements, managing manufacturing processes
    • Transportation/logistics - optimizing shipment methods, routes, carriers, etc.

    Many organizations must deal with the complex task of managing their supply chains. At its simplest, a supply chain is a linkage between an organization’s suppliers, its manufacturing facilities, and its products' distributors. 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 there are 2 x 1 x 2 = 4 links to handle. However, if you add two more suppliers, another manufacturing facility, and two more distributors, then you have 4 x 2 x 4 = 32 links to manage.

    Behaviorism_1.gif
    Figure \(\PageIndex{8}\): A supply and demand network. Image by Andreas Wieland is licensed under CC-BY-SA 3.0

    A supply chain management (SCM) system manages the interconnection between these links and the products' inventory in their various development stages. The Association provides a full definition of a supply chain management system for Operations Management: “The design, planning, execution, control, and monitoring of supply chain activities to create net value, building a competitive infrastructure, leveraging worldwide logistics, synchronizing supply with demand, and measuring performance globally.” Most ERP systems include a supply chain management module to enable optimization and automation of an organization's end-to-end supply chain activities.

    Mobile Software

    A mobile application, commonly called a mobile app, is a software application programmed to run specifically on a mobile device such as smartphones and tablets.

    As we saw in Chapter 2, smartphones and tablets are becoming a dominant form of computing, with many more smartphones sold than personal computers. This means that organizations will have to get smart about developing software on mobile devices to stay relevant. With the rise of mobile devices' adoption, the number of apps is about 9M of mobile apps, 255B app downloads,  and it is projected that by 2025, mobile apps are expected to generate more than US$613 billion in app revenue. (bankmycell, 2023).  Nowadays, there is an app for just about anything a user is looking to do. Examples include apps such as a flashlight, a step counter, a plant identifier, and games. 

    We will discuss the question of building a mobile app in Chapter 10.

     

    Artificial Intelligence Software

     

    Definition: Term - Artificial Intelligence

    Artificial intelligence (AI) refers to computer systems or software that can perform tasks normally requiring human intelligence, such as visual perception, speech recognition, and decision-making. AI leverages large amounts of data and complex algorithms to mimic human cognitive skills in an automated manner. It is used in applications like digital assistants, image analysis, autonomous vehicles, and fraud detection. 

     

    Artificial intelligence (AI) systems called generative models represent a new emerging software category.  Instead of focusing on analysis, this new category focuses on generating content and artifacts based on the massive quantity of data it is trained on.  In essence, it is the simulation of human intelligence processes by machines. 2023 seems to be the breakout year for many artificial intelligence software, with two popular models, one to generate images and one to generate text.  

    Generative image models like DALL-E leverage neural networks trained on massive image datasets to generate realistic images and art from a text description.  Large language models (LLM) such as ChatGPT are trained on massive online text data to generate coherent written responses.  A LLM is only as good and current as the data used to train it. If incorrect data was used in the training, then LMM will give answers using the incorrect data.  If a LMM is trained with the data that is only current up to Dec 2021 then it will not know anything beyond 2021.  eWeek (2023) has a helpful comparison chart for some AI generative products, what they are best for, and their key attributes.

    Here is a 5-min video from IBM explaining how Large Language Models Work.

     

     

    This relatively new and exciting category comes with various benefits, like assisting students in their studies, improving writing skills, chatting, and providing quick answers. However, as with any disruptive technology, there are potential legal and ethical issues, including licensing problems, plagiarism risks, and incorrect answers generated by these AI bots (commonly known as hallucinations). It's important for users of these new tools to verify the accuracy of the data before using them, just as one cannot always assume the internet search results are 100% correct.  

    Here is a 9-minute video from IBM explaining why large language models hallucinate. 

     

     

    Note:  Can AI Help Making Microsoft PowerPoint Presentations Less Boring?

    As presentation software, specifically Microsoft PowerPoint, has gained acceptance as the primary method to present information in a business setting formally, 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 with the person creating and presenting. The book Presentation Zen by Garr Reynolds is highly recommended to anyone who wants to improve their presentation skills.

    Some tools have been introduced to make presentation software more effective. One such example is Prezi. Prezi is a presentation tool that uses a single canvas, allowing presenters to place text, images, and other media on the canvas and then navigate between these objects as they present.

    What can AI help with this problem?  

    A more recent example is the integration of artificial intelligence into Microsoft 365, known as Microsoft 365 Copilot that helps users create even more powerful presentations faster. 

     

     

     

     

    References

    Best Artificial Intelligence Software 2023.  Retrieved August 27, 2023 from eweek.com

    How Large Language Models Work by IBM Technology. (2023).  Retrieved August 27, 2023 from YouTube.com

    How Many Apps are There in the World (Aug 2023.)  Retrieved August 27, 2023 from bankmycell.com

    Microsoft CoPilot (March, 2023).  Retrieved August 10, 2023 from Microsoft Blog

    Why Large Language Models Hallucinate IBM Technology. (2023). Retrieved August 27, 2023 from YouTube.com

     

     


    This page titled 3.2: Types of Software is shared under a CC BY 3.0 license and was authored, remixed, and/or curated by Ly-Huong T. Pham and Tejal Desai-Naik (Evergreen Valley College) .