Tag Info

Hot answers tagged

41

Never. Heck, it's been years since I last created any UML. Line diagrams on whiteboards and scraps of paper don't count. In fact, we just removed the sole UML question from the guide we use during interviews, because none of us really cared about the answers.


18

Your problem is a lack of communication between you and your managers/stakeholders. They don't understand the problems that making frequent changes can cause - even if you have an agile process in place. But equally the developers don't understand the need that the program is designed to solve or the business process as well as you should. Why do I say ...


11

I use just enough UML (in terms of both the types of diagrams and the content of the information in the diagram) to get my point across to allow myself or someone else to implement the system or subsystem. And the only reason I use UML is because its a widely known set of symbols that each mean something very specific, so there's no ambiguity - any software ...


9

Ironically, UML is supposed to be flexible. In the real world, it is not supposed to be a pedantic exercise in doing it one right way. It is about effectively communicating and documenting a system/process/idea. To answer your question, I'm with the others. I've never fully utilized full-on, formal UML.


6

I used UML very regularly for about four years for a product that generated all (most) of its code skeletons from Rational Rose. The last five years there have been more of "boxes and arrows" mostly invented on the spot and usually enough to get the general idea across. Formally correct UML only a few times during this time.


5

This question is too large to be answered exactly point by point. There are books about design, and other books about user experience, which explain in every detail how to make the software, consumer products, books, advertisements, toys for babies more attractive to the target audience. Actually, your question is similar to: I'm a designer, I have some ...


5

Heard of Nassi-Shneiderman diagrams, although I don't use them myself. I can't help posting a link to the rejection letter that Nassi and Shneiderman received from Communications of the ACM when they first proposed the diagram: http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/rejection_letter.html


4

Gernerally speaking if minor changes required updates to UML diagrams then I would consider the diagrams to be too detailed. I have found the best use of UML diagrams is to succinctly convey the design of a system. It's incredibly beenficial to be able to look at a class diagram or a deployment diagram and get a feel for the software compared to trawling ...


4

We've never used them. Edit Yes, I (we) have heard of them. Thanks for asking! :-) Seriously, we just don't use them. We ususally keep the diagraming to simple flow diagrams which are generally easier to read and understand.


3

As part of my PhD research, I studied how experienced designers use UML in design collaborations (Although in artificial settings). My findings were that UML metaphors and notations are borrowed, but there is little adherence to the strictness of the tools. Later on, some models may be iteratively transformed into more strict UML, often when a demanding ...


3

I've heard of them and read a few books that used them extensively. I quickly concluded that even assembly language (e.g., MIXAL in Knuth's books) was more understandable. I never had even the slightest urge to draw one (and can't recall anybody's ever having asked me to either).


3

However, I've had a professor or two that harped on the use of strict, formal UML, as close to the spec as possible. Ask your professor when was the last time he used that approach on a real system. Seriously. I try to be as formal as possible when it comes to UML, but only if/when it makes sense. Zealots on both side of the spectrum (from ...


2

I think the OP is confusing UML (a language for modeling) with requirements management (a process). Modeling your system in UML is not going to stop users from asking requirements. You use UML to capture your architecture and to map requirements to artifacts. A requirement change would invariable represent a change in your model. These are systemic problems ...


2

It is probably needless to emphasize that the beauty is one of the most subjective opinions ever. As they say, the beauty is in the eye of the beholder, so what is beautiful to you may be ugly as hell to someone else. A lot of better halfs would concur. That being said, nowadays people probably expect a little more than an ASCII diagram. You don't have to ...


2

Presuming this codebase is sufficiently large, I probably would not diagram it. If the code is too tangled to grasp already, I'm not sure a maze of boxes and arrows will suddenly bring light to it. I've found that a UML tool lacks the context to give you the big picture you need to start. You could spend hours or days trying to understand a portion of the ...


2

Enterprise Architect from Sparx Systems can forward- and reverse-engineer PHP, although I haven't used this myself. As to diagramming, my answer is yes - and no. I would not (do not) use UML to reverse-engineer code bases. Reverse-engineering tools tend to give you only the easy bits (static structures), and even when they do try to provide you with ...


2

Once you've done your diagrams using whatever development tools you normally use, re-do them from scratch in Powerpoint or whatever presentation software your company uses. My presentations using the default icons and arrow styles have gotten much better response than those I've done in Enterprise Architect or Power Designer. Skip UML and just go for ...


2

Either activity diagram or sequence diagram (they are pretty much two views of the same thing). (EDIT: whoops in earlier text I was confusing correlation diagram with activity diagram; they are really similar. Either it's been too long, or else there are just too many damn diagrams available. ;) ) Sequence diagrams have notation for looping; the message ...


1

The file will be a message between these timelines. They will send it to each other. But IMHO the sequence diagram on that low level for so simple tasks is excessive. Or the coder doesn't know, that he should read item and after that put it into a list?


1

Use rounded corners and muted colors. Use thick lines. Elliance has some good examples. I'm not allowed to post images, though, but here is an example I've used as inspiration for my own diagrams.


1

It is possible to reverse engineer PHP code to UML (i.e. Class Diagrams). But usually you can't get as much information as from e.g. Java code. In PHP classes member variables commonly have no type in the definition (even though it is possible with recent PHP versions). So a static analysis can't tell which other classes are referenced (even for a developer ...


1

Be consistent in the font. Space things equally apart and keep them in alignment. Probably add a color or two (company colors?) beyond black and white. Headers in bold. Borders should be distinct. Something a little more than gridlines as the background or none at all. You may have to break up into separate pages/slides. Nobody wants to see 57 blocks in ...


1

Since your FSM does not have memory, for the CONSOLE state you would actually need a different "version" for every other state, otherwise there would be no way to determine to which state to return when you close the console. You would be able to accomplish this with any automata that does have memory, like a Pushdown Automata.


1

I think that model driven development is the real problem and certainly not UML graphical notation which is known and accepted by millions of users. UML is not requirement but could be extended using profiles and therefore if you model and have a kind of model merge for each iteration between code and model, then it would be possible to model if requirements ...


1

Reasons users will accept denying a change request: It will cost more money, but they have to feel the impact (It's actually their money or comes from their budget or has to be approved). It will delay the project. They will have to give up another feature. They are required to get involved more/spend more of their time with approval, testing, writing up ...


1

I have used them. But more often I use some kind of pseudocode when designing an algorithm. You can write pseudocode with any editor and pen/paper combination. Diagrams are often harder to edit and tend to get messy. I still use UML diagrams for OO design. Mostly class, but sometimes state transition diagrams for classes with complex state.


1

Changing requirements is something that you need to deal with in the process, and the techniques from the agile methods help with that. As far as UML, or any other diagram or document produced, is concerned, the purpose is to document the system. There's very little relationship between managing change and the system documentation, aside from the fact that ...


1

I thought they were cool when I came across the notation in the early 80s. But it's so close to normal code, and cumbersome to maintain both the diagrams and the code that I decided just using indented code was close enough for my taste.


1

It depends upon the industry that you are in. If you work for customers that require frequent technical reviews (eg. PDR, CDR etc..) then they prefer some sort of standardization rather than ad-hoc notational systems. In particular government work. It prevents miscommunication and the initial 15 minute explanation of the notation that you invented. Also, ...



Only top voted, non community-wiki answers of a minimum length are eligible