1/39
Vocabulary practice flashcards covering core software engineering concepts, SDLC methodologies, and project management roles based on lecture materials.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Software
A set of programs that performs a specific task.
Software product
Software that is made for a specific requirement.
Engineering
The process of developing products using well-defined, scientific principles and methods.
Software Engineering
An engineering branch associated with development of a software product using well-defined scientific principles, methods, and procedures.
Efficient Software
A software product that achieves maximum productivity with minimum wasted efforts.
Reliable Software
Software that possesses good quality.
Work Product (Software Engineer)
A set of programs, content, and documentation that is a part of the software.
System Software
Software that provides a platform for other software to run, such as an Operating system.
Application Software
Software designed to serve a particular purpose, such as Payroll, online shopping, or Ms office.
Engineering/Scientific software
Software used to solve complex numerical problems, such as Genetic Analysis or Astronomical software.
Embedded S/w
Software providing limited features and functionality, found in devices like Washing Machines and Micro wave ovens.
AI S/w
Software designed to induce human-like intelligence in machines, such as Robotics or game playing software.
Legacy software
Very old and traditional software that is changed from time to time but usually does not have good quality.
Real world s/w
Software used to control, monitor, and analyze real-world events in real time, such as Weather forecasting.
Quality (Functional)
The degree to which correct software is produced.
Quality (Non-functional/Structured)
The degree of robustness, efficiency, and reliability of the software.
Process (Layered Technology)
A framework that must be established for effective delivery, timely development, and management of software projects.
Methods (Layered Technology)
Technical "how to" for building software consisting of tasks like requirement analysis, testing, and support.
Tools (Layered Technology)
Automated or semi-automated support for software engineering processes and methods, such as CAD.
SDLC
Software Development Life Cycle; a well-defined, structured sequence of stages in software engineering to develop the intended software product.
Communication (SDLC)
The first step of SDLC where the user initiates a request for a desired software product and negotiates terms in writing.
Requirement Gathering (SDLC)
The stage where the development team holds discussions with stakeholders to collect and segregate user, system, and functional requirements.
Feasibility Study (SDLC)
An analysis to determine if a project is financially, practically, and technologically feasible for the organization to take up.
System Analysis (SDLC)
The step where developers decide a roadmap, analyze the project scope, plan schedules, and identify impact on the organization.
Software Design (SDLC)
The phase that transforms requirements into logical and physical designs, producing data-flow diagrams and pseudo codes.
Integration (SDLC)
The stage involved in the integration of software with outer world entities like libraries, databases, and other programs.
Disposition (SDLC)
The phase occurring when software becomes obsolete, including archiving data, closing down the system, and planning termination.
Waterfall Model
Also called the 'Linear sequential model' or 'Classic life cycle model', where phases of SDLC function one after another in a linear manner.
SRS
Software Requirement Specification; a document that describes WHAT a system will do without describing HOW, used as a contract between developer and customer.
SDD
Software Design Document; the work product of the Design phase used to start coding.
Unit Testing
The testing where each module is tested independently of other modules.
Incremental Process Model
A model aimed at delivering limited functionality quickly in multiple phases, where every cycle delivers a semi-completed product.
RAD Model
Rapid Application Development model; an incremental model where components are developed in parallel, time-boxed, and assembled into working prototypes.
Prototype
A working model of software with some limited functionality used to allow users to evaluate developer proposals before implementation.
Spiral Model
A model developed by Barry Boehm that focuses on handling uncertainty and risk through four activities: Planning, Risk, Development and testing, and Assessment.
Time Box
The maximum amount of time needed to deliver an iteration to customers in an Agile model, where the end date does not change.
Unified Process Model (UPM)
An iterative, incremental, architecture-centric, and use-case driven approach to software development.
Inception (UPM)
The phase for initial concept, feasibility analysis, cost, risks, profits, and gathering requirements.
Scrum
A project management framework where projects move forward via a series of iterations called sprints, typically 2 to 4 weeks long.
Extreme Programming (XP)
An agile software development framework based on five values: Communication, Simplicity, Feedback, Courage, and Respect.