Software Concepts, Systems, Applications, and Licensing

Computer Systems and Software Fundamentals

  • Software defined: The programs that run on a computer.
  • Programs defined: Sets of instructions that are carried out by the computer's processor.
  • Computer classification by software use:
    • Single-purpose computers: Can run only one program. Example: A microwave that only runs software to control heating.
    • General-purpose computers: Can run many different programs. Example: A tablet that can run applications for browsing, playing games, and other tasks.

Main Categories of Software

  • System Software:
    • Programs designed to maintain, manage, and operate the computer system.
    • Subcategories include Operating Systems, Utility Software, Device Drivers, Firmware, BIOS/UEFI, and Language Translators.
  • Application Software:
    • Programs designed to help users perform specific tasks.
    • Subcategories include word processing, desktop publishing, spreadsheet, database, web authoring software, and graphic editor software.

System Software Functions

  • System Maintenance Tasks:
    • Checking and fixing errors.
    • Cleaning up unnecessary files.
    • Protecting the system from viruses and malware.
  • System Management Tasks:
    • Managing hardware devices.
    • Managing memory by allocating and freeing up RAM for programs.
    • Managing files and folders on storage devices.
  • System Operating Tasks:
    • Starting (booting) the computer and loading the operating system.
    • Providing a user interface (e.g., desktop, command line) to interact with the computer.
    • Running application software by allowing programs to open, execute, and close.

Utility Software

  • General Function: Utility software carries out configuration and maintenance tasks.
  • Backup Utilities:
    • Function: Creates a copy of files and programs.
    • Reasons for Backup:
    • Data Protection: Safeguards important files from loss due to system failure, accidental deletion, or file corruption.
    • Disaster Recovery: Helps restore files and systems after events like hardware failure, viruses, or ransomware attacks.
    • Version Control: Allows restoring previous versions of files if recent changes are incorrect or unwanted.
    • System Restore: Enables full system backup and restoration, useful when reinstalling or recovering the operating system.
    • Automatic Scheduling: Supports regular, automatic backups without needing manual action each time.
    • Reasons to Schedule Backup Processes:
    • Ensures Regular Backups: Automatically runs backups at set times (daily, weekly, etc.) without user input.
    • Reduces Human Error: Prevents forgetting to back up important data by automating the process.
    • Saves Time: Eliminates the need for users to manually start backups every time, saving effort and time.
    • Improves Data Security: Frequent, scheduled backups reduce the risk of data loss due to unexpected issues.
    • Supports Business Continuity: Keeps data current and recoverable, which is vital for smooth business operations.
  • Defragmentation Utilities:
    • Fragmentation Concept: When files are saved, they may be split and stored in different parts of the hard disk. This occurs over time as files are saved, changed, or deleted many times. Fragmentation slows down the computer because it takes more time to read files.
    • Defragmentation Concept: The process of rearranging fragmented data by placing pieces of each file next to each other on the hard disk. This allows the computer to read files faster and improves performance.
    • Essential Facts:
    • Fragmentation slows down file access.
    • Defragmentation speeds up the system.
    • Defragmentation tools are classified as utility software.
    • Primarily used on Hard Disk Drives (HDD).
    • Not needed for Solid-State Drives (SSD).
  • Compression Utilities:
    • Function: Reduces file size so it uses less storage space, which is useful for saving space or sending files over the internet.
    • How It Works: Scans data for repeated patterns, storing the pattern once along with the number of times it repeats.
    • Example (Run-Length Encoding / RLE):
    • Original data: aaaaaaaabbbbbbcc
    • Compressed data: a8b6c2
    • Benefits of Compression Utilities:
    • Saves Storage Space: Reduces file size, freeing up space on hard drives or storage devices.
    • Faster File Transfers: Smaller files upload, download, and copy more quickly.
    • Easier File Management: Combines multiple files into one archive, simplifying organization and sharing.
    • Reduces Bandwidth Usage: Uses less data when sending or receiving files over the internet.
    • File Protection Options: Allows adding passwords and encryption to protect sensitive data.
  • Formatting Utilities:
    • Reasons and Benefits:
    • Prepares Storage for Use: Sets up the file system so the operating system can read and write data properly.
    • Removes Unwanted Data: Deletes all previous data and clears viruses or corrupted files.
    • Allows File System Selection: Users can choose a file system (e.g., NTFS, FAT32) based on their needs and operating system compatibility.
    • Improves Performance: A clean, formatted drive can reduce fragmentation and boost speed.
    • Fixes Errors: Can fix file system errors or damaged sectors on the drive.
    • Renames the Drive: Users can assign a new volume label (name) to the drive.
    • Easy and Safe Process: Provides user-friendly steps and confirmation prompts to avoid accidental formatting.

