Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am looking into some UML modeling software, which there is plentiful of on the market, but only a few I found support recording of requirements and written use cases (not the diagrams yet).

Are there any tools or methods I should check out for making requirements and use cases? Or should I just fire up Word and create a separate document for each use case?

share|improve this question
2  
There are plenty of tools you could check out. Do you have any specific requirements? Otherwise there's probably not much point in replicating the Wikipedia list here. –  Anna Lear Nov 19 '11 at 15:20
add comment

closed as not constructive by Yannis Rizos, MainMa, Dan McGrath, ChrisF Nov 19 '11 at 22:55

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers

up vote 5 down vote accepted

My advice is to shy away from use case diagramming tools. To quote Martin Fowler, from UML Distilled, Third Edition, on the use of Use Case Diagrams:

Nothing in the UML describes how you should capture the content of a use case. What the UML describes is as use case diagram, which shows how use cases relate to each other. But almost all the value of use cases lies in the content, and the diagram is of rather limited value.

A use case diagram can be included in a requirements document to provide a high-level visualization of the relationships between actors and requirements. Typically, use cases are best captured in a textual form. This could be stored on a wiki, on note cards kept in the team space, or in a document that is easily accessible to the team.

My recommendation is to first choose how you want to manage your requirements. If you can, I would prefer a wiki - it's easy to keep up-to-date and it's incredibly easy to get the latest and most accurate documentation into the hands of the people who need it. If a wiki is not an option, I do recommend having the ability to version and track changes. Word has a change tracking feature built in, so encourage its use. Alternatively, something like SharePoint could also work, which can lock files during editing, and help track versioning.

If you want a use case diagram, include it in the image, but remember that it's one more thing that needs to be maintained (and out of date use case diagram is worse than not having one). Since a use case diagram is simple, tools such as Dia or Visio can easily be used to create the image. If you are using a word processor that has the capabilities, consider creating the use case diagram from inside the word processor. In the case of using Microsoft Office, you can always embed Visio artifacts into a document and easily edit them from inside Word.

I would not recommend using a separate document for each use case, especially if it's an offline document produced in a word processor, such as Microsoft Word. If you are going to be keeping them electronically, such as in a wiki, then a separate page per use case might be appropriate, especially from a change-control and revision history perspective, as long as they are linked to appropriately and it's easy to navigate the pages.

For additional resources, I not only recommend UML Distilled for all of your needs, but also Software Requirements and More About Software Requirements: Thorny Issues and Practical Advice by Karl Wiegers. All of these books cite Alistair Cockburn's Writing Effective Use Cases.

share|improve this answer
    
I didn't consider a wiki yet, but that makes perfect sense! –  Rogier21 Nov 19 '11 at 21:30
add comment

I recommend Enterprise Architect. With it you can write requirements, use cases and all the UML artifacts. You can get more info at Sparxsystems web page

share|improve this answer
1  
Tried it, but for a beginner I find the learning curve quite high.. –  Rogier21 Nov 19 '11 at 21:31
    
would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange –  gnat Oct 22 '13 at 17:54
add comment

Documenting information about Use Case outside of a tool could lead to inconsistencies, say the 'customer' class changes name to 'party', this requires not-so-easy change.

The CaseComplete (CaseComplete) tool helps with this and also provides more features. See video at:

CaseCompleteVideo

share|improve this answer
add comment

You might be interested to take a look at Cucumber, http://cukes.info/. It doesn't have any UML, but it probably beats writing up stuff in word documents.

share|improve this answer
    
would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange –  gnat Oct 22 '13 at 17:54
add comment

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