Professional Documents
Culture Documents
Session 7
Session 7
SESSION - 7
Functional Requirements:
• “Any Requirement Which Specifies What The System Should Do.”
• A functional requirement will describe a particular behavior of function of the system when
certain conditions are met.
Example: “Send email when a new customer signs up”
•Some of the more typical functional requirements include:
– Business Rules
– Transaction corrections, adjustments and cancellations
– Administrative functions
– Authentication & Authorization levels
– Audit Tracking
– External Interfaces
– Certification Requirements
– Reporting Requirements
– Historical Data, Legal or Regulatory Requirements
Non-Functional Requirements or Non-Behavioral Requirements:
• These are basically the quality constraints that the system must satisfy according to the project
contract.
• The priority or extent to which these factors are implemented varies from one project to other.
• They basically deal with issues like:
Portability, Security
Maintainability, Reliability
Scalability, Performance
Reusability and
Flexibility
Differences between functional and non-functional requirements:
Functional Requirements Non Functional Requirements
A functional requirement defines a system or its A non-functional requirement defines the quality attribute
component & easy to define. of a software system & difficult to design.
It is mandatory & captured in use case. It is not mandatory & captured in quality attribute.
Defined at a component level. Applied to a system as a whole.
Helps you verify the functionality of the software. Helps you to verify the performance of the software.
Functional Testing like System, Integration, End to End, Non-Functional Testing like Performance, Stress,
API testing, etc are done. Usability, Security testing, etc are done.
Domain:
• A field of study that defines a set of common requirements, terminology, and functionality for
any software program constructed to solve a problem in the area of computer programming,
known as domain.
• The word domain is also taken as a synonym of application domain.
Domain requirements:
• The collection of domain requirements is a continuous process of proactively defining
the requirements for all foreseeable applications to be developed in the software product line.
• A particular issue in domain requirements is to identify and explicitly document the external
variability.
Requirement Engineering:
The process of defining, documenting and maintaining the requirements. It is a process of
gathering and defining service provided by the system.
Stages in Requirement Engineering:
• Inception—ask a set of questions that establish basic understanding of the problem, the people
who want a solution, the nature of the solution that is desired, the effectiveness of preliminary
communication and collaboration between the customer and the developer.
• Elicitation—elicit requirements from all stakeholders.
• Elaboration—create an analysis model that identifies data, function and behavioral
requirements.
Stages in Requirement Engineering (Contd.):
• Negotiation—agree on a deliverable system that is realistic for developers and customers
• Specification—can be any written document, set of models, collection of user scenarios (use-
cases), prototype
• Validation—a review mechanism that looks for errors in content or interpretation, areas where
clarification may be required, missing information, inconsistencies (a major problem when
large products or systems are engineered), conflicting or unrealistic (unachievable)
requirements.
• Requirements management - is a set of activities that help the project team identify, control,
and track requirements and changes to requirements at any time as the project proceeds.
Establishing the groundwork:
• Identify Stakeholders- A stakeholder as “ anyone who benefits in a direct or indirect way from
the system which is being developed.
• Recognizing multiple viewpoints - The Marketing group, Business Mangers, Software
Engineers, Support Engineers
• Working toward collaboration - Identify areas of commonality and areas of conflict or
inconsistency, stakeholders collaborate by providing their view of requirements, but a strong
project champion, may make the final decision about which requirements make the cut.
• Asking the First Questions - context free questions, questions that gain a better understanding
of the problem and allows the customer to voice his or her perceptions about a solution.
1.SCENARIO-BASED ELEMENTS
Use Case Diagram for Safe home Activity Diagram for safe home
2. CLASS-BASED ELEMENTS
– The system accepts input in a variety of forms; applies functions to transform it; and
produces output in a variety of forms.
4.ANALYSIS PATTERNS (CONTD.)
Self Assessment Questions
1. Define Software Requirement.
2. Differentiate functional and non functional requirements.
3. Explain about the significance of domain requirements.
4. Explain various stages of requirement engineering with an example.
5. What are different types elements of requirement model.
6. Illustrate Scenario based elements in detail with an example.
7. Differentiate Class-based and behavioral elements.
8. Explain about Analysis Pattern.
TEXT BOOKS:
• Roger S.Pressman, “Software Engineering – A Practitioner’s Approach” 7th Edition, Mc Graw
Hill,(2014).
• Ian Sommerville, “Software Engineering”, Tenth Edition, Pearson Education, (2015).
Reference Book
• Agile and Iterative Development: A Manager's Guide, Craig Larman, Addison-Wesley
WEB REFERNCES/MOOCS:
https://www.digite.com/kanban/what-is-kanban/
http://www.scaledagileframework.com
https://www.guru99.com/test-driven-development.html
THANK YOU