What do you mean by functional and non functional requirements? Explain

 a) Functional requirements

- Functional requirements define the basic system behavior. Essentially, they are what the system does or must not do, and can be thought of in terms of how the system responds to inputs.

-These are statements of services the system should provide, how the system should react to particular inputs and how the system should behave in a particular situation.  In some cases, functional requirements may also explicitly state what the system should not do.

- These requirements depend on the type of software being developed the expected users of the software and generated approach taken by the organization when writing requirements.

- When expressed as user requirements, the functional requirements should be written in natural language, so that the system user and manager can understand them.

- Functional user requirement may be a high-level statement of what the system should do but functional system requirements should describe the system service in detail.

- They should describe the system functions, their inputs and outputs, and exceptions in detail.

- Functional requirements are the main things that the user expects form the s/w for eg: if the application is banking application, that application should be able to create a new account, update account, delete an account etc. 

- The functional requirement for the system should be both complete and consistent Completeness means that all services required by the users should be defined and consistency means that requirement should not have contradictory meaning.


# Example: functional requirement 

- The software automatically validates customers against the Contact Management
- The Sales system should allow users to record customers sales
- The background color for all windows in the application will be blue and have a hexadecimal RGB color value of 0x0000FF.
- Only Managerial level employees have the right to view revenue data.
- The software system should be integrated with banking API



# Advantages of Functional Requirement

  • Functional requirements document helps you to check whether the application is providing all the functionalities that were mentioned by the user for that application.
  • A functional requirement document helps you to define the functionality of a system or one of its subsystems.
  • Functional requirements along with requirement analysis help identify missing requirements. They help clearly define the expected system service and behavior.
  • Errors caught in the Functional requirement gathering stage are the cheapest to fix.
  • Support user goals, tasks, or activities for easy project management
  • Functional requirements can be expressed in Use Case form or user story as they exhibit externally visible functional behavior.


b) Non- functional requirements 

-Non-functional requirements are requirements that are not directly concerned with specific functions delivered by the system to it’s user , but they concerned with emergent system properties.  Non-functional requirements specify how the system should do it. Non-functional requirements do not affect the basic functionality of the systems.

- These are constraints on the services or functions offered by the system. They include timing constraints, constraints on the development process, and constraints imposed by standards.

-  Non-functional requirements often apply to the system as a whole rather than individual system features or services.

- They may relate to emergent system properties such as reliability, response time, and store occupancy.

- They define constraints on the system such as the capabilities of input/output devices and the data representation used in system interfaces. 

- Non-functional requirements may be more critical than functional requirements If these are not met then the system is useless.


# Example of the Non-functional requirement 

- Users must change the initially assigned login password immediately after the first successful logic.

- Employees never allowed to update their salary information. Such an attempt should be reported to the security administrator.

- Every unsuccessful attempt by a user to access an item of data shall be recorded on an audit trail.

- A website should be capable enough to handle 20 million users without affecting its performance

- The software should be portable. So moving from one OS to another OS does not create any problem. 

-  Privacy of information, the export of restricted technologies, intellectual property rights, etc. should be audited.


Types of Non-functional Requirement 

1) Product Requirement

-The requirement which specify the product behavior is called product requirements. The product's requirements include all functions, features & behaviors that the product must possess so that I will be efficient, easy to use, etc.

-It includes the performance requirement which specifies how fast the system must execute.& how much memory it requires, its reliability, etc.

-Examples include performance requirements for how fast the system must execute and how much memory it requires; reliability requirements that set out the acceptable failure rate; security requirements; and usability requirements.



2) Organizational Requirement

- The requirement which is derived from politics & procedures in the customers & developers organization is called organizational requirements.

-It includes the process standard used, implementation such as programming language, design methods, etc.

- These requirement specifies the system must be developed according to the company standards process. 

- Examples include operational process requirements that define how the system will be used; development process requirements that specify the programming language; the development environment or process standards to be used; and environmental requirements that specify the operating environment of the system

3) External Requirement

- The requirement is derived from the factors external to the system and its development process.

- It ensures that whether the system operates with low or not, whether it will still be acceptable to its user and the general public or not.

Example :-Interoperability requirement,legislative requirement.etc 


#Advantages of Non-functional requirement 

  •  The nonfunctional requirements ensure the software system follows legal and compliance rules.
  • They ensure the reliability, availability, and performance of the software system They ensure good user experience and ease of operating the software.
  • They help in formulating the security policy of the software system.


Comments

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Describe how cloud computing technology can be applied to support remote ECG monitoring.

Explain market-Oriented Cloud computing architecture.