SlideShare a Scribd company logo
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

More Related Content

What's hot

SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software RequirementsJomel Penalba
 
M azhar
M azharM azhar
M azhar
Mazhar Saleem
 
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 Model
Amr E. Mohamed
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
Md. Shafiuzzaman Hira
 
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
IIUI
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
software-engineering-book
 
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
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
mohamed tahoon
 
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 model
Ubaid423
 
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
 
Slides chapter 8
Slides chapter 8Slides chapter 8
Slides chapter 8
Priyanka Shetty
 
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 Design
Amr 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 moddel
mohamed khalaf alla mohamedain
 
C++ Unit_01
C++ Unit_01C++ Unit_01
System Modelling
System ModellingSystem Modelling
System Modelling
Jennifer Polack
 

What's hot (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
 

Viewers also liked

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
Amr E. Mohamed
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
Amr E. Mohamed
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
Amr 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 Patterns
Amr E. Mohamed
 
SE2_Lec 18_ Coding
SE2_Lec 18_ CodingSE2_Lec 18_ Coding
SE2_Lec 18_ Coding
Amr 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 processing
Amr E. Mohamed
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
Amr 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 Design
Amr E. Mohamed
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machines
Amr E. Mohamed
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project Management
Amr 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 Systems
Amr 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 Ethics
Amr E. Mohamed
 
SE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningSE_Lec 12_ Project Planning
SE_Lec 12_ Project Planning
Amr 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 Systems
Amr E. Mohamed
 
Ooadb
OoadbOoadb
UML TUTORIALS
UML TUTORIALSUML TUTORIALS
UML TUTORIALS
Manish Deo
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
PRIANKA 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 Signals
Amr 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 systems
Amr E. Mohamed
 

Viewers also liked (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
 

Similar to 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 Specification
Amr E. Mohamed
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
Muhammad Imran
 
Unit ii update
Unit ii updateUnit ii update
Unit ii update
Sangeetha Rangarajan
 
Lecture10.ppt
Lecture10.pptLecture10.ppt
Lecture10.ppt
WasekaPropertyportal
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
Dr. Radhey Shyam
 
Unit 2.ppt
Unit 2.pptUnit 2.ppt
Unit 2.ppt
MsRAMYACSE
 
Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysis
Abhilasha Lahigude
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.ppt
balewayalew
 
Software engineering
Software engineeringSoftware engineering
Software engineering
renukarenuka9
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
Fish Abe
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Sutha31
 
Chapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.pptChapter 2 SRS_241222135554.ppt
Chapter 2 SRS_241222135554.ppt
HaviQueen
 
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
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
KalsoomBajwa
 
W4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringW4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gathering
Fareeha Iftikhar
 
Software engineering Unit-2
Software engineering Unit-2Software engineering Unit-2
Software engineering Unit-2
Samura Daniel
 
Refining The System Definition
Refining The System DefinitionRefining The System Definition
Refining The System DefinitionSandeep Ganji
 
Day01 01 software requirement concepts
Day01 01 software requirement conceptsDay01 01 software requirement concepts
Day01 01 software requirement concepts
Namtướcbóngđêm Virut
 

Similar to 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
 

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 processing
Amr 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 systems
Amr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transform
Amr 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 systems
Amr 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 Applications
Amr 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 Design
Amr 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 Design
Amr E. Mohamed
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
Amr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
Amr 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 Patterns
Amr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
Amr 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 Testing
Amr 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 Transform
Amr 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 Filters
Amr 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-Transform
Amr 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 Systems
Amr 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 Signals
Amr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
Amr 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

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 

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