From: http://blog.csdn.net/maxleng/article/details/5472988
Concept Space of Methodology Discussion
We do not want to use computers to think about problems. We have our own ways of describing our thinking. The closer we are to our way of describing our thinking, the easier we are to accept and use. A variety of computer languages and modeling tools are nothing more than creating a conceptual space that is closer to human thinking, and then using tools to map from this conceptual space to another conceptual space, I call it a ing between the human thinking space and the 01 series to describe the space. In terms of implementation, the system is a translator that makes machines more human. The "Computer System Structure" of a typical college computer course can be forgotten, but the following figure cannot be forgotten:
This is the prototype of the most essential concept space: what does an observer see? What did the designer give the observer? The answer is external features.
(1) What is the conceptual space provided to the Observer?
(2) What is the concept space of internal features?
What a conceptual space expresses is entangled in two aspects: one is human freedom and the other is physical constraints (real-time response and system resource restrictions ). So the concept space of program implementation is a compromise between human freedom and physical properties of a specific computer system, and a dynamic balance is adopted according to the actual system. This balance will affect the system architecture and design philosophy. Especially in embedded systems such as mobile phones, such contradictions and balances are everywhere, and such trade-offs are everywhere. The selection and adoption of the system accept a compromise or a medium, which may be invisible standards, and such standards are implicitly and explicitly. Because of this, the emergence of tools and new platforms are all a small step closer to human nature by computer properties. The formation of a new idea immediately brings about new tools, new system frameworks, and new architecture.
If the height of the designer's site is high enough, the designer will first consider "What kind of concept space should I give them, or even what kind of concept, let them build their own products in this concept space ", so designers will start to actively establish the concept space, which needs to express the actual meaning, what should a conceptual space have? Consider the completeness and closeness of the Conceptual Space, consider the boundary of the conceptual space, and consider the basis for establishing this conceptual space, consider how to interact with entities outside the conceptual space, consider the resource constraints of the system, consider the rationality of functional building, and consider the balance between the machine system and people.
When learning a new system, we first see the new concept. New terms, just like a large number of new terms for Android, start from code practice and start from application writing in the programmer's world. The SDK gives us a concept. In this framework, we use the function interfaces, data structures, and initialization processes provided by the SDK, we first came into contact with demo programs like "helloworld". We use various interface functions on Hello world. For application programmers, he said that the system is the system calling interface and its programming process. In fact, as long as you use these interfaces, you have to accept a series of concepts. Only in this conceptual system can we work. However, we actually ignore the understanding of such a conceptual system, but only understand the system in the narrow space of programming interfaces. we understand that the system is only a tiny corner in the space for understanding the concept. There is little information to introduce the formation and understanding of this concept system. The programming interface is only one concept space, an external representation. We can abstract and describe the system situation using interfaces, protocols, and actions. The sdk api provides a semantic interface to the upstream layer, which implements an escape process between layers and becomes a collection of functions. But we seldom jump out like this to see what kind of concept space we are in. What kind of overall concept does the SDK return besides calling interfaces? The basic architecture of the target system is essentially the ing between a conceptual system and another conceptual system. Let our brain understand the concept system mapped to a ing of the concept domains that computers can implement. Assume that the Concept Domain e is m, and the machine can understand it. The essence of our software engineering is a ing process in the E? m field.
Why should we grasp these concepts at a macro level? Obviously, there is my purpose. Understanding the concept space is an important way to understand the intent of designers. What the designer wants to provide to the developer and what the designer wants to provide to the end user. We need to look at the system above to understand the intent of the designer.
The essence of Android is a set of software for managing mobile phone hardware systems. It makes little sense to say that the computer operating system is essentially like this. Android is part of Google's cloud computing plan and we have changed it: the essence of Android is to make computers my cloud-connected Mobile smart terminals. As a hardware management software, Android provides the Concept Space connotation, which is essentially a wildcard Operating System Connotation. Our understanding can be mapped from the generic operating system concept space to the Android system. As part of cloud computing, we can start to study the concept of cloud computing.