SlideShare a Scribd company logo
1 of 52
Download to read offline
1
‫ر‬َ‫ـد‬ْ‫ق‬‫ِـ‬‫ن‬،،،‫لما‬‫اننا‬ ‫نصدق‬ْْ‫ق‬ِ‫ن‬‫ر‬َ‫د‬
Faculty of Engineering - Helwan University
2
 Requirements:
 What the system should do?
 The constraints on its operations
 Requirements:
 It is simple a high level, abstraction statement of a service
that a system should provide and the constraints on that
system.
 Requirements:
 It is the formal definition (in details) of a system function.
3
4
 The requirements are classified into the following three
types:
 Those that should be absolutely met.
 Those that are highly desirable but not necessary.
 Those that are possible but could be eliminated.
5
 On the basis of their functionality, the requirements
are classified into the following two types:
 Functional requirements:
They define factors, such as I/O formats, storage
structure, computational capabilities, timing, and
synchronization.
 Non-functional requirements:
They define the properties or qualities of a product
including usability, efficiency, performance, space,
reliability, portability, etc.
6
 Requirements engineering consists of the following
processes:
 Requirements gathering (elicitation).
 Requirements analysis and modeling.
 Requirements documentation.
 Requirements review.
 Requirements management.
7
 Requirements:
 User Requirements: User requirements are statements, in
a natural language plus diagrams, of what services the
system is expected to provide to system users and the
constraints under which it must operate.
 System Requirements: System requirements are more
detailed descriptions of the software system’s functions,
services, and operational constraints.
8
 User Requirement Definition
The MHC-PMS shall generate monthly
management reports showing the cost of drugs
prescribed by each clinic during that month.
9
 System Requirement
1. On the last working day of each month, a summary of the drugs
prescribed, their cost, and the prescribing clinics shall be generated.
2. The system shall automatically generate the report for printing after
17.30 on the last working day of the month.
3. A report shall be created for each clinic and shall list the individual
drug names, the total number of prescriptions, the number of doses
prescribed, and the total cost of the prescribed drugs.
4. If drugs are available in different dose units (e.g., 10 mg, 20 mg)
separate reports shall be created for each dose unit.
5. Access to all cost reports shall be restricted to authorized users listed on
a management access control list.
10
11
 Requirements gathering and analysis activity by
collecting all information from the customer.
 Then analyzes the collected information to obtain a
clear and thorough understanding of the product to be
developed.
12
 The following basic questions pertaining to the project
should be clearly understood by the analyst in order to
obtain a good grasp of the problem:
1. What is the problem?
2. Why is it important to solve the problem?
3. What are the possible solutions to the problem?
4. What exactly are the data input to the system and what
exactly are the data output by the system?
5. What are the likely complexities that might arise while solving
the problem?
6. If there are external software or hardware with which the
developed software has to interface, then what exactly would
the data interchange formats with the external system be?
13
 Requirements engineering consists of the following
processes:
 Requirements gathering (elicitation).
 Requirements analysis and modeling.
 Requirements documentation.
 Requirements review.
 Requirements management.
14
 The requirements are gathered from various sources.
 The sources are:
 Customer (Initiator)
 End Users
• Primary Users
• Secondary Users
 Stakeholders
• Role or person with an interest (stake) in the system to
be built.
– Users: Those who use the software
– Customers: Those who pay for the software
– Software developers
– Development Managers
15
 The first portion of this phase, each requirement is
analyzed from the point-of-view of validity, consistency,
and feasibility for firm consideration in the SRS.
 Validity confirms its relevance to goals and objectives.
 Consistently confirms that it does not conflict with other
requirements but supports others where necessary.
 Feasibility ensures that the necessary inputs are available
without bias and error, and technology support is possible
to execute the requirement as a solution.
16
 The second portion of analysis attempts to find for each
requirement, its functionality, features, and facilities
and the need for these under different conditions and
constraints.
 Functionality states “how to achieve the requirement
goal”
 Features describe the attributes of functionality
 Facilities provide its delivery, administration, and
communication to other systems.
17
 SRS document : Software Requirement Specifications
