Software development processIn software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Passivity (engineering)Passivity is a property of engineering systems, most commonly encountered in analog electronics and control systems. Typically, analog designers use passivity to refer to incrementally passive components and systems, which are incapable of power gain. In contrast, control systems engineers will use passivity to refer to thermodynamically passive ones, which consume, but do not produce, energy. As such, without context or a qualifier, the term passive is ambiguous.
Obfuscation (software)In software development, obfuscation is the act of creating source or machine code that is difficult for humans or computers to understand. Like obfuscation in natural language, it may use needlessly roundabout expressions to compose statements. Programmers may deliberately obfuscate code to conceal its purpose (security through obscurity) or its logic or implicit values embedded in it, primarily, in order to prevent tampering, deter reverse engineering, or even to create a puzzle or recreational challenge for someone reading the source code.