CP317 Software Engineering - Week 2-2
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

Which of the following is NOT a characteristic of good requirements?

  • Prioritized
  • Ambiguous (correct)
  • Understandable
  • Traceable
  • What is the primary purpose of requirement discovery in the requirements elicitation process?

  • To identify and document all possible requirements, regardless of their importance.
  • To ensure that all stakeholders are involved in the process.
  • To understand the needs of the customer and translate them into detailed requirements for the software system. (correct)
  • To negotiate and prioritize requirements based on cost and feasibility.
  • What is the main purpose of using the FURPS+ method for requirement categorization?

  • To classify requirements into different categories based on their functional and non-functional aspects. (correct)
  • To ensure that all requirements are documented in a clear and concise manner.
  • To prioritize requirements based on their importance and feasibility.
  • To identify and analyze potential risks associated with the project.
  • Which of the following is a technique for gathering requirements?

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

    Which of the following correctly describes a difference between requirement prioritization and categorization?

    <p>All of the above are correct descriptions. (D)</p> Signup and view all the answers

    Why are good requirements important?

    <p>All of the above are reasons why good requirements are important. (D)</p> Signup and view all the answers

    What is the purpose of requirement specification?

    <p>To create a comprehensive document that outlines the essential requirements of the software system. (D)</p> Signup and view all the answers

    Which of the following is NOT a part of the requirements elicitation process?

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

    What is the main purpose of domain analysis in software engineering?

    <p>To shorten project duration and increase product quality. (A)</p> Signup and view all the answers

    Which technique involves the construction of an initial version of a product?

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

    Task analysis is primarily focused on?

    <p>Learning how tasks are accomplished. (B)</p> Signup and view all the answers

    Which of the following is NOT a method of communication for requirements elicitation?

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

    What type of meetings are organized during the brainstorming technique?

    <p>Discussions among stakeholders. (A)</p> Signup and view all the answers

    What does observation in requirements elicitation involve?

    <p>Visiting client organizations to assess current systems. (C)</p> Signup and view all the answers

    Which factor is NOT typically included in task analysis?

    <p>Stakeholder opinions. (D)</p> Signup and view all the answers

    The term 'domain' in domain analysis refers to?

    <p>The general field of business or technology. (B)</p> Signup and view all the answers

    What is the main purpose of brainstorming according to Osborn's method?

    <p>To gather a list of ideas spontaneously for solving a problem (B)</p> Signup and view all the answers

    Which rule emphasizes the importance of generating a large quantity of ideas?

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

    What is the purpose of requirement validation?

    <p>To ensure the documented requirements are correct and relevant (C)</p> Signup and view all the answers

    How does UML function in the context of software development?

    <p>It assists in specifying and visualizing complex software structures (C)</p> Signup and view all the answers

    Which of the following describes the process of software requirement decomposition?

    <p>The disassembly of a system into functions and data entities (B)</p> Signup and view all the answers

    What does requirement verification ensure?

    <p>The final software product meets the documented requirements (A)</p> Signup and view all the answers

    What is one of the rules in Osborn's brainstorming method regarding ideas?

    <p>Unusual ideas should be encouraged and considered (B)</p> Signup and view all the answers

    Which of the following statements is incorrect about UML?

    <p>UML is a programming language (A)</p> Signup and view all the answers

    Study Notes

    CP317 Software Engineering - Week 2-2 Requirement Gathering

    • Agenda: Reviewing week 2-1, gathering requirements, requirement elicitation techniques (task analysis, domain analysis, brainstorming, Alex F. Osborn's four rules for brainstorming), requirement specification, recording requirements, unified modeling language (UML), requirements validation and verification, summary
    • Review Week 2-1: Good requirements are understandable, correct, unambiguous, complete, consistent, interoperable, verifiable, traceable, prioritized, and achievable. Requirement prioritization (MOSCOW method) and categorization (Business/User/System, FURPS and FURPS+ methods, functional vs. non-functional requirements) were discussed.
    • 2020 Findings (Capella University): One of the primary causes of IT project failures is poor requirements definition.
    • Gathering Requirements Process:
      • Requirements discovery
      • Classification and organization
      • Prioritization and negotiation (e.g., MOSCOW method)
      • Specification (a document that clearly describes software requirements)
    • Gathering Requirements - Continued:
      • Think-Pair-Share methodology
      • Question: Given that requirements are already present, why do we need requirement discovery?
    • Requirements Elicitation Process:
      • Discovering needs, solution blueprints, detailed requirements, technical aspects (e.g., via communication with customers)
      • Requirements classification and organization/categorization
      • Requirement prioritization and negotiation (e.g., using FURPS/FURPS+ or MOSCOW method)
      • Requirements specification (details of essential functions, interfaces, design constraints, and quality attributes)
    • Requirements Elicitation Techniques:
      • Communication (interviews, surveys, questionnaires)
      • Task analysis (analysis of operations for new systems, focusing on tasks)
      • Domain analysis (process for learning background information about a specific field)
      • Brainstorming (group discussions for idea generation)
      • Prototyping (building a prototype without detail functionality to interpret intended aspects of software product)
      • Observation (experts visiting client environments to observe existing systems)
    • Task Analysis Questions: Example questions about the system, tasks, desired tasks, how tasks are learned, where tasks are performed, relationship between users and data, frequency of tasks, time constraints, and what happens when things go wrong.
    • Domain Analysis: A process where software engineers learn background information related to the customer’s area of business.
    • Brainstorming Technique - Osborn's Four Rules:
      • Focus on quantity: Encourage generating as many ideas as possible
      • Withhold criticism: Ensure free idea flow without judgment
      • Encourage unusual ideas: Foster innovative solutions
      • Combine and improve ideas: Combine existing ideas to create something new.
    • Requirement Specification: A process of making clear and precise design decisions related to potential requirement changes. It should be done with a focus on established scientific principles in software design.
    • Requirement Specification - Decomposition: Breaking down a software system into its smaller components.
    • Recording Requirements (UML): A general-purpose notational language to specify and visualize complex software systems, specifically used for large object-oriented projects. UML is not a programming language; it's used to create visual diagrams about software. It's applicable for various types of software design and database design.
    • Validation and Verification:
      • Requirement Validation: The process to ensure requirements state the right things.
      • Requirement Verification: The process to ensure the software product satisfies the stated requirements
    • Verification vs. Validation: Verification asks if building the software is done correctly (focus on static activity). Validation examines if the correct thing is being built (focus on dynamic activity and functionality).
    • Summary: Requirement gathering, elicitation techniques (communication, task analysis, domain analysis, brainstorming, prototype, observation), requirement specification, recording requirements (UML), validation, and verification. Apply learned knowledge to the group project.
    • Announcement: Group formation by the 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

    This quiz covers the key concepts of requirement gathering as discussed in CP317 Software Engineering. It focuses on requirement elicitation techniques, specification, and validation processes that contribute to successful IT project outcomes. Review the techniques and methodologies essential for defining clear and actionable requirements.

    Use Quizgecko on...
    Browser
    Browser