Software Fundamentals and Components
21 Questions
0 Views

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

What is the main role of software documentation?

  • To display data visually
  • To analyze software performance
  • To provide guidelines for software usage and maintenance (correct)
  • To replace software applications
  • Efficiency in software development refers to the amount of wasted effort in the process.

    True

    Name the four common stages of software development.

    Software specification, software development, software validation, software evolution

    Software is a collection of ____________ that performs specific tasks.

    <p>codes</p> Signup and view all the answers

    Match the following categories of software with their descriptions:

    <p>Application Software = Software designed for end-users to perform tasks System Software = Software that manages and operates computer hardware Development Software = Software used to create other software Utility Software = Software that performs maintenance tasks</p> Signup and view all the answers

    Which SDLC model is favored for large, expensive, and complicated projects?

    <p>Spiral Model</p> Signup and view all the answers

    The Big Bang Model is suitable for large projects.

    <p>False</p> Signup and view all the answers

    What does the V-Model emphasize during the software development process?

    <p>Testing at each stage</p> Signup and view all the answers

    The __________ Model is characterized by creating prototypes before finalizing the software requirements.

    <p>Prototyping</p> Signup and view all the answers

    Match the SDLC models with their key characteristics:

    <p>Waterfall Model = Sequential stages with strict progression Agile = Iterative and collaborative development SCRUM = Development in sprints Kanban = Visual flow management of tasks</p> Signup and view all the answers

    Which SDLC model requires more involvement from the customer and can provide functional requirements in less than 3 weeks?

    <p>Agile</p> Signup and view all the answers

    The Kanban method uses a visual board to manage the flow of tasks.

    <p>True</p> Signup and view all the answers

    In which SDLC model are requirements and solutions expected to evolve through collaboration?

    <p>Agile</p> Signup and view all the answers

    What is the primary goal of Extreme Programming?

    <p>Customer satisfaction</p> Signup and view all the answers

    In SCRUM, customer involvement occurs only during the planning phase.

    <p>False</p> Signup and view all the answers

    What is the purpose of the Sprint Backlog in SCRUM?

    <p>To provide a small software requirement specification for future sprints.</p> Signup and view all the answers

    The average speed of execution of work during the sprint is known as _____ .

    <p>velocity</p> Signup and view all the answers

    Match the types of software requirements with their descriptions:

    <p>Business Requirements = Describes business objectives and goals User Requirements = What users must be able to do with the product Functional Requirements = A list of criteria without additional definitions Quality Attributes = Attributes that emerge from business rules</p> Signup and view all the answers

    Which of the following statements is true about Waterfall model?

    <p>Software requirement specifications are needed.</p> Signup and view all the answers

    Name one way to collect software requirements.

    <p>Interviews, surveys, or user stories.</p> Signup and view all the answers

    Constraints refer to the limitations imposed on software engineers.

    <p>True</p> Signup and view all the answers

    Study Notes

    Software Fundamentals

    • Software is a collection of codes that perform specific tasks.
    • Engineering is applying scientific knowledge to design, build, and improve processes.
    • Software includes programs and documentation (manuals, procedures).
    • Software is broader than a program, encompassing all supporting data and configuration for correct operation.

    Software Components

    • Programs are the core software applications that execute tasks.
    • Software documentation explains how to operate, maintain, and use the software.
      • Manuals provide user guides.
      • Operating procedures outline the steps to run the software.
    • System documentation describes software structure and architecture.

    Software Categorization

    • Application software helps users with specific tasks (word processing, image editing).
      • Examples: Microsoft Office, Adobe Photoshop.
    • System software manages and controls hardware.
      • Examples: Operating systems (Windows, Linux), device drivers.
    • Computer programming tools support software development and maintenance.
      • Examples: Antivirus, firewalls, compilers, linkers.

    Software Classification by Type

    • Customized (bespoke) software is designed for one client with specific requirements.
      • Example: Custom software for a library.
    • Generic software is created for multiple users by a development organization and sold to customers.
      • Examples: Microsoft Word, Adobe software.

    Software Attributes

    • Maintainability ensures the software adapts to changes and future needs.
    • Dependability involves reliable and trustworthy services.
      • Reliability means consistent and accurate functionality.
      • Security involves protection against unauthorized access and threats.
      • Safety prevents harm from system failures.
    • Efficiency minimizes wasted effort during development.
    • Market Availability describes the software's purchasing and use by everyone.
    • Software must be understandable, usable, and compatible with existing systems.

    Software Development Lifecycle (SDLC)

    • Software development models define stages, sequences, and processes for software creation.
      • Waterfall model: A sequential approach with stages (analysis, design, development, testing).
      • Iterative Model: A repeated approach in which stages are done repeatedly.
      • Prototyping model: A customer-centric approach that involves creating a model of a product that works.
      • Spiral Model: A risk-driven process that combines elements of several models.
      • V-Shaped Model: A testing-driven approach that involves testing each stage backward.
      • Big Bang Model: A simple model implemented with little planning.
      • Agile Model: An iterative approach focusing on customer feedback.

    Agile

    • Agile Methodology is an approach that uses continuous cycles, collaboration, and flexibility.
    • Iterative development with continuous improvement using customer feedback.
    • Key Frameworks: Scrum, Kanban, XP, among others.

    Software Requirements

    • Software Requirements Specification (SRS) defines software purposes and environments.
    • Types of Software Requirements include:
      • Functional Requirements: describe what the software does.
      • Non-functional Requirements: address quality attributes like performance and security.
    • Collection methods: interviews, focus groups, workshops, questionnaires, observations etc.
    • IDEF models are graphic models for functional, data, and dynamic software design.

    Software Requirements Gathering

    • Methods such as interviews, focus groups, questionnaires, and surveys to gather information for requirements.
    • Formats: Natural language documents, graphic models (IDEFO, IDEF3, DFD, UML), and formal specifications (SRS).

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    This quiz covers the fundamental concepts of software, including its definition, components, and categorization. Learn about the differences between application software and system software, as well as the importance of software documentation. Test your knowledge of key software concepts and practices.

    More Like This

    Use Quizgecko on...
    Browser
    Browser