Hi Guys,
There seems to be no guidelines on when a functional specification document, or use case document or s systems design docyument is considered the output that a systems analyst needs to create for the development team to start their coding and the QA team to start writing their test scripts.
There is a lot of overlap between these three broad kind of documents. I believe that a Use case document is used to elicit requirements and display how the actors will interact with the system and how the system responds, kind of the 'What" functionality. The functional specifications will do more or less the same but with a little emphasis put on on the "how"part while the design document lays most of the emphasis on the "how" part.
Is this understanding correct? What are your experences with these documents in terms of how they are used in your organization.
Thanks!
Hi:
Here the way it is supposed to go. (How it is twisted around in any given organization is another story.)
Use Case: Gives the what, but not the what accomplished internally within the system that does not interface with an Actor. Also, fails to capture the essential interrelationships between the whats (ie the data flows), so alot of the whats are often missed.
Functional Spec: Gives the whats. It is not supposed to give the hows. Use Cases, Data Flow Diagrams, etc., can be, in a more Agile environment, the functional specs, with the details being handled in conversations between developers.
The design document gives the how part.
Tony
Thanks Tony. So basically my understanding of the three seems to be in line with what you think too. Will appreciate to hear from others also.
Craig,
It may help to think of functional specs, use cases, and other artifacts as tools - the decision of which tool to use may be influenced by a number of different factors such as:
Just a follow-up to the reply from Tony as well. Any requirements artifact - whether use case, functional spec, process model, etc. - has a specific purpose and meaning. Use cases are not intended to document information flows, so they're not really 'missing' what they are not intended to accomplish. Whichever format you choose for your requirements, you may want to consider what other supporting documentation might be needed for a given project. Check out the 'Articles' section of Modern Analyst - there are some good articles on decision models as a way to elicit and document business rules, and context diagrams as a way to illustrate information flows at the system level. Also don't forget about non-functional requirements - these are often documented separately in a non-functional spec or a supplementary requirements specification.
Good luck!
Sandy
brought to you by enabling practitioners & organizations to achieve their goals using: