Download presentation
Presentation is loading. Please wait.
Published byAmi Lambert Modified over 5 years ago
1
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Prepared By: HARKIRANPREET Department: ISE Date: 30 JULY 2014 16/8/2014
2
UNIT 3 REQUIREMENTS 16/8/2014
3
1.Software Requirements 2.Functional and Non-functional Requirement
CONTENTS 1.Software Requirements 2.Functional and Non-functional Requirement 3.Types of Requirements 4.Interface specification 5.Software requirement document 6.Feasibility study 7.Requirement elicitation and analysis 8.Requirement validation and management. 16/8/2014
4
REQUIREMENT ENGINEERING
It is a process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed. The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process. Requirement : A requirement may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification. 16/8/2014
5
Requirements serve a dual function :
May be the basis for a bid for a contract - therefore must be open to interpretation May be the basis for the contract itself - therefore must be defined in detail. Both these statements may be called requirements. 16/8/2014
6
FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS
Functional requirements : Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. Non-functional requirements : Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. Domain requirements : Requirements that come from the application domain of the system and that reflect characteristics of that domain. 16/8/2014
7
FUNCTIONAL REQUIREMENTS
They Describe functionality or system services. Depend on the type of software, expected users and the type of system where the software is used. Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail. 16/8/2014
8
Engineered for Tomorrow
EXAMPLES The user shall be able to search either all of the initial set of databases or select a subset from it. The system shall provide appropriate viewers for the user to read documents in the document store. Every order shall be allocated a unique identifier (ORDER_ID) which the user shall be able to copy to the account’s permanent storage area. 16/8/2014
9
NON-FUNCTIONAL REQUIREMENTS
They define system properties and constraints like reliability, response time and storage requirements. Constraints are I/O device capability, system representations, etc. Process requirements may also be specified mandating a particular CASE system, programming language or development method Non-functional requirements may be more critical than functional requirements. If these are not met, the system becomes useless. 16/8/2014
10
NON-FUNCTIONAL CLASSIFICATIONS
1. Product requirements These requirements specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc. 2. Organizational requirements Requirements which are a consequence of organizational policies and procedures e.g. process standards used, implementation requirements, etc. 3. External requirements Requirements which arise from factors which are external to the system and its development process e.g. interoperability requirements, legislative requirements, etc. 16/8/2014
11
NON-FUNCTIONAL CLASSIFICATIONS
16/8/2014
12
TYPES OF REQUIREMENT 1. User requirements
Statements in natural language plus diagrams of the services the system provides and its operational constraints written for customers. 2. System requirements A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractor. 3. Software specification A detailed software description which can serve as a basis for a design or implementation. These set of requirements are written for developers. 16/8/2014
13
USER REQUIREMENTS Should describe functional and non-functional requirements so that they are understandable by system users who don’t have detailed technical knowledge. User requirements are defined using natural language, tables and diagrams Some of the problems with natural language 1. Lack of clarity: Precision is difficult without making the document difficult to read. 2. Requirements confusion: Functional and non-functional requirements tend to be mixed-up. 3. Requirements amalgamation: Several different requirements may be expressed together. 16/8/2014
14
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. 16/8/2014
15
INTERFACE SPECIFICATION
Most systems must operate with other systems and the operating interfaces must be specified as part of the requirements. Three types of interface may have to be defined • Procedural interfaces • Data structures that are exchanged • Data representations Formal notations are an effective technique for interface specification. 16/8/2014
16
THE REQUIREMENTS DOCUMENT
The requirements document is the official statement of what is required of the system developers. It should include both a definition and a specification of requirements. The requirements document is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it. 16/8/2014
17
16/8/2014
18
REQUIREMENTS DOCUMENT
The requirement doc should have the following • Specify external system behavior • Specify implementation constraints • Easy to change • Serve as reference tool for maintenance • Record forethought about the life cycle of the system i.e. predict changes • Characterize responses to unexpected events 16/8/2014
19
REQUIREMENTS DOCUMENT STRUCTURE
These are the various contents that the requirement doc should possess : • Introduction • Glossary • User requirements definition • System architecture • System requirements specification • System models • System evolution • Appendices • Index 16/8/2014
20
REQUIREMENTS ENGINEERING PROCESSES
The processes used for RE vary widely depending on the application domain, the people involved and the organization developing the requirements. These are some of the generic activities common to all processes • Requirements elicitation • Requirements analysis • Requirements validation • Requirements management 16/8/2014
21
16/8/2014
22
It is a short focused study that checks.
FEASIBILITY STUDIES A feasibility study decides whether or not the proposed system is worthwhile. It is a short focused study that checks. If the system contributes to organizational objectives. If the system can be engineered using current technology and within budget. If the system can be integrated with other systems that are used. 16/8/2014
23
ELICITATION AND ANALYSIS
Sometimes called requirements elicitation or requirements discovery. Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational Constraints. May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders. 16/8/2014
24
REQUIREMENTS VALIDATION
• Concerned with demonstrating that the requirements define the system that the customer really wants. • Requirements error costs are high so validation is very important. Fixing a requirements error after delivery may cost up to times the cost of fixing an implementation error 16/8/2014
25
REQUIREMENTS MANAGEMENT
• Requirements management is the process of managing changing requirements during the requirements engineering process and system development. • Requirements are inevitably incomplete and inconsistent New requirements emerge during the process as business needs change and a better understanding of the system is developed. Different viewpoints have different requirements and these are often contradictory. 16/8/2014
26
REQUIREMENTS CHANGE • The priority of requirements from different viewpoints changes during the development process. • System customers may specify requirements from a business perspective that conflict with end-user requirements. • The business and technical environment of the system changes during its development. 16/8/2014
27
ASSIGNMENT QUESTIONS Describe functional and non-functional requirements with examples--- [10M] What are the metrics used to specify non-functional system properties?—[5M] Explain the IEEE standard format for requirement document in detail— [6M] Explain requirement elicitation and analysis process and its activities— [10M] Why requirement need to be validated? Explain the check made in requirement validation—[6M] What are the enduring and violate requirements? Also give the classification of violate requirement with brief explanation—[10M] 16/8/2014
28
Thank You.. 16/8/2014
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.