1/43
Comprehensive vocabulary flashcards covering key software engineering concepts, process models, metrics, requirements, design, testing, and quality assurance topics.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Waterfall Model
A classic, linear-sequential software development life cycle model in which each phase must be completed before the subsequent phase can begin.
Spiral Model
An evolutionary, risk-driven software development process model that combines the iterative nature of prototyping with the controlled aspects of the linear-sequential model.
Scrum
An agile framework designed to facilitate collaborative, iterative software development and project management through short cycles called sprints.
Scrum Master
A facilitator and servant-leader on an agile Scrum team responsible for enforcing Scrum principles, removing operational impediments, and guiding the Scrum process.
Functional Requirement
A requirement specifying a specific function, behavior, service, or operational task that a software system must execute.
Non-Functional Requirement
A quality attribute or operational constraint specifying how a system should perform, addressing aspects such as security, reliability, performance, and portability.
Umbrella Activities
Process activities applied across the entire software development life cycle to manage, monitor, and control software quality, risk, change, and project progress.
Incremental Model
A software development approach where the system is developed and delivered in small, successive parts (increments), adding new functionality in each release.
Agile Methodology
A project management and software development methodology centered on iterative delivery, team collaboration, adaptive planning, and rapid responsiveness to change.
V-Model
A software development model representing verification and validation, where each development phase is directly associated with a corresponding testing phase.
RAD Model
Rapid Application Development; an adaptive lifecycle model emphasizing rapid prototyping, iterative development, and component-based construction.
Software Requirement Specification (SRS)
A formal, structured document that provides a complete description of the system's behavior, scope, functional requirements, and non-functional requirements.
Data Flow Diagram (DFD)
A graphical modeling tool that visually maps the flow of data through an information system across various levels of abstraction (such as Level 0, Level 1, and Level 2).
Requirement Elicitation
The process of discovering, gathering, and extracting system requirements from stakeholders, clients, and end users.
Data Dictionary
A centralized repository containing structured definitions, descriptions, and metadata of all data elements, stores, and flows within a system.
COCOMO Model
Constructive Cost Model; an empirical algorithmic software cost estimation model developed by Barry Boehm based on project size measured in KLOC.

COCOMO Model Coefficients Table
A reference table defining the empirical coefficients a, b, c, and d used to calculate effort and development time across Organic, Semidetached, and Embedded project modes.
Organic Mode
A COCOMO project category characterized by small, experienced teams working with flexible requirements in a familiar in-house environment.
Semidetached Mode
An intermediate COCOMO project category involving teams with mixed experience levels working with a mixture of rigid and flexible requirements.
Embedded Mode
A COCOMO project category characterized by tight hardware and operational constraints, strict operational requirements, and complex interfaces.
Function Point (FP)
A synthetic software metric that quantifies the functional size of software from a user's perspective, independent of programming language.

Function Point Measurement Parameters
The five core information domain characteristics—External Inputs (EI), External Outputs (EO), External Inquiries (EQ), Internal Logical Files (ILF), and External Interface Files (EIF)—used with weighting factors to compute unadjusted function points.
Software Process Metrics
Quantitative measurements collected across software engineering activities to evaluate, manage, and improve the long-term software development process.
Software Project Metrics
Quantitative indicators used by project managers to assess the progress, quality, effort, and status of an ongoing software project.
Cohesion
A software design measure indicating the degree of functional strength and focused responsibility among elements within a single module.
Coupling
A software design measure representing the degree of interdependence and connectivity between different software modules.
Modularity
The architectural attribute of decomposing software into discrete, well-defined components that can be developed, tested, and maintained independently.
Abstraction
The software design mechanism of hiding non-essential internal implementation details and highlighting only fundamental, high-level features.
Software Architecture
The fundamental organization of a software system, embodied in its components, their relationships to each other and the environment, and principles guiding its design.
Software Reliability
The probability that a software system will execute its required functions without failure for a specified interval in a specified operational environment.
Mean Time Between Failures (MTBF)
A reliability metric representing the average elapsed time between operational system failures, calculated as the sum of Mean Time to Failure (MTTF) and Mean Time to Repair (MTTR).
Software Quality Assurance (SQA)
A planned and systematic pattern of activities that ensures software development processes and resulting products comply with established standards and requirements.
ISO 9000
An international family of standards that defines requirements and frameworks for establishing and maintaining quality management systems across organizations.
RMMM Plan
Risk Mitigation, Monitoring, and Management plan; a systematic document outlining strategies to identify, track, prevent, and respond to software project risks.
Software Configuration Management (SCM)
A set of tracking, auditing, and control activities designed to manage changes to software artifacts, source code, baselines, and documentation.
White Box Testing
A structural testing method that verifies the internal logic, code structures, execution paths, and conditions of a software component.
Black Box Testing
A behavioral testing method that assesses functional outputs against specified requirements without examining the underlying source code or internal structure.
Basis Path Testing
A white-box testing technique based on cyclomatic complexity that identifies a linearly independent set of execution paths guaranteeing every program statement executes at least once.
Verification
The set of activities ensuring that a software system correctly implements specific functions and satisfies specifications from a preceding development phase ('Are we building the product right?').
Validation
The set of activities ensuring that the developed software fulfills intended customer requirements and operational needs ('Are we building the right product?').
Software Maintenance
The process of altering a software product after delivery to correct defects, adapt to new operating environments, or improve overall performance.
Reverse Engineering
The analytical process of examining an existing software system to identify its components, interrelationships, and underlying architectural design at higher abstraction levels.
Software Re-Engineering
The comprehensive examination, restructuring, and alteration of an existing software system to reconstitute it in a new form and improve its maintainability.
Business Process Re-engineering (BPR)
The fundamental rethinking and radical redesign of core business processes to achieve dramatic improvements in critical measures such as cost, quality, and cycle time.