SlideShare a Scribd company logo
UNIT - II
Software Requirements
Functional and non-functional requirements
User requirements
System requirements
Interface Specifications
Software requirements document.
Requirements engineering process
Feasibility studies,
Requirements elicitation and analysis
Requirements validation
Requirements management.
SOFTWARE REQUIREMENTS
SOFTWARE REQUIREMENTS
THE DIFFERENT TYPES OF REQUIREMENTS ARE
• FUNCTIONAL REQUIREMENTS
• NON FUNCTIONAL REQUIREMENTS
• DOMAIN REQUIREMENTS
• USER REQUIREMENTS
• SYSTEM REQUIREMENTS
SOFTWARE REQUIREMENTS
THE SOFTWARE REQUIREMNTS ARE REPRESENTED AS THE BELOW:
• 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.
EXAMPLE OF THE LIBSYS SYSTEM
• A LIBRARY SYSTEM THAT PROVIDES A SINGLE INTERFACE TO A NUMBER OF DATABASES OF
ARTICLES IN DIFFERENT LIBRARIES.
• USERS CAN SEARCH FOR, DOWNLOAD AND PRINT THESE ARTICLES FOR PERSONAL STUDY.
FUNCTIONAL REQUIREMENTS FOR LIBSYS
• 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.
NON-FUNCTIONAL REQUIREMENTS
• THESE DEFINE SYSTEM PROPERTIES AND CONSTRAINTS E.G. RELIABILITY, RESPONSE TIME AND
STORAGE REQUIREMENTS. CONSTRAINTS ARE I/O DEVICE CAPABILITY, SYSTEM
REPRESENTATIONS, ETC.
• NON-FUNCTIONAL REQUIREMENTS MAY BE MORE CRITICAL THAN FUNCTIONAL
REQUIREMENTS. IF THESE ARE NOT MET, THE SYSTEM IS USELESS.
NON-FUNCTIONAL CLASSIFICATIONS
• PRODUCT REQUIREMENTS
• REQUIREMENTS WHICH SPECIFY THAT THE DELIVERED PRODUCT MUST BEHAVE IN A PARTICULAR WAY E.G.
EXECUTION SPEED, RELIABILITY, ETC.
• ORGANISATIONAL REQUIREMENTS
• REQUIREMENTS WHICH ARE A CONSEQUENCE OF ORGANISATIONAL POLICIES AND PROCEDURES E.G.
PROCESS STANDARDS USED, IMPLEMENTATION REQUIREMENTS, ETC.
• EXTERNAL REQUIREMENTS
• REQUIREMENTS WHICH ARISE FROM FACTORS WHICH ARE EXTERNAL TO THE SYSTEM AND ITS
DEVELOPMENT PROCESS E.G. INTEROPERABILITY REQUIREMENTS, LEGISLATIVE REQUIREMENTS, ETC.
NON-FUNCTIONAL REQUIREMENT TYPES
Performance
requirements
Space
requirements
Usability
requirements
Efficiency
requirements
Reliability
requirements
Portability
requirements
Interoperability
requirements
Ethical
requirements
Legislative
requirements
Implementa tion
requirements
Standards
requirements
Delivery
requirements
Safety
requirements
Privacy
requirements
Product
requirements
Organisational
requirements
External
requirements
Non-functional
requirements
NON-FUNCTIONAL REQUIREMENTS FOR LIB SYS
• PRODUCT REQUIREMENT
THE USER INTERFACE FOR LIBSYS SHALL BE IMPLEMENTED AS SIMPLE HTML
WITHOUT FRAMES OR JAVA APPLETS.
• ORGANISATIONAL REQUIREMENT
THE SYSTEM DEVELOPMENT PROCESS AND DELIVERABLE DOCUMENTS SHALL
CONFORM TO THE PROCESS AND DELIVERABLES DEFINED IN XYZCO-SP-STAN-95.
• EXTERNAL REQUIREMENT
THE SYSTEM SHALL NOT DISCLOSE ANY PERSONAL INFORMATION ABOUT
CUSTOMERS APART FROM THEIR NAME AND REFERENCE NUMBER TO THE
OPERATORS OF THE SYSTEM.
software engineering unit 2 jntuh r18 syllabus
software engineering unit 2 jntuh r18 syllabus
DOMAIN REQUIREMENTS
• DERIVED FROM THE APPLICATION DOMAIN AND DESCRIBE SYSTEM CHARACTERISTICS AND
FEATURES THAT REFLECT THE DOMAIN.
• DOMAIN REQUIREMENTS BE FUNCTIONAL REQUIREMENTS, CONSTRAINTS ON EXISTING
REQUIREMENTS OR DEFINE SPECIFIC COMPUTATIONS.
• IF DOMAIN REQUIREMENTS ARE NOT SATISFIED, THE SYSTEM MAY BE UNWORKABLE.
• EXAMPLES OF DOMAIN REQUIREMENTS TRAIN OPERATION, MEDICAL RECORDS, E-COMMERCE
ETC THAT REFLECT THE ENVIRONMENT IN WHICH THE SYSTEM OPERATES
USER REQUIREMENTS
• THEY SHOULD ONLY SPECIFY THE EXTERNAL BEHAVIOR OF THE SYSTEM AND SHOULD AVOID, AS FAR
AS POSSIBLE, SYSTEM DESIGN CHARACTERISTICS.
• SHOULD DESCRIBE FUNCTIONAL REQUIREMENTS IN SUCH A WAY THAT THEY ARE UNDERSTANDABLE
BY SYSTEM USERS WHO DON’T HAVE DETAILED TECHNICAL KNOWLEDGE.
• CONSEQUENTLY, IF YOU ARE WRITING USER REQUIREMENTS, YOU SHOULD NOT USE SOFTWARE
JARGON, STRUCTURED NOTATIONS OR FORMAL NOTATIONS, OR DESCRIBE THE REQUIREMENT BY
DESCRIBING THE SYSTEM IMPLEMENTATION.
• YOU SHOULD WRITE USER REQUIREMENTS IN SIMPLE NATURAL LANGUAGE, WITH SIMPLE TABLES AND
FORMS AND INTUITIVE DIAGRAMS
USER REQUIREMENT EXAMPLE FOR
LIBSYS REQUIREMENT
4..5 LIBSYS shall provide a financial accounting system
that maintains records of all payments made by users of
the system. System managers may configure this system
so that regular users may receive discounted rates.
PROBLEMS WITH NATURAL LANGUAGE
HOWEVER, VARIOUS PROBLEMS CAN ARISE WHEN REQUIREMENTS ARE WRITTEN IN NATURAL
LANGUAGE SENTENCES IN A TEXT DOCUMENT:
• LACK OF CLARITY
• ACCURACY SHOULD BE MAINTAINED WHILE MAKING THE DOCUMENT .
• REQUIREMENTS CONFUSION
• FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS TEND NOT BE TO BE MIXED-UP.
• REQUIREMENTS AMALGAMATION
• SEVERAL DIFFERENT REQUIREMENTS MAY BE EXPRESSED TOGETHER.
GUIDELINES FOR WRITING REQUIREMENTS
• INVENT A STANDARD FORMAT (TEMPLATE) AND USE IT FOR ALL REQUIREMENTS.
• USE LANGUAGE CONSISTENTLY. YOU SHOULD ALWAYS DISTINGUISH BETWEEN MANDATORY AND
DESIRABLE REQUIREMENTS.
• USE TEXT HIGHLIGHTING (BOLD, ITALIC OR COLOUR) TO PICK OUT KEY PARTS OF THE REQUIREMENT.
• AVOID, AS FAR AS POSSIBLE, THE USE OF COMPUTER JARGON
SYSTEM REQUIREMENTS
• MORE DETAILED SPECIFICATIONS OF SYSTEM FUNCTIONS, SERVICES AND CONSTRAINTS
THAN USER REQUIREMENTS.
• THEY ARE INTENDED TO BE A BASIS FOR DESIGNING THE SYSTEM.
• IT SHOULD DEFINE EXACTLY WHAT IS TO BE IMPLEMENTED. IT MAY BE PART OF THE
CONTRACT BETWEEN THE SYSTEM BUYER AND THE SOFTWARE DEVELOPERS.
PROBLEMS WITH NL SPECIFICATION
• AMBIGUITY
• THE READERS AND WRITERS OF THE REQUIREMENT MUST INTERPRET THE SAME WORDS IN THE SAME
WAY. NL IS NATURALLY AMBIGUOUS SO THIS IS VERY DIFFICULT.
• OVER-FLEXIBILITY
• THE SAME THING MAY BE SAID IN A NUMBER OF DIFFERENT WAYS IN THE SPECIFICATION.
• LACK OF MODULARISATION
• NL STRUCTURES ARE INADEQUATE TO STRUCTURE SYSTEM REQUIREMENTS.
ALTERNATIVES TO NL SPECIFICATION
Notation Description
Structured natural
language
This approach depends on defining standard forms or templates to express the
requirements specification.
Design
description
languages
This approach uses a language like a programming language but with more abstract
features to specify the requirements by defining an operational model of the system.
This approach is not now widely used although it can be useful for interface
specifications.
Graphical
notations
A graphical language, supplemented by text annotations is used to define the
functional requirements for the system. An early example of such a graphical
language was SADT. Now, use-case descriptions and sequence diagrams are
commonly used .
Mathematical
specifications
These are notations based on mathematical concepts such as finite-state machines or
sets. These unambiguous specifications reduce the arguments between customer and
contractor about system functionality. However, most customers don’t understand
formal specifications and are reluctant to accept it as a system contract.
INTERFACE SPECIFICATIONS
• INTERFACE SPECIFICATION, IN THE CONTEXT OF SOFTWARE DEVELOPMENT AND COMPUTER SYSTEMS, REFERS TO A
DETAILED DESCRIPTION OR SET OF RULES THAT DEFINE HOW DIFFERENT SOFTWARE COMPONENTS OR MODULES
SHOULD INTERACT WITH EACH OTHER. IT ACTS AS A CONTRACT OR AGREEMENT THAT ENSURES SEAMLESS
COMMUNICATION AND INTEGRATION BETWEEN VARIOUS PARTS OF A SOFTWARE SYSTEM.
• IN SIMPLER TERMS, AN INTERFACE SPECIFICATION OUTLINES THE RULES AND GUIDELINES FOR HOW DIFFERENT
PARTS OF A SOFTWARE APPLICATION SHOULD "TALK" TO EACH OTHER, EXCHANGE DATA, AND COOPERATE TO
PERFORM SPECIFIC TASKS. THESE INTERFACES CAN BE BETWEEN SOFTWARE MODULES, SOFTWARE AND HARDWARE
COMPONENTS, OR EVEN BETWEEN DIFFERENT SOFTWARE SYSTEMS.
• KEY POINTS ABOUT INTERFACE SPECIFICATION:
1. STANDARDIZATION: INTERFACE SPECIFICATIONS STANDARDIZE THE COMMUNICATION BETWEEN COMPONENTS,
MAKING IT EASIER FOR DEVELOPERS TO UNDERSTAND HOW TO INTERACT WITH OTHER PARTS OF THE SYSTEM.
2. ABSTRACTION: INTERFACES HIDE THE IMPLEMENTATION DETAILS OF A COMPONENT, ALLOWING OTHER PARTS OF
THE SYSTEM TO INTERACT WITH IT WITHOUT NEEDING TO KNOW THE INTERNAL COMPLEXITIES.
3. ENCAPSULATION: INTERFACE SPECIFICATIONS HELP ENFORCE ENCAPSULATION, SEPARATING THE CONCERNS OF
DIFFERENT COMPONENTS AND PROMOTING MODULAR DESIGN.
4. FLEXIBILITY: BY DEFINING CLEAR INTERFACES, COMPONENTS CAN BE EASILY REPLACED OR UPGRADED WITHOUT
AFFECTING OTHER PARTS OF THE SYSTEM, AS LONG AS THEY ADHERE TO THE SAME INTERFACE SPECIFICATION.
5. INTEROPERABILITY: INTERFACE SPECIFICATIONS FACILITATE INTEROPERABILITY, ENABLING COMPONENTS FROM
DIFFERENT VENDORS OR SYSTEMS TO WORK TOGETHER SEAMLESSLY.
THE REQUIREMENTS DOCUMENT
• THE REQUIREMENTS DOCUMENT IS THE OFFICIAL STATEMENT OF WHAT IS REQUIRED OF THE
SYSTEM DEVELOPERS.
• SHOULD INCLUDE BOTH A DEFINITION OF USER REQUIREMENTS AND A SPECIFICATION OF THE
SYSTEM REQUIREMENTS.
• IT 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
USERS OF A REQUIREMENTS DOCUMENT
Use the requirements to
develop validation tests for
the system
Use the requirements
document to plan a bid for
the system and to plan the
system development process
Use the requirements to
understand what system is to
be developed
System test
eng
ineers
Managers
System
eng
ineers
Specify the requirements and
read them to check that they
meet their needs. T
hey
specify changes to the
requirements
System
customers
Use the requirements to help
understand the system and
the relationships between its
parts
System
maintenance
engineers
IEEE REQUIREMENTS STANDARD
• DEFINES A GENERIC STRUCTURE FOR A REQUIREMENTS DOCUMENT THAT MUST BE
INSTANTIATED FOR EACH SPECIFIC SYSTEM.
• INTRODUCTION.
• GENERAL DESCRIPTION.
• SPECIFIC REQUIREMENTS.
• APPENDICES.
• INDEX.
REQUIREMENTS DOCUMENT STRUCTURE FOR LARGE
PROJECTS
• PREFACE
• INTRODUCTION
• GLOSSARY
• USER REQUIREMENTS DEFINITION
• SYSTEM ARCHITECTURE
• SYSTEM REQUIREMENTS SPECIFICATION
• SYSTEM MODELS
• SYSTEM EVOLUTION
• APPENDICES
• INDEX
software engineering unit 2 jntuh r18 syllabus
REQUIREMENTS ENGINEERING
PROCESS
REQUIREMENTS ENGINEERING PROCESSES
• THE GOAL OF REQUIREMENT ENGINEERING PROCESS IS TO CREATE
AND MAINTAIN A SYSTEM REQUIREMENTS DOCUMENT.
• THE OVERALL PROCESS INCLUDE FOUR LEVEL PROCESS.
REQUIREMENTS ENGINEERING PROCESS
Feasibility
study
Requirements
elicitation and
analysis
Requirements
specification
Requirements
validation
Feasibility
report
System
models
User and system
requirements
Requirements
document
Requirements engineering process
(1) Feasibility Study: These are concerned with assessing whether the system is useful to the business
or not. It produces Feasibility Report.
(2)Requirement Elication and Analysis: It discovers requirements and produces system models.
(3)Requirements Specification : Converting these requirements in to standard format.
(4) Requirement Validation: checking that the requirements actually define the system that customer
wants . It produces SRS document.
Requirements engineering process
• Ion Sommerville found an alternative perspective ,with 3
stage activities.
• All these 3 activities are organized as an iterative process
around a spiral .
• The following Spiral diagram shows how the requirements
are developed in different levels in detail.
software engineering unit 2 jntuh r18 syllabus
TOPICS COVERED
• FEASIBILITY STUDIES
• REQUIREMENTS ELICITATION AND ANALYSIS
• REQUIREMENTS VALIDATION
• REQUIREMENTS MANAGEMENT
FEASIBILITY STUDIES
• A FEASIBILITY STUDY DECIDES WHETHER OR NOT THE PROPOSED SYSTEM IS
WORTHWHILE. THE STUDY 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
• IT HELPS US TO START A BUSINESS, PURCHASE OF AN EXISTING
SYSTEM,OR AN EXPANSION OF SYSTEM REQUIRED.
• FEASIBILITY STUDY INVOLVES IN 3 STEPS:
(A) INFORMATION ASSESSMENT : IT HAS 3 TYPES
(1) ECONOMIC FEASIBILITY – COST OF EQUIPMENTS,BUDGET
(2) OPERATIONAL FEASIBILITY – EASY TO USE OR ANY TRAINING
(3) TECHNICAL FEASIBILITY.- DISCUSS ABOUT H/W AND S/W REQ
FEASIBILITY STUDIES
Feasibility studies(Cont..)
(b) Information Collection: The software engineering organization
discover answers for the following sample questions
• What are the problems with current processes and how would a
new system help alleviate these problems?
• What direct contribution will the system make to the business
objectives and requirements
• Does the system require technology that has not previously been
used in the organisation?
Feasibility studies(cont..)
(3) Report writing: Based on these questions, the report is
developed .The organization will take decision whether to
continue the project or cancel the project
• Normally Feasibility study will take 2 or 3 weeks.
TOPICS COVERED
• FEASIBILITY STUDIES
• REQUIREMENTS ELICITATION AND ANALYSIS
• REQUIREMENTS VALIDATION
• REQUIREMENTS MANAGEMENT
REQUIREMENT ELICITATION AND ANALYSIS
• INVOLVES TECHNICAL STAFF WITH CUSTOMERS TO FIND OUT ABOUT THE APPLICATION DOMAIN,
THE SERVICES THAT THE SYSTEM SHOULD PROVIDE AND THE SYSTEM’S OPERATIONAL
CONSTRAINTS
• INVOLVES MANY STAKEHOLDERS, SUCH AS END-USERS, MANAGERS, ENGINEERS, DOMAIN
EXPERTS, TRADE UNIONS, ETC.
BANKING ATM SYSTEM – AN EXAMPLE
• SERVICES INCLUDE CASH AND CHECK DEPOSIT, CASH WITHDRAWAL, MESSAGE PASSING ,
ORDERING A STATEMENT AND TRANSFERRING FUNDS
Banking ATM system – An example
For example, system stakeholders for a bank ATM include:
I. Current bank customers who receive services from the system
2. Representatives from other banks who have reciprocal agreements
that allow each other's ATMs to be used
3. Managers of bank branches
4. Counter staff at bank branches who are involved in the day-to-day
running of the system
5. Database administrators who are responsible for integrating the
system with the bank's customer database
Banking ATM system – An example
6. Bank security managers who must ensure that the system will
not pose a security hazard
7. The bank's marketing department who are likely be interested
in using the system as a means of marketing the bank
8. Hardware and software maintenance engineers who are
responsible for maintaining and upgrading the hardware and
software
9. National banking regulators who are responsible for ensuring
that the system conforms to banking regulations
PROBLEMS OF REQUIREMENTS ANALYSIS
• STAKEHOLDERS DON’T KNOW WHAT THEY REALLY WANT
• STAKEHOLDERS EXPRESS REQUIREMENTS IN THEIR OWN TERMS
• DIFFERENT STAKEHOLDERS MAY HAVE CONFLICTING REQUIREMENTS
• ORGANIZATIONAL AND POLITICAL FACTORS MAY INFLUENCE THE SYSTEM
REQUIREMENTS
• THE REQUIREMENTS CHANGE DURING THE ANALYSIS PROCESS, BECAUSE
NEW STAKEHOLDERS MAY EMERGE AND THE BUSINESS ENVIRONMENT MAY
CHANGE
THE REQUIREMENTS ANALYSIS PROCESS
The process activities are:
1. Requirements discovery This is the process of interacting with stakeholders in the
system to collect their requirements. It uses different types of techniques like
Viewpoints, Scenarios, Interviewing, Use cases, Ethanography
and documentation are also discovered during this activity.
2. Requirements classification and organisation This activity takes the unstructured
collection of requirements, groups related requirements and organizes them into
coherent clusters.
The requirements analysis process
3. Requirements prioritization and negotiation Inevitably, where multiple stakeholders
are involved, requirements will conflict. This activity is concerned with finding and
resolving requirements conflicts through negotiation.
4. Requirements documentation The requirements are documented and input into the
next round of the spiral. Formal or informal requirements documents may
be produced.
The requirements analysis process
TECHNIQUES FOR REQUIREMENTS ELICITATION
AND ANALYSIS
• VIEWPOINT-ORIENTED ELICITATION
• SCENARIOS
• ETHNOGRAPHY
• INTERVIEWING
• USE CASES
VIEWPOINT-ORIENTED ELICITATION
• STAKEHOLDERS REPRESENT DIFFERENT WAYS OF LOOKING AT A PROBLEM OR PROBLEM
VIEWPOINTS
• THERE ARE 3 DIFFERENT TYPES OF VIEW POINTS.
A) INTERACTIVE VIEWPOINTS
B) INDIRECT VIEWPOINTS
C) DOMAIN VIEWPOINTS
EXAMPLE OF LIB SYS VIEWPOINT
INTERVIEWING
• INTERVIEWS MAY BE OF TWO TYPES:
1. CLOSED INTERVIEWS WHERE THE STAKEHOLDER ANSWERS A PREDEFINED SET
OF QUESTIONS.
2. OPEN INTERVIEWS WHERE THERE IS NO PREDEFINED AGENDA. THE
REQUIREMENTS ENGINEERING TEAM EXPLORES A RANGE OF ISSUES WITH SYSTEM
STAKEHOLDERS AND HENCE DEVELOPS A BETTER UNDERSTANDING OF THEIR NEEDS.
SCENARIOS
• SCENARIOS ARE DESCRIPTIONS OF HOW A SYSTEM IS USED IN REAL TIME(THE INTERACTION)
• THEY ARE HELPFUL IN REQUIREMENTS ELICITATION AS PEOPLE CAN RELATE TO THESE MORE
READILY THAN ABSTRACT STATEMENT OF WHAT THEY REQUIRE FROM A SYSTEM
• SCENARIOS ARE PARTICULARLY USEFUL FOR ADDING DETAIL TO AN OUTLINE REQUIREMENTS
DESCRIPTION
SCENARIO DESCRIPTIONS
INCLUDING
• SYSTEM STATE DESCRIPTION AT THE BEGINNING OF THE SCENARIO
• NORMAL FLOW OF EVENTS IN THE SCENARIO
• WHAT CAN GO WRONG AND HOW THIS IS HANDLED
• OTHER CONCURRENT ACTIVITIES
• SYSTEM STATE ON COMPLETION OF THE SCENARIO
EVENT SCENARIO - START TRANSACTION
Validate user
Request PIN
Select
service
Timeout
Return card
Invalid card
Return card
Stolen card
Retain card
Incorrect PIN
Re-enter PIN
Incorrect PIN
Return card
Card
PIN
Card present
Account
number
PIN
Account
number
Valid card
User OK
USE CASES
• USE-CASES ARE A SCENARIO BASED TECHNIQUE IN THE UML WHICH IDENTIFY THE ACTORS IN
AN INTERACTION AND WHICH DESCRIBE THE INTERACTION ITSELF
• A SET OF USE CASES SHOULD DESCRIBE ALL POSSIBLE INTERACTIONS WITH THE SYSTEM
• SEQUENCE DIAGRAMS MAY BE USED TO ADD DETAIL TO USE-CASES BY SHOWING THE
SEQUENCE OF EVENT PROCESSING IN THE SYSTEM
LIBRARY USE-CASES
Lending services
User administration
Supplier Catalog services
Library
User
Library
Staff
ETHNOGRAPHY
• A SOCIAL SCIENTISTS SPENDS A CONSIDERABLE TIME OBSERVING AND ANALYSING HOW
PEOPLE ACTUALLY WORK
• PEOPLE DO NOT HAVE TO EXPLAIN OR ARTICULATE THEIR WORK
• SOCIAL AND ORGANIZATIONAL FACTORS OF IMPORTANCE MAY BE OBSERVED
• REQUIREMENTS THAT ARE DERIVED FROM COOPERATION AND AWARENESS OF OTHER
PEOPLE’S ACTIVITIES
TOPICS COVERED
• FEASIBILITY STUDIES
• REQUIREMENTS ELICITATION AND ANALYSIS
• REQUIREMENTS VALIDATION
• REQUIREMENT MANAGEMENT
REQUIREMENTS VALIDATION
• Requirements validation is concerned with showing that the requirements actually
define the system that the customer wants.
• Requirements validation is important because errors in a requirements document can
rework costs when they are discovered during development or after the system is in
service.
• During the requirements validation process, checks should be carried out on the
requirements in the requirements document.
Requirements validation
These checks include:
1. Validity checks
2. Consistency checks
3. Completeness checks
4. Realism checks
5. Verifiability
1. Validity checks A user may think that a system is needed to perform certain functions
which are mostly given by stakeholders with distinct needs so we have to keep validity
checks wherever needed at every stage.
2. Consistency checks Requirements in the document should not conflict and will not
change never. There we have to keep Consistency checks .
Example : Login ,Registration pages.
3. Completeness checks The requirements document should include all functions, and
constraints intended by the system user.
Requirements validation
4.Realism checks :The requirements should be checked to ensure that they could
actually be implemented by existing technology, These checks should also take
account of the budget and schedule for the system development
5. Verifiability To reduce the dispute between customer and contractor, system
requirements should always be written so that they are verifiable. This means that
you should be able to write a set of tests that can demonstrate that the delivered
system meets each specified requirement.
REQUIREMENTS VALIDATION TECHNIQUES
• Requirements reviews
• Systematic manual analysis of the requirements
• Prototyping
• Using an executable model of the system to check requirements.
• Test-case generation
• Developing tests for requirements to check testability
Requirements Management
• The requirements for large software systems are always changing, It is hard for users and system
customers to anticipate what effects the new system will have on the organization.
• Once end-users have experience of a system, they discover new needs and priorities
• Requirements management is the process of understanding and controlling changes to system
requirements
Requirements fall into two classes:
1.Enduring requirements These are relatively stable requirements that derive from
the core activity of the organization and which relate directly to the domain of the
system. For example, in a hospital, there will always be requirements concerned with
patients, doctors, nurses and treatments.
2. Volatile requirements These are requirements that are likely to change during the
system development process or after the system has been become operational. An
example would be requirements resulting from government healthcare policies.
Requirements Management Planning
Planning is an essential first stage in the requirements management process. For each project, the planning stage
establishes the level of requirements management detail that is required. During the requirements management
stage, you have to decide on:
1. Requirements identification Each requirement must be uniquely identified so that it can be
cross-referenced by other requirements and so that it may be used in traceability assessments.
2. A change management process This is the set of activities that assess the impact and cost of
changes.
.3. Traceability policies These policies define the relationships between requirements, and system
design that should be recorded and how these records should be maintained.
4. CASE tool support Requirements management involves the processing of large amounts of
information. Tools that may be used range from specialist requirements management systems to
spreadsheets and simple database systems.
(1) Requirements identification :
Each requirement must be uniquely identified so that it can be cross-referenced by other requirements and so
that it may be used in traceability assessments.
(2) Requirement Change Management
1. Problem analysis and change specification During this stage, the problem or the change proposal is
analyzed to check that it is valid.
2. Change analysis and costing The effect of the proposed change is assessed using traceability information
and general knowledge of the system requirements. The cost of making the change is estimated and Once
this analysis is completed, a decision is made whether to proceed with the requirements change..
3. Change implementation The requirements document and, where necessary, the system design and
implementation are modified. Individual sections can be changed and replaced without affecting other parts
of the document.
There are three types of traceability information that may be maintained:
1. Source traceability information links the requirements to the stakeholders who proposed the
requirements ,When a change is proposed, you use this information to find and consult the stakeholders about
the change
2. Requirements traceability information links dependent requirements within the requirements document. You
use this information to assess how many requirements are likely to be affected by a proposed change and the
extent of consequential requirements changes that may be necessary.
3. Design traceability information links the requirements to the design modules where these requirements are
implemented.
(3) Traceability policies
Figure 7.12 shows a simple traceability matrix that records the dependencies between
requirements.
A 'D' in the row/column intersection illustrates that the requirement in the row depends on the
requirement named in the column; an 'R' means that there is some other, weaker relationship
between the requirements.
Requirements management needs automated support; the CASE tools for this should be chosen during the
planning phase. You need tool support for:
l. Requirements storage The requirements should be maintained in a secure, managed data store that
is accessible to everyone involved in the requirements engineering process.
2. Change management The process of change management is simplified if active tool support is
available.
3. Traceability management : Some tools use natural language processing techniques to help you
discover possible relationships between the requirements..
(4) CASE tool support

