Requirement Analysis
V M Gunda
Contents 1
What is requirement ............................................................................................................................. 3
2
Types of Requirement ........................................................................................................................... 3 2.1
Functional Requirement: .............................................................................................................. 4
2.2
Non Functional Requirement:....................................................................................................... 4
3
System Determination Process ............................................................................................................. 5
4
Requirements Capture in Product Life Cycle ........................................................................................ 5
5
Requirement Life Cycle ......................................................................................................................... 6
6
Software Requirement .......................................................................................................................... 7 6.1
Requirement Elicitation ................................................................................................................ 7
7
Software Stake Holders (Requirement) ................................................................................................ 8
8
Requirement Analysis ........................................................................................................................... 8
1
What is requirement A requirement is a property that essential for IT system to perform its functions. Requirements vary in intent and in the kinds of properties they represent. Requirements are foundation of an IT System. Understanding the requirements can help establish a common understanding among the users, customers, stake holders, and system developers so that concerns will completely address the system‘s development. Figure 1 Users, Customers and Stakeholders Initiate Requirement
2 Types of Requirement
Requirements
Functional Requirement
Non Functional Requirement
2.1 Functional Requirement: Functional requirements are the capabilities that the system will perform. The system performs the input, process, and outputs for each function. System Requirements: In a system requirements are system as a whole. In a system containing software components, software requirements are derived from system requirements. It also called Users requirements.
2.2 Non Functional Requirement: It refers to the constraint on the system. Constraints are the restrictions on the system to use and reuse certain hardware, software and communication methods. Non Functional Requirements are categorized: Performance Requirement: Performance requirements are the numeric values for measurable attributes of the IT System behavior. Ex: The latency for each interruption shall not exceed 200 microseconds. Behavioral Requirement: These cover dynamic aspects of the system, including control, timing, different states, and modes. Operational Requirement: Operational Requirements define “how” the IT System will run and communicate with human users. They cover the number of users at any time that can access the system operator’s qualifications. Interface Requirement: It defines the interaction between computers and humans. The interfaces are between screen formats, available operations functions, and interface optimization. Safety and security Requirement: The requirement that address to Security Quality Requirement: It defines the desired performance. Product and Process Requirements: Product parameters are requirements on software to be developed. Process parameter is essentially constraint on the development of the software.
3 System Determination Process It is the process whereby users, customers, and stakeholders determine exactly what is needed. This process involves sub processes, such as the customer defining the requirements and the system developer learning those requirements.
Figure 2 System Determination Process
4 Requirements Capture in Product Life Cycle Diffusion of Customer Requirement into the product development process is essence in Requirement Analysis phase. The figure shows the typical stake holders in the product development process. Ambiguous requirement is converted into technical requirement but allow the flexibility in interpretation.
Figure 3 Requirement Life Cycle
5 Requirement Life Cycle
Requirement Product Devlivery
Initiation
Integration and Testing
Elicitation
Analysis
Definition
Allocation
Documentation
Baseline
Development Testing
6 Software Requirement
Figure 4 Break Down for Software Requirement
6.1 Requirement Elicitation Requirement elicitation is the process of gathering, negotiation and understanding requirements. It is the first stage in building and understanding the system. Requirement Communication n
Requirement Proposal
Clarification
Requirement Analyst
What Requirements System Developers
Feedback
Figure 5 Requirement Elicitation Process
Guidelines for Successful Requirement Eliciting: Interviews Scenarios Prototypes Facilitated meetings Observation Requirement negotiation Requirement models Requirement prototyping Rapid Prototyping
7 Software Stake Holders (Requirement) These are typically stake holders of software product Users Customers Market Analysis Product Manager System Architecture Software Architecture Hardware Architecture Program Manager Project Manager Designer Engineer Software Engineer
8 Requirement Analysis This topic is concerned with the process of analyzing requirements to Detect and Resolve conflicts between requirement Discover the bounds of software and how it must interact with its environment Elaborate System requirements to derive software requirements
Requirement Analysis contains several steps: Requirement Classification: Requirement Classification is important step in Requirement Analysis. o Whether the requirement is functional or non functional o Whether requirement is derived from one or more high level requirement s or an emergent property or imposed directly on the software by a stakeholder or some other sources o Whether the requirement is on the product or the process. o Requirement Priority o The scope of requirement o Volatility or Stability Conceptual Modeling: The development of models of a real world problem is a key to software requirement analysis. o Conceptual model comprise models of entities from the problem domain configured to reflect their real world relationships and dependencies. o Several kinds of models can be developed. These includes Data and control flows State models Event traces User Interactions Object Models Data Models o The factors that influence the choice of model include The nature of the problem The expertise of the software problem The process requirements of the customer The availability of methods and tools Architectural Design and Requirements Allocation o At some point, the architecture of solution must be derived. o Architectural design is the point at which the requirement process overlaps with software or system design and illustrates how impossible it is to cleanly decouples two tasks Requirement Negotiation