document
 The important parts of SRS document are:
 Functional requirements of the system
 Non-functional requirements of the system, and
 Goals of implementation
18
19
20
21
22
23
24
25
26
 SRS document : Software Requirement Specifications
document
 The important parts of SRS document are:
 Functional requirements of the system
 Non-functional requirements of the system, and
 Goals of implementation
27
 It discusses the functionalities required from the system.
 The high-level functions perform some meaningful piece
of work.
 It define system’s external behavior
 how the system interacts with its environment
 how it responds to inputs
 what output to generate
 and how to behave under certain conditions
 What the system must do and not do
28
29
 Quality attributes or constraints
 Quality Attributes examples: security, performance, and
availability
 Technology constraint: system must be Java-based
 Process constraint: Agile must be used
 It deals with the characteristics of the system which can not
be expressed as functions:
 Maintainability of the system,
 Portability of the system
 Usability of the system
 etc.
 Nonfunctional requirements may include:
 Reliability issues
 Accuracy of results
 Human - computer interface issues
 Constraints on the system implementation, etc.
30
 It documents some general suggestions regarding
development.
 These suggestions guide trade-off among design goals.
 The goals of implementation section might document
issues such as:
 Revisions to the system functionalities that may be
required in the future.
 New devices to be supported in the future
 Reusability issues, etc.
31
 Airline Reservation system:
 Functional
• “a user can search for a flight. If a flight is selected, the user
has 2 minutes to confirm booking or the flight will be
released”
• How the system will interact and respond to use?
 Non-Functional
• “the response time for a search transaction under peek load
of 10,000 users must not exceed 2s”
• “the throughput of the system is 100 search transactions per
second”
• What are the quality attributes of the system?
32
 Customers almost never give quantitative non-functional
requirements
 Instead of:
• “the response time for a search transaction under peak load of
10,000 users must not exceed 2s”
• Customers will say: “the system should be fast when number of
users is high”
 Instead of:
• “the throughput of the system is 100 search transactions per
second”
• Customers will say: “the system must accept high number of
search commands”
 Requirements such as “I want a secure system” and “I want a
system that is easy to use” will surface all the time.
33
 The functional requirements is identified from:
 Informal problem description document
 A conceptual understanding of the problem.
 The functional requirements is identified by identifying
the different types of users who might use the system
and then try to identify the requirements from each
user’s perspective.
34
 Example: Consider the case of the library system, where
 F1: Search Book function
 Input: an author’s name
 Output: details of the author’s books and the location of
these books in the library
35
 A function can be specified by
1) Identifying the state at which the data is to be input to
the system.
2) The input data domain.
3) The output data domain
4) The type of processing to be carried on the input data to
obtain the output data.
36
 Example: - Withdraw Cash from ATM (Automatic Teller
Machine)
 R1: withdraw cash
• Description: The withdraw cash function first determines
the type of account that the user has and the account
number from which the user wishes to withdraw cash. It
checks the balance to determine whether the requested
amount is available in the account. If enough balance is
available, it outputs the required cash, otherwise it
generates an error message.
37
 R1.1 select withdraw amount option
• Input: “withdraw amount” option
• Output: user prompted to enter the account type
 R1.2: select account type
• Input: user option (Checking or Saving)
• Output: prompt to enter amount
 R1.3: get required amount
• Input: amount to be withdrawn in integer values greater than 100
and less than 10,000 in multiples of 100.
• Output: The requested cash and printed transaction statement.
 Processing: the amount is debited from the user’s account if
sufficient balance is available, otherwise an error message
displayed.
38
 It deals with the characteristics of the system which
can not be expressed as functions:
 Maintainability of the system
 Portability of the system
 Usability of the system
 Reliability issues
 Performance issues
 Human - computer interface issues
 Interface with other external systems
 Security and maintainability of the system
 etc.
39
40
41
 How to quantify non-functional requirements to read:
 “10,000 users peak load”
 “2s response time”
 “100 Tx per second throughput”
 “user must learn how to perform a search in operation
after 3 attempts”
 Requirements Engineering process transforms vague non-
functional requirements into more quantitative form
 Non quantitative requirements are difficult to design
