I have to do some planning for an hypothetical DropBox-like project. I was wondering if in general the Functional Decomposition Diagram I came up with makes sense.

enter image description here

Am I focusing on the right stuff? Am I listing too many processes for some functions and too few for others? Do I have the dependency lines drawn properly? Any help would be appreciated.

Are these questions too general? Is there a newbie-friendly help site?

  • 1
    You decompose until sufficient granularity is achieved. We have no way to determine if the granularity is sufficient for your purposes, other than whether or not it's enough to help you generate a functional requirements document from the diagram. – Todd A. Jacobs Oct 16 '16 at 3:08

A few comments first:

  • This looks more like functional decomposition rather than DFD: there are no flows as such.
  • The breakdown between Customer Service and Data Service is unclear. On one hand, you have authentication listed on the left, on another Desktop App (which presumably includes authentication) is on the right.

If you're decomposing based on function, rather than deployment (client vs. server side), then the top-level entities could look like this:

  1. Registration and Authentication
  2. File management
  3. Integration to client apps (Mobile/email/browser)
  4. Notification/event system
  5. Multi-user collaboration: sharing etc.

There's of course more, but that's a start.

If you're decomposing based on deployment or going for a classic DFD, then the top list would start with client-/server-side, and then for the server side, go into file storage (including CDN), NoSQL DB (also including scalability), API etc. etc.

As the comment above says, it really depends on how far you want to go.

| improve this answer | |
  • Oops, I meant FDD not DFD. – posfan12 Oct 16 '16 at 23:17
  • I think it would be better to stick with decomposition based on function rather than deployment, like you suggested. – posfan12 Oct 16 '16 at 23:52
  • Could you explain what you mean by "Notification/event system"? Also, we're not going to be doing any multi-user collaboration or sharing, so we can ignore that. – posfan12 Oct 17 '16 at 0:05
  • This is related to collaboration; I referred to notifying users whenever collaborated files get modified, or when a new file in a shared directory is uploaded etc. – RomanK Oct 17 '16 at 0:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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