Professional Documents
Culture Documents
First Lecture+ IMP QUESTIONS
First Lecture+ IMP QUESTIONS
First Lecture+ IMP QUESTIONS
Definition: Domain requirements are specific to the application domain or industry in which the
software system will be used. They reflect the unique characteristics, constraints, and regulations of the
domain.
Example:
- "The system must comply with HIPAA regulations for patient data privacy and security."
Functional Requirements:
Definition: Functional requirements describe the specific behaviors or functions that the software
system must perform to meet user needs.
Example:
Non-Functional Requirements:
Definition: Non-functional requirements specify the quality attributes or constraints of the system, such
as performance, usability, reliability, or security.
Example:
- "The system must process fund transfers within 5 seconds, with a maximum downtime of 99.9%."
User Requirements:
Definition: User requirements represent the needs, expectations, and preferences of system users. They
focus on the features and functionalities that users want from the software.
Example:
- "The system must provide a 'like' button for users to express approval of posts."
Definition: Software Requirements Engineering (SRE) is the process of eliciting, analyzing, documenting,
validating, and managing software requirements throughout the software development lifecycle.
Example: In the development of a new e-commerce website, SRE involves gathering requirements from
stakeholders (e.g., customers, marketing team), analyzing these requirements to determine system
functionality and constraints, documenting them in a requirements specification document, validating
them to ensure they meet stakeholder needs, and managing changes to requirements as the project
progresses.
Definition: Business Requirements Engineering (BRE) focuses on understanding and documenting the
high-level business objectives, goals, and processes that the software system is intended to support.
Example:
In the development of an inventory management system for a retail company, business requirements
could include:
- "The system must accurately track inventory levels across multiple warehouses."
- "The system must generate automated reorder notifications when inventory levels fall below a certain
threshold."
A BRD is a formal document that outlines the business requirements for a software project. It serves as a
reference for stakeholders and provides a basis for software development activities.
1. Clear and Unambiguous: Requirements should be easy to understand and leave no room for
interpretation.
2. Complete: Requirements should capture all necessary functionalities and constraints of the system.
3. Consistent: Requirements should not contradict each other and should align with project objectives.
4. Feasible: Requirements should be achievable within project constraints (e.g., budget, schedule,
technology).
5. Testable: Requirements should be verifiable through testing to ensure that they are implemented
correctly.
6. Traceable: Requirements should be traceable to their source and to other project artifacts (e.g.,
design, test cases).
7. Prioritized: Requirements should be prioritized based on their importance and impact on project
success.
1. Incomplete Requirements: Stakeholders may fail to express all their needs, leading to missing or
overlooked requirements
2. Ambiguity: Requirements may be unclear, vague, or open to interpretation, causing confusion and
misunderstandings among stakeholders and development teams.
4. Changing Requirements: Requirements may evolve over time due to changing business needs,
market conditions, or stakeholder priorities, leading to scope creep and project delays.
5. Unrealistic Expectations: Stakeholders may have unrealistic expectations regarding the capabilities,
cost, or timeline of the project, leading to dissatisfaction and disappointment.
6. Lack of Stakeholder Engagement: Insufficient involvement or participation from key stakeholders can
result in requirements that do not fully address their needs or priorities.
8. Scope Creep: Continuous addition of new requirements without proper prioritization or impact
analysis can lead to scope creep, causing delays and budget overruns.
9. Dependency Issues: Dependencies between requirements or external factors may not be adequately
identified, leading to delays or conflicts during implementation.
10. Poor Communication: Communication breakdowns between stakeholders, development teams, and
other project stakeholders can hinder the elicitation and validation of requirements.
1. Requirement Elicitation: Gather and analyze business requirements through techniques such as
interviews, workshops, and document analysis.
2. Stakeholder Management: Identify and engage with stakeholders to understand their needs,
expectations, and priorities.
3. Requirement Analysis: Analyze and document requirements to ensure clarity, completeness, and
feasibility.
4. Requirement Prioritization: Prioritize requirements based on business value, urgency, and feasibility
to guide project planning and execution.
5. Facilitation: Facilitate meetings, workshops, and discussions to gather requirements, resolve conflicts,
and achieve consensus among stakeholders.
7. Change Management: Manage changes to requirements throughout the project lifecycle, ensuring
that changes are properly evaluated, approved, and implemented.
8. Communication: Serve as a liaison between business stakeholders and development teams, ensuring
clear and effective communication of requirements and project expectations.
9. Risk Management: Identify and assess risks related to requirements, dependencies, and project
constraints, and develop mitigation strategies to address them.
10. Quality Assurance: Ensure that requirements meet quality standards and align with business
objectives, facilitating user acceptance testing and validation.
Interface Analysis:
- Process: Identifies interfaces, analyzes data flow, assesses compatibility, resolves conflicts, and
documents requirements.
- Process: Prepares, facilitates workshops, defines requirements, validates, and documents results.
- Process: Analyzes voice of the customer, identifies needs, creates matrices, prioritizes requirements,
and plans implementation.