and implement
42
1. Concise.
2. Structured.
3. Black-box view.
4. Conceptual integrity.
5. Response to undesired events.
6. Verifiable.
43
 Without developing the SRS document, the system would
not be implemented according to customer needs.
 Software developers would not know whether what they
are developing is what exactly required by the
customer.
 Without SRS document, it will be very much difficult for
the maintenance engineers to understand the
functionality of the system.
 It will be very much difficult for user document writers
to write the users’ manuals properly without
understanding the SRS document.
44
 A decision tree gives a graphic view of the processing
logic involved in decision making and the corresponding
actions taken.
 The edges of a decision tree represent conditions
 The leaf nodes represent the actions to be performed
depending on the outcome of testing the condition.
45
 Consider Library Membership Automation Software
(LMS) where it should support the following three
options:
 New member
 Renewal
 Cancel membership
46
1. New member option:
 Decision: When the 'new member' option is selected, the
software asks details about the member like the member's
name, address, phone number etc.
 Action: If proper information is entered then a
membership record for the member is created and a bill is
printed for the annual membership charge plus the
security deposit payable.
47
2. Renewal option:
 Decision: If the 'renewal' option is chosen, the LMS asks
for the member's name and his membership number to
check whether he is a valid member or not.
 Action: If the membership is valid then membership expiry
date is updated and the annual membership bill is printed,
otherwise an error message is displayed.
48
3. Cancel membership option:
 Decision: If the 'cancel membership' option is selected,
then the software asks for member's name and his
membership number.
 Action: The membership is cancelled, a cheque for the
balance amount due to the member is printed and finally
the membership record is deleted from the database.
49
50
 A decision table is used to represent the complex
processing logic in a tabular or a matrix form.
 The upper rows of the table specify the variables or
conditions to be evaluated.
 The lower rows of the table specify the actions to be
taken when the corresponding conditions are satisfied.
 A column in a table is called a rule.
 A rule implies that if a condition is true, then the
corresponding action is to be executed.
51
52

More Related Content

What's hot

SE2_Lec 23_Introduction to Cloud Computing
SE2_Lec 23_Introduction to Cloud ComputingSE2_Lec 23_Introduction to Cloud Computing
SE2_Lec 23_Introduction to Cloud ComputingAmr E. Mohamed
 
Unit 2-software development process notes
Unit 2-software development process notes Unit 2-software development process notes
Unit 2-software development process notes arvind pandey
 
Successive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular ApproachSuccessive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular Approachajeetmnnit
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesAmr E. Mohamed
 
selection of hardware & software in SAD
selection of hardware & software in SAD selection of hardware & software in SAD
selection of hardware & software in SAD Ankita Agrawal
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2Mohammed Romi
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignAmr E. Mohamed
 
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTESSOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTESsuthi
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineeringRupesh Vaishnav
 
Software Engineering - Ch17
Software Engineering - Ch17Software Engineering - Ch17
Software Engineering - Ch17Siddharth Ayer
 
Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13koolkampus
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineeringghayour abbas
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering FundamentalsRahul Sudame
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Managementghayour abbas
 
Software Evolution and Maintenance Models
Software Evolution and Maintenance ModelsSoftware Evolution and Maintenance Models
Software Evolution and Maintenance ModelsMoutasm Tamimi
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metricsIndu Sharma Bhardwaj
 

What's hot (20)

SE2_Lec 23_Introduction to Cloud Computing
SE2_Lec 23_Introduction to Cloud ComputingSE2_Lec 23_Introduction to Cloud Computing
SE2_Lec 23_Introduction to Cloud Computing
 
Unit 2-software development process notes
Unit 2-software development process notes Unit 2-software development process notes
Unit 2-software development process notes
 
Successive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular ApproachSuccessive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular Approach
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use Cases
 
selection of hardware & software in SAD
selection of hardware & software in SAD selection of hardware & software in SAD
selection of hardware & software in SAD
 
Chapter 3 requirements
Chapter 3 requirementsChapter 3 requirements
Chapter 3 requirements
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural Design
 
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTESSOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
 
