chapters 4, 5 and 7 Flashcards
(52 cards)
What do software requirements define?
What a system should do and the constraints on its operation.
What is the difference between user requirements and system requirements?
User requirements describe services in natural language; system requirements provide detailed technical descriptions.
Fill in the blank: Functional requirements define _______.
actions and behaviors the system must perform.
Fill in the blank: Non-functional requirements define _______.
constraints, including security, performance, and usability.
What are the key steps in requirements engineering?
- Elicitation
- Specification
- Validation
- Management
What is the purpose of requirements validation?
To ensure correctness and prevent costly revisions before development starts.
What are some methods of gathering requirements?
- Interviews
- Observation (Ethnography)
- Scenarios & Use Cases
- Workshops
True or False: Effective requirements elicitation ensures comprehensive requirement discovery before development begins.
True
What are best practices for writing requirements?
- Use structured formats
- Avoid ambiguity and technical jargon
- Clearly define expected interactions
- Specify both functional and non-functional constraints
What does the Software Requirements Specification (SRS) document contain?
- Introduction
- User Requirements
- System Requirements
- Functional & Non-Functional Constraints
- Future System Evolution
What are the categories of non-functional requirements?
- Product Requirements
- Organizational Requirements
- External Requirements
What is model-driven engineering (MDE)?
A methodology that automates system development, generating executable code from models.
What are the three levels of model-based development?
- Computation-Independent Model (CIM)
- Platform-Independent Model (PIM)
- Platform-Specific Model (PSM)
What is the role of context models in system modeling?
They define system boundaries and interactions with external entities.
What are the five key UML diagrams?
- Activity Diagrams
- Use Case Diagrams
- Sequence Diagrams
- Class Diagrams
- State Diagrams
Fill in the blank: A class diagram defines _______.
object classes and their relationships.
What do behavioral models describe?
How a system responds to external and internal stimuli.
What is the importance of non-functional requirements?
They define constraints and system properties essential for overall software quality.
What challenges can arise in requirements engineering?
- Unclear or vague requirements
- Conflicting stakeholder interests
- Inadequate validation
- Ignoring non-functional requirements
What is the significance of architectural design?
It defines the major components of a system and how they interact.
What are common architectural patterns?
- Layered Model
- Client-Server Model
- Distributed Listener Model
What techniques can help identify relevant objects in a system?
- Grammatical analysis
- Application domain knowledge
- Scenario-based analysis
True or False: Object-oriented design focuses on objects that encapsulate data and operations.
True
What do sequence diagrams illustrate?
The order of interactions between system objects and users.