More Related Content

PPTX
Un it 2-se-mod-staff
PPTX
Software Requirements
PPTX
Software requirement and specification
PPTX
Software requirement and specification
PPTX
Lecture 2 & 3.pptx
PDF
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
PPT
Software engineering lecture 1
PPTX
Req specification
Un it 2-se-mod-staff
Software Requirements
Software requirement and specification
Software requirement and specification
Lecture 2 & 3.pptx
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Software engineering lecture 1
Req specification

Similar to software engineering unit 2 jntuh r18 syllabus (20)

PPTX
SE Unit 2(1).pptx
PPT
Se week 4
PPT
Se week 4
DOCX
1 Software Requirements Descriptions and specification.docx
PPTX
Software Engineering Unit 2 AKTU Complete
PPTX
Requirement and Specification
PPT
Formal Specifications in Formal Methods
PPT
SE - Software Requirements
DOCX
Software engg unit 2
PPTX
REQUIRMENT ENGINERRf3f02406b832ac5df6c7cc6-1678011872886.pptx
PPTX
Requirements engeneering due Datascience
PDF
Se lec 4
PDF
Requirements Engineering
PPSX
Introduction to Requirement engineering
PPT
Software Requirements
PPT
Software Requirements engineering
PPT
Requirement specification (SRS)
PPTX
Software requirement engineering
PPT
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
PPT
Requirements Engineering - SRS - IEEE.ppt
SE Unit 2(1).pptx
Se week 4
Se week 4
1 Software Requirements Descriptions and specification.docx
Software Engineering Unit 2 AKTU Complete
Requirement and Specification
Formal Specifications in Formal Methods
SE - Software Requirements
Software engg unit 2
REQUIRMENT ENGINERRf3f02406b832ac5df6c7cc6-1678011872886.pptx
Requirements engeneering due Datascience
Se lec 4
Requirements Engineering
Introduction to Requirement engineering
Software Requirements
Software Requirements engineering
Requirement specification (SRS)
Software requirement engineering
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
Requirements Engineering - SRS - IEEE.ppt
Ad

