Classes are the most important building block of any object-oriented system. A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. A class implements one or more interfaces. This chapter covers the basics of classes as the building blocks of the UML.
There are several object-oriented systems which do not use classes. Have a look at Self, Io (iolanguage.com), and probably the most used (though not the most industrial strength) JavaScript.
Javascript most certainly does support the notion of classes, though not in the common sense of say…C++ or Java.
Here’s a critique from a psychological perspective
http://www.helsinki.fi/~jppesone/papers/kandi.html
“I didn’t go to high school, and I didn’t go to grade school either. Education, I think, is for refinement and is probably a liability.” — H. L. Hunt
All this UML and OO and still it is incredibly painful to build any software of note.
Most all of what is taught about programming turns out programmers who can technically construct OO code but who cannot build working useful software.
When a company offers some true innovation vs. dumb ways of enforcing tight coupling, it will enable more interesting software to be written by more people.
what does these ‘news’ have to do with ‘OS’ news or ‘the future of computing’?
Nope. A lot of the OSNews crowd are developers, plus Sundays are usually slow news-wise so it’s unnoffically “dev article” day around here. If you don’t like the thread topic, don’t read it.
..go to a big conference and ask how many of them are really using UML as they think they should.
Actually you can get the same effect if you replace UML with Unit Testing.
It’s the kind of thing that everybody says “yeah, I know I should use it more, but…”
Me? I am happy with my E/R Diagrams, from which I use some scripts to generate the DAL and a skeleton for the controller classes. No need for all those diagrams…I have the impression that all this UML books and diagrams can be overkill and paralyze a lot of people.
Most people cannot comprehend UML. It is a bad set of visuals and an even worse set of semantic abstractions.
The further you get from humanity’s semantic core, the greater the efficiency drop.
Unfortunately the inmates are running the asylum and while UML is great for producing endless revenue streams for IBM’s Global Services and other consulting companies, it pretty much sucks for anything else, including writing software.
The same could be said about technical drawing. For ‘SURE’ those fine details drawings are overkill, and most of the time all you need is a simple sketch and a list of some of the measures.
But since technical drawing is an industry standard, people learned to use it, and people communicate with it as it’s a written language. and more importantly, because people must use it, now we have zillions of ‘abbreviations’ for the comon, obvious, stuff.
im my opinion, that’s what we lack in UML. lots and lots of abbreviations models.
Classes are the most important building block of any object-oriented system.
Interesting. In CLOS, methods are usually listed as the core building block.
Well, i am with those not being able to fully comprehend how you make an efficient application out of all these diagrams…BUT i think that UML is good for documentation and prototyping…Just get a rough blueprint of the system with UML and then see how implementation details change that….
From personal experience (leaving in the lower food chain of developers and accepting diagrams from analysts :-), UML tends to create a lot of little classes that are really not need to be there but you need them to make the application fit into the design model :- , anyway
We did some OO analasys and design with UML last semester. One thing that really struck me was that UML was a great tool for analyzing the problem before doing any desing.
Those diagrams couldn’t be turned into code obviously. What they were usefull for was identifying misunderstandings regarding the couplings and relationships in the problem domain at an early stage.
Out of curiosity, which of the UML diagrams you used?