Sei sulla pagina 1di 16

SOFTWARE REQUIREMENTS

TOPIC COVERS:
What is Requirements? Importance of Requirements. 6.1 Functional and Non-functional requirements. 6.2 User requirements. 6.3 System requirements.

WHAT IS SOFTWARE REQUIREMENTS?

The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed Specify what build? Tell what and not how Tell the system design, not the software design Tell the problem, not the solution

CLASSIFICATION OF REQUIREMENTS

Functional requirements
Describe what the system should do Defines a function of a software system or its component

Non-functional

requirements

Constraints that must be adhered to during development (design and implementation) Operative word: Constraints.

FUNCTIONAL REQUIREMENTS

What inputs the system should accept What outputs the system should produce

What data the system should store that other systems might use
What computations the system should perform The timing and synchronization of the above

NON-FUNCTIONAL REQUIREMENTS

Non-functional requirements define the overall qualities or attributes of the resulting system
Non-functional requirements place restrictions on the product being developed, the development process, and specify external constraints that the product must meet. Examples of NFR include safety, security, usability, reliability and performance requirements.

TYPE OF NON-FUNCTIONAL REQUIREMENT


Performance requirements Interface requirements Operational requirements Resource requirements Verification requirements Acceptance requirements Documentation requirements Security requirements Portability requirements Quality requirements Reliability requirements Maintainability requirements Safety requirements

CLASSIFICATION OF NON-FUNCTIONAL REQUIREMENT


Non-functional requirements Product requirements Usability requirements Reliability requirements Safety requirements Efficiency requirements Performance requirements Capacity requirements

Process requirements Delivery requirements implementation requirements standards requirements

External requirements Legal constraints Economic constraints Interoperability requirements

TYPES OF REQUIREMENTS

User requirements
System requirements

USER REQUIREMENTS

Should describe functional and non-functional requirements in such a way that they are understandable by system users who dont have detailed technical knowledge. Defined user requirement by :
Using natural language Table and diagrams

PROBLEMS WITH NATURAL LANGUAGE

Lack of clarity

Precision is difficult without making the document difficult to read.


Functional and non-functional requirements tend to be mixed-up. Several different requirements may be expressed together.

Requirements confusion

Requirements amalgamation

SYSTEM REQUIREMENTS
More detailed specifications of user requirements

Serve as a basis for designing the system

May be used as part of the system contract


System requirements may be expressed using system models

REQUIREMENTS AND DESIGN


In principle, requirements should state what the system should do and the design should describe how it does this. In practice, requirements and design are inseparable

A system architecture may be designed to structure the requirements; The system may inter-operate with other systems that generate design requirements; The use of a specific design may be a domain requirement

GRAPHICAL MODELS
Graphical models are most useful when you need to show how state changes or where you need to describe a sequence of actions. Different graphical models are explained in Chapter 8.

SEQUENCE DIAGRAMS
These show the sequence of events that take place during some user interaction with a system. You read them from top to bottom to see the order of the actions that take place. Cash withdrawal from an ATM

Validate card; Handle request; Complete transaction.

SEQUENCE DIAGRAM OF ATM


AT M Card PI N r equest PI N Opt ion men u <<excep tion>> invalid car d With draw request Amount r equest Amount Debit (amount) <<excep tion>> insuf f icient cash Card Card r emo ved Cash Cash r emov ed Receipt Co mp lete t ransact io n Debit resp onse Balance request Balance Handle r equest V alidate car d Database Card n umber Card OK

Potrebbero piacerti anche