"Styve, Arne" wrote: > > > In my opinion, Rose is > > not very good editor for writing C++ (or Java) classes, this is better > > done directly in C++. In addition, if you refine your model far enough > > so that you can generate code from it, it becomes very complex and loses > > it's point - model should help you get overview of your class structure, > > focusing on important points and leaving out unimportant ones. If your > > model is as complex as your code, you might as well use a good class > > browser to navigate that. > > I'm not sure that I agree with your view here. In my opinion, the ideal > solution would be that your model was 100% in synch with your code.
In an ideal world I'd be lying on a beach, coding some stuff for fun. But until then, we are stuck with reality. :) I agree that you could have model and code 100% in sync, even using today's tools. The question is: is it worth it? If you have C++ code that contains all the information, then you should create another, parallel representation of exactly the same information only if you have good reason to do so. In my opinion, having exactly the same classes in Rose, doesn't help much, because there are better tools for browsing classes, methods, etc. than Rose. Therefore, I choose not to invest effort in round-trip engineering and spend this time doing more useful things (coding). > If you > think of it, neither the model nor the code IS the system. Both the model > and the code are in fact a model of your system, one described as a > UML-model, the other described as a C++ model..... > I agree that the support given by Rose is not good enough to achieve this, > but in my opinion, the overall goal should be to make your model as complete > and accurate as possible. Then be selective about how you PRESENT your model > through your diagrams. This is a good point, but you should remember that creating diagrams that present good overviews of your system, including important parts and leaving out unimportant parts, takes time. Since we do not have very large teams (max 10 persons/team), formal communication is not that important and we can go much lighter about models and diagrams. > By the way, what is a complex model ? If you feel your model is very complex > since it is 100% in synch with your code, then isn't the code just as > complex ? Since code is more precise than model, the code is more complex. > In which "domain" would you rather work to solve complex systems ? > Directly in the code, or in the model ? > It depends on the nature of complexity. If the system has complicated architecture, I'll probably use Rose to model processes, nodes, components etc. If particular interaction between classes is complex, I'll probably draw some diagrams - most likely by hand. Alternatively, I can just start coding and refactoring and see what shape the design will take. If I have to parse complex data format or interact with complex protocol or device, I'll solve it directly in code with maybe some throwaway state charts or sequence diagrams for better understanding. When summarizing my point of view, I'd say that since today the most precise representation of the software system *is* the source code, then everything else (models, design documentation, etc.) should only be created if they sypport creating the code. One should'nt confuse between end and means to an end. -- Margus ************************************************************************ * Rose Forum is a public venue for ideas and discussions. * For technical support, visit http://www.rational.com/support * * Post or Reply to: [EMAIL PROTECTED] * Subscription Requests: [EMAIL PROTECTED] * Archive of messages: * http://www.rational.com/support/usergroups/rose/rose_forum.jsp * Other Requests: [EMAIL PROTECTED] * * To unsubscribe from the list, please send email * To: [EMAIL PROTECTED] * Subject: <BLANK> * Body: unsubscribe rose_forum *************************************************************************