More from Divya Venkata (8)

PPT
chapter4-themediumaccesscontrolsublayer-230102143330-82dd047e.ppt
PPTX
CLOUD COMPUTING AWS SERVICESUnit 2 Part 2.pptx
PPT
ch10.ppt COMPUTER NETWORKS DETAILED POWER POINT
PDF
handout37 artificail intelligence material
PDF
R18B.Tech.CSESyllabus computer science and engineering.pdf
PDF
Real-World-Planning-Oct-22 in artificail intelligencce.pdf
PPT
SE_models_1.ppt
DOC
21 c poor learners
chapter4-themediumaccesscontrolsublayer-230102143330-82dd047e.ppt
CLOUD COMPUTING AWS SERVICESUnit 2 Part 2.pptx
ch10.ppt COMPUTER NETWORKS DETAILED POWER POINT
handout37 artificail intelligence material
R18B.Tech.CSESyllabus computer science and engineering.pdf
Real-World-Planning-Oct-22 in artificail intelligencce.pdf
SE_models_1.ppt
21 c poor learners
Ad

Recently uploaded (20)

PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
additive manufacturing of ss316l using mig welding
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
PPT on Performance Review to get promotions
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Construction Project Organization Group 2.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPT
Mechanical Engineering MATERIALS Selection
PPTX
Geodesy 1.pptx...............................................
PDF
composite construction of structures.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Automation-in-Manufacturing-Chapter-Introduction.pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
additive manufacturing of ss316l using mig welding
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPT on Performance Review to get promotions
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Construction Project Organization Group 2.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Mechanical Engineering MATERIALS Selection
Geodesy 1.pptx...............................................
composite construction of structures.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Operating System & Kernel Study Guide-1 - converted.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
Embodied AI: Ushering in the Next Era of Intelligent Systems

