In this paper we are trying to clarify, with the aid of some semiotic notions, the confusions that lie around the widely used terms “analysis model” and “design model” in sofware engineering. In our experience, these confusions are the root of some difficulties that practitioners encounter when doing modeling, and sometimes lead to bad engineering practices. When software engineers say “analysis”, they can refer mainly to two different kinds of modeling activities, or they can even mix them carelessly: building software models (in fact, a first step in design where the external view of the software system is specified) or building “real world” models. The main danger of confusing both kinds of models would be building a model of the real world and then using it as a specification of the software system, producing a system that needlessly matches the structure of the real world.