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 (A)

    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 (A)</p> Signup and view all the answers

    The Big Bang Model is suitable for large projects.

    <p>False (B)</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 (D)</p> Signup and view all the answers

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

    <p>True (A)</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 (A)</p> Signup and view all the answers

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

    <p>False (B)</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. (C)</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 (A)</p> Signup and view all the answers

    Flashcards

    Software

    A collection of codes designed to perform specific tasks and fulfill requirements.

    Software Engineering

    The application of scientific and practical knowledge to create, design, implement, and maintain software.

    Software Documentation

    Manuals, operating procedures, and other written materials that describe how to use software.

    Software Specification

    Process of designing the software's architecture, layout, and structure; it is a fundamental initial step of software development.

    Signup and view all the flashcards

    Software Development Lifecycle (SDLC)

    A structured process for creating software, with different models defining stages and procedures.

    Signup and view all the flashcards

    Waterfall Model

    A simple SDLC model where each stage must be completed before moving to the next.

    Signup and view all the flashcards

    Prototyping Model

    SDLC model involving creating prototypes, refining them, and then filling them with functionality.

    Signup and view all the flashcards

    Spiral Model

    SDLC model for large, expensive projects, with repeated stages of risk analysis and development.

    Signup and view all the flashcards

    V-Model

    SDLC model connecting development stages to testing, emphasizing parallel verification and validation.

    Signup and view all the flashcards

    Big Bang Model

    Simplest SDLC model; little planning, many resources thrown at the problem, used for small-scale projects, not recommended for large-scale projects..

    Signup and view all the flashcards

    Agile

    Iterative and incremental SDLC model focused on collaboration and adaptability, often used for projects with short timelines and changing requirements.

    Signup and view all the flashcards

    SCRUM

    An Agile framework that uses sprints (short development cycles) for iterative software development.

    Signup and view all the flashcards

    Kanban

    Visual project management system to track tasks through different stages, primarily used for ongoing production work.

    Signup and view all the flashcards

    Extreme Programming

    "Extreme Programming" is a software development approach prioritizing customer satisfaction by encouraging developers to embrace and implement customer feedback changes.

    Signup and view all the flashcards

    Scrum vs Waterfall

    Scrum involves customer involvement throughout the development process, allowing for flexible requirements; Waterfall requires initial, comprehensive specifications, limiting changes later on.

    Signup and view all the flashcards

    Sprint Planning Task

    Story points estimate the effort needed to implement user stories; velocity tracks the average work completed per sprint; and the sprint backlog provides a short-term view of planned work.

    Signup and view all the flashcards

    Good Requirement Criteria

    A good requirement has to be unambiguous, complete, verifiable, consistent, achievable, stable, and traceable for successful software development.

    Signup and view all the flashcards

    Software Requirements Types

    Business requirements define organizational objectives; user requirements specify user actions; functional requirements detail software functions; business rules and constraints establish limits; and quality attributes define desired software characteristics.

    Signup and view all the flashcards

    Requirements Collection

    Methods to gather, understand, and document user needs for software creating a comprehensive software specification.

    Signup and view all the flashcards

    Software Requirement Specification (SRS)

    A comprehensive document describing the intended purpose and environment for software, specifying what and how the software will work.

    Signup and view all the flashcards

    IDEF Models

    IDEF models are a set of modeling methods used to create high-level conceptual and logical views of software systems. These models are used to visualize software systems in a structured fashion.

    Signup and view all the flashcards

    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

    Software Engineering Fundamentals Quiz
    10 questions
    Hardware vs Software Fundamentals
    12 questions
    Computer Systems Fundamentals Quiz
    12 questions
    Use Quizgecko on...
    Browser
    Browser