Software Engineering - Ch17
Software Engineering - Ch17Software Engineering - Ch17
Software Engineering - Ch17
 
Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering Fundamentals
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Management
 
Software Evolution and Maintenance Models
Software Evolution and Maintenance ModelsSoftware Evolution and Maintenance Models
Software Evolution and Maintenance Models
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 

Similar to SE18_Lec 04_Requirements Analysis and Specification

SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationAmr E. Mohamed
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdfMuhammad Imran
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringSutha31
 
Software engineering
Software engineeringSoftware engineering
Software engineeringrenukarenuka9
 
Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisAbhilasha Lahigude
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.pptbalewayalew
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirementFish Abe
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysisgowasat
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Dhairya Joshi
 
Sw engg l4_requirements_case_study
Sw engg l4_requirements_case_studySw engg l4_requirements_case_study
Sw engg l4_requirements_case_studyMahima Bhave
 
Chapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.pptChapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.pptHaviQueen
 
Requirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineeringRequirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineeringsnehalkulkarni74
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesAmr E. Mohamed
 

Similar to SE18_Lec 04_Requirements Analysis and Specification (20)

SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and Specification
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Lecture10.ppt
Lecture10.pptLecture10.ppt
Lecture10.ppt
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Unit ii update
Unit ii updateUnit ii update
Unit ii update
 
Unit 2.ppt
Unit 2.pptUnit 2.ppt
Unit 2.ppt
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysis
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.ppt
 
M azhar
M azharM azhar
M azhar
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
 
Sw engg l4_requirements_case_study
Sw engg l4_requirements_case_studySw engg l4_requirements_case_study
Sw engg l4_requirements_case_study
 
Chapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.pptChapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.ppt
 
Requirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineeringRequirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineering
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use Cases
 

More from Amr E. Mohamed

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingAmr E. Mohamed
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systemsAmr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transformAmr E. Mohamed
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systemsAmr E. Mohamed
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignAmr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)Amr E. Mohamed
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsAmr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - IntroductionAmr E. Mohamed
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)Amr E. Mohamed
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsAmr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignAmr E. Mohamed
 

More from Amr E. Mohamed (20)

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systems
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transform
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systems
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital Filters
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-Transform
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
 

Recently uploaded

KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 

Recently uploaded (20)

KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 