software engineering unit 2 jntuh r18 syllabus

  • 1. UNIT - II Software Requirements Functional and non-functional requirements User requirements System requirements Interface Specifications Software requirements document. Requirements engineering process Feasibility studies, Requirements elicitation and analysis Requirements validation Requirements management.
  • 3. SOFTWARE REQUIREMENTS THE DIFFERENT TYPES OF REQUIREMENTS ARE • FUNCTIONAL REQUIREMENTS • NON FUNCTIONAL REQUIREMENTS • DOMAIN REQUIREMENTS • USER REQUIREMENTS • SYSTEM REQUIREMENTS
  • 4. SOFTWARE REQUIREMENTS THE SOFTWARE REQUIREMNTS ARE REPRESENTED AS THE BELOW: • 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.
  • 5. EXAMPLE OF THE LIBSYS SYSTEM • A LIBRARY SYSTEM THAT PROVIDES A SINGLE INTERFACE TO A NUMBER OF DATABASES OF ARTICLES IN DIFFERENT LIBRARIES. • USERS CAN SEARCH FOR, DOWNLOAD AND PRINT THESE ARTICLES FOR PERSONAL STUDY.
  • 6. FUNCTIONAL REQUIREMENTS FOR LIBSYS • 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.
  • 7. NON-FUNCTIONAL REQUIREMENTS • THESE DEFINE SYSTEM PROPERTIES AND CONSTRAINTS E.G. RELIABILITY, RESPONSE TIME AND STORAGE REQUIREMENTS. CONSTRAINTS ARE I/O DEVICE CAPABILITY, SYSTEM REPRESENTATIONS, ETC. • NON-FUNCTIONAL REQUIREMENTS MAY BE MORE CRITICAL THAN FUNCTIONAL REQUIREMENTS. IF THESE ARE NOT MET, THE SYSTEM IS USELESS.
  • 8. NON-FUNCTIONAL CLASSIFICATIONS • PRODUCT REQUIREMENTS • REQUIREMENTS WHICH SPECIFY THAT THE DELIVERED PRODUCT MUST BEHAVE IN A PARTICULAR WAY E.G. EXECUTION SPEED, RELIABILITY, ETC. • ORGANISATIONAL REQUIREMENTS • REQUIREMENTS WHICH ARE A CONSEQUENCE OF ORGANISATIONAL POLICIES AND PROCEDURES E.G. PROCESS STANDARDS USED, IMPLEMENTATION REQUIREMENTS, ETC. • EXTERNAL REQUIREMENTS • REQUIREMENTS WHICH ARISE FROM FACTORS WHICH ARE EXTERNAL TO THE SYSTEM AND ITS DEVELOPMENT PROCESS E.G. INTEROPERABILITY REQUIREMENTS, LEGISLATIVE REQUIREMENTS, ETC.
  • 9. NON-FUNCTIONAL REQUIREMENT TYPES Performance requirements Space requirements Usability requirements Efficiency requirements Reliability requirements Portability requirements Interoperability requirements Ethical requirements Legislative requirements Implementa tion requirements Standards requirements Delivery requirements Safety requirements Privacy requirements Product requirements Organisational requirements External requirements Non-functional requirements
  • 10. NON-FUNCTIONAL REQUIREMENTS FOR LIB SYS • PRODUCT REQUIREMENT THE USER INTERFACE FOR LIBSYS SHALL BE IMPLEMENTED AS SIMPLE HTML WITHOUT FRAMES OR JAVA APPLETS. • ORGANISATIONAL REQUIREMENT THE SYSTEM DEVELOPMENT PROCESS AND DELIVERABLE DOCUMENTS SHALL CONFORM TO THE PROCESS AND DELIVERABLES DEFINED IN XYZCO-SP-STAN-95. • EXTERNAL REQUIREMENT THE SYSTEM SHALL NOT DISCLOSE ANY PERSONAL INFORMATION ABOUT CUSTOMERS APART FROM THEIR NAME AND REFERENCE NUMBER TO THE OPERATORS OF THE SYSTEM.
  • 13. DOMAIN REQUIREMENTS • DERIVED FROM THE APPLICATION DOMAIN AND DESCRIBE SYSTEM CHARACTERISTICS AND FEATURES THAT REFLECT THE DOMAIN. • DOMAIN REQUIREMENTS BE FUNCTIONAL REQUIREMENTS, CONSTRAINTS ON EXISTING REQUIREMENTS OR DEFINE SPECIFIC COMPUTATIONS. • IF DOMAIN REQUIREMENTS ARE NOT SATISFIED, THE SYSTEM MAY BE UNWORKABLE. • EXAMPLES OF DOMAIN REQUIREMENTS TRAIN OPERATION, MEDICAL RECORDS, E-COMMERCE ETC THAT REFLECT THE ENVIRONMENT IN WHICH THE SYSTEM OPERATES
  • 14. USER REQUIREMENTS • THEY SHOULD ONLY SPECIFY THE EXTERNAL BEHAVIOR OF THE SYSTEM AND SHOULD AVOID, AS FAR AS POSSIBLE, SYSTEM DESIGN CHARACTERISTICS. • SHOULD DESCRIBE FUNCTIONAL REQUIREMENTS IN SUCH A WAY THAT THEY ARE UNDERSTANDABLE BY SYSTEM USERS WHO DON’T HAVE DETAILED TECHNICAL KNOWLEDGE. • CONSEQUENTLY, IF YOU ARE WRITING USER REQUIREMENTS, YOU SHOULD NOT USE SOFTWARE JARGON, STRUCTURED NOTATIONS OR FORMAL NOTATIONS, OR DESCRIBE THE REQUIREMENT BY DESCRIBING THE SYSTEM IMPLEMENTATION. • YOU SHOULD WRITE USER REQUIREMENTS IN SIMPLE NATURAL LANGUAGE, WITH SIMPLE TABLES AND FORMS AND INTUITIVE DIAGRAMS
  • 15. USER REQUIREMENT EXAMPLE FOR LIBSYS REQUIREMENT 4..5 LIBSYS shall provide a financial accounting system that maintains records of all payments made by users of the system. System managers may configure this system so that regular users may receive discounted rates.
  • 16. PROBLEMS WITH NATURAL LANGUAGE HOWEVER, VARIOUS PROBLEMS CAN ARISE WHEN REQUIREMENTS ARE WRITTEN IN NATURAL LANGUAGE SENTENCES IN A TEXT DOCUMENT: • LACK OF CLARITY • ACCURACY SHOULD BE MAINTAINED WHILE MAKING THE DOCUMENT . • REQUIREMENTS CONFUSION • FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS TEND NOT BE TO BE MIXED-UP. • REQUIREMENTS AMALGAMATION • SEVERAL DIFFERENT REQUIREMENTS MAY BE EXPRESSED TOGETHER.
  • 17. GUIDELINES FOR WRITING REQUIREMENTS • INVENT A STANDARD FORMAT (TEMPLATE) AND USE IT FOR ALL REQUIREMENTS. • USE LANGUAGE CONSISTENTLY. YOU SHOULD ALWAYS DISTINGUISH BETWEEN MANDATORY AND DESIRABLE REQUIREMENTS. • USE TEXT HIGHLIGHTING (BOLD, ITALIC OR COLOUR) TO PICK OUT KEY PARTS OF THE REQUIREMENT. • AVOID, AS FAR AS POSSIBLE, THE USE OF COMPUTER JARGON
  • 18. SYSTEM REQUIREMENTS • MORE DETAILED SPECIFICATIONS OF SYSTEM FUNCTIONS, SERVICES AND CONSTRAINTS THAN USER REQUIREMENTS. • THEY ARE INTENDED TO BE A BASIS FOR DESIGNING THE SYSTEM. • IT SHOULD DEFINE EXACTLY WHAT IS TO BE IMPLEMENTED. IT MAY BE PART OF THE CONTRACT BETWEEN THE SYSTEM BUYER AND THE SOFTWARE DEVELOPERS.
  • 19. PROBLEMS WITH NL SPECIFICATION • AMBIGUITY • THE READERS AND WRITERS OF THE REQUIREMENT MUST INTERPRET THE SAME WORDS IN THE SAME WAY. NL IS NATURALLY AMBIGUOUS SO THIS IS VERY DIFFICULT. • OVER-FLEXIBILITY • THE SAME THING MAY BE SAID IN A NUMBER OF DIFFERENT WAYS IN THE SPECIFICATION. • LACK OF MODULARISATION • NL STRUCTURES ARE INADEQUATE TO STRUCTURE SYSTEM REQUIREMENTS.
  • 20. ALTERNATIVES TO NL SPECIFICATION Notation Description Structured natural language This approach depends on defining standard forms or templates to express the requirements specification. Design description languages This approach uses a language like a programming language but with more abstract features to specify the requirements by defining an operational model of the system. This approach is not now widely used although it can be useful for interface specifications. Graphical notations A graphical language, supplemented by text annotations is used to define the functional requirements for the system. An early example of such a graphical language was SADT. Now, use-case descriptions and sequence diagrams are commonly used . Mathematical specifications These are notations based on mathematical concepts such as finite-state machines or sets. These unambiguous specifications reduce the arguments between customer and contractor about system functionality. However, most customers don’t understand formal specifications and are reluctant to accept it as a system contract.
  • 21. INTERFACE SPECIFICATIONS • INTERFACE SPECIFICATION, IN THE CONTEXT OF SOFTWARE DEVELOPMENT AND COMPUTER SYSTEMS, REFERS TO A DETAILED DESCRIPTION OR SET OF RULES THAT DEFINE HOW DIFFERENT SOFTWARE COMPONENTS OR MODULES SHOULD INTERACT WITH EACH OTHER. IT ACTS AS A CONTRACT OR AGREEMENT THAT ENSURES SEAMLESS COMMUNICATION AND INTEGRATION BETWEEN VARIOUS PARTS OF A SOFTWARE SYSTEM. • IN SIMPLER TERMS, AN INTERFACE SPECIFICATION OUTLINES THE RULES AND GUIDELINES FOR HOW DIFFERENT PARTS OF A SOFTWARE APPLICATION SHOULD "TALK" TO EACH OTHER, EXCHANGE DATA, AND COOPERATE TO PERFORM SPECIFIC TASKS. THESE INTERFACES CAN BE BETWEEN SOFTWARE MODULES, SOFTWARE AND HARDWARE COMPONENTS, OR EVEN BETWEEN DIFFERENT SOFTWARE SYSTEMS. • KEY POINTS ABOUT INTERFACE SPECIFICATION: 1. STANDARDIZATION: INTERFACE SPECIFICATIONS STANDARDIZE THE COMMUNICATION BETWEEN COMPONENTS, MAKING IT EASIER FOR DEVELOPERS TO UNDERSTAND HOW TO INTERACT WITH OTHER PARTS OF THE SYSTEM. 2. ABSTRACTION: INTERFACES HIDE THE IMPLEMENTATION DETAILS OF A COMPONENT, ALLOWING OTHER PARTS OF THE SYSTEM TO INTERACT WITH IT WITHOUT NEEDING TO KNOW THE INTERNAL COMPLEXITIES. 3. ENCAPSULATION: INTERFACE SPECIFICATIONS HELP ENFORCE ENCAPSULATION, SEPARATING THE CONCERNS OF DIFFERENT COMPONENTS AND PROMOTING MODULAR DESIGN. 4. FLEXIBILITY: BY DEFINING CLEAR INTERFACES, COMPONENTS CAN BE EASILY REPLACED OR UPGRADED WITHOUT AFFECTING OTHER PARTS OF THE SYSTEM, AS LONG AS THEY ADHERE TO THE SAME INTERFACE SPECIFICATION. 5. INTEROPERABILITY: INTERFACE SPECIFICATIONS FACILITATE INTEROPERABILITY, ENABLING COMPONENTS FROM DIFFERENT VENDORS OR SYSTEMS TO WORK TOGETHER SEAMLESSLY.
  • 22. THE REQUIREMENTS DOCUMENT • THE REQUIREMENTS DOCUMENT IS THE OFFICIAL STATEMENT OF WHAT IS REQUIRED OF THE SYSTEM DEVELOPERS. • SHOULD INCLUDE BOTH A DEFINITION OF USER REQUIREMENTS AND A SPECIFICATION OF THE SYSTEM REQUIREMENTS. • IT 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
  • 23. USERS OF A REQUIREMENTS DOCUMENT Use the requirements to develop validation tests for the system Use the requirements document to plan a bid for the system and to plan the system development process Use the requirements to understand what system is to be developed System test eng ineers Managers System eng ineers Specify the requirements and read them to check that they meet their needs. T hey specify changes to the requirements System customers Use the requirements to help understand the system and the relationships between its parts System maintenance engineers
  • 24. IEEE REQUIREMENTS STANDARD • DEFINES A GENERIC STRUCTURE FOR A REQUIREMENTS DOCUMENT THAT MUST BE INSTANTIATED FOR EACH SPECIFIC SYSTEM. • INTRODUCTION. • GENERAL DESCRIPTION. • SPECIFIC REQUIREMENTS. • APPENDICES. • INDEX.
  • 25. REQUIREMENTS DOCUMENT STRUCTURE FOR LARGE PROJECTS • PREFACE • INTRODUCTION • GLOSSARY • USER REQUIREMENTS DEFINITION • SYSTEM ARCHITECTURE • SYSTEM REQUIREMENTS SPECIFICATION • SYSTEM MODELS • SYSTEM EVOLUTION • APPENDICES • INDEX
  • 28. REQUIREMENTS ENGINEERING PROCESSES • THE GOAL OF REQUIREMENT ENGINEERING PROCESS IS TO CREATE AND MAINTAIN A SYSTEM REQUIREMENTS DOCUMENT. • THE OVERALL PROCESS INCLUDE FOUR LEVEL PROCESS.
  • 29. REQUIREMENTS ENGINEERING PROCESS Feasibility study Requirements elicitation and analysis Requirements specification Requirements validation Feasibility report System models User and system requirements Requirements document
  • 30. Requirements engineering process (1) Feasibility Study: These are concerned with assessing whether the system is useful to the business or not. It produces Feasibility Report. (2)Requirement Elication and Analysis: It discovers requirements and produces system models. (3)Requirements Specification : Converting these requirements in to standard format. (4) Requirement Validation: checking that the requirements actually define the system that customer wants . It produces SRS document.
  • 31. Requirements engineering process • Ion Sommerville found an alternative perspective ,with 3 stage activities. • All these 3 activities are organized as an iterative process around a spiral . • The following Spiral diagram shows how the requirements are developed in different levels in detail.
  • 33. TOPICS COVERED • FEASIBILITY STUDIES • REQUIREMENTS ELICITATION AND ANALYSIS • REQUIREMENTS VALIDATION • REQUIREMENTS MANAGEMENT
  • 34. FEASIBILITY STUDIES • A FEASIBILITY STUDY DECIDES WHETHER OR NOT THE PROPOSED SYSTEM IS WORTHWHILE. THE STUDY 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 • IT HELPS US TO START A BUSINESS, PURCHASE OF AN EXISTING SYSTEM,OR AN EXPANSION OF SYSTEM REQUIRED.
  • 35. • FEASIBILITY STUDY INVOLVES IN 3 STEPS: (A) INFORMATION ASSESSMENT : IT HAS 3 TYPES (1) ECONOMIC FEASIBILITY – COST OF EQUIPMENTS,BUDGET (2) OPERATIONAL FEASIBILITY – EASY TO USE OR ANY TRAINING (3) TECHNICAL FEASIBILITY.- DISCUSS ABOUT H/W AND S/W REQ FEASIBILITY STUDIES
  • 36. Feasibility studies(Cont..) (b) Information Collection: The software engineering organization discover answers for the following sample questions • What are the problems with current processes and how would a new system help alleviate these problems? • What direct contribution will the system make to the business objectives and requirements • Does the system require technology that has not previously been used in the organisation?
  • 37. Feasibility studies(cont..) (3) Report writing: Based on these questions, the report is developed .The organization will take decision whether to continue the project or cancel the project • Normally Feasibility study will take 2 or 3 weeks.
  • 38. TOPICS COVERED • FEASIBILITY STUDIES • REQUIREMENTS ELICITATION AND ANALYSIS • REQUIREMENTS VALIDATION • REQUIREMENTS MANAGEMENT
  • 39. REQUIREMENT ELICITATION AND ANALYSIS • INVOLVES TECHNICAL STAFF WITH CUSTOMERS TO FIND OUT ABOUT THE APPLICATION DOMAIN, THE SERVICES THAT THE SYSTEM SHOULD PROVIDE AND THE SYSTEM’S OPERATIONAL CONSTRAINTS • INVOLVES MANY STAKEHOLDERS, SUCH AS END-USERS, MANAGERS, ENGINEERS, DOMAIN EXPERTS, TRADE UNIONS, ETC.
  • 40. BANKING ATM SYSTEM – AN EXAMPLE • SERVICES INCLUDE CASH AND CHECK DEPOSIT, CASH WITHDRAWAL, MESSAGE PASSING , ORDERING A STATEMENT AND TRANSFERRING FUNDS
  • 41. Banking ATM system – An example For example, system stakeholders for a bank ATM include: I. Current bank customers who receive services from the system 2. Representatives from other banks who have reciprocal agreements that allow each other's ATMs to be used 3. Managers of bank branches 4. Counter staff at bank branches who are involved in the day-to-day running of the system 5. Database administrators who are responsible for integrating the system with the bank's customer database
  • 42. Banking ATM system – An example 6. Bank security managers who must ensure that the system will not pose a security hazard 7. The bank's marketing department who are likely be interested in using the system as a means of marketing the bank 8. Hardware and software maintenance engineers who are responsible for maintaining and upgrading the hardware and software 9. National banking regulators who are responsible for ensuring that the system conforms to banking regulations
  • 43. PROBLEMS OF REQUIREMENTS ANALYSIS • STAKEHOLDERS DON’T KNOW WHAT THEY REALLY WANT • STAKEHOLDERS EXPRESS REQUIREMENTS IN THEIR OWN TERMS • DIFFERENT STAKEHOLDERS MAY HAVE CONFLICTING REQUIREMENTS • ORGANIZATIONAL AND POLITICAL FACTORS MAY INFLUENCE THE SYSTEM REQUIREMENTS • THE REQUIREMENTS CHANGE DURING THE ANALYSIS PROCESS, BECAUSE NEW STAKEHOLDERS MAY EMERGE AND THE BUSINESS ENVIRONMENT MAY CHANGE
  • 45. The process activities are: 1. Requirements discovery This is the process of interacting with stakeholders in the system to collect their requirements. It uses different types of techniques like Viewpoints, Scenarios, Interviewing, Use cases, Ethanography and documentation are also discovered during this activity. 2. Requirements classification and organisation This activity takes the unstructured collection of requirements, groups related requirements and organizes them into coherent clusters. The requirements analysis process
  • 46. 3. Requirements prioritization and negotiation Inevitably, where multiple stakeholders are involved, requirements will conflict. This activity is concerned with finding and resolving requirements conflicts through negotiation. 4. Requirements documentation The requirements are documented and input into the next round of the spiral. Formal or informal requirements documents may be produced. The requirements analysis process
  • 47. TECHNIQUES FOR REQUIREMENTS ELICITATION AND ANALYSIS • VIEWPOINT-ORIENTED ELICITATION • SCENARIOS • ETHNOGRAPHY • INTERVIEWING • USE CASES
  • 48. VIEWPOINT-ORIENTED ELICITATION • STAKEHOLDERS REPRESENT DIFFERENT WAYS OF LOOKING AT A PROBLEM OR PROBLEM VIEWPOINTS • THERE ARE 3 DIFFERENT TYPES OF VIEW POINTS. A) INTERACTIVE VIEWPOINTS B) INDIRECT VIEWPOINTS C) DOMAIN VIEWPOINTS
  • 49. EXAMPLE OF LIB SYS VIEWPOINT
  • 50. INTERVIEWING • INTERVIEWS MAY BE OF TWO TYPES: 1. CLOSED INTERVIEWS WHERE THE STAKEHOLDER ANSWERS A PREDEFINED SET OF QUESTIONS. 2. OPEN INTERVIEWS WHERE THERE IS NO PREDEFINED AGENDA. THE REQUIREMENTS ENGINEERING TEAM EXPLORES A RANGE OF ISSUES WITH SYSTEM STAKEHOLDERS AND HENCE DEVELOPS A BETTER UNDERSTANDING OF THEIR NEEDS.
  • 51. SCENARIOS • SCENARIOS ARE DESCRIPTIONS OF HOW A SYSTEM IS USED IN REAL TIME(THE INTERACTION) • THEY ARE HELPFUL IN REQUIREMENTS ELICITATION AS PEOPLE CAN RELATE TO THESE MORE READILY THAN ABSTRACT STATEMENT OF WHAT THEY REQUIRE FROM A SYSTEM • SCENARIOS ARE PARTICULARLY USEFUL FOR ADDING DETAIL TO AN OUTLINE REQUIREMENTS DESCRIPTION
  • 52. SCENARIO DESCRIPTIONS INCLUDING • SYSTEM STATE DESCRIPTION AT THE BEGINNING OF THE SCENARIO • NORMAL FLOW OF EVENTS IN THE SCENARIO • WHAT CAN GO WRONG AND HOW THIS IS HANDLED • OTHER CONCURRENT ACTIVITIES • SYSTEM STATE ON COMPLETION OF THE SCENARIO
  • 53. EVENT SCENARIO - START TRANSACTION Validate user Request PIN Select service Timeout Return card Invalid card Return card Stolen card Retain card Incorrect PIN Re-enter PIN Incorrect PIN Return card Card PIN Card present Account number PIN Account number Valid card User OK
  • 54. USE CASES • USE-CASES ARE A SCENARIO BASED TECHNIQUE IN THE UML WHICH IDENTIFY THE ACTORS IN AN INTERACTION AND WHICH DESCRIBE THE INTERACTION ITSELF • A SET OF USE CASES SHOULD DESCRIBE ALL POSSIBLE INTERACTIONS WITH THE SYSTEM • SEQUENCE DIAGRAMS MAY BE USED TO ADD DETAIL TO USE-CASES BY SHOWING THE SEQUENCE OF EVENT PROCESSING IN THE SYSTEM
  • 55. LIBRARY USE-CASES Lending services User administration Supplier Catalog services Library User Library Staff
  • 56. ETHNOGRAPHY • A SOCIAL SCIENTISTS SPENDS A CONSIDERABLE TIME OBSERVING AND ANALYSING HOW PEOPLE ACTUALLY WORK • PEOPLE DO NOT HAVE TO EXPLAIN OR ARTICULATE THEIR WORK • SOCIAL AND ORGANIZATIONAL FACTORS OF IMPORTANCE MAY BE OBSERVED • REQUIREMENTS THAT ARE DERIVED FROM COOPERATION AND AWARENESS OF OTHER PEOPLE’S ACTIVITIES
  • 57. TOPICS COVERED • FEASIBILITY STUDIES • REQUIREMENTS ELICITATION AND ANALYSIS • REQUIREMENTS VALIDATION • REQUIREMENT MANAGEMENT
  • 58. REQUIREMENTS VALIDATION • Requirements validation is concerned with showing that the requirements actually define the system that the customer wants. • Requirements validation is important because errors in a requirements document can rework costs when they are discovered during development or after the system is in service. • During the requirements validation process, checks should be carried out on the requirements in the requirements document.
  • 59. Requirements validation These checks include: 1. Validity checks 2. Consistency checks 3. Completeness checks 4. Realism checks 5. Verifiability
  • 60. 1. Validity checks A user may think that a system is needed to perform certain functions which are mostly given by stakeholders with distinct needs so we have to keep validity checks wherever needed at every stage. 2. Consistency checks Requirements in the document should not conflict and will not change never. There we have to keep Consistency checks . Example : Login ,Registration pages. 3. Completeness checks The requirements document should include all functions, and constraints intended by the system user. Requirements validation
  • 61. 4.Realism checks :The requirements should be checked to ensure that they could actually be implemented by existing technology, These checks should also take account of the budget and schedule for the system development 5. Verifiability To reduce the dispute between customer and contractor, system requirements should always be written so that they are verifiable. This means that you should be able to write a set of tests that can demonstrate that the delivered system meets each specified requirement.
  • 62. REQUIREMENTS VALIDATION TECHNIQUES • Requirements reviews • Systematic manual analysis of the requirements • Prototyping • Using an executable model of the system to check requirements. • Test-case generation • Developing tests for requirements to check testability
  • 63. Requirements Management • The requirements for large software systems are always changing, It is hard for users and system customers to anticipate what effects the new system will have on the organization. • Once end-users have experience of a system, they discover new needs and priorities • Requirements management is the process of understanding and controlling changes to system requirements
  • 64. Requirements fall into two classes: 1.Enduring requirements These are relatively stable requirements that derive from the core activity of the organization and which relate directly to the domain of the system. For example, in a hospital, there will always be requirements concerned with patients, doctors, nurses and treatments. 2. Volatile requirements These are requirements that are likely to change during the system development process or after the system has been become operational. An example would be requirements resulting from government healthcare policies.
  • 65. Requirements Management Planning Planning is an essential first stage in the requirements management process. For each project, the planning stage establishes the level of requirements management detail that is required. During the requirements management stage, you have to decide on: 1. Requirements identification Each requirement must be uniquely identified so that it can be cross-referenced by other requirements and so that it may be used in traceability assessments. 2. A change management process This is the set of activities that assess the impact and cost of changes. .3. Traceability policies These policies define the relationships between requirements, and system design that should be recorded and how these records should be maintained. 4. CASE tool support Requirements management involves the processing of large amounts of information. Tools that may be used range from specialist requirements management systems to spreadsheets and simple database systems.
  • 66. (1) Requirements identification : Each requirement must be uniquely identified so that it can be cross-referenced by other requirements and so that it may be used in traceability assessments. (2) Requirement Change Management 1. Problem analysis and change specification During this stage, the problem or the change proposal is analyzed to check that it is valid. 2. Change analysis and costing The effect of the proposed change is assessed using traceability information and general knowledge of the system requirements. The cost of making the change is estimated and Once this analysis is completed, a decision is made whether to proceed with the requirements change.. 3. Change implementation The requirements document and, where necessary, the system design and implementation are modified. Individual sections can be changed and replaced without affecting other parts of the document.
  • 67. There are three types of traceability information that may be maintained: 1. Source traceability information links the requirements to the stakeholders who proposed the requirements ,When a change is proposed, you use this information to find and consult the stakeholders about the change 2. Requirements traceability information links dependent requirements within the requirements document. You use this information to assess how many requirements are likely to be affected by a proposed change and the extent of consequential requirements changes that may be necessary. 3. Design traceability information links the requirements to the design modules where these requirements are implemented. (3) Traceability policies
  • 68. Figure 7.12 shows a simple traceability matrix that records the dependencies between requirements. A 'D' in the row/column intersection illustrates that the requirement in the row depends on the requirement named in the column; an 'R' means that there is some other, weaker relationship between the requirements.
  • 69. Requirements management needs automated support; the CASE tools for this should be chosen during the planning phase. You need tool support for: l. Requirements storage The requirements should be maintained in a secure, managed data store that is accessible to everyone involved in the requirements engineering process. 2. Change management The process of change management is simplified if active tool support is available. 3. Traceability management : Some tools use natural language processing techniques to help you discover possible relationships between the requirements.. (4) CASE tool support