Software Requirements Analysis Quiz
48 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 primary purpose of requirements analysis in software development?

  • To collect data from stakeholders.
  • To design the user interface.
  • To perform quality assurance testing.
  • To clearly specify functional and non-functional requirements. (correct)

Which component is NOT part of a conceptual model?

  • Conceptual Design
  • Database Schema (correct)
  • System Architecture
  • Use Case Model

What is an Emergent Requirement?

  • A requirement that is clear and concise.
  • A requirement that is only feasible with extensive resources.
  • A requirement that relies on the interaction of multiple software components. (correct)
  • A requirement that can be addressed by a single software component.

What role do use case scenarios play during requirements analysis?

<p>Eliciting user response and refining system functionality. (C)</p> Signup and view all the answers

Which characteristic ensures that requirements are understandable and unambiguous?

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

In a Use Case Diagram, what do the stick figures represent?

<p>Users or external entities. (D)</p> Signup and view all the answers

How can use case scenarios be utilized in system testing?

<p>By creating test case scenarios from them. (C)</p> Signup and view all the answers

Which of the following is NOT a characteristic of effective software requirements?

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

What is one guideline for writing good natural language requirements?

<p>Use complete sentences in active voice. (D)</p> Signup and view all the answers

What does the Use Case Model describe?

<p>The various ways system users can interact with a system. (B)</p> Signup and view all the answers

Why is verifiability important in software requirements?

<p>It allows for testing the implementation of requirements. (B)</p> Signup and view all the answers

Which of the following statements about use case actors is correct?

<p>Actors can be external entities that interact with the system. (A)</p> Signup and view all the answers

What is the function of connectors in a Use Case Diagram?

<p>To represent the relationships between actors and use cases. (D)</p> Signup and view all the answers

Which phrase best describes a requirement that is 'Concise'?

<p>It describes a single property without unnecessary words. (D)</p> Signup and view all the answers

What does it mean for a requirement to be 'Traceable'?

<p>It can be traced to its source and related artifacts. (A)</p> Signup and view all the answers

How should reliability be expressed in software requirements?

<p>The TMS software subsystem shall not fail more often than once in every 20,000 hours. (A)</p> Signup and view all the answers

What do non-functional requirements primarily address?

<p>The quality attributes and constraints of a system (A)</p> Signup and view all the answers

Which statement illustrates a poorly written requirement?

<p>The output of the program shall usually be given within 10 seconds. (A)</p> Signup and view all the answers

Which phase of the requirements process involves collecting requirements from stakeholders?

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

What is the purpose of Requirements Validation?

<p>To ensure the requirements are understandable and complete (C)</p> Signup and view all the answers

During which phase might analysis lead back to further stakeholder discussions?

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

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

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

What does the term 'correctness' imply in the context of requirements?

<p>It refers to the functionality of the software to deliver specified outputs. (D)</p> Signup and view all the answers

What does requirement management entail in the context of software development?

<p>Handling changes in requirements over the life of the software (A)</p> Signup and view all the answers

What common attributes do both books and journals share?

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

What type of relationship exists between students and publications in the university library system?

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

Which of the following describes the characteristics of a journal?

<p>It has volume numbers and issue numbers. (B)</p> Signup and view all the answers

In the UML class diagram, what should books and journals inherit from?

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

Which attribute is NOT associated with students in the library system?

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

What is a necessary component to represent the library's interaction with publications?

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

What element would NOT typically be included in a UML class diagram for a library system?

<p>ISBN numbers for journals (D)</p> Signup and view all the answers

What is the primary purpose of creating a UML class diagram in this context?

<p>To visualize relationships between entities (D)</p> Signup and view all the answers

What is the primary function of the 'User' actor in the habit tracker system?

<p>To track and manage personal habits (D)</p> Signup and view all the answers

Which use case allows the coach to interact with a specific user's habit?

<p>View one user's habits (D)</p> Signup and view all the answers

Which type of relationship describes use cases that are always performed as part of another use case?

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

What is the role of the 'Update habit history' use case?

<p>To record changes whenever a habit is modified (D)</p> Signup and view all the answers

Which of the following is NOT a pre-condition for a use case scenario?

<p>All habits must be marked as done (D)</p> Signup and view all the answers

What does the 'Add a comment' use case allow the coach to do?

<p>Leave feedback on a user's habit completion (C)</p> Signup and view all the answers

What is a distinguishing feature of the 'Extend relationships' in use cases?

<p>They may or may not be invoked based on conditions (B)</p> Signup and view all the answers

How can a use case scenario be structured?

<p>It can include various components or just steps (D)</p> Signup and view all the answers

What does a post-condition in a use case scenario define?

<p>The expected outcome when the use case scenario is completed (B)</p> Signup and view all the answers

Which of the following best describes a Main Success Scenario?

