Sunday, June 30, 2019

What is SRS? How SRS is written in agile ways?



The software requirements document (sometimes called the software requirements specification or SRS) is an official statement of what the system developers should implement. It should include both the user requirements for a system and a detailed specification of the system requirements. Sometimes, the user and system requirements are integrated into a single description. In other cases, the user requirements are defined in an introduction to the system requirements specification. If there are a large number of requirements, the detailed system requirements may be presented in a separate document.

However, agile development methods argue that requirements change so rapidly that a requirements document is out of date as soon as it is written,so the effort is largely wasted. Rather than a formal document, approaches such as Extreme Programming (Beck, 1999) collect user requirements incrementally and write these on cards as user stories. The user then prioritizes requirements for implementation in the next increment of the system.



What do you understand by requirement document standard?


Requirements are usually written as a means for communication between the different stakeholders. This means that the requirements should be easy to understand both for normal users and for developers. One common way to document a requirement is stating what the system must do.

A number of large organizations, such as the U.S. Department of Defense and the IEEE, have defined standards for requirements documents. These are usually very generic but are nevertheless useful as a basis for developing more detailed organizational standards. The U.S. Institute of Electrical and Electronic Engineers(IEEE) is one of the best-known standards providers and they have developed a standard for the structure of requirements documents. This standard is most appropriate for systems such as military command and control systems that have a long lifetime and are usually developed by a group of organizations.

State the Metric used to specify nonfunctional system properties.


State the Metric used to specify nonfunctional system properties.

Speed
Processed transactions/second
User/event response time
Screen refresh time
Size
Mbytes
Number of ROM chips
Ease of use
Training time
Number of help frames
Reliability
Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness
Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability
Percentage of target dependent statements
Number of target systems

What are the types of non-functional requirement? Give examples.


What are the types of non-functional requirement? Give examples.



The non-functional requirements may come from required characteristics of the software (product requirements), the organization developing the soft-ware (organizational requirements), or from external sources:

1. Product requirements: These requirements specify or constrain the behavior of the software. Examples include performance requirements on 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 requirements: These requirements are broad system requirements derived from policies and procedures in the customer’s and developer’s organization. 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 requirements: This broad heading covers all requirements that are derived from factors external to the system and its development process. These may include regulatory requirements that set out what must be done for the system to be approved for use by a regulator, such as a central bank; legislative requirements that must be followed to ensure that the system operates within the law; and ethical requirements that ensure that the system will be acceptable to its users and the general public.

What do we mean by completeness and consistency of user requirement? Why is this difficult to achieve?


What do we mean by completeness and consistency of user requirement? Why is this difficult to achieve?



The functional requirements specification of a system should be both complete and consistent.


Completeness means that all services required by the user should be defined.

Consistency means that requirements should not have contradictory definitions.

In practice, for large, complex systems, it is practically impossible to achieve requirements consistency and completeness. One reason for this is that it is easy to make mistakes and omissions when writing specifications for complex systems. Another reason is that there are many stakeholders in a large system. A stakeholder is a person or role that is affected by the system in some way. Stakeholders have different—and often inconsistent—needs. These inconsistencies may not be obvious when the requirements are first specified, so inconsistent requirements are included in the specification. The problems may only emerge after deeper analysis or after the system has been delivered to the customer.



What is domain requirement? What is the challenge software developers face with respect to this domain requirements?


What is domain requirement? What is the challenge software developers face with respect to this domain requirements?



Domain requirements are derived from the application domain of the system rather than from the specific needs of system users. They may be new functional requirements in their own right, constrain existing functional requirements, or set out how particular computations must be carried out.



The problem with domain requirements is that software engineers may not understand the characteristics of the domain in which the system operates. They often cannot tell whether or not a domain requirement has been missed out or conflicts with other requirements.

Define and differentiate between functional and nonfunctional requirements.


Define and differentiate between functional and nonfunctional requirements.



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



Non-functional requirements: 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

What is the difference between user requirements and system requirement?


What is the difference between user requirements and system requirement?


User Requirements: User requirements are statements, in a natural language plus diagrams, of what services the system is expected to provide to system users and the constraints under which it must operate.



System Requirements: System requirements are more detailed descriptions of the software system’s functions, services, and operational constraints. The system requirements document (sometimes called a functional specification) should define exactly what is to be implemented. It may be part of the contract between the system buyer and the software developers.

Add Trello boards to your Gmail. Organize your emails into boards just like cards in Trello to keep things organized or create a workflow


Add Trello boards to your Gmail
 
Organize your emails into boards just like cards in Trello to keep things organized or create a workflow.



Sortd is a smart skin for Gmail that turns your inbox into a board where you can drag and drop emails into columns following any workflow or sorting order you want. This works great for contact or email workflows for sales teams, as well as project management and planning.