You are on page 1of 4

A) Non-Functional Requirements: Non-functional requirements are often called qualities of a system.

Other terms for nonfunctional requirements are "constraints", "quality attributes", and quality goals , quality of service. a) System Related NFR : ex: operational requirements ,performance requirements, maintainability, Portability, Security b) Process and Project Related NFR: ex: Development time and Cost requirements, Development process requirements, Testing requirements ,Installation and Deployment requirement, c) Human Related NFR: ex:Usability requirements, look and feel , legal requirements Qualities again classified into two types 1) Execution Qualities: - such as Security and Usability, which are observable at run time. 2) Evolution Qualities :- such as testability , maintainability and scalability , which are embodied in the static structure of the software system Security Developer is responsible for ensuring the security. Usability User friendly, easy to operate (use) a product. Testability Maintainability maintainability is the ease with which a product can be maintained in order to: isolate defects or their cause correct defects or their cause meet new requirements make future maintenance easier, or cope with a changed environment In some cases, maintainability involves a system of continuous improvement - learning from the past in order to improve the ability to maintain systems, or improve reliability of systems based on maintenance experience. Scalability -- Scalability is a ability of a system to handle growing amount of work. Examples

a) b) c) d) e) f) g) h) i) j) k)

Accessibility ability to use the product Availability -- make available to the all resources at all time Backup need to take backup ,daily backups, weekly backups Configuration Managementis a process of establishing and maintaining consistency of a products performance,functional with its requirements,design and operational information through out its life, Deployment Documentation -- the process of providing evidence. Disaster Recovery is a process ,policies and procedures related to recovery in the event of natural calamity . Disaster recovery is a subset of business continuity. Extension adding features and carry-forward of customizations at next major version upgrade. Quality faults discovered, faults delivered Recovery mean time to Recovery (MTTR) is the average time that device will take to recover from any failure. Reliability ex: Mean time between Failure (MTBF) elapsed time between inherent failures of a system.

MTBF= Sigma (Start of downtime Start of Uptime) No.of failures l) Service Level Agreement part of a service contract where the level of service is formally defined. In practice, the term SLA is sometimes used to refer to the contracted delivery time (of the service) or performance A service-level agreement is a negotiated agreement between two parties, where one is the customer and the other is the service provider. This can be a legally binding formal or an informal "contract" B) NFR life cycle :

Nonfunctional Requirements Criticality and Lifecycle


In any software development effort, gathering requirements is the first step. Functional requirements describe the behaviors (functions or services) of the system that support user goals, tasks or activities, and nonfunctional requirements include constraints and qualities. Like functional requirements are tracked to closure during the various phases of the software development lifecycle, it is imperative to elicit, document and track NFRs to closure for the success of any software development project. An NFR lifecycle usually proceeds as follows: Identify NFRs applicable to an application situation:

Identify the key/critical NFRs for the given engagement.

Understand the significance of the critical NFRs; assess the impact if a given requirement is not met.

Define what is required by preparing a questionnaire for NFR stakeholders:


Categorize NFRs into should have, could have and nice to have. Frame questions for qualitiative and quantitative NFRs. Validate the practicality of the NFRs.

Decide on potentially conflicting NFRs based on constraints:

Establish a cost-benefit analysis of building a system complying to NFRs versus foregoing few aspects of NFRs.

Track NFRs captured from requirement to testing:


Validate architecture, design and coding practices at various software development lifecycle phases. Create adequate test plans to validate that the end solution passes all NFRs stated/agreed upon.

Close/Execute test cases:

Collect and document metrics to confirm compliance to NFRs.

C) Functional Requirement: Requirements of a software system .A function is described as a set of inputs , the behavior and the output , Functional requirements may be calculations, data manipulations. Functional requirements are captured by Use Cases. Functional requirements are supported by Non Function Requirements (Quality requirements) Functional requirements drive the application architecture of a system, while nonfunctional requirements drive the technical architecture (quality ,performance) of a system. Steps: a) Gather the Functional Requirements b) Validate and generate the Use Case c) The hierarchy of functional requirements is: user/stakeholder request -> feature -> use case -> business rule. Each use case illustrates behavioral scenarios through one or more functional requirements.

d) A typical functional requirement will contain a unique name and number, a brief summary, and a rationale. This information is used to help the reader understand why the requirement is needed, and to track the requirement through the development of the system.

You might also like