<p>A sequence of steps leading to the achievement of the use case goal (A)</p> Signup and view all the answers

What are alternative scenarios in use cases typically used for?

<p>To describe exceptional situations that may disrupt the main scenario (D)</p> Signup and view all the answers

Which type of constraint specifies the programming language to be used in development?

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

What is indicated by resource constraints in software development?

<p>The limitations of the development team and infrastructure (A)</p> Signup and view all the answers

What is a required condition for the software regarding network requirements?

<p>An internet connection for real-time updates is necessary (B)</p> Signup and view all the answers

What must the software comply with regarding user data?

<p>GDPR regulations for data privacy (C)</p> Signup and view all the answers

Which of the following should be included to ensure scalability and performance?

<p>Performance testing to ensure a responsive user experience (D)</p> Signup and view all the answers

Flashcards

Emergent Requirement

A requirement that cannot be satisfied by a single software component but depends on the interaction of multiple components.

Correctness in Software Requirements

Every requirement specified must be one that the software must satisfy.

Clarity and Unambiguity in Software Requirements

Requirements are expressed in a way that's clear, concise, and easy to understand. There should be only one interpretation of a requirement.

Completeness in Software Requirements

Includes all requirements agreed upon by all stakeholders involved in the system.

Signup and view all the flashcards

Conciseness in Software Requirements

Each requirement should describe a single property without unnecessary words.

Signup and view all the flashcards

Consistency in Software Requirements

Requirements should not contradict each other.

Signup and view all the flashcards

Feasibility in Software Requirements

Requirements should be achievable given available resources and time constraints.

Signup and view all the flashcards

Traceability in Software Requirements

Each requirement should be traceable back to its origin (e.g., user needs, regulations) and forward to the software artifacts created based on it (e.g., design documents, code).

Signup and view all the flashcards

Requirements Analysis

The process of taking stakeholder information and analyzing to understand their needs, specifying functional and non-functional requirements clearly and completely, and providing a solid foundation for design, construction, and testing.

Signup and view all the flashcards

Conceptual Model

A representation of the system that helps communicate between users, management, and the development team.

Signup and view all the flashcards

Conceptual Design

An initial view of the system architecture, portraying key components and their relationships.

Signup and view all the flashcards

Use Case Model

A model describing various scenarios of user interaction with the system.

Signup and view all the flashcards

Use Case Actor

A user or external entity that interacts with the system being analyzed.

Signup and view all the flashcards

Use Case Scenario

A sequence of interactions between the system and its actors, illustrating a specific usage scenario.

Signup and view all the flashcards

Use Case Diagram (UML)

A diagram that visually represents actors, use cases, and their relationships, helping to understand system interactions.

Signup and view all the flashcards

Use Case Testing

Using use case scenarios to create test cases that guide system testing.

Signup and view all the flashcards

Functional Requirements

Describe specific system functionalities. Answer "What?" questions.

Signup and view all the flashcards

Non-Functional Requirements

Define the quality attributes and constraints of a system. Answer "How?" questions.

Signup and view all the flashcards

Requirements Elicitation

A process that involves identifying and gathering software requirements from stakeholders.

Signup and view all the flashcards

Requirements Specification

A process that involves defining and documenting the software requirements in a precise and organized manner.

Signup and view all the flashcards

Requirements Validation

Verifying that the defined requirements are correct, complete, consistent, understandable, and adhere to standards.

Signup and view all the flashcards

Requirements Management

Managing requirements changes throughout the software's lifecycle. This includes adding new requirements and modifying existing ones.

Signup and view all the flashcards

Iterative Requirements Process

A cyclic process where work done in one phase might lead to revisiting an earlier phase.

Signup and view all the flashcards

Multiplicity in UML

In UML diagrams, multiplicity shows how many instances of one element can be related to another element. It's represented by numbers and ranges.

Signup and view all the flashcards

Primary Actor

A primary actor is the main user of a system, directly interacting with the core functionalities.

Signup and view all the flashcards

Secondary Actor

A secondary actor is a user with limited or supporting access to the system, often assisting primary actors.

Signup and view all the flashcards

Include Relationship

An include relationship in UML means one use case always includes another use case. The included case executes as part of the main case.

Signup and view all the flashcards

Extend Relationship

An extend relationship in UML means one use case can optionally extend another use case based on certain conditions. The extended functionality isn't always required.

Signup and view all the flashcards

Precondition in a Use Case Scenario

A precondition in a Use Case Scenario specifies what must be true before the scenario can start. It sets the stage for the action.

Signup and view all the flashcards

System Correctness

A system's ability to meet the functional and non-functional requirements for which it was designed.

Signup and view all the flashcards

Post-Condition

A statement indicating the desired state of the system after a use case scenario is completed.

Signup and view all the flashcards

