Reviewer Flashcards
(28 cards)
What is software engineering?
An engineering discipline that focuses on the design, development, maintenance, and management of software systems.
List key attributes of software.
- Maintainability
- Dependability & Security
- Efficiency
- Usability
What are the types of software?
- Stand-alone applications
- Embedded systems
- Interactive systems
- Batch processing systems
What is a software process?
A sequence of activities that leads to the development of a software product.
Describe the Waterfall Model.
A linear and sequential process with clear phase completion before moving to the next; best for projects with well-defined requirements.
What is a disadvantage of the Waterfall Model?
Difficult to adapt to changes.
Describe the Agile Model.
An iterative, incremental development model that focuses on collaboration and flexibility.
What is Scrum in Agile development?
An Agile framework that uses short sprints for incremental development and encourages daily stand-up meetings.
What is DevOps?
A practice that combines software development and IT operations, emphasizing automation, integration, and continuous deployment.
What does agility in software development mean?
The ability to respond to change quickly and efficiently.
List some Agile methodologies.
- Scrum
- Kanban
- Extreme Programming (XP)
- Feature-Driven Development (FDD)
Name an Agile project management tool.
- Jira Software
- ClickUp
- Mural
- GitHub
What is requirements engineering?
A structured approach to defining what a system must do before development begins.
List key activities in requirements engineering.
- Elicitation
- Analysis
- Specification
- Validation
- Management
What is the purpose of elicitation in requirements engineering?
Gathering requirements through interviews, surveys, and observations.
What is the Software Requirements Specification (SRS)?
A document that specifies clear and structured requirements.
Name common techniques for eliciting requirements.
- Interviews
- Surveys & Questionnaires
- Observation & Job Shadowing
- Prototyping
Define ‘Actors’ in use cases.
Users or systems interacting with software.
What are Preconditions in use cases?
Requirements that must be met before execution.
What is the Main Flow in use cases?
Step-by-step process for completing a task.
What are Alternate Flows in use cases?
Different variations in process execution.
What are Exceptions in use cases?
Error handling scenarios.
What is scenario-based modeling?
Describes how users will interact with a system under different conditions.
List UML models for requirement analysis.
- Use Case Diagrams
- Entity-Relationship Diagrams (ERDs)
- Flowcharts
- State Diagrams