1/14
Vocabulary practice flashcards covering software engineering lifecycle stages, maintenance types, and common software process models based on SEN 201 Lecture Week 2.
Software Lifecycle
The sequence of activities a software system passes through from its initial idea until it is retired.
Software Process
A structured set of activities used to develop, deliver, and maintain software.
Functional Requirements
Requirements that describe what the system should do, such as allowing students to register for courses online.
Non-functional Requirements
Requirements that describe how well or under what constraints the system should operate, such as locking an account after five failed login attempts.
Major Testing Levels
The sequential evaluation stages of software consisting of Unit, Integration, System, and Acceptance testing.
Corrective Maintenance
The type of software maintenance performed after deployment to fix defects.
Adaptive Maintenance
The type of software maintenance that modifies software to adapt it to a changed environment.
Perfective Maintenance
The type of software maintenance undertaken to improve system functionality or performance.
Preventive Maintenance
The type of software maintenance aimed at reducing the likelihood of future problems.
Software Process Model
A structured representation of how software development activities are organized and performed, providing a framework for managing lifecycle phases.
Waterfall Model
A software process model following a largely sequential progression through requirements, design, implementation, testing, deployment, and maintenance, known best for simplicity.
Incremental Model
A software process model where the system is developed and delivered in small functional increments, having the primary strength of early delivery.
Prototype
An early version of a system developed to explore requirements, design, or functionality and help clarify unclear user requirements.
Spiral Model
A software process model combining iterative development with systematic risk analysis, cycling through planning, risk analysis, development, and evaluation.
Agile Model
A software development approach that uses short iterative cycles (Plan, Develop, Test, Review, Improve) to deliver software continuously, providing high flexibility.