SE18_Lec 04_Requirements Analysis and Specification

  • 2. 2  Requirements:  What the system should do?  The constraints on its operations  Requirements:  It is simple a high level, abstraction statement of a service that a system should provide and the constraints on that system.  Requirements:  It is the formal definition (in details) of a system function.
  • 3. 3
  • 4. 4  The requirements are classified into the following three types:  Those that should be absolutely met.  Those that are highly desirable but not necessary.  Those that are possible but could be eliminated.
  • 5. 5  On the basis of their functionality, the requirements are classified into the following two types:  Functional requirements: They define factors, such as I/O formats, storage structure, computational capabilities, timing, and synchronization.  Non-functional requirements: They define the properties or qualities of a product including usability, efficiency, performance, space, reliability, portability, etc.
  • 6. 6  Requirements engineering consists of the following processes:  Requirements gathering (elicitation).  Requirements analysis and modeling.  Requirements documentation.  Requirements review.  Requirements management.
  • 7. 7  Requirements:  User Requirements: User requirements are statements, in a natural language plus diagrams, of what services the system is expected to provide to system users and the constraints under which it must operate.  System Requirements: System requirements are more detailed descriptions of the software system’s functions, services, and operational constraints.
  • 8. 8  User Requirement Definition The MHC-PMS shall generate monthly management reports showing the cost of drugs prescribed by each clinic during that month.
  • 9. 9  System Requirement 1. On the last working day of each month, a summary of the drugs prescribed, their cost, and the prescribing clinics shall be generated. 2. The system shall automatically generate the report for printing after 17.30 on the last working day of the month. 3. A report shall be created for each clinic and shall list the individual drug names, the total number of prescriptions, the number of doses prescribed, and the total cost of the prescribed drugs. 4. If drugs are available in different dose units (e.g., 10 mg, 20 mg) separate reports shall be created for each dose unit. 5. Access to all cost reports shall be restricted to authorized users listed on a management access control list.
  • 10. 10
  • 11. 11  Requirements gathering and analysis activity by collecting all information from the customer.  Then analyzes the collected information to obtain a clear and thorough understanding of the product to be developed.
  • 12. 12  The following basic questions pertaining to the project should be clearly understood by the analyst in order to obtain a good grasp of the problem: 1. What is the problem? 2. Why is it important to solve the problem? 3. What are the possible solutions to the problem? 4. What exactly are the data input to the system and what exactly are the data output by the system? 5. What are the likely complexities that might arise while solving the problem? 6. If there are external software or hardware with which the developed software has to interface, then what exactly would the data interchange formats with the external system be?
  • 13. 13  Requirements engineering consists of the following processes:  Requirements gathering (elicitation).  Requirements analysis and modeling.  Requirements documentation.  Requirements review.  Requirements management.
  • 14. 14  The requirements are gathered from various sources.  The sources are:  Customer (Initiator)  End Users • Primary Users • Secondary Users  Stakeholders • Role or person with an interest (stake) in the system to be built. – Users: Those who use the software – Customers: Those who pay for the software – Software developers – Development Managers
  • 15. 15  The first portion of this phase, each requirement is analyzed from the point-of-view of validity, consistency, and feasibility for firm consideration in the SRS.  Validity confirms its relevance to goals and objectives.  Consistently confirms that it does not conflict with other requirements but supports others where necessary.  Feasibility ensures that the necessary inputs are available without bias and error, and technology support is possible to execute the requirement as a solution.
  • 16. 16  The second portion of analysis attempts to find for each requirement, its functionality, features, and facilities and the need for these under different conditions and constraints.  Functionality states “how to achieve the requirement goal”  Features describe the attributes of functionality  Facilities provide its delivery, administration, and communication to other systems.
  • 17. 17  SRS document : Software Requirement Specifications document  The important parts of SRS document are:  Functional requirements of the system  Non-functional requirements of the system, and  Goals of implementation
  • 18. 18
  • 19. 19
  • 20. 20
  • 21. 21
  • 22. 22
  • 23. 23
  • 24. 24
  • 25. 25
  • 26. 26  SRS document : Software Requirement Specifications document  The important parts of SRS document are:  Functional requirements of the system  Non-functional requirements of the system, and  Goals of implementation
  • 27. 27  It discusses the functionalities required from the system.  The high-level functions perform some meaningful piece of work.  It define system’s external behavior  how the system interacts with its environment  how it responds to inputs  what output to generate  and how to behave under certain conditions  What the system must do and not do
  • 28. 28
  • 29. 29  Quality attributes or constraints  Quality Attributes examples: security, performance, and availability  Technology constraint: system must be Java-based  Process constraint: Agile must be used  It deals with the characteristics of the system which can not be expressed as functions:  Maintainability of the system,  Portability of the system  Usability of the system  etc.  Nonfunctional requirements may include:  Reliability issues  Accuracy of results  Human - computer interface issues  Constraints on the system implementation, etc.
  • 30. 30  It documents some general suggestions regarding development.  These suggestions guide trade-off among design goals.  The goals of implementation section might document issues such as:  Revisions to the system functionalities that may be required in the future.  New devices to be supported in the future  Reusability issues, etc.
  • 31. 31  Airline Reservation system:  Functional • “a user can search for a flight. If a flight is selected, the user has 2 minutes to confirm booking or the flight will be released” • How the system will interact and respond to use?  Non-Functional • “the response time for a search transaction under peek load of 10,000 users must not exceed 2s” • “the throughput of the system is 100 search transactions per second” • What are the quality attributes of the system?
  • 32. 32  Customers almost never give quantitative non-functional requirements  Instead of: • “the response time for a search transaction under peak load of 10,000 users must not exceed 2s” • Customers will say: “the system should be fast when number of users is high”  Instead of: • “the throughput of the system is 100 search transactions per second” • Customers will say: “the system must accept high number of search commands”  Requirements such as “I want a secure system” and “I want a system that is easy to use” will surface all the time.
  • 33. 33  The functional requirements is identified from:  Informal problem description document  A conceptual understanding of the problem.  The functional requirements is identified by identifying the different types of users who might use the system and then try to identify the requirements from each user’s perspective.
  • 34. 34  Example: Consider the case of the library system, where  F1: Search Book function  Input: an author’s name  Output: details of the author’s books and the location of these books in the library
  • 35. 35  A function can be specified by 1) Identifying the state at which the data is to be input to the system. 2) The input data domain. 3) The output data domain 4) The type of processing to be carried on the input data to obtain the output data.
  • 36. 36  Example: - Withdraw Cash from ATM (Automatic Teller Machine)  R1: withdraw cash • Description: The withdraw cash function first determines the type of account that the user has and the account number from which the user wishes to withdraw cash. It checks the balance to determine whether the requested amount is available in the account. If enough balance is available, it outputs the required cash, otherwise it generates an error message.
  • 37. 37  R1.1 select withdraw amount option • Input: “withdraw amount” option • Output: user prompted to enter the account type  R1.2: select account type • Input: user option (Checking or Saving) • Output: prompt to enter amount  R1.3: get required amount • Input: amount to be withdrawn in integer values greater than 100 and less than 10,000 in multiples of 100. • Output: The requested cash and printed transaction statement.  Processing: the amount is debited from the user’s account if sufficient balance is available, otherwise an error message displayed.
  • 38. 38  It deals with the characteristics of the system which can not be expressed as functions:  Maintainability of the system  Portability of the system  Usability of the system  Reliability issues  Performance issues  Human - computer interface issues  Interface with other external systems  Security and maintainability of the system  etc.
  • 39. 39
  • 40. 40
  • 41. 41  How to quantify non-functional requirements to read:  “10,000 users peak load”  “2s response time”  “100 Tx per second throughput”  “user must learn how to perform a search in operation after 3 attempts”  Requirements Engineering process transforms vague non- functional requirements into more quantitative form  Non quantitative requirements are difficult to design and implement
  • 42. 42 1. Concise. 2. Structured. 3. Black-box view. 4. Conceptual integrity. 5. Response to undesired events. 6. Verifiable.
  • 43. 43  Without developing the SRS document, the system would not be implemented according to customer needs.  Software developers would not know whether what they are developing is what exactly required by the customer.  Without SRS document, it will be very much difficult for the maintenance engineers to understand the functionality of the system.  It will be very much difficult for user document writers to write the users’ manuals properly without understanding the SRS document.
  • 44. 44  A decision tree gives a graphic view of the processing logic involved in decision making and the corresponding actions taken.  The edges of a decision tree represent conditions  The leaf nodes represent the actions to be performed depending on the outcome of testing the condition.
  • 45. 45  Consider Library Membership Automation Software (LMS) where it should support the following three options:  New member  Renewal  Cancel membership
  • 46. 46 1. New member option:  Decision: When the 'new member' option is selected, the software asks details about the member like the member's name, address, phone number etc.  Action: If proper information is entered then a membership record for the member is created and a bill is printed for the annual membership charge plus the security deposit payable.
  • 47. 47 2. Renewal option:  Decision: If the 'renewal' option is chosen, the LMS asks for the member's name and his membership number to check whether he is a valid member or not.  Action: If the membership is valid then membership expiry date is updated and the annual membership bill is printed, otherwise an error message is displayed.
  • 48. 48 3. Cancel membership option:  Decision: If the 'cancel membership' option is selected, then the software asks for member's name and his membership number.  Action: The membership is cancelled, a cheque for the balance amount due to the member is printed and finally the membership record is deleted from the database.
  • 49. 49
  • 50. 50  A decision table is used to represent the complex processing logic in a tabular or a matrix form.  The upper rows of the table specify the variables or conditions to be evaluated.  The lower rows of the table specify the actions to be taken when the corresponding conditions are satisfied.  A column in a table is called a rule.  A rule implies that if a condition is true, then the corresponding action is to be executed.
  • 51. 51
  • 52. 52