I want to describe requirements for a computer program and I'm having trouble.
As a context, I think a concrete object in the real-world is something detectable by one or more of the senses (feel, see, ...). An abstract object is a notion about some aspect of a real-world object or another concept (e.g., the playfulness of angels).
But in software everything is abstract. The entities in software are all abstractions of real-world objects (a person, a bank account, an aircraft) but also of 'abstract' attributes of objects (the usability of a user interface, the complexity of a program).
Is there a taxonomy or convention for defining these different types of things?
Another s/w developer viewpoint is that entities (things in the world) have attributes. Entities are distinguished from one another by their attributes: either by the attribute values or the set of attributes associated with an entity. Entities that share common attributes are said to be "of the same type." Turtles have one set of attributes; they are (mostly) disjoint from the attributes of an espresso machine.
So how can I categorize requirements in accordance with the type of thing to which the requirement refers? Concrete object in real-world vs. measurable concept about a real-world object vs. abstract characteristic.
Thanks (forgive the many words, Pascal's apology applied here). --dave