Let me sketch a scenario:
A spec is handed to a developer who needs to read through it and begin his project (a web application). Most times the developer will just begin coding and will do very little planning. This causes certain sections to be completed late or hastily because they weren't immediately obvious.
I am trying to change this mindset in our small web development shop by first having the developers sketch out all the funct开发者_StackOverflowions, classes, pages, database tables, etc. The idea being that an entire application can be quickly prototyped and then the actual code filled in later.
I know this can be done in a notebook or on a whiteboard but ideally I would like some sort of software to create the classes or functions after they have been modelled. Maybe even provide some commenting.
Is this possible? Does the software exist? Am I just being lazy?
Side Note: I imagine this is similar to how an API would be planned and implemented.
As in using UML to generate code?
http://www.altova.com/umodel/uml-code-generation.html
http://netbeans.org/kb/61/uml/codegen.html
http://www.visual-paradigm.com/product/sde/ec/
I have been using mindmanger to view the workflow of the new system and of late am using balsamiq to mock UI. I find this combinaton very nice.
Gath
I recommend http://www.sparxsystems.com/ "Enterprise Architect" solution.
also MS-VISIO is good solution.
The notebook / whiteboard approach works quite well for medium-sized applications. I would be careful about requiring people to sketch out their classes first like that. What you should make sure is that the requirements are all understood, and the core parts are designed logically - the goal is to try to answer the "how" question without going into specific implementation details.
The problem with sketching out classes first is that it's the next stage after the above. There are exceptions to this of course, but for an average application I would be wary of someone asking me which classes I will use with which exact methods, even if the bodies can be blank initially.
精彩评论