MODELING - REQUIREMENTS ENGINEERING, ANALYSIS AND SPECIFICATION OF SOFTWARE REQUIREMENTS Flashcards
1
Q
Define Modeling in terms of Software Development.
A
- Modeling involves creating abstract representations of a system to better understand its structure, behavior, and interactions.
- Various models, such as diagrams and charts, help in visualizing different aspects of the software.
2
Q
What is the Requirements Engineering?
A
- Requirements engineering is the systematic process of gathering, documenting, and managing software requirements.
- It involves communication with stakeholders to understand their needs and expectations, in order to overcome communication barriers between the customers, users and analysts.
3
Q
What are the key steps of the Requirements Engineering?
A
- Elicitation - gather requirements from stakeholders,
- Analysis and Prioritizing Requirements,
- Specification - clear and unambiguous formatting of requirements,
- Validation - requirements meet stakeholders’ needs.
4
Q
Why is it important to have clear requirements?
A
- Facilitate effective communication between stakeholders, devolopers and testers,
- Help in identifying potential risks early in the development process,
- Trace and track changes throughout the development lifecycle.
5
Q
What are the two types of requirements?
A
Functional Requirements - What should the system do?
Non-Functional Requirements - What describes the system’s capabilities and constraints?
6
Q
What are the main challenges in Requirements Engineering?
A
- Ambibity - vague or unclear requirements can lead to misunderstangings,
- Changing Requirements - those changes may disrupt project timelines,
- Stakeholder Involvement - if they don’t participate actively, the final delivery may not meet their expectations, leading to decreasing productivity, satisfaction and other problems.