Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am working as a software engineer turned team leader in a large software company. One of my areas of strength is node.js, and we are in the process of moving a lot of our services to separate node.js services, which is proving to be very successful so far.

However, I am supposed to stop day to day development of small node.js services, and simply lay down a proper specification, so that one of my team members can work on the actual code.

I am aware of tools like UML, but I don't think they apply to a system with apis built with node.js/express. I have made a few flowcharts, but my seniors want me to be very complete with the spec, down to each implementation detail.

How I can achieve this? Should I design objects in UML and make my developers make javascript objects which can be used in express routes?

share|improve this question
Why don't you think that UML applies to a system with apis built with node.js/express? – Marco May 8 '13 at 4:35
@Munim - what are your seniors' expectations for your specifications? If you haven't already, you should ask them what they expect you to produce. – Derek May 23 '13 at 21:25
@Derek the seniors are new to node.js themselves, but they expect me to produce enough documentation which will allow any developer to work on the project without leaving any room for errors or doubt. – Munim May 24 '13 at 10:01
@Munim - I wasn't sure if you were expected to do more than draft out an API for your projects. What I was thinking is, are your superiors expecting a thick document describing every detail of each of your team's upcoming projects (as is typical with waterfall development)? Or are they looking for documented acceptance tests to drive your development (as is often the case with agile development)? I was curious what type of documentation they're expecting. – Derek May 24 '13 at 14:24
up vote 2 down vote accepted

I created a module that generate class diagram for javascript/node/html/css. Its based on the "WAE" extension of UML. Its called wavi. For javascript, function,variable and use of other modules are automatically recognized. You can use it for documenting your application.

Diagram generated by wavi

share|improve this answer
Thanks.. This is very helpful. – Munim Dec 3 '14 at 15:40

Apart from the obvious text description, I think that a sequence diagram would do the job. Any more specific and You might as well write the code.

Sequence diagrams

share|improve this answer
I use this tool for sequence diagrams: – Ryan Ische May 23 '13 at 20:58
Thanks for the tip. I think sequence diagrams help to get most of the idea across. – Munim May 24 '13 at 10:03

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.