Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects simply to a non-technical, business audience. Over…
Forward engineering is the process of building from a high-level model or concept to build in complexities and lower-level details. This type of engineering has different principles in various software and database processes.
Generally, forward engineering is important in IT because it represents the ‘normal’ development process. For example, building from a model into an implementation language. This will often result in loss of semantics, if models are more semantically detailed, or levels of abstraction.
Forward engineering is thus related to the term ‘reverse engineering,’ where there is an effort to build backward, from a coded set to a model, or to unravel the process of how something was put together.
It’s crucial to note, though, that reverse engineering is also a term widely used in IT to describe attempts to take a software product or other technology apart and inspect how it works. In this type of contrast, forward engineering would be a logical ‘forward-moving’ design, where reverse engineering would be a form of creative deconstruction.
Some experts provide specific examples of forward engineering, including the use of abstract database models or templates into physical database tables. Other examples include a situation where developers or others make models or diagrams into concrete code classes, or specific code modules.
Techopedia’s editorial policy is centered on delivering thoroughly researched, accurate, and unbiased content. We uphold strict sourcing standards, and each page undergoes diligent review by our team of top technology experts and seasoned editors. This process ensures the integrity, relevance, and value of our content for our readers.
Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.
What is Pascal Case Pascal case, or PascalCase, is a variable naming convention in programming in which the first letter...
Vangie BealTechnology Expert
What is a Programming Hook? A programming hook is a feature that allows developers to insert custom code into specific...
Marshall GunnellIT & Cybersecurity Expert
What Does Julia Programming Language Mean? Julia is an open source high-level, high-performance dynamic programming language designed at MIT for...
Margaret RouseTechnology Expert
Trending NewsLatest GuidesReviewsTerm of the Day