Win a copy of Svelte and Sapper in Action this week in the JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Bear Bibeault
  • Junilu Lacar
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • salvin francis
  • Frits Walraven
Bartenders:
  • Scott Selikoff
  • Piet Souris
  • Carey Brown

OO,Patterns, UML and Speed

 
Ranch Hand
Posts: 44
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How does using advanced design techniques speed development? Can it increase the speed of improvements to a program after it has been designed? I am currently working on a web application that is in its 2nd release, is it to late to add value by reviewing the code with knowledge of patterns and UML, since we already have A solution even if it may not be an elegant one?
 
Ranch Hand
Posts: 106
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
what you can do is to reverse-engineering the code of the existing application. It is better to understand !
(reverse-engineering consists to generate UML diagrams automatically with source code
 
Ranch Hand
Posts: 223
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I do not think it improves speed- probably slows it down. What it gives you is better understanding and good documentation. All that should help you write better code.
HTH
 
Ranch Hand
Posts: 65
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The question about what do to with deployed applications depends on a bit on what you expect to be done with them. You said that you are in your second release. Do you expect there to be more releases? Do you expect your releases to add additional functionality? Scale for more users, etc? If so, then it may be worth considering investing time in addressing underlying design issues. If you have underlying design problems, they can hurt you down the road as you try to do more with your software. If your application is unlikely to have much demand for future changes, then it may not be worth the effort.
------------------
David Kane
david_kane@houseofyin.com
Author of Software Architecture: Organizational Principles and Patterns
http://www.vraps.com
http://www.houseofyin.com
 
Kyle Willkomm
Ranch Hand
Posts: 44
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes we do plan to expand functionality in future releases. Though not on the scale of the original project development. I would say we will increase the products capabilities by about 35%. We also have a few scalability issues but I feel those are only do to the fact that we are hosting our application on Tomcat3.2 right now and those problems will be slightly alleviated with a move to Tomcat4.0. That's the kind of answer I am looking for though. The point at which it becomes not worth the effort to try and apply re-engineering to a project.
 
Greenhorn
Posts: 12
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Utilizing design patterns will speed up your development. If you are in a team-oriented environment, clear and effective communication is a must. I firmly believe design patterns help bridge the communication gap by creating a coding atmosphere where team members are on the same page. Moreover, effective use of design patterns will help in code maintenance and enhancements. Design patterns help to decouple system components, which will elevate those maintenance headaches caused when one code change ripples throughout the various layers. I strongly recommend you take the time to review your code; moreover, I would attempt to create object diagrams and sequence diagrams. Start high level and see your web based system spatially and you�ll easily find where patterns can be applied. After that step, delve down low level into the actual code; consequently, I would recommend examining your existing code with an eye for refactoring.
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can you suggest a good UML tool? Are there any free application? I'd like to take our java application code and generate class defs, sequence diagrams, etc. What apps can help me out?
 
Tiger Scott
Ranch Hand
Posts: 223
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
TogetherJ and RationalRose are the best out there. TogetherJ is excellent- especially for reverse engg. Both have free trial downloads.
Sanjay
 
Greenhorn
Posts: 13
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Karl Nelsen:
Can you suggest a good UML tool? Are there any free application? I'd like to take our java application code and generate class defs, sequence diagrams, etc. What apps can help me out?


A tool just started looking at (that's free) is ArgoUML (http://argouml.tigris.org). It's also distributed as Poseidon for UML Community Edition (http://www.gentleware.com) which is built on ArgoUML. I haven't done much with the tool yet, but it's supposed to be able to connect with NetBeans and Forte.
Sorry I don't any much info on it yet, but you can go to the websites to see if it fits your needs.
David DeCesare
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Karl Nelsen:
Can you suggest a good UML tool?


If you need to reverse engineer your code, the mentioned programs probably can get handy.
However, in my dayly activities, I find myself using UML mostly for discussing design decissions with other team members - in these situations I find whiteboards and index cards (as CRC cards) to be by far superior to any software you can get. If you want to capture some results of the discussions for historical reasons, you might want to take a look at http://www.pixid.com/wphoto.html.
[This message has been edited by Ilja Preuss (edited November 14, 2001).]
 
I have a knack for fixing things like this ... um ... sorry ... here is a consilitory tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
    Bookmark Topic Watch Topic
  • New Topic