A key learning theme in systems architecture training is that the "architecture" is conceptual: it is the set of decisions that define a system's essential characteristics. An architecture description represents those decisions in a set of views or models such as those depicted above. The set of views is determined by the architecture's purpose, and so varies from project to project. Other views may include cost, programmatic concerns, logical or data considerations, security needs, and others.