Main Success Scenario

A detailed sequence of steps that describes the standard, successful path for achieving a use case goal.

Signup and view all the flashcards

Exception Scenarios

Alternative scenarios that specify what happens when an exceptional situation occurs, disrupting the main success scenario.

Signup and view all the flashcards

Actor

A user or external system that interacts with the system being analyzed in a use case scenario.

Signup and view all the flashcards

Use Case Inclusion

Describes how a use case can be reused within another use case, essentially incorporating the steps of the referenced use case.

Signup and view all the flashcards

Development Constraints

Constraints imposed by the software's technology, resources, regulations, time, or scope.

Signup and view all the flashcards

Operational Environment Requirements

Requirements related to the hardware, software, network, security, and performance of the system.

Signup and view all the flashcards

Development Constraints

Constraints imposed by the software's technology, resources, regulations, time, or scope.

Signup and view all the flashcards

Operational Environment Requirements

Requirements related to the hardware, software, network, security, and performance of the system.

Signup and view all the flashcards

Inheritance

A class relationship where a superclass (parent) has general attributes and methods, and subclasses (children) inherit and specialize them. This allows for code reuse and a hierarchical structure.

Signup and view all the flashcards

Association

A class relationship representing a one-to-many connection between two classes. One instance of the first class can be associated with multiple instances of the second class.

Signup and view all the flashcards

Composition

A type of association where one class needs instances of another class to exist or function. This implies a stronger dependency.

Signup and view all the flashcards

Aggregation

A type of association where one class can exist without the other, but their functionalities are linked. This implies weaker dependency.

Signup and view all the flashcards

Cardinality

A special type of association, where one class can be related to multiple instances of another. This defines the number of connections allowed.

Signup and view all the flashcards

Container Class

A class that acts as a container for other classes, representing a group or collection. This is used for managing a collection.

Signup and view all the flashcards

Subclass

A class that is a more specific version of another class, inheriting from the parent class and adding special attributes and methods.

Signup and view all the flashcards

Superclass

A general class that defines common attributes and methods for a family of subclasses.

Signup and view all the flashcards

Study Notes

Engineering Requirements

  • Requirements are capabilities needed by a user to achieve an objective
  • Requirements must be met by the system to satisfy a contract, standard, specification, or other formally imposed documents.
  • System requirements apply to the entire system
  • Software requirements apply to the software subsystem

Software Requirements Concepts & Process

  • Functional Requirements describe functions the software performs.
    Example: A Traffic Management System can set the duration of individual traffic signal states. (Red 30-120 seconds, Green 30-120 seconds, Amber 5-10 seconds)
  • Non-Functional Requirements constrain the solution. Example: The Traffic Management System software must not fail more than once in every 24,000 hours.
  • Quality Attributes are characteristics related to performance and usability but unrelated to functionality. Examples include availability, reliability, usability, reusability, maintainability, efficiency, safety and security.
  • Emergent Requirements cannot be addressed by a single component, instead require interactions between all components. Example: A system needs a specific increase in traffic throughput during a specific time period.

TMS Case Study

  • Traffic Management Systems (TMS) use technologies to manage traffic flow.
  • TMS address congestion caused by accidents, slow-moving vehicles, planned events, and extreme weather.

Documentation - Specifying Requirements - SRS Outline

  • Introduction
  • Team Project Information
  • Overall Description
  • Product Description and Scope
  • Users Description
  • Development Constraints
  • Operational Environment
  • Functional Requirements
  • Performance Requirements
  • Other Non-Functional Requirements
  • Reliability
  • Safety Requirements
  • Security Requirements
  • Maintenance Requirements
  • Business Rules
  • User Documentation
  • References
  • Appendix - Use Case Diagram

Software Requirements

  • Correct: Every requirement must be satisfied by the software.
  • Clear/Unambiguous: Requirements should be precise and easy to understand.
  • Complete: All agreed-upon requirements should be included.
  • Concise: Use clear and concise language.
  • Consistent: No contradictory requirements.
  • Feasible: Achievable within the given resources and schedule.
  • Traceable: Requirements can be linked back to sources and forward to developed artifacts.
  • Verifiable: Criteria for verification and a cost-effective way of checking implementation should exist.
  • Prioritized: Requirements should be ranked by importance or stability.

Guidelines For Writing Requirements

  • Use complete sentences and active voice.
  • Be precise and avoid ambiguity.
  • Requirements should be verifiable.
  • Keep requirements concise, avoid wordiness.
  • Use consistent terminology.
  • Avoid compound statements; each statement should represent a single requirement.
  • Avoid duplication.

Examples

  • Avoid Non-Requirement Statements: Statements describing background information, relationships, negative scenarios, or the system's general design.
  • Examples of Functional Requirements: Statements that describe specific system behavior (e.g., "The system must allow users to create and edit profiles").

Examples of Non-functional Requirements

  • Pressing a switch to light up a room in less than one second.
  • The light must switch off after two minutes when the room is empty.

Example of a Poorly Written Requirement

  • The output of the program should usually be displayed within 10 seconds.
  • Problems: Uses "usually," lacks specific conditions, undefined output, and unclear starting point for counting seconds.

Requirements Process

  • Elicitation (gathering requirements from stakeholders).
  • Analysis (studying data and modelling the problem).
  • Specification (documenting and organizing the requirements).
  • Validation (Confirming requirements meet the needs).
  • Requirements Management (managing requirements throughout the entire software life cycle).

Analyzing Requirements

  • Purpose of analysis: Understand stakeholder needs, define and specify requirements clearly, correctly and completely, and establish a solid foundation for design, construction, and testing.
  • Develop a conceptual model for more effective communication.
  • Elements of the Conceptual Model include Conceptual Design (initial system architecture view) and Use Case Model (describing user interactions with the system).

Outputs from Requirements Engineering - Use Case Model

  • A model describing the ways users interact with the system.
  • A use case actor represents a user or external entity interacting with the system.
  • A use case includes a scenario, which details the interactions between the system and actors.
  • Scenarios are used to clarify, expand, and correct functionality.
  • Use cases are important for system test planning.
  • Different approaches to use case modelling exist.

Use Case Model (UML)

  • Use Case diagrams show actors, use cases and their relationships.
  • Stick figures represent actors
  • Ovals represent use cases
  • Connectors show relationships between actors and use cases

Multiplicity (in Associations)

  • The number of instances of one class potentially interacting with the instance of another class.
  • Multiplicities define possible relationships between classes.
  • Example: 0..* - Zero or more; 1 - Exactly one; 0..1 - Zero or one.

Use Case Activity

  • Defines actors, actions (use cases), their relationships (include/extend), and the conditions for each activity.

Use Case Scenario

  • Provides sequence of steps and describes the interaction between system and actors throughout a use case.
  • Contains pre-conditions, post-conditions, main success scenarios, exceptions, and any other use cases that are referenced.

Example - DH Sequence Diagram

  • Four objects in the given example: GeneralUser, DHServer, DHGateway, and Device Simulator.
  • This scenario describes various method calls to update DH device status.

Why Not Just Code?

  • Sequence diagrams can help understanding algorithms better than code.
  • Sequence diagrams are language-agnostic.
  • Easy to implement and understand them by the team, even for non-coders.
  • Visual bandwidth (to see several objects/classes at once).

Representing Objects (in Sequence Diagrams)

  • Represents objects using boxed shapes.
  • Names clarified with object names are preceded by colons.

Messages Between Objects

  • Horizontal arrows showing the method calls between objects.
  • Write message name and possible arguments above the arrow.

Indicating Selection and Loops (in Sequence Diagrams)

  • Boxes (frames) used for including selection and loop conditions in the diagram.

Linking Sequence Diagrams

  • Use references or "ref" frames to avoid repeating or expanding sequence diagrams in a larger diagram.

Annotations

  • Comments/annotations (additional details) to any part of the UML diagram.

Example - Digital Home

  • New homeowners interested in Smart Homes.
  • Emphasis on new technologies in home design, construction (e.g., distributed computing, web communications, and intelligent agents).

Basic Concepts of Object-Oriented Programming and UML

  • Object
  • Class
  • Class name
  • Attributes
  • Operations

UML Diagram Overview

  • Structural diagrams (Class, component, deployment, composite structure, package) are descriptions of the structure of a system.
  • Behavioral diagrams (activity, state machine, use case) describe system behavior.
  • Interaction diagrams (sequence, communication, interaction overview, timing) emphasize object interaction.

Example - Single Inheritance

  • Child class (subclass) inheriting properties and methods from a base (parent) class.

Example - Multiple Inheritance

  • Child class (subclass) inheriting properties and methods from multiple parent classes (with caution to avoid redundant code).

Association (for Relationships)

  • Models semantic connections among classes.
  • Multiplicity (defined for each class end and describes relationship cardinality).
  • Navigation (specify direction of access).

Example - Library System

  • A library system manages publications (books and journals).
  • Books and journals inherit from a publications superclass.
  • The relation between students and publications is an association with cardinality.
  • Library and publication relation is aggregation.

SDS

  • Engineering requirements from requirements to design (the specific topic of this presentation).

Studying That Suits You

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

Quiz Team

Related Documents

Requirements and Design PDF

Description

Test your understanding of requirements analysis in software development with this informative quiz. Covering essential concepts like use case scenarios and characteristics of effective software requirements, this quiz is designed for both beginners and advanced learners in the field.

More Like This

Use Quizgecko on...
Browser
Browser