Software Fundamentals Quiz

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following is NOT a category of system software?

  • Device Drivers
  • Operating Systems
  • Utility Programs
  • Web Browsers (correct)

What is the primary function of system software?

  • To execute specific tasks requested by users.
  • To store and retrieve data from the computer's hard drive.
  • To manage hardware and provide a foundation for other software. (correct)
  • To provide a graphical user interface for users.

Which of the following is an example of a dual-boot system?

  • A computer running only Windows.
  • A computer running multiple virtual machines.
  • A computer running a single operating system with multiple applications.
  • A computer running both Windows and macOS. (correct)

What type of system software allows multiple operating systems to run on a single physical machine?

<p>Hypervisors (C)</p> Signup and view all the answers

What is the main purpose of a device driver?

<p>To enable communication between the operating system and a hardware device. (C)</p> Signup and view all the answers

Which of the following is NOT a feature of system software?

<p>Application Development (B)</p> Signup and view all the answers

What is the primary role of firmware in a computer system?

<p>To manage basic hardware functions and initial startup. (D)</p> Signup and view all the answers

Which type of system software helps in optimizing and maintaining the computer system?

<p>Utility Programs (A)</p> Signup and view all the answers

Which type of application software is specifically designed to run within web browsers?

<p>Web Applications (B)</p> Signup and view all the answers

Which programming language serves as a bridge between machine language and high-level languages?

<p>Assembly Language (A)</p> Signup and view all the answers

What is a defining feature of native applications?

<p>They require installation on the user's device. (B)</p> Signup and view all the answers

What is the primary focus of imperative programming languages?

<p>How tasks are performed step by step (B)</p> Signup and view all the answers

Which phase of the Software Development Life Cycle (SDLC) is responsible for defining project goals and resource allocation?

<p>Planning (D)</p> Signup and view all the answers

Which example listed below is an instance of a cross-platform application?

<p>Facebook (C)</p> Signup and view all the answers

Which type of programming paradigm focuses on what the program should achieve?

<p>Functional Programming (B)</p> Signup and view all the answers

What distinguishes hybrid applications from other types of applications?

<p>They combine web and native technologies. (B)</p> Signup and view all the answers

What is created during the Analysis phase of the software development life cycle (SDLC)?

<p>Software Requirements Specification (SRS) (D)</p> Signup and view all the answers

Which SDLC model is best suited for small projects with stable requirements?

<p>Waterfall Model (A)</p> Signup and view all the answers

What is a primary advantage of the Agile Model?

<p>Allows for rapid adaptation to changes (A)</p> Signup and view all the answers

Which type of testing ensures that the software meets all specified requirements?

<p>User acceptance testing (D)</p> Signup and view all the answers

What is the main purpose of the Implementation phase in the SDLC?

<p>Convert designs into working code (C)</p> Signup and view all the answers

Which factor contributes to risk reduction in the Agile Model?

<p>Frequent customer collaboration (C)</p> Signup and view all the answers

In the Maintenance phase of SDLC, what primary activities are performed?

<p>Fixing bugs and releasing updates (A)</p> Signup and view all the answers

Which statement best describes the Iterative Model in SDLC?

<p>Creates software through incremental development cycles (C)</p> Signup and view all the answers

Flashcards

What is Software?

A collection of instructions and data telling a computer how to work.

System Software

Software that manages hardware and provides foundational functionality for other software.

Operating Systems

Manages hardware and software resources, facilitating user interaction.

Single Boot Systems

Systems that run only one operating system at a time.

Signup and view all the flashcards

Dual/Multi-Boot Systems

Systems that allow multiple OS to coexist, enabling choice at startup.

Signup and view all the flashcards

Device Drivers

Specialized software that enables communication between OS and hardware devices.

Signup and view all the flashcards

Firmware

Embedded software in hardware controlling its functions, such as BIOS.

Signup and view all the flashcards

Utility Programs

Tools for system analysis, optimization, and maintenance.

Signup and view all the flashcards

Software Requirements Specification (SRS)

A document that gathers and details functional and non-functional requirements for software.

Signup and view all the flashcards

Design Documents

Documents that outline system architecture, user interfaces, and technical specifications.

Signup and view all the flashcards

Implementation Phase

The stage where designs are converted into functioning software code.

Signup and view all the flashcards

Testing Methods

Includes unit testing, integration testing, performance testing, and user acceptance testing to ensure software quality.

Signup and view all the flashcards

Waterfall Model

A linear and sequential approach to software development, ideal for projects with stable requirements.

Signup and view all the flashcards

Agile Model

Focuses on flexibility and iterative development, delivering functional software in short cycles.

Signup and view all the flashcards

Customer Collaboration

Frequent communication with customers to ensure their needs are met throughout development.

Signup and view all the flashcards

Continuous Delivery

Regularly delivering small, functional increments of software for ongoing user feedback.

Signup and view all the flashcards

Application Software

Software that enables users to perform specific tasks.

Signup and view all the flashcards

Desktop Applications

Applications installed on individual computers running directly on the OS.

Signup and view all the flashcards

Web Applications

Applications that run within web browsers without needing installation.

Signup and view all the flashcards

Native Applications

Applications built for specific platforms, utilizing device features.

Signup and view all the flashcards

Machine Language

Binary-coded instructions executed directly by the computer.

Signup and view all the flashcards

High-Level Languages

Languages that offer abstractions over hardware for easier programming.

Signup and view all the flashcards

Software Development Life Cycle (SDLC)

A structured process for creating high-quality software.

Signup and view all the flashcards

Planning Phase

The initial phase defining goals, feasibility, resources, and scheduling.

Signup and view all the flashcards

Study Notes

Software Fundamentals

  • Software is a set of instructions, data, or programs telling a computer how to work
  • Unlike hardware (physical components), software is intangible
  • Software manages hardware and provides functions for other software
  • Software is written in programming languages, executed by the computer's processor
  • System software acts as a bridge between applications and hardware, ensures efficiency and user interaction

Types of Software

  • System Software:
    • Manages hardware and provides basic functionality for other programs
    • Examples: Operating systems (Windows, macOS, Linux), device drivers, firmware
  • Application Software:
    • Designed for end-users to perform specific tasks
    • Examples: web browsers, word processors, communication tools

System Software Features

  • Hardware Management: Controls and allocates resources (memory, CPU, storage)
  • User Interface: Provides graphical user interfaces (GUIs) or command-line interfaces (CLIs)
  • Application Platform: Supports the execution of application software
  • Device Control: Includes drivers for hardware communication
  • Security: Provides basic security features (authentication, access control)

Types of System Software

  • Operating Systems: Manages hardware and software resources, facilitates user interaction
    • Examples: Windows, macOS, Linux, Android, iOS
    • Single Boot Systems: Run only one operating system at a time
  • Device Drivers: Enable communication between the operating system and hardware devices
  • Firmware: Embedded software integrated into hardware (e.g., BIOS) that controls its functions
  • Hypervisors: Allow multiple operating systems to run on a single machine through virtualization
  • Utility Programs: Tools for system analysis, optimization, and maintenance (e.g., disk cleanup, antivirus)

Application Software

  • Performs specific tasks (document creation to complex calculations)
  • Categorized by delivery method/usage
    • Desktop Applications: Installed on single computers (e.g., Microsoft Office, Photoshop)
    • Web Applications: Run within web browsers (e.g., Gmail, Google Docs)
    • Native Applications: Optimized for specific platforms (e.g., iMessage, Google Maps)
    • Hybrid Applications: Combine web and native elements (e.g., Instagram, Uber)
    • Cross-Platform Applications: Work on multiple operating systems (e.g., Slack, Facebook)

Programming Languages

  • Machine Language: Binary code, directly executed by the computer; very low-level
  • Assembly Language: Uses mnemonics (keywords) for machine instructions, making it easier for humans to understand.
  • High-Level Languages: Abstractions over hardware, enabling problem-oriented programming (e.g., Python, Java, C++)
  • Programming Paradigms:
    • Imperative: Focuses on how tasks are executed (e.g., procedural, object-oriented).
    • Declarative: Focuses on what the program should achieve(e.g., functional, logic-based)

Software Development Life Cycle (SDLC)

  • A structured process for creating, developing and maintaining high-quality software
  • Phases of SDLC:
    • Planning: Defines goals, feasibility and scheduling
    • Analysis: Gathers and documents requirements (functional and non-functional)
    • Design: Outlines architecture, user interfaces, technical specifications
    • Implementation: Converting designs into code
    • Testing: Ensures software error-free and meets requirements (unit, integration, performance, user acceptance)
    • Deployment: Delivers software to users
    • Maintenance: Fixing bugs, providing updates, monitoring performance

SDLC Models

  • Waterfall: Sequential phases with minimal iteration, suitable for projects with stable requirements
  • Iterative: Develops software incrementally, incorporating user feedback, ideal for evolving systems
  • Agile: Emphasizes flexibility, collaboration, and iterative development, delivering working software in short cycles / sprints, prioritizing communication between customers and developers.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Software Fundamentals PDF

More Like This

Computer Software Basics Quiz
5 questions
System Software vs. Application Software
3 questions
Ashok Water Supply Management System
23 questions
Software Basics and Management
20 questions

Software Basics and Management

WellManagedButtercup5958 avatar
WellManagedButtercup5958
Use Quizgecko on...
Browser
Browser