Knowra Software engineering Software engineering Software engineering applies systematic engineering principles to designing, building, testing, deploying, and maintaining software. It balances correctness, reliability, cost, and change over a software system’s lifecycle.
Software development life cycle : A structured sequence of activities for creating, delivering, and maintaining software. It organizes the engineering work into phases and feedback loops.
Programming language : A formal language used to express computations in a form that people and computers can process. Languages are the medium in which software designs become executable instructions.
Embedded system : A computer system built into a larger device to perform dedicated functions, often under resource or timing constraints. Embedded software makes engineering tradeoffs visible under strict hardware limits.
Computer programming : The activity of writing, testing, and maintaining instructions that computers execute. Programming is one activity within software engineering, not the whole lifecycle discipline.
Technical debt : Future cost incurred when expedient technical choices make later changes harder or riskier. Shortcuts can speed delivery while increasing the cost of subsequent engineering work.
Requirements engineering : The practice of discovering, documenting, validating, and managing what a software system must do and its constraints. It turns stakeholder needs into testable targets for design and delivery.
Algorithm : A finite, well-defined procedure for solving a problem or performing a computation. Algorithms specify computational behavior that software must implement.
Safety-critical system : A system whose failure can cause death, injury, or serious environmental or financial harm. Its high consequences demand rigorous assurance and controlled change.
Computer science : The study of computation, algorithms, information, and the principles of computer systems. Computer science develops foundational knowledge; software engineering applies it to dependable software products.
Software reliability : The probability that software performs its required functions without failure for a specified time and environment. Reliability expresses a central quality goal in terms of behavior over time.
Show all 30