Software Requirement Analysis

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 goal of requirements analysis in the software development lifecycle (SDLC)?

  • To design an appealing user interface.
  • To establish a comprehensive understanding of what the software system should do and how it should function. (correct)
  • To test the software for bugs.
  • To write code efficiently and quickly.

Which of the following best describes Functional Requirements?

  • They dictate the hardware needed for development.
  • They focus on the quality attributes of the system.
  • They specify the system's functionalities, features and actions. (correct)
  • They describe how well the system should perform.

What is the main focus of Non-functional Requirements?

  • Detailing the actions a user can perform.
  • Defining what the system should do regardless of performance.
  • Specifying quality attributes, such as security, usability and response time. (correct)
  • Describing the specific features a system must have.

Which of the following is NOT a key step in the requirements analysis process?

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

Which technique is MOST suitable for gathering requirements from a large and diverse group of stakeholders?

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

Why is validation an essential step in the requirements analysis process?

<p>To verify the accuracy, completeness, consistency and feasibility of the requirements. (C)</p> Signup and view all the answers

What is a significant challenge often faced during requirements analysis?

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

What is NOT typically considered a quality of a 'good' requirement?

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

What is a common pitfall to avoid during requirements analysis?

<p>Ignoring user needs. (A)</p> Signup and view all the answers

What is the primary role of a Business Analyst in requirements analysis?

<p>Eliciting requirements from stakeholders (C)</p> Signup and view all the answers

When conducting requirements analysis for systems involving real-time data processing, which practice is MOST important?

<p>Understanding real-time constraints (A)</p> Signup and view all the answers

In Plan-Driven Development, what is the primary characteristic regarding change?

<p>Future changes are assumed to not occur. (D)</p> Signup and view all the answers

Which of the following methodologies is BEST suited for small to medium-sized systems and teams?

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

What is a key advantage of using Agile methodologies?

<p>Can easily accommodate changes at any time. (D)</p> Signup and view all the answers

In the Agile methodology, how often should working software be delivered?

<p>Frequently, from a couple of weeks to a couple of months. (D)</p> Signup and view all the answers

Which of the following is emphasized MORE in the Agile Model?

<p>Customer involvement. (D)</p> Signup and view all the answers

In the Waterfall diagram shown, after which stage is the 'Design' stage?

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

What is 'Verification' in the V-Model?

<p>The act of reviewing documentation specifications. (A)</p> Signup and view all the answers

In the V-Model, what immediately precedes System Testing?

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

What is the validation phase in the V-Model?

<p>A process for ensuring that the decisions made in the verification phase are sound. (A)</p> Signup and view all the answers

Which is a key characteristic of the Plan Driven Model?

<p>It plans all features at the start of the project. (D)</p> Signup and view all the answers

In project planning, which consideration is most crucial for a successful outcome?

<p>Risk Analysis and strategies to arise. (A)</p> Signup and view all the answers

What is a significant drawback of the Plan-Driven Development (PDD) model?

<p>It can be difficult to accommodate changes once the project has begun. (D)</p> Signup and view all the answers

What is the main purpose of Agile Development?

<p>To help a project adapt quickly to change requests. (D)</p> Signup and view all the answers

Which of the following Agile principles is MOST crucial for project success?

<p>Satisfying the customer through early and continuous delivery of valuable software. (A)</p> Signup and view all the answers

What is the main aim to continuously pay attention to technical excellence and good design?

<p>Enhances Agility. (A)</p> Signup and view all the answers

What is a potential disadvantage of Agile development relating to predictability?

<p>It can be much more difficult to estimate accurately the time necessary. (B)</p> Signup and view all the answers

What characterizes the Agile Model over the V-Model?

<p>A software development model in which the development and testing process carries on simultaneously (A)</p> Signup and view all the answers

What is the purpose of 'functional requirements'?

<p>The list of features the user will see and be able to use. (D)</p> Signup and view all the answers

In a plan-driven process, what is the output of identifying requirements?

<p>A functional specification. (B)</p> Signup and view all the answers

What is the least important thing before you start coding?

<p>Start coding. (C)</p> Signup and view all the answers

What should be described in user requirements?

<p>Any interaction element in a program. (B)</p> Signup and view all the answers

What does a set of detailed domain requirements give the developers?

<p>Information they will need during the design of the program. (D)</p> Signup and view all the answers

What defines a non-functional requirement?

<p>Constraints of service of the program. (C)</p> Signup and view all the answers

The communication to the customer of what the program will NOT do is a:

<p>Non-requirement. (B)</p> Signup and view all the answers

A functional specification does what?

<p>Describes what the program will do entirely from the user's perspective. (B)</p> Signup and view all the answers

What is a 'Scenario of Typical Usage'?

<p>Present several scenarios of typical usage of the program to them as part of the specification. (B)</p> Signup and view all the answers

In the Agile Model how are user stories expressed?

<p>As a ROLE, I want to do ACTION, so that REASON. (A)</p> Signup and view all the answers

What is the Agile Model's INVEST acronym?

<p>Independent, negotiable, valuable, estimatable, small, testable. (B)</p> Signup and view all the answers

