随笔 - 0, 文章 - 3, 评论 - 0, 引用 - 0
数据加载中……

About abstraction

From the definitions of abstraction, we focus on two particularly pertinent aspects. 

The first emphasises the process of removing detail to simplify and focus attention, based on the definitions:
- the act of withdrawing or removing something, and
- the act or process of leaving out of consideration one or more properties of a complex object so as to attend to others.

The second emphasises the process of generalisation to identify the common core or essence, based on the definitions:
- the process of formulating general concepts by abstracting common properties of instances, and
- a general concept formed by extracting common features from specific examples.
从抽象的定义上讲,有两个特征。
1. 忽略细节,简化系统,关注重点。
2. 总结系统核心功能,属性,特征

The removal of unnecessary detail is obvious in requirements engineering and software design.

Requirements elicitation involves identifying the critical aspects of the environment and the required system while neglecting the irrelevant. 
Design requires that one avoid unnecessary implementation constraints.
在需求和设计阶段都应该忽略不必要的细节。
需求分析应辨识出系统重要的特性,设计阶段应该避免不必要的实现约束。

Formal modelling and analysis is a powerful means for practising abstract thinking and consolidating students’ ability to apply abstraction. 
Modelling is the most important engineering technique; models help us to understand and analyse large and complex problems. 
Since models are a simplification of reality intended to promote understanding and reasoning, students must exercise all their abstraction skills to construct models that are fit for purpose. 
They must also be capable of mapping between reality and the abstraction, so as to appreciate the limitations of the abstraction and to interpret the implications of model analysis. Student motivation can be enhanced by presenting the mathematics of the modelling formalism in a problemoriented manner, and can benefit by the provision of tool support (such as model checking) for reasoning and analysis.
模型能帮助理解和分析复杂的系统,建模能有助于提高抽象能力。

Abstraction is a key skill for computing. It is essential during requirements engineering to elicit the critical aspects of the environment and required system while neglecting the unimportant. At design time, we need to articulate the software architecture and component functionalities that satisfy functional and non-functional requirements while avoiding unnecessary implementation constraints. Even at the implementation stage we use data abstraction and classes so as to generalize solutions.

posted on 2010-11-25 17:11 Elevener 阅读(58) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: