CP317 Software Engineering - Week 2-2 Requirements
24 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 purpose of domain analysis?

  • To design the user interface of the software product.
  • To gather information about the specific task the software will perform.
  • To collect data from users through interviews and surveys.
  • To gain a comprehensive understanding of the field or industry the software will be used in. (correct)
  • Which of the following techniques involves building a basic version of the software product to gain user feedback?

  • Prototyping (correct)
  • Domain analysis
  • Brainstorming
  • Task analysis
  • What is a key benefit of using domain analysis in software development?

  • It simplifies the process of conducting interviews and surveys.
  • It eliminates the need for task analysis.
  • It helps to develop a more complex user interface.
  • It allows for better anticipation of future software enhancements and expansions. (correct)
  • Which of the following is NOT a typical technique used in communications during requirements elicitation?

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

    What are the four key steps in the requirements elicitation process?

    <p>Discovery, Classification and Organization, Prioritization and Negotiation, Specification (B)</p> Signup and view all the answers

    Which of the following is NOT a requirement elicitation technique mentioned in the content?

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

    Which of the following best describes the goal of task analysis in software development?

    <p>To analyze the user's workflow and identify key tasks. (C)</p> Signup and view all the answers

    Which requirements elicitation technique involves a group discussion with stakeholders to generate ideas?

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

    Which requirement category is used to specify the technical aspects of a system, such as performance and security?

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

    What does the acronym 'FURPS' stand for in the context of requirement categorization?

    <p>Functional, Usability, Reliability, Performance, Security (B)</p> Signup and view all the answers

    What is the primary purpose of observation in requirements elicitation?

    <p>To analyze the existing systems and processes within a client's organization. (A)</p> Signup and view all the answers

    Which method is typically employed for requirement prioritization?

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

    What are the three primary types of software that are often involved in domain analysis?

    <p>Embedded, middleware, and application software (C)</p> Signup and view all the answers

    What is the primary purpose of a requirements specification document?

    <p>To clearly and precisely describe each essential requirement of the software (B)</p> Signup and view all the answers

    According to the content, what is the purpose of requirement discovery?

    <p>To understand customer needs, blueprint solutions, and gather detailed requirements (C)</p> Signup and view all the answers

    Which of the following is NOT mentioned as a reason why requirements are important in software development?

    <p>To facilitate the hiring of developers with specific skills (A)</p> Signup and view all the answers

    Which of Osborn's rules focuses on generating a large number of ideas?

    <p>Focus on quantity (B)</p> Signup and view all the answers

    According to the content, what is the purpose of requirement specification in software development?

    <p>To identify and document the software's needs and functionalities (D)</p> Signup and view all the answers

    What is the primary goal of software requirement decomposition?

    <p>To break down complex software requirements into smaller, manageable units (A)</p> Signup and view all the answers

    What is the main purpose of Unified Modeling Language (UML) in software development?

    <p>To create visual representations of software systems and their components (A)</p> Signup and view all the answers

    Which of the following statements accurately describes the difference between requirement validation and requirement verification?

    <p>Validation checks if the requirements are correct, while verification checks if the software meets the requirements. (D)</p> Signup and view all the answers

    Which of Osborn's rules suggests that criticism of ideas should be avoided during the initial brainstorming phase?

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

    According to the content, what is the primary benefit of combining and improving ideas during brainstorming?

    <p>It leads to more innovative and effective solutions. (C)</p> Signup and view all the answers

    Which of the following is NOT a key principle of requirement specification as described in the content?

    <p>Ensuring the software is aesthetically pleasing (A)</p> Signup and view all the answers

    Study Notes

    CP317 Software Engineering - Week 2-2 Requirement Gathering

    • Agenda: Review of week 2-1, gathering requirements, requirement elicitation techniques (task analysis, domain analysis, brainstorming), requirement specification, recording requirements (documentation, UML), requirement validation and verification, summary
    • Review Week 2-1:
      • Importance of requirements:
        • Understandable, correct, unambiguous, complete, consistent, interoperable, verifiable, traceable, prioritized, achievable
      • Requirement prioritization (MOSCOW method)
      • Requirement categorization (Business/user/system, Functional, Non-functional, FURPS and FURPS+ methods)
      • Differences between requirement prioritization and categorization
    • 2020 Findings (Capella University):
      • Common IT project failure causes
      • Requirements definition is the most frequently cited cause (33%).
    • Gathering Requirements:
      • Elicitation process, including discovery, classification/organization, prioritization/negotiation, and specification
    • Requirements elicitation techniques:
      • Communication (interviews, surveys, questionnaires)
      • Task analysis
      • Domain analysis
      • Brainstorming (Alex F. Osborn's four rules: focus on quantity, withhold criticism, encourage unusual ideas, combine and improve ideas)
      • Prototyping
      • Observation
      • Task analysis questions (Who uses the system? What tasks are performed? What tasks are desired? How are the tasks learned? Where are the tasks performed? What's the relationship between user & data?)
    • Domain analysis:
      • Definition: Process where a software engineer learns background information about a business or technology domain to solve problems and make good decisions
    • Requirement specification:
      • A document which defines requirements, allowing decision-making, high-quality software design, and builds.
      • Decomposition means breaking down requirements from system context level into functions and data entities.
    • Recording requirements (UML):
      • Unified Modeling Language (UML) is a visual language for specifying and visualizing complex software, not programming.
      • UML diagrams are ways to portray behaviors and structures of software and database designs.
    • Requirement Validation and Verification:
      • Validation: ensures requirements say the right things (making sure)
      • Verification: checks that the software product actually satisfies the requirements (checking).
      • Verification vs Validation (table with explanations).
    • Summary and Announcement:
      • Group project forming by end of January.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Dive into the details of requirement gathering in Software Engineering with this quiz. Explore various elicitation techniques, validation processes, and the importance of clear specifications. Review significant findings that highlight the crucial role requirements play in project success.

    More Like This

    Use Quizgecko on...
    Browser
    Browser