Is there a difference between use cases and functional requirements?

I'm curious, because it seems that everyone has different opinions on this issue. When creating an SRS document, do you need both use cases and functional requirements, or just one, because the functional requirements for use expand in use cases?

+11
use-case requirements system-requirements
source share
3 answers

... you need both use cases and functional requirements, or just one ...

The difference lies only in the approach, if someone had to carefully read the primary authors of these methods.

Using case studies is considered a more efficient means of collecting basic requirements, while an approach to functional requirements provides a complete specification that can then filter out redundancy, overlap, and unwanted functions.

When using an approach based on preferences, external participants (users, processes, agents, etc.) and how they interact with the system are taken into account first, while functional requirements approach the problem because of the angle of the solution (how can we use this function solve our problem?)

Use cases of capture of actors, users, methods, domain knowledge, unique methods, etc. Using cases can lead to a complete batch solution. The functional approach covers product categories, product options, market differentiations. A functional approach can help develop fine-tuned release strategies where functionality is developed and distributed over previous versions.

Another way to describe this is that the use cases are more user-oriented and the functional approach is the specification of the developer. From the point of view of language and communication, it is said that the approach using options makes it easier to understand the documentation already included in the language idioms of end users. On the other hand, a functional approach makes the system complete and integrated as a whole.

In modern SRS, both perspectives are necessary for a complete, useful system. Ideally, you need to match another. The benefits of both approaches cannot be diminished no matter where you start the process.

+9
source share

If you need to use both (because the system is large or complex), use functional specifications of a higher level than Use-cases. If you define a functional specification (for example, BFD or another notation), then you can usefully add all process models, plot mapping, aligned DFDs, or use cases at lower levels depending on your type. DFD and Entity Model cross-check each other.

+1
source share

It's up to you whether you want one or the other, or both.

Functional requirements are a set of requirements, mainly in text form, which defines the developed functionality of the system. A use case diagram is a definition of the requirements for a software system. Both can be used, and there are clear advantages. Functional requirements can easily be used as unit tests, while use cases can be used for custom acceptance and integration tests. Depending on the level of detail, use case diagrams can also be used for unit tests.

From a historical point of view, functional requirements were used before UML became the standard in object-oriented software development. Therefore, these days, use cases are the preferred method for collecting the functional requirements of the system if both should not be used.

The main difference is that the use case diagrams are a graphical representation of the system requirements, while the functional requirements are presented in text form. Use cases may also have text, but the focus is on the diagram itself, while the functional requirements focus on the written text.

0
source share

All Articles