In the context of Agile user stories, what does 'Negotiable' mean?

<p>A good story leaves room for the parties involved to negotiate the details of its implementation. (B)</p> Signup and view all the answers

What is a key feature of an Estimatable-story in the Agile framework?

<p>It is critical to the product owner so that they can assign a relative priority to the story. (B)</p> Signup and view all the answers

Flashcards

What is Requirements Analysis?

Requirements analysis establishes what the software system should do and how it should function.

Types of Requirements

Functional requirements describe what a system should do, while non-functional requirements focus on how well the system performs.

Key Steps in Requirements Analysis

Elicitation, Analysis, Documentation, Validation, and Management.

Eliciting Requirements

Common elicitation techniques: Interviews, Surveys, Workshops, Prototyping, and Observation.

Signup and view all the flashcards

Validating Requirements Importance

Validating ensures accuracy, completeness, consistency, and feasibility, building trust among stakeholders.

Signup and view all the flashcards

Challenges in Requirements Analysis

Common challenges include ambiguous requirements, changing needs, poor communication, technical limits, and difficulties in elicitation.

Signup and view all the flashcards

Qualities of Good Requirements

Clear, concise, complete, consistent, feasible and testable.

Signup and view all the flashcards

Mistakes to Avoid

Avoid assuming understanding, ignoring users, and failing to document or validate.

Signup and view all the flashcards

Role of a Business Analyst

Business analysts elicit, analyze, document, validate, communicate, and manage requirements.

Signup and view all the flashcards

Real-Time System Best Practices

Understand constraints, define data flow, consider synchronization, and test for real-time performance.

Signup and view all the flashcards

What is V-Model?

V-Model is an SDLC model that splits up the software development process into two separate phases: Verification and Validation phases

Signup and view all the flashcards

What s verification phase?

Verification phase is the process of confirming that the software meets its intended design

Signup and view all the flashcards

What is validation phase?

Validation phase is the process of confirming that it meets the user's needs and requirements

Signup and view all the flashcards

What is an Agile Methodology

Agile methodology is about getting the customer feedback as quickly as possible and releasing frequently

Signup and view all the flashcards

INVEST In Agile Methodologies

In agile methodologies , it helps to phrase the user stories in a such a way that the components are Independent, negotiable,Valuable, Estimable, Small and Testable

Signup and view all the flashcards

Requirements

Functional - See and use; Plan-driven -Functional specification

Signup and view all the flashcards

User Requirements

The user expects to see what the program will do.

Signup and view all the flashcards

Domain Requirements

A set of detailed domain requirements gives the developers information they will need during the design of the program.

Signup and view all the flashcards

DisAdvantages Agile

The flexibility at the core of the Agile method also means a much lower degree of predictability.

Signup and view all the flashcards

Study Notes

  • Requirement analysis is a crucial SDLC phase involving stakeholder need understanding, detailed information gathering, and clear requirement documentation.
  • The goal is to establish a comprehensive understanding of what a software system should do and how it should function.

Types of Requirements

  • Functional requirements describe what a system should do, specifying its functionalities, features, and actions, such as login, data storage, and report generation.
  • Non-functional requirements focus on the quality attributes of a system, how well it performs, its design, and constraints, including performance, security, usability, and reliability requirements.

Key Steps

  • Elicitation
  • Analysis
  • Documentation
  • Validation
  • Management

Elicitation Techniques

  • Interviews
  • Surveys and Questionnaires
  • Workshops
  • Prototyping
  • Observation

Importance of Validation

  • Validation addresses the needs and expectations of stakeholders.
  • It verifies accuracy, completeness, consistency, and feasibility of requirements.
  • Errors, inconsistencies, or missing information are identified and addressed.
  • Validation builds trust and confidence among stakeholders, aligning them on goals and objectives.

Common Challenges

  • Requirements analysis faces challenges such as ambiguous/conflicting needs.
  • Also changing requirements and lack of communication.
  • Technical limitations and user elicitation difficulties also pose issues.

Qualities of Good Requirements

  • Good requirements should be clear, concise and easy to understand.
  • Good requirements should also be complete, containing all necessary information for implementation and testing.
  • Free from contradictions and conflicting information.
  • Testable to guarantee it meets required criteria.
  • Defined to be realistic and achievable within technical and resource constraints.

Mistakes to Avoid

  • Avoid assuming understanding, ignoring user needs, and failing to document, review, and validate requirements.
  • Avoid Procrastinating requirements

Business Analyst Role

  • Business analysts elicit, analyze, document, validate, and communicate needs and manage changes.

Best Practices for Real-Time Data Processing Systems:

  • Best practices include understanding real-time constraints.
  • Practices also describe defining data flow/processing and considering concurrency/synchronization.
  • Thorough testing for real-time performance is also performed.

Plan Driven vs Agile

  • Fred Brook states the most important function that the software builder performs for the client is the iterative extraction and refinement of the product requirements

Plan-Driven Development

  • Plan driven development uses a software development method attempting to plan and develop all features a user might want and details how such features are developed.
  • It includes organizing the team and member roles.
  • Risk Analysis and Probabilities as well as Hardware and software resource requirements should also be considered.
  • Decide Activities, Deliveries, and Milestones and allot of needed people/time.
  • Establish Monitoring or Reporting systems.

Plan-Driven - PDD Advantages

  • PDD requires knowledgeable personnel at the beginning and fits big software development/extensive systems.
  • PDD grips hazardous systems efficiently and fits stable growth environment.
  • PDD also provides achievement attained through construction and directive.

Plan-Driven - PDD Disadvantages

  • PDD does not allow changes at anytime.
  • Repetition distances are longer and future variation can not occur.
  • User-particpation is limited and expenses for dynamic expansion environment can increase.

Agile Development

  • Agile helps adapt to project with change requests with aim to facilitate quick project completion for greater agility.
  • Agility is achieved by fitting the process to the project with limited activities for a specific project.
  • Agile's highest priority is to satisfy the customer through early and continuous delivery of valuable software

Agile Advantages

  • Changing requirements are welcome, even late in development, and processes harness a more competitive advantage.
  • It provides faster deliver working software between weeks or months and should support shorter timescales.
  • Allows people/developers to constantly work together throughout a project
  • Agile best architectures, requirements, and designs emerge from self-organizing teams.
  • Allows agile teams to regularly reflect and tunes/adjust behavior for better effectiveness.
  • Allows the most efficient and effective means to conveying information from face-to-face conversations.

Agile Disadvantages

  • Agile's flexibility at the core allows much lower predictability, making estimates difficult for resources/efforts for project completion.
  • This can lead to uncertainty, frustrations, and poor decisions.
  • It requires more time and commitments but can negatively impact quality if one is not on-board.
  • Development requires constant collaboration, taking more time/energy for everyone.
  • Tasks are often completed quickly, which also reduces extensive documentation leads misunderstandings.
  • Agile projects are less structured and easily run astray or stray from original scope.

Agile vs V-Model

  • The Agile Model differs compared to V-model in that the project continues to test a developing the software simultaneously.
  • The V-Model is reliable than the Agile Model, as it tests once completed entirely.

Differences Summarized

  • Agile models create concurrent while the V model does not.
  • Agile creates multiple sprints as verification/validation processes.
  • Agile models is compared to v-models for easy testing and communications between teams.
  • Agile models consist of a total of 5 phases while the V model does not.
  • Agile's developers/testers are connected compared to the others independence.
  • Agile is iterative an incremental testing compared to the V models process.
  • In general agile handles smaller and large projects compared to V which handles the reverse.
  • Coding/testing is more focused in Agile while design is the sole focus in the V models.
  • Agile models test working software sooner in a proactive method.
  • V operates on a reactive process, rigid, and a longer testing time than Agile.

Requirements

  • Functional requirements list features the user will see/use when program starts
  • A plan driven process requires functional specification documents for of identifying requirements for a functional system.
  • A agile process uses User Stories to define product backlog.
  • During your project, requirements are uncovered as a diverse set of User, Domain, Nonfunctional, and Non requirements.

What types are we talking about?

  • It is important to learn and build the best type of programs from super-programmer mindsets.

User Requirements

  • Provide details and support in natural language of screen layouts, dialog boxes, and menus.
  • Describes any program in the user requirements.

Domain Requirements

  • Detailed requirements give developers important insight for design.
  • Layer software as applications below the user and network interfaces.
  • API's are implemented with separate classes and libraries.
  • Domain users should only affect the application with concern to the user.

Non-Requirements

  • Non functional requirements creates services and functions for expectations.
  • These expectations provide security requirements, files, and other memory data.
  • These include requirements that provide the overall experience on what the app provides when loading.

The Gathering in Plan-Driven Project

  • Functional documents creates perspective from specified screens, manuals, and dialogs.
  • The technical reports details program, database, models, data structures, and language.

Outlining Functional Specification

  • Diverse elements are applied as the program differs and the project grows.
  • Scenarios in a list are displayed.
  • Issues are resolved by receiving customer help.
  • Features and Design notes create better marketing with better implementation ideas.

Agile Requirement Analysis

  • Agile follows an iterative process of improving software with frequent feedback.

Requirements Gathering

  • Agile development project often does not have a full functional specification document.
  • From previous requirements, Agile developers should embrace change and defer the making of future design as long as possible. By doing so, designers will have less of a scope.
  • The immediate feedback allows them to take data and give updates to the customers.

Card System

  • Users write user stories that allow a card system to provide post it notes, index cards and physical devices.
  • User Stories should also implement a ROLE as it performs an specific ACTION due to REASONS .

Stories -INVEST in

  • Independent
  • Negotiable
  • Valuable
  • Estimable
  • Small
  • Testable

Stakeholders in Agile

  • Conversation and the product stakeholders take their part in design to better represent project.
  • This includes users, product testers, development, and market team.
  • By building confirmation processes and criteria lists, teams will use their implementation skills and processes better.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Requirement Analysis and Specification Quiz
5 questions
Requirement Analysis and Specification Quiz
5 questions
SDLC Analysis Phase Quiz
45 questions
Use Quizgecko on...
Browser
Browser