In: Computer Science
Discuss why uses cases are an essential part of determining functional requirements.
Let's know what is Use Cases
Use Case
A use case is a tactic used in system analysis to identify, clarify, and categorize system requirements. The use case is made up of a set of possible sequences of interactions between systems and users within an environment and related to a particular goal. The use case should contain all system activities that have significance to the users within a given system.
What Use Cases Do
1. They hold Functional Requirements in an easy to read and tracking format.
2. They represent the goal of an interaction between an actor and the system.
3. They are multi-level, one use case can use/extent the functionality of another.
What Use Cases Do Not Do
1. They don't specify user interface design. They specify the intent, not the action Detail.
2. They don't specify implementation detail.
Use cases are an essential part of determining functional requirements.
There are basically two types of software requirements - Functional and Non-Functional. As the name implies, Functional requirements describe the functionality of the product. They describe exactly what tasks the software must perform. Functional requirements define the scope of the system, the product boundaries, and its connections to adjacent systems. Functional requirements also define the business rules. Business rules are the rules that the system must conform to, based on the individual business. This includes defining the data that must be tracked. The business rules are the most important type of functional requirements and most of your requirements will be of this type.
Advantages of use case
·They prevent early design and focus on conditions.
·They provide tractability.
·They allow estimating and scheduling work.
Disadvantages of use case
·They do not easily capture non-functional requirements.
·There may be a learning curve for the developer and/or the client.
·They are easy to understand by the client, and provide a simple means of communication between the client and the developers.
When we create a use case for a system it will contain all the functions of the desired project.It wil include all functional requirements, so the use cases are an essential part of determining functional requirements of a software project. But it is not good for determining non functional requirements.Non-Functional requirements describe the look and feel of the system. This includes the visual properties of the system, its usability, and the performance requirements - how big, how fast, etc. Non-Functional requirements also include the product's intended operating environment and any maintainability, portability and security issues. Non-Functional requirements also include cultural and political issues as well as legal requirements that the software must conform to.