SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
1
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

Contenu connexe

Tendances

SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software RequirementsJomel Penalba
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelAmr E. Mohamed
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behaviorIIUI
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8Siddharth Ayer
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 
Unit 3- requirements for software development
Unit 3-  requirements for software  development Unit 3-  requirements for software  development
Unit 3- requirements for software development arvind pandey
 
Context model
Context modelContext model
Context modelUbaid423
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 
Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Babu Kanikicharla (K Y Babu Setty)
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 

Tendances (20)

SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software Requirements
 
M azhar
M azharM azhar
M azhar
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
Unit 3- requirements for software development
Unit 3-  requirements for software  development Unit 3-  requirements for software  development
Unit 3- requirements for software development
 
Context model
Context modelContext model
Context model
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Slides chapter 8
Slides chapter 8Slides chapter 8
Slides chapter 8
 
Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and Design
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
SE - System Models
SE - System ModelsSE - System Models
SE - System Models
 
C++ Unit_01
C++ Unit_01C++ Unit_01
C++ Unit_01
 
System Modelling
System ModellingSystem Modelling
System Modelling
 

En vedette

SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsAmr E. Mohamed
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentAmr E. Mohamed
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1Amr E. Mohamed
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsAmr E. Mohamed
 
Dsp foehu lec 00 - digital signal processing
Dsp foehu   lec 00 - digital signal processingDsp foehu   lec 00 - digital signal processing
Dsp foehu lec 00 - digital signal processingAmr E. Mohamed
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsAmr E. Mohamed
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machinesAmr E. Mohamed
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementAmr E. Mohamed
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsAmr E. Mohamed
 
SE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsSE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsAmr E. Mohamed
 
SE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningSE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningAmr E. Mohamed
 
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsDSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsAmr E. Mohamed
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD pptPRIANKA R
 
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsDSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsAmr E. Mohamed
 
Dsp foehu lec 01 - signals and systems
Dsp foehu   lec 01 - signals and systemsDsp foehu   lec 01 - signals and systems
Dsp foehu lec 01 - signals and systemsAmr E. Mohamed
 

En vedette (20)

SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle Models
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design Patterns
 
SE2_Lec 18_ Coding
SE2_Lec 18_ CodingSE2_Lec 18_ Coding
SE2_Lec 18_ Coding
 
Dsp foehu lec 00 - digital signal processing
Dsp foehu   lec 00 - digital signal processingDsp foehu   lec 00 - digital signal processing
Dsp foehu lec 00 - digital signal processing
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machines
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project Management
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
 
SE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsSE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of Ethics
 
SE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningSE_Lec 12_ Project Planning
SE_Lec 12_ Project Planning
 
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsDSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
 
Ooadb
OoadbOoadb
Ooadb
 
UML TUTORIALS
UML TUTORIALSUML TUTORIALS
UML TUTORIALS
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
 
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsDSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
 
Uml report
Uml reportUml report
Uml report
 
Dsp foehu lec 01 - signals and systems
Dsp foehu   lec 01 - signals and systemsDsp foehu   lec 01 - signals and systems
Dsp foehu lec 01 - signals and systems
 

Similaire à SE_Lec 03_Requirements Analysis and Specification

SE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and SpecificationSE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and SpecificationAmr E. Mohamed
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdfMuhammad Imran
 
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
 
Software engineering
Software engineeringSoftware engineering
Software engineeringrenukarenuka9
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirementFish Abe
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringSutha31
 
Chapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.pptChapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.pptHaviQueen
 
Sw engg l4_requirements_case_study
Sw engg l4_requirements_case_studySw engg l4_requirements_case_study
Sw engg l4_requirements_case_studyMahima Bhave
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Dhairya Joshi
 
W4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringW4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringFareeha Iftikhar
 
Software engineering Unit-2
Software engineering Unit-2Software engineering Unit-2
Software engineering Unit-2Samura Daniel
 
Refining The System Definition
Refining The System DefinitionRefining The System Definition
Refining The System DefinitionSandeep Ganji
 

Similaire à SE_Lec 03_Requirements Analysis and Specification (20)

SE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and SpecificationSE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and Specification
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
Unit ii update
Unit ii updateUnit ii update
Unit ii update
 
Lecture10.ppt
Lecture10.pptLecture10.ppt
Lecture10.ppt
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Unit 2.ppt
Unit 2.pptUnit 2.ppt
Unit 2.ppt
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysis
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.ppt
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Chapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.pptChapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.ppt
 
Sw engg l4_requirements_case_study
Sw engg l4_requirements_case_studySw engg l4_requirements_case_study
Sw engg l4_requirements_case_study
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
 
W4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringW4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gathering
 
Software engineering Unit-2
Software engineering Unit-2Software engineering Unit-2
Software engineering Unit-2
 
Refining The System Definition
Refining The System DefinitionRefining The System Definition
Refining The System Definition
 
Day01 01 software requirement concepts
Day01 01 software requirement conceptsDay01 01 software requirement concepts
Day01 01 software requirement concepts
 

Plus de 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
 

Plus de 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
 

Dernier

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 

Dernier (20)

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 

SE_Lec 03_Requirements Analysis and Specification

  • 1. 1
  • 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