One of the basic principles of software engineering is abstraction, which mainly
refers to separation of the essential from the non-essential. In terms of software development,
the essential usually refers to the functionality to be implemented and
the non-essential to aspects such as the technical platform on which the software
will eventually be deployed. However, non-essential aspects are not unimportant.
They also have to be considered when designing and developing a software system,
but they do not have to be considered at the very first stage when more fundamental
issues have to be considered.
Abstractions are provided by models. A model is mainly a representation of the
essential aspects of the underlying subject and thus contains less complexity. Less
complexity obviously allows the prediction of system characteristics, analyzing specific
properties, and also communicating with the various roles involved in the development
process more easily. However, implementing a model means expressing it at
a very low level of abstraction, i.e. at a level at which it is understood by a computer.
Modeling and model transformation to the required abstraction level constitute
the core of model-driven development. In model-driven development, essential aspects
of software are expressed in the form of models, and transformations of these
models are considered the core of software development. Models can particularly
be transformed into a technical implementation, i.e. a software system. Such an approach
can avoid restricting oneself to a specific technology in the early stages of the
development process and can ensure a consistent architecture throughout the lifecycle
of a software system.
LightWave 3D 7.5 Lighting This book is separated into three main parts: theory, tools, and practice. Theory covers the fundamentals of what light is, how it acts and reacts in our world, and what those reactions look like. Tools covers the virtual lighting equipment available to achieve your LightWave lighting goals. Practice deals with how to use those tools to create the... BEA WebLogic Server Administration Kit
BEA WebLogic Server Administration Kit is the definitive guide to administering BEA WebLogic Server 7! Scott Hawkins starts where the documentation leaves off, illuminating crucial concepts and offering practical guidance for maximizing the performance, reliability, and efficiency of any...
Semantic Grid: Model, Methodology, and Applications (Advanced Topics in Science and Technology in China)
Semantic Grid: Model, Methodology, and Applications introduces to the science, core technologies, and killer applications. First, scientific issues of semantic grid systems are covered, followed by two basic technical issues, data-level semantic mapping, and service-level semantic interoperating. Two killer applications are then introduced to...
Head First C# (Brain-Friendly Guides) Do you want to learn C#? Programmers around the world have learned that C# lets them design great-looking programs and build them fast. With C#, you ve got a powerful programming language and a valuable tool at your fingertips. And with the Visual Studio IDE, you ll never have to spend hours writing obscure code just to get a button... Circuit Systems with MATLAB and PSpice
Software tools applied to circuit analysis and design are rapidly evolving, enabling students to move beyond the time-consuming, math-intensive methods of traditional circuit instruction. By incorporating MATLAB 7.0 and PSpice 10.0, alongside systematic use of the Laplace transform, Yang and Lee help readers rapidly gain an intuitive...
Foundations of GTK+ Development (Expert's Voice in Open Source) GTK+ is one of the most influential graphical toolkits for the Linux operating system. It is the technology upon which the GNOME and XFCE desktop environments are based, and it's crucial to have clear understanding of its complexities to build even a simple Linux desktop application. Foundations of GTK+ Development guides you through these...