One problem many developers encounter while defining and analysing
data requirements is the situation where a number of different
attributes can be used to describe an object, but only few attributes
actually apply to each one.

I don't know what does "each one" phrase mean here, and how is it used?

I doubt if the bloke who wrote that actually understood what he was writing.
–
ThursagenAug 8 '11 at 3:37

"where all or most attributes have values for a most objects." That was another of his grammatical mistake. @vieten, I don't think "each one" is being used correctly here.
–
ThursagenAug 8 '11 at 3:38

@Thursagen: I am sorry, I'm a Vietnamese... and English is not my mother language. I'm an IT developer, so when I read this, I don't know and try to ask what is it correct and if not how to correct it?
–
vieteanAug 8 '11 at 3:58

@Bogdan - I agree. I think that in a software engineering context the original sentence is correct and unambiguous. It's describing a database or model where the set of possible attributes is the union of the attributes of all entities that are being stored. So the problem when storing a new object is what to do with the attributes that simply don't apply to the new object. It's not that you don't have the values for these attributes, or that you don't want to provide those values. It's that they logically don't apply to the object e.g. having a 'fuel type' attribute when storing a bicycle
–
tinydAug 8 '11 at 10:25

Thanks you, I think that your answer is useful to me, but I could vote for you. I don't have the permission to do that. Thanks, again.
–
vieteanAug 8 '11 at 4:06

I originally read the excerpt and thought he meant that there were only a few attributes that applied to all objects... but then he used "a more" in a weird way, and I agreed with your conclusion that he's probably not a native speaker.
–
simchona♦Aug 8 '11 at 6:28

1

My guess is that he is a native speaker. The general complexity and flow of the writing suggests that to me. I think he just badly blew his opening sentence, which is in fact central to the subject of the article.
–
mgkrebbsAug 8 '11 at 8:19

You are a victim of poor writing. The author did not handle the main point of the paragraph very well. Here is a version that should be more understandable:

... a large number of different attributes might be used to describe objects of a kind, but only a few attributes actually will apply to any particular object.

The distinction that was muddled was between the set of all objects and one arbitrary object of that set. There are many attributes that apply to some object in the set of possible objects, but any single object has only a few attributes that apply.

...but only a few of those attributes actually apply to any specific object.

Logically and semantically I have to say the entire (overly verbose) sentence doesn't seem very good in the first place. Every non-trivial object has a multitude of "attributes", but in an analytical context we're only interested in the handful of attributes that are relevant to the analysis.

For example, no business is interested in analysing the attribute of whether their customers' body-weights are an odd or even number of pounds, but some businesses might well want to analyse by above/below average weight (if they can get that information!).

In OP's context, "attributes" are "measurable qualities", for which it should be possible to assign a value to each and every object within the set. If for many objects the only value you can assign is "not applicable", the attribute itself is probably not relevant to the analysis.

OP's quote seems to imply that there's a special kind of real-world context wherein the analyst unavoidably faces problems mapping his "attributes" to his "set of objects". In fact, if this happens you're either using the wrong attributes, or the wrong sets. In short, you're a bad analyst.

TL;DR: If an attribute only "applies" to a few objects in a set, discard it from the analysis.

coming from a programming background I read this to mean that you can have many objects, each of the objects can have a wide range of attributes, but only a small number of those attributes apple to all of the objects.

In the above example, only the Location and Name attributes apply to each of the 3 objects, the other attributes apply to a subset of the objects. When defining the objects in a programming languages you would create a base class that contains the common attributes that apply to all objects, then inherit that base class to create more specific classes to contain the specific attributes.