Operating System Classifications and Management

  • General Function: The operating system (OS) allows the user to control and manage the computer's hardware.
  • Single-User Operating Systems:
    • Designed for only one user at a time.
    • All users share the same interface and settings.
    • No option to customize the interface for different users.
    • Commonly used in household appliances (e.g., washing machines, microwaves).
    • Usually simple and limited in features.
  • Network Operating Systems:
    • Software that manages and controls computers and devices connected in a network.
    • Allows multiple computers to communicate with each other.
    • Enables sharing of files, printers, and other resources.
    • Provides centralized management of users and devices.
    • Helps keep the network secure and organized.
  • OS Memory Management Functions:
    • Allocates RAM: Gives each running application the memory (RAM) it needs to work.
    • Frees Memory: Takes back memory when an app closes and makes it available for other apps.
    • Handles Virtual Memory: Creates virtual memory using the hard drive if there is not enough RAM to keep apps running smoothly.
  • OS Resource Management Functions:
    • System Resource Types:
    • Internal: CPU, RAM, graphics card.
    • External: Printers, scanners, etc.
    • Execution: Ensures each application gets the resources it needs when available.
    • Busy Resource Handling: Places new requests in a queue if another program is currently using the required resource.
    • Notification: Informs the user when a busy resource (e.g., printer) becomes ready.
  • OS Security Functions:
    • Checks authentication to ensure only authorized users access computer files, hardware, and software.
    • Utilizes passwords, biometrics, or access cards.
    • Controls access to files and hardware.
    • Uses firewalls to block or allow network connections.
    • Helps protect against hackers and viruses.
  • OS Print Spooling Functions:
    • Stores print jobs in a queue.
    • Helps manage large or multiple print jobs.
    • Allows the computer to keep working while printing happens.
    • Sends pages to the printer one by one.
    • Prevents printer overload by organizing print requests.

Application Software Overview

  • Purpose: Used to perform specific tasks like word processing, image editing, or browsing the internet.
  • OS Relationship: Works on top of the operating system but is not part of it.
  • Digital Products: Helps users create or manage digital content such as documents, spreadsheets, presentations, or images.
  • Variety: Different types exist for different needs, and multiple applications can perform the same task, though some are better suited than others.
  • Installation Methods:
    • Downloaded from app stores or the internet.
    • Installed from physical storage media like USBs or DVDs.

Office Productivity Software

  • Word Processing Software:
    • Used to create text-based documents (letters, reports, essays, books).
    • Can include images, tables, charts, shapes, equations, and hyperlinks.
    • Allows font changes and layout views for placing text and images.
    • Offers spelling and grammar check tools.
    • Supports collaborative editing, comments, and track changes.
    • Example: Writer (LibreOffice).
  • Desktop Publishing (DTP) Software:
    • Offers similar features to word processors.
    • Optimized for complex page layouts (e.g., brochures, magazines, posters).
    • Provides precise control over positioning text and images.
    • Example: Adobe InDesign.
  • Spreadsheet Software:
    • Used to perform calculations and organize data using numbers, text, and formulas.
    • Performs automatic calculations using:
    • Formulae (e.g., =A1 + B1)
    • Functions (e.g., =SUM(A1:A5), =AVERAGE(...))
    • Automatically updates calculated results when underlying values are changed.
    • Useful for financial planning, budgeting, and "what if?" analysis.
  • Database Management Systems (DBMS):
    • Used to store, enter, edit, and search data efficiently.
    • Can produce reports that update automatically as data changes.
    • Key Features:
    • Data entry forms: Provides an easy way for users to input data without directly editing tables.
    • Query editors: Tools to search and filter data based on specific conditions (criteria).
    • Report builders: Used to create clear, readable reports from data.
    • Example: Oracle MySQL.

Web Authoring and Graphic Editing Software

  • Web Authoring Software:
    • Lets users create web pages containing text, images, and other content.
    • Web pages are saved as HTML (Hypertext Markup Language) files.
    • Web browsers (e.g., Google Chrome, Microsoft Edge, Mozilla Firefox) read HTML and display web pages to users.
    • Web pages can be linked together to form a website, which can be viewed on an intranet (local network) or on the internet via web servers.
    • Users can write HTML code manually or use editors that construct pages without coding.
    • Visual non-coding editors are called WYSIWYG ("What You See Is What You Get") editors because the page looks in the editor as it will when published.
    • Example: Adobe Dreamweaver.
  • Image Editing Applications:
    • Used to create and edit images across two main types:
    • Bitmap images: Made of pixels (e.g., digital photos). Software example: Adobe Photoshop.
    • Vector graphics: Made of shapes and lines (e.g., drawings and logos). Software example: Adobe Illustrator.
  • Features of Graphics Editors:
    • Vectorizing images: Converts pixel-based bitmap images into shape-based vector graphics.
    • Layers: Places graphics on separate layers to allow independent editing (like stacking sheets of paper).
    • Add text: Inserts and formats text within designs.
    • Add or draw shapes and lines: Creates and customizes shapes and lines.
    • Spatial manipulation: Resizes, aligns, or moves shapes and lines easily.
    • Color editing: Changes colors of shapes, lines, and fill areas.
  • Photo Editing Software:
    • Used specifically to edit and improve digital photos and images.
    • Software example: GIMP (GNU Image Manipulation Program).
    • Features:
    • Adjust brightness and contrast to improve lighting.
    • Resize images to change their dimensions.
    • Change sharpness or blur parts of the image.
    • Apply filters and effects like distortion or color changes.
    • Remove red-eye caused by camera flash.
    • Crop images to cut out unwanted parts.

