Software Engineering: Requirement Engineering - Lecture 5

TimeHonoredBandura avatar
TimeHonoredBandura
·
·
Download

Start Quiz

Study Flashcards

18 Questions

What is the main purpose of a system requirements document?

To provide a detailed description of the system's functions, services, and operational constraints

What is the difference between functional and non-functional requirements?

Functional requirements describe the services the system should provide, while non-functional requirements are constraints on those services

Why is it important to write requirements at different levels of detail?

Because different readers (e.g. users, developers) use the requirements in different ways

Which of the following is NOT a characteristic of a functional requirement?

Defines the system's timing constraints

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

To define exactly what is to be implemented in the software system

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

User requirements define the services the system should provide, while system requirements are more detailed descriptions

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

Having all services required by the user defined

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

The type of software being developed and expected users

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

Complexity and scale of large systems

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

The system shall generate a list of patients attending appointments daily

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

Making sure requirements do not contradict each other

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

Each staff member shall be uniquely identified by an eight-digit number

What is the primary purpose of requirements engineering?

To define the services and constraints of a system

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

It is used inconsistently, ranging from abstract statements to formal definitions

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

To allow multiple contractors to bid for the contract

What should the contractor do after being awarded the contract?

Write a detailed system definition for the client

Which of the following statements is true about requirements documents?

Both the client's and contractor's documents may be called requirements documents

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

To validate the client's understanding of the software

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

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.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser