Software Engineering: Requirement Engineering - Lecture 5
18 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 a system requirements document?

  • To define the user requirements in natural language and diagrams
  • To establish the timing constraints and development process for the system
  • To outline the contract between the system buyer and software developers
  • To provide a detailed description of the system's functions, services, and operational constraints (correct)
  • What is the difference between functional and non-functional requirements?

  • Functional requirements state what the system should not do, while non-functional requirements state what the system should do
  • Functional requirements describe the services the system should provide, while non-functional requirements are constraints on those services (correct)
  • Functional requirements are written in natural language, while non-functional requirements use diagrams
  • Functional requirements are for the system buyer, while non-functional requirements are for the software developers
  • Why is it important to write requirements at different levels of detail?

  • To provide a contract between the buyer and developers
  • To ensure the system meets all user expectations
  • Because different readers (e.g. users, developers) use the requirements in different ways (correct)
  • To clearly define the functional and non-functional requirements
  • Which of the following is NOT a characteristic of a functional requirement?

    <p>Defines the system's timing constraints</p> Signup and view all the answers

    Which of the following is a key purpose of a system requirements document?

    <p>To define exactly what is to be implemented in the software system</p> Signup and view all the answers

    What is the main difference between user requirements and system requirements?

    <p>User requirements define the services the system should provide, while system requirements are more detailed descriptions</p> Signup and view all the answers

    What does completeness mean in the context of functional system requirements?

    <p>Having all services required by the user defined</p> Signup and view all the answers

    Which of the following factors can influence the requirements of a software system?

    <p>The type of software being developed and expected users</p> Signup and view all the answers

    Why is it challenging to achieve both consistency and completeness in large, complex systems?

    <p>Complexity and scale of large systems</p> Signup and view all the answers

    Which of the following is an example of a functional requirement for a mental health care patient management system?

    <p>The system shall generate a list of patients attending appointments daily</p> Signup and view all the answers

    What does consistency mean in the context of functional system requirements?

    <p>Making sure requirements do not contradict each other</p> Signup and view all the answers

    What is an example of a specific functional requirement mentioned in the text?

    <p>Each staff member shall be uniquely identified by an eight-digit number</p> Signup and view all the answers

    What is the primary purpose of requirements engineering?

    <p>To define the services and constraints of a system</p> Signup and view all the answers

    How is the term 'requirement' used in the software industry?

    <p>It is used inconsistently, ranging from abstract statements to formal definitions</p> Signup and view all the answers

    Why should requirements be written in an abstract way for a large software development project?

    <p>To allow multiple contractors to bid for the contract</p> Signup and view all the answers

    What should the contractor do after being awarded the contract?

    <p>Write a detailed system definition for the client</p> Signup and view all the answers

    Which of the following statements is true about requirements documents?

    <p>Both the client's and contractor's documents may be called requirements documents</p> Signup and view all the answers

    What is the purpose of writing a system definition in more detail by the contractor?

    <p>To validate the client's understanding of the software</p> Signup and view all the answers

    Study Notes

    Types of Requirements

    • User requirements: natural language plus diagrams, describing services the system provides and operational constraints
    • System requirements: detailed descriptions of software system’s functions, services, and operational constraints

    Functional and Non-Functional Requirements

    • Functional requirements: statements of services the system should provide, how it should react to inputs, and behave in situations
    • May include explicit statements of what the system should not do
    • Non-functional requirements: constraints on services or functions offered by the system, including timing constraints, development process constraints, and standards-imposed constraints

    Functional Requirements

    • Describe what the system should do
    • Depend on software type, users, and organization approach
    • Vary from general to specific requirements reflecting local ways of working or existing systems
    • Examples for a mental health care patient management system:
      • A user shall be able to search the appointments lists for all clinics
      • The system shall generate each day, for each clinic, a list of patients expected to attend appointments that day
      • Each staff member using the system shall be uniquely identified by their eight-digit employee number

    Requirements Completeness and Consistency

    • Functional requirements specification should be both complete (define all services required by the user) and consistent (no contradictory definitions)
    • In practice, achieving completeness and consistency is impossible for large, complex systems

    Requirements Engineering

    • The process of finding out, analyzing, documenting, and checking services and constraints of a system is called requirements engineering (RE)
    • The term "requirement" is not used consistently in the software industry, ranging from high-level abstract statements to detailed, formal definitions of system functions

    Requirement Abstraction

    • Requirements must be written in a sufficiently abstract way to allow for different solutions and bidding from contractors
    • Once a contract is awarded, the contractor must write a more detailed system definition for the client to validate the software's functionality

    Studying That Suits You

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

    Quiz Team

    Description

    Learn about Requirement Engineering in software engineering, covering the process of finding out, analyzing, documenting, and checking the services and constraints of a system. Explore the importance and definitions surrounding system requirements.

    More Like This

    Use Quizgecko on...
    Browser
    Browser