Sound, Presentation, Control, and Project Management Software

  • Sound Editing Software:
    • Used to edit audio files or combine multiple audio tracks for multitrack music or video soundtracks.
    • Software example: Audacity.
    • Common Features:
    • Cut and join audio clips.
    • Mute (silence) or solo (play only) specific tracks.
    • Adjust volume levels for each audio track separately.
    • Change tempo (speed of the audio).
    • Frequency equalization: Adjusts balance of high and low sounds (pitch).
    • Effects: Adds effects like reverberation (echo).
    • Audio processing tools: Includes reverse sound, noise reduction (remove background noise), normalization (make volume levels consistent), fade in (gradually get louder), and fade out (gradually get quieter).
  • Presentation Software:
    • Used to create multimedia presentations featuring text, images, animation, and video.
    • Content is structured on slides to support a spoken talk by displaying key points to an audience.
    • Examples: Prezi, Microsoft PowerPoint.
  • Control Applications:
    • Used to control physical devices like motors or machines via sensors, logic decisions, and actuators.
    • Application Areas: Engineering systems, vehicles, building control systems, and home automation (e.g., controlling lights and air conditioning via smartphone).
    • Process Flow:
    1. Sensor collects data (e.g., temperature, light, speed).
    2. Control software makes a decision based on the data.
    3. Software sends a signal to an actuator (e.g., motor, heater) to perform an action.
  • Project Management Software:
    • Helps plan, track, and manage tasks in a project to ensure efficient resource utilization (people, time, money).
    • Software examples: Microsoft Project, Trello, Asana, Monday.com.
    • Key Features:
    • Timeline: Displays tasks and schedules in a graphical view.
    • Task dependencies: Shows which tasks must be finished before others can start.
    • Critical path: The shortest time needed to finish the whole project if everything goes well.
    • Milestones: A time or date by which a task must be completed.
    • Task assignment: Assigns tasks to specific individuals or teams.
    • Cost and resource tracking: Manages budgets and ensures timely delivery of materials/tools.

Communication Software

  • General Function: Enables remote access to systems and people via the internet, supporting transmission of text, images, audio, and video.
  • Web Browsers:
    • Used to view web pages/websites on the internet.
    • Feature sets and file support vary across different browsers.
    • Capable of accessing FTP servers.
  • Email Software:
    • Accessed via locally installed client software or webmail through a browser.
    • Utilizes the client-server model.
    • Often includes an integrated contact database.
    • Webmail operates online but may offer offline access functionality.
    • Features include labels and filters for organizing emails.
  • Social Media Software:
    • Accessed via web browsers or installed apps on mobile devices.
    • Specific management tools can handle multiple social media accounts simultaneously (Example: Tweet Deck).
  • SMS (Short Messaging Service):
    • Used on mobile phones to send up to 160 text characters.
    • Operates across the mobile phone network without requiring an internet connection.
  • MMS (Multimedia Messaging Service):
    • An extension of SMS used to send videos, images, audio, and longer text.
    • Operates across the mobile phone network without requiring an internet connection.
  • Instant Messaging Software:
    • Requires an internet connection.
    • Functions similarly to MMS but with higher interactivity.
    • Features: Displays typing indicators, allows hiding typing status, and enables sending location data.

Software Licensing and Maintenance

  • Software License Definition: A legal arrangement that gives a user the right to install and use software.
  • Primary Licensing Categories: Free or Open-Source Software, and Proprietary Software.
  • Free Software:
    • Grants users rights to study, modify, copy, and distribute the software.
    • Users can choose whether to charge money for the software or related services.
    • "Free" specifies freedom for users to control software usage and sharing, not necessarily zero financial cost.
  • Open-Source Software:
    • Source code (the working instructions of the software) is fully provided to users.
    • Users can modify how the software behaves.
    • Users can distribute original or modified versions of the software.
  • Proprietary Software:
    • Owned and controlled exclusively by a company or individual, distributed under a specific brand name.
    • Owner determines price (free or paid) and sharing/copying rights.
    • Source code is usually NOT made available to users.
    • Freeware: Proprietary software provided completely free of charge.
  • Reasons for Software Updates:
    • Fix security vulnerabilities or software bugs.
    • Increase compatibility with newer operating systems.
    • Improve overall performance and efficiency.
    • Add new features.
    • Enhance usability (making software easier to use).