Software Chapter 3 PDF
Document Details
Uploaded by TerrificSugilite5995
UTM (Universiti Teknologi Malaysia)
2023
Tags
Related
Summary
This document is a chapter on software, focusing on system software, including operating systems and utilities. It describes different types of software and their functionalities. The chapter also touches upon application and programming software.
Full Transcript
Chapter 3 Software Chapter 3 1 SOFTWARE - TOPIC ⚫ System software ⚫ Features of System Software ⚫ Type of System Software...
Chapter 3 Software Chapter 3 1 SOFTWARE - TOPIC ⚫ System software ⚫ Features of System Software ⚫ Type of System Software ⚫ operating system ⚫ Utilities ⚫ Application software ⚫ The need for application software ⚫ Type of application software System Software ⚫ Advantage and disadvantage of application software ⚫ Different between System Software and Application Software ⚫ Programming software ⚫ History of Programming software ⚫ Type of programming software ⚫ Component of programming software ⚫ Example of programming software 2 ⚫ Malicious software Introduction ⚫ Software is a set of instructions or code that directs computers and digital devices to perform specific tasks. ⚫ Makes hardware functional, enabling various applications. System Software ⚫ Main type of software are: ⚫ System software ⚫ Application software ⚫ Programming software ⚫ Malicious software 3 System Software System software 4 System Software ⚫ System software is a program designed to run a computer's hardware and applications and manage its resources : ⚫ memory ⚫ processors System Software ⚫ devices. ⚫ It also provides a platform for running application software, ⚫ system software is typically bundled with a computer's operating system. 5 System Software - Features of System Software 1. High Speed - high speed is an essential feature of system software 2. Versatile - is determined by how many different programs it can run simultaneously. 3. Hard to Manipulate - is determined by how difficult System Software it is to change settings and configurations. 4. Close to the System - The closeness of system software to the System determines its accessibility. 6 System Software - Operating Systems A collection of programs that handle technical tasks ⚫ Functions ⚫ Manages computer resources ⚫ Coordinate memory, processing, storage, printers and monitors ⚫ Monitor system performance ⚫ Schedule tasks ⚫ Provide security System Software ⚫ Start-up the computer ⚫ Provides user interface ⚫ Graphical user interface (GUI) ⚫ Runs applications ⚫ Multitasking ⚫ Foreground and background applications 7 System Software - Operating Systems Features of an Operating System ⚫ Booting – starting or restarting the computer ⚫ Features in common with application software ⚫ Icons ⚫ Pointer ⚫ Windows System Software ⚫ Menus ⚫ Tabs ⚫ Dialog boxes ⚫ Help ⚫ Gesture Control ⚫ Files and Folders ⚫ Files share data and programs 8 ⚫ Folders store related files System Software - Operating Systems Categories of Operating Systems ⚫ Three basic categories ⚫ Embedded operating systems – RTOS (real-time operating systems) ⚫ Smartphones System Software ⚫ Smartwatches ⚫ Video game systems ⚫ Stand-alone operating systems ⚫ Also called desktop operating system ⚫ Network operating systems (linked computers) ⚫ Windows Server, Linux, Unix ⚫ OS stored on network server which coordinates all communication between the other computers 9 System Software - Operating Systems Mobile Operating Systems ⚫Mobile OS ⚫ Embedded operating system ⚫ Less complicated System Software and more specialized for wireless ⚫Some of the best known ⚫ Android ⚫ iOS 10 ⚫ Windows Phone System Software - Operating Systems Desktop Operating Systems ⚫Operating systems commonly used by individuals ⚫ Windows – most widely used ⚫ Mac OS – powerful and easy to use System Software ⚫ UNIX – network; originally designed for Web ⚫ LINUX – non proprietary; free from the Web 11 System Software - Operating Systems Windows - Most Used OS ⚫Windows 10 ⚫Windows 11 ⚫Merges Windows ⚫Adds haptics to the desktop and mobile digital pen operating systems ⚫Can input information not only by typing and System Software clicking, but also through touching, writing, and speaking (voice) Source: https://www.minitool.com/news/windows-11-vs-windo 12 ws-10.html System Software - Operating Systems Mac OS ⚫ Two most recent versions: ⚫ Big Sur ⚫ The most advanced desktop operating system ⚫ Catalina ⚫ Next generation OS App icon in Launchpad on Mac OS Catalina (left) and Big System Software Sur (right) Source: ⚫ Mac OS X runs on Apple https://www.idownloadblog.com/2020/07/07/macos-catalina-big-sur-visual-com parison/ computers: ⚫ OS X El Capitan ⚫ Focused performance, stability, and security ⚫ OS X Yosemite ⚫ New user interface ⚫ OS X Mavericks 13 ⚫ Improved power management The OS X El Capitan Desktop Source: System Software - Operating Systems Mac OS ⚫ The era of Mac OS X is over ⚫ Replaced with new Mac OS System Software Source: https://arstechnica.com/gadgets/2020/11/ macos-11-0-big-sur-the-ars-technica-review / 14 System Software - Operating Systems UNIX and LINUX ⚫ UNIX operating system ⚫ Servers on the Web ⚫ Mainframe computers ⚫ Personal Computers System Software ⚫LINUX - version of UNIX ⚫ Alternative to windows ⚫ Open source - free ⚫ Google Chrome OS based on Linux ⚫ Focuses on Internet connectivity and cloud computing ⚫ Speed is determined by the speed of the Internet 15 System Software - Operating Systems Virtualization ⚫ Ability to support multiple operating systems on a single physical machine ⚫ Software virtualization ⚫ Each virtual machine appears as a System Software separate independent computer ⚫Host operating system ⚫Guest operating system ⚫ Parallels ⚫ Mac to run Windows programs in Mac OS and Mac OS X 16 System Software - Operating Systems Types of Software Virtualization ⚫Operating System Virtualization ⚫ A hardware is used which consists of software on which different operating systems work ⚫Application Virtualization System Software ⚫ Refer to running an application on a thin client ⚫Service Virtualization ⚫ A technique to simulate the behaviour of some components in a mixture of component-based applications 17 Source: System Software - Utilities ⚫Specialized programs to make computing easier ⚫Most essential utilities ⚫ Troubleshooting or diagnostic programs ⚫ Recognizes and correct problems ⚫ Antivirus programs ⚫ Guard your computer against viruses System Software ⚫ Backup programs ⚫ Copies of files to restore if necessary ⚫ File compression programs ⚫ Reduces the size of files for more efficient storage 18 System Software - Utilities Making IT Work for You – Mac OS X Activity Monitor ⚫ Has your computer ever just stopped responding? What do you do? ⚫ Mac OS X Activity Monitor is designed to help. System Software 19 System Software - Utilities Windows Utilities Windows Operating Systems includes utilities such as: ⚫ File History System Software ⚫ Can create a backup for your hard drive ⚫ Disk Cleanup ⚫ Identifies and eliminates non essential files ⚫ Disk Defragmenter ⚫ Rearranges files and unused disk space to optimize performance 20 System Software - Utilities File History ⚫ Utility program included with Windows 8 ⚫ Makes a copy of all files in the System Software libraries, contacts, favorites and the desktop ⚫ Helps prevent the effect of disk failure 21 System Software - Utilities Disk Cleanup ⚫ Identifies and eliminates nonessential files ⚫ Frees up valuable space and improves system performance System Software 22 System Software - Utilities Disk Defragmenter ⚫ Files are organized in tracks and sectors ⚫ Tracks – concentric ring ⚫ Sectors – wedge-shaped sections of a track System Software ⚫ Optimize drives - utility program ⚫ Identifies and eliminates unnecessary fragments ⚫ Files become fragmented ⚫ Broken up and stored in non contiguous space ⚫ Rearranges files and unused disk space to optimize operations 23 System Software - Utilities Utility Suites ⚫ Combine several programs into one package ⚫ Less expensive System Software ⚫ Popular suites ⚫ Bit Defender ⚫ Norton Utilities ⚫ Kaspersky 24 System Software Application software 25 Application software ⚫ Application software (App) is a software that performs specific functions for the end user by interacting directly with it. ⚫ The sole purpose of application software is to aid the user in doing specified tasks. ⚫ Example of Application Function: System Software ⚫ Web browsers: Firefox and Google Chrome, ⚫ Personal computer or laptop: Microsoft Word, Excel, and many more ⚫ Smartphone apps: WhatsApp and Telegram, ⚫ Games apps: Candy Crush Saga and many more ⚫ Popular services that people rely on every day: weather or transportation information, ⚫ Apps that connect end users with their businesses. 26 Application software – The need for application software End-users can use application software to perform any type of single or many tasks. Following are a few reasons you would definitely need application software (App) on your computer: ∙ Helps the user in completing specific tasks: Any application software should, in general, be created with the end user in mind. They will primarily benefit the end-user by assisting them in doing specialized activities in a range of System Software industries, including education, business, and entertainment. ∙ Manages and manipulates data: Application software is used in businesses to manage and alter employee, customer, and other databases. ∙ Allows users to effectively organize information: Data can be created and handled efficiently by individual users using application software. 27 Application software – The need for application software ⚫ Software for healthcare applications for seamless connectivity and quick response ⚫ Example: ⚫ Electronic Health Records (EHRs) ⚫ Electronic Prescription Systems (EPSs) ⚫ Telemedicine Software ⚫ Managing information and data in an organization System Software ⚫ Example: ⚫ watsonx.data ⚫ IBM Db2 ⚫ Zendesk ⚫ Managing and checking documents across ⚫ Example: ⚫ MasterControl ⚫ GLOBODOX ⚫ Zapier 28 Application software – The need for application software ⚫ Software for educational purposes such as Learning Management Systems and e-learning systems ⚫ Example: ⚫ Docebo ⚫ Adobe Captivate ⚫ Google Classroom ⚫ Development of visuals and video for presentation purposes ⚫ Example: System Software ⚫ PowerPoint ⚫ Powtoon ⚫ Visme ⚫ Emails, text messaging, audio and video conferencing involved in presentation ⚫ Example ⚫ Google Meet ⚫ Webex 29 Application software – Types of Application Software Word Processing Software Word Processing refers to using a personal computer (PC) or laptop to create, edit, save and print documents, which can be performed only with specialised software known as a Word Processor. Example: Microsoft Word Spreadsheet Software Spreadsheet software is a type of computer program that enables a user to perform numerical functions and explore numbers through an automated version of an accounting System Software worksheet. Example: Microsoft Excel. Presentation Software Presentation software, also commonly known as presentation graphics, is a particular category of application program used to construct sequences of words and a series of pictures that tell a story or help support a speech or public presentation of any information or a launch of new products or services. Example: PowerPoint 30 Application software – Types of Application Software Multimedia Software Multimedia software can be described as the combination of text, audio, images, animation, or video to produce a wide scope of interactive content for both professional and personal use. Example: PowerDvD Web Browsers A web browser can take you all over the internet. It retrieves data from other parts of the web and shows it on your desktop or mobile device for viewing. The data is transmitted using the System Software Hypertext Transfer Protocol, which describes how text, images, and video are shared on the World Wide Web. Example: Google Chrome Educational Software Educational software refers to any computer software designed solely for educational reasons. It includes a wide range of software, including language learning software, classroom management software (CMS), and reference software for students and other professionals. Example: Moodle 31 Application software – Types of Application Software Graphics Software Graphics software can be reworked with bitmap and/or vector graphics and can be utilised to create label templates. Example: Canva, Adobe Illustrator, Photoshop Freeware Freeware is typically marketed for profit but might be allocated specifically for a business or commercial purpose with the aim of expanding the market share of any newly launched premium product. System Software Examples: Adobe Reader, Free Studio, and Skype. Shareware Shareware is software supplied for free on a trial basis for the user to test or use the programme for a specific amount of days with the understanding that the user may need or want to pay for it later if they are satisfied with the product usage. Some software manufacturers provide a shareware edition of their product with an expiration date built in, such that after 30 days, the user or customer can no longer access the application for further use. Example: WinZip 32 Application software – Types of Application Software Simulation Software Simulation software authorises engineers to evaluate, optimise, and compare product designs with other similar software by modelling real-world events in a computer-generated environment. Example: Simulink, Autodesk Inventor Open Source Open source software is a specific code designed to be publicly accessible so that anyone can see, modify, and distribute the code as they see, which fits the purpose. It is designed to be decentralised and coordinated, depending on peer assessment and community production. System Software Example: GIMP, Shotcut Closed Source Closed source software is where the source code is not freely accessible. It is developed and delivered to the customer as a fully compiled, executable set of files. The developer often provides aid to users after purchase and ensures that the software works as the creator foresaw. Example: Microsoft Windows 33 Application software – Advantages of Application Software ⚫It meets every client’s particular requirements and needs. The client usually recognizes that they must utilize only one explicit program to finish the task because it is designed explicitly for one reason. ⚫Businesses that are related to specific applications can System Software restrict access and think about strategies to monitor their activities. ⚫Standard updates from engineers for Licensed application programming can be obtained using general logic of health. 34 Application software – Disadvantages of Application Software ⚫Developing and evolving any application software to achieve specific goals can be quite pricey for developers but this can have a strong impact on their financial plan and income stream, particularly if an unreasonable high amount of time is spent on a product that is not normally worthy. System Software ⚫Application software that is widely used by many of us and then disseminated on the internet is inherently vulnerable to infection by a bug or other malicious initiatives. 35 Difference Between System Software and Application Software System Software Application Software The main purpose of this software is to manage the resources available in the Application software designed to achieve a certain system. It serves as an effective forum set of tasks. for the execution of application software System software is documented in a Application software is composed in a high-level low-level programming language like language like Java, C++,.Net, or PHP. System Software machine code or assembly language. Usually, when the computer is switched on, system software begins to run and When a user requests, application software runs stops when the computer is switched according to the task it is assigned. off. Without system software, a computer User-specific application software is definitely not system cannot even activate. required to run the system. The system software has a wide scope The objective of the application software is to of capabilities. achieve or perform a certain task. 36 Sources: System Software Programming software 37 Programming software ⚫Programming software is the software which helps the programmer develop other software. ⚫It is a tool for creating computer code that allows computer System Software software to operate. ⚫Programming software includes compilers, assemblers, debuggers, interpreters, etc. 38 Programming software – History of Programming software System Software 39 Source: Programming software – History of Programming software System Software 40 Source: Programming software – History of Programming software System Software 41 Source: Programming software – History of Programming software System Software 42 Sources: Programming software – Type of programming software All programming languages fall into two broad categories: high-level and low-level. High-level Programming Software High-level programming software is far from the code that translates commands on a computer system. It is user-oriented because it has been designed to make it straightforward for a programmer to convert an algorithm into program code. System Software Examples: C#, Java, and Python. Low-level Programming Software Low-level programming software contains basic instructions for a computer to understand. It involves little-to-no abstraction from the core coding process. Examples: assembly and machine code. 43 Programming software – Component of programming software ∙ Compilers o A compiler quickly reads the entire source program in the high-level language and translates it into an equivalent program in machine language. ∙ assemblers, o The Assembler converts an Assembly language program into machine code. The source System Software program is an assembler input that contains assembly language instructions. The assembler’s output is computer-readable object code or machine code. ∙ debuggers, o As the name suggests, the debugger is a used for removing bugs from code. It simply allows other programs to be tested and debugged. Debugger may also provide two operation modes, complete and partial simulation. It is used to prevent software or systems from malfunctioning. 44 Programming software – Component of programming software ∙ interpreters o A language processor converts a single statement from the source program into machine code. An interpreter is a program that executes code immediately before moving on to the following line. If a statement contains an error, the interpreter stops translating at that point and displays an error message. Integrated development environments (IDEs) An integrated development environment (IDE) is a software application that helps System Software programmers develop software code efficiently. It increases developer productivity by combining capabilities such as software editing, building, testing, and packaging in an easy-to- use application. Just as writers use text editors and accountants use spreadsheets, software developers use IDEs to make their job easier. 45 Programming software – #To run the Code online, use 🡪 https://onecompiler.com/ Example of programming software An imperative procedural language supporting structured programming, lexical variable scope, and recursion with a static type system. It was designed to be compiled to provide low-level memory access, and language constructs that map efficiently to machine instructions, all with minimal runtime support. int main() { // Input array int num[] = { 1, 2, 3, 4, 5 }; Example 1: Hello World! Example 2: Find the average #include #include // Size of array // Function that return average int n = sizeof(num) / System Software int main() of given array. sizeof(num); { printf("Hello double average(int a[], int n) // average(num, n) function is World!"); { return the average of the array. return 0; // Find the sum of array int avg = average(num, n); } element int sum = 0; // Display average of given for (int i = 0; i < n; i++) array sum += a[i]; printf("Average = %d ", avg); 46 return (double)sum / n; return 0; Programming software – #To run the Code online, use 🡪 https://onecompiler.com/ Example of programming software An imperative procedural language supporting structured programming, lexical variable scope, and recursion with a static type system. It was designed to be compiled to provide low-level memory access, and language constructs that map efficiently to machine instructions, all with minimal runtime support. int main() { // Input array int num[] = { 1, 2, 3, 4, 5 }; Example 1: Hello World! Example 2: Find the average #include #include // Size of array // Function that return average int n = sizeof(num) / System Software int main() of given array. sizeof(num); { printf("Hello double average(int a[], int n) // average(num, n) function is World!"); { return the average of the array. return 0; // Find the sum of array int avg = average(num, n); } element int sum = 0; // Display average of given for (int i = 0; i < n; i++) array sum += a[i]; printf("Average = %d ", avg); 47 return (double)sum / n; return 0; Programming software – #To run the Code online, use 🡪 https://onecompiler.com/ Example of programming software Example 1: Hello World! Example 2: Find the average #include #include int main() using namespace std; { System Software using namespace std; int num[] = { 1, 2, 3, 4, 5}; int main() // Function that return average of int n = sizeof(num) / { an array. sizeof(num); double average(int a[], int n) cout 51 Programming software – #To run the Code online, use 🡪 https://onecompiler.com/ Example of programming software System Software Example 1: Hello World! Hello World 52 System Software Malicious software 53 Malicious software ⚫Malicious Software refers to any malicious program that causes harm to a computer system or network. ⚫Malicious Malware Software attacks a computer or network through viruses, worms, trojans, spyware, adware, or System Software rootkits. ⚫These malicious programs steal, encrypt and delete sensitive data; alter or hijack core computing functions and monitor end users' computer activity. 54 Malicious software – Different Types Of Malicious Software System Software Sources: 55 https://www.techtarget.com/searchsecurity/definition/ Malicious software – Different Types Of Malicious Software Computer Malicious A computer malicious is a software type that self-replicates and attaches itself to other files/programs. Malware Software can execute secretly when the host program/file is activated. The different types of Computer malicious are Memory-Resident viruses, Program File Viruses, Boot Sector Viruses, Stealth viruses, Macro viruses, and Email Viruses. 2. Worms System Software A worm is a malicious software type similar to that of a computer malicious is a self- replicating program. However, in the case of worms, malicious automatically executes itself. Worms spread over a network and can launch a cumbersome and destructive attack within a short period. 56 Malicious software – Different Types Of Malicious Software Trojan Horses Unlike a computer malicious or a worm – the trojan horse is a malicious software non-replicating program that appears legitimate. After gaining the trust, it secretly performs malicious and illicit activities when executed. Hackers use trojan horses to steal a user’s password information and destroy data or programs on the hard disk. It is hard to detect! System Software Spyware/Adware Spyware is malicious software that secretly records user information and forwards it to third parties. The information gathered may cover files accessed on the computer, a user’s online activities, or even the user’s keystrokes. Adware is a malware software type as the name interprets displays advertising banners while a program is running. Adware can also work like spyware, it is deployed to gather confidential 57 information. Basically, to spy on and gather information from a victim’s computer. Malicious software – Different Types Of Malicious Software Rootkit A rootkit is a malicious software type that alters the regular functionality of an OS on a computer in a stealthy manner. The altering helps the hacker to take full control of the system and the hacker System Software acts as the system administrator on the victim’s system. Almost all the rootkits are designed to hide their existence. 58 Malicious software – How malware spreads? Malware can get onto your computer in a number of different ways. Here are some common examples: Downloading free software from the Internet that secretly contains malware Downloading legitimate software that's secretly bundled with malware Visiting a website that's infected with malware System Software Clicking a fake error message or pop-up window that starts a malware download Opening an email attachment that contains malware There are many different ways that malware can spread, but that doesn't mean you're powerless to stop it. Sources: Google Ads 59 Help Malicious software – Methods Of Protection Against Malicious Software 1) Keep your computer and software updated 2) Use a non-administrator account whenever possible 3) Think twice before clicking links or downloading anything System Software 4) Be careful about opening email attachments or images 5) Don't trust pop-up windows that ask you to download software 6) Limit your file-sharing 7) Use antivirus software Sources: Google Ads 60 Help A Look to the Future – Self Healing Computers ⚫ Self Healing Computers ⚫ Could mean an end to computer crashes and performance problems ⚫ Fix software problems ⚫ Reroute functions around broken hardware ⚫ IBM’s Automatic Computing Initiative (ACI) System Software ⚫ Handles time-consuming maintenance ⚫ Self-regulating and virtually invisible ⚫ Self-maintaining servers ⚫ Self-repairing ⚫ Self-updating ⚫ Self-protecting 61 Trends in Software ⚫User Experience Design ⚫ User Experience Design (UXD or UED) is the process of enhancing user satisfaction of a software product by improving the usability, accessibility, and pleasure provided across each touch point. ⚫DevSecOps System Software ⚫ DevSecOps (development, security, and operations) is an approach to software development (and culture) that embeds security throughout every stage of the DevOps pipeline. 62 Source: Trends in Software System Software Do You Apply DevSecOps? 63 Source: Trends in Software ⚫Omnichannel Experiences ⚫ Omnichannel experiences offer a seamless experience to the customer or user across various channels: retail, telephone, online, mobile, or social. ⚫The API Economy ⚫ The API economy is the use of APIs to achieve integration System Software across services and data, allowing organizations to gain access to new services and products without building it themselves. ⚫Balanced Development Automation ⚫ Research from GitHub has demonstrated that automating software delivery alone can lead to a 31% faster merge and helps teams decrease time-to-market. 64 Source: Trends in Software ⚫Vulnerability Disclosure Programs ⚫ A vulnerability disclosure program (VDP) creates a secure channel for security issues and vulnerabilities to be reported following ISO standards around disclosure and handling and best practices around protecting System Software whistleblowers. ⚫ Mobile First ⚫ Mobile traffic now makes up 54.8% of all web traffic, so it’s no longer about tagging a mobile website onto an existing design. Today, the approach needs to be mobile-first. 65 Source: Trends in Software System Software Mobile First Approach 66 Source: Trends in Software ⚫Continuous Integration and Delivery ⚫ Continuous Integration, Continuous Delivery (CI/CD) is a way to introduce automation into the Agile and DevOps development process, a loop that implies constant updates to software to help improve quality and System Software efficiency in the development process. ⚫Serverless Computing ⚫ Serverless computing leverages managed cloud infrastructure (AWS, Azure, Google App Engine) to build apps without having to host or maintain the servers. 67 Source: Trends in Software System Software CI/CD Development 68 Source: Process Trends in Software ⚫Blockchain ⚫ Blockchain, the use of a decentralized network of computers for digital transactions, is one of rapidly growing software development trends. In healthcare, blockchain could be one of the tools to help identify inaccuracies in patient data, reduce breaches, and help support patient access to health records. System Software ⚫Expansion of the IoT ⚫ The Internet of Things (IoT) is expected to have a CAGR of 10.53% within the next 5 years, creating new platforms of “things” that can run software, but also changing how data is tracked and collected, how users engage across IoT devices (omnichannel expectations), and even impacting inventory management or shipping. All of this data must be translated into insight, with IoT spurring the need for AI and analytics. 69 Source: Trends in Software ⚫Escalation of the Edge Computing ⚫ Edge computing, the concept of a distributed IT architecture, places service provisioning, data, and intelligence closer to devices and users to help boost performance. System Software ⚫Quantum Computing ⚫ Quantum computing leverages quantum mechanics (superposition, interference, entanglement) to perform calculations, with the number of organizations and governments investing in quantum computing starting to improve processes and operations. 70 Source: Trends in Software ⚫Big Data ⚫ Big data is a field that works with large or complex data sets of structured and unstructured data using advanced techniques. Look toward concepts such as the data fabric (the flexible integration of data sources), understanding the options of the data marketplace, analytics, edge infrastructure, and AI. System Software ⚫Augmented Reality (AR) ⚫ Virtual Reality (VR) and Augmented Reality (AR) continue to find new avenues for growth, through gaming applications but also other use cases including eCommerce, healthcare, manufacturing, and education. Apple is also rumoured to be releasing an AR/VR headset in 2022. 71 Source: Trends in Software ⚫Low-Code / No-Code Platforms ⚫ Low-code development platforms (LCDP) and no-code development platforms (NCDP) offer pre-built blocks that can be dragged and dropped (visual environment) to assist in rapid development of mobile and web apps both by professional developers (for speed) and by System Software those outside the IT department. 72 Source: Trends in Software ⚫Artificial Intelligence (AI) ⚫ AI is the basis for mimicking human intelligence processes by creating and applying algorithms built into a dynamic computing environment. ⚫ AI is trying to make computers think and act like humans. System Software ⚫Achieving this end requires three key components: ⚫Computational systems ⚫Data and data management ⚫Advanced AI algorithms (code) ⚫ The more humanlike the desired outcome, the more data and processing power required 73 Source: Trends in Software Machine Learning: An approach to AI in which a computer algorithm (a set of rules and procedures) is developed to analyse and make predictions from data fed into the system. Machine learning-based technologies are routinely used every day, such as personalised news feeds and traffic prediction maps. Neural Networks: A machine learning approach modelled after the brain in which algorithms process signals via interconnected nodes called artificial neurons. Artificial neural networks have been used successfully to mimic biological System Software nervous systems to recognise and predict patterns of neural signals involved in brain function. Deep Learning: A form of machine learning that uses many layers of computation to form what is described as a deep neural network, capable of learning from large amounts of complex, unstructured data. Deep neural networks are responsible for voice-controlled virtual assistants and self-driving vehicles, which learn to recognise traffic signs. 74 Trends in Software System Software Machine Learning Tops AI Funding Worldwide 75 Source: Trends in Software System Software Top Machine Learning Use Cases 76 Source: Trends in Software EXAMPLE OF AI 1. ChatGPT is a natural language processing tool driven by AI technology that allows you to have human-like conversations and much more with the chatbot. The language model can answer questions and assist you with tasks, such as composing emails, essays, and code. System Software How to start using ChatGPT https://www.youtube.com/watch?v=jHv63Uvk5VA 77 Open-Ended Questions (Page 1 of 2) 1. Describe system software. Discuss each of the four types of system programs. 2. Define operating systems. Describe the basic features System Software and the three categories of operating systems. 3. What are mobile operating systems? Describe leading mobile operating systems. 78 Open-Ended Questions (Page 2 of 2) 4. What are desktop operating systems? Compare Windows, Mac OS, Linux and Chrome OS. Discuss virtualization. System Software 5. Discuss utilities. What are the most essential utilities? What is a utility suite? 79