Software Project Activities: Requirements and Specification
17 Questions
3 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

Which activity involves writing detailed instructions on how the software should behave?

  • Requirements gathering
  • Defining the problem scope
  • Requirements specification (correct)
  • Requirements analysis
  • What is the purpose of Domain analysis in software projects?

  • Defining the problem scope
  • Obtaining input from various sources
  • Understanding the customer's problem
  • Understanding the background needed (correct)
  • What is the main purpose of separating 'what from how' in software activities?

  • Understanding the background needed
  • Avoiding domain analysis
  • Avoiding requirements gathering
  • Writing detailed instructions about software behavior (correct)
  • Which phase involves narrowing down the scope of the problem in software projects?

    <p>Defining the problem scope</p> Signup and view all the answers

    What is the key function of Unified Modeling Language (UML) in software projects?

    <p>Modeling software structure and behavior</p> Signup and view all the answers

    What is the process of creating a representation of the domain or the software?

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

    Which activity involves creating representations of the domain or the software?

    <p>Structural modeling</p> Signup and view all the answers

    What is the method used for creating representations during requirements analysis and design?

    <p>Use case modeling</p> Signup and view all the answers

    Which activity involves deciding what should be in hardware and what in software?

    <p>Systems engineering</p> Signup and view all the answers

    What is the process of dividing the system into subsystems and deciding how they will interact?

    <p>Software architecture</p> Signup and view all the answers

    Which activity focuses on estimating the cost of the system and planning?

    <p>Managing the process</p> Signup and view all the answers

    What is one of the characteristics of software mentioned in the text?

    <p>Software is intangible and hard to understand development effort</p> Signup and view all the answers

    In software development, why is the industry considered labor-intensive according to the text?

    <p>Because software activities are hard to automate</p> Signup and view all the answers

    What does the text suggest about modifying software?

    <p>People make changes to software only after fully understanding it</p> Signup and view all the answers

    How does software differ from tangible products in terms of 'wearing out'?

    <p>Software only deteriorates when its design is changed erroneously</p> Signup and view all the answers

    What analogy does the text draw about 'software'?

    <p>&quot;Software&quot; is similar to mass nouns like water and sand</p> Signup and view all the answers

    Which characteristic of software makes it challenging to notice quality problems according to the text?

    <p>'Untrained people can hack something together' attribute</p> Signup and view all the answers

    Study Notes

    Software Engineering

    • Software is intangible, making it hard to understand development effort.
    • Software is easy to reproduce, but the cost is in its development, unlike other engineering products where manufacturing is the costly stage.
    • The software industry is labor-intensive, making it hard to automate.

    Characteristics of Software

    • Untrained people can hack something together, but quality problems are hard to notice.
    • Software is easy to modify, but people make changes without fully understanding it.
    • Software does not 'wear out', but deteriorates by having its design changed, making it complex.

    Software Terminology

    • "Software" is a mass noun, like "water" and "sand".
    • Examples: "I will create some software to update the database", "a piece of software to update the database", or "a software system to update the database".

    Activities Common to Software Projects

    • Requirements and specification, which involves:
      • Domain analysis: understanding the background needed.
      • Defining the problem: narrowing down the scope of the problem.
      • Requirements gathering: obtaining input from as many sources as possible.
      • Requirements analysis: organizing the information.
      • Requirements specification: writing detailed instructions about how the software should behave, separating what from how.

    Design

    • Deciding how the requirements should be implemented using available technology.
    • Includes:
      • Systems engineering: deciding what should be in hardware and what in software.
      • Software architecture: dividing the system into subsystems and deciding how they interact.
      • Detailed design of the internals of a subsystem.
      • User interface design.
      • Design of databases.

    Other Activities

    • Modeling: creating a representation of the domain or the software.
    • Programming.
    • Quality assurance, which includes reviews, inspections, and testing.
    • Deployment.
    • Managing software configuration.
    • Managing the process, which includes estimating the cost of the system and planning.

    Studying That Suits You

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

    Quiz Team

    Description

    Learn about the nature of software activities common to software projects, best practices in modeling with Unified Modeling Language, and the key activities involved in requirements and specification.

    More Like This

    Use Quizgecko on...
    Browser
    Browser