SlideShare a Scribd company logo
1 of 30
Software
Engineering L4
Sameera
Gunathilaka
Lead Software
Engineer
ERP Technical
Consultant
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
1
SDLC –
Waterfall
Model
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 2
“Requirements” ?
The requirements themselves are the
descriptions of the system services and
constraints that are generated during the
requirements engineering process.
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 3
According to IEEE standard 729, a
requirement is..
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 4
A condition or capability needed by a user to solve a problem or achieve
an objective
A condition or capability that must be met or possessed by a system or
system component to satisfy a contract, standard, specification or other
formally imposed documents
A documented representation of a condition or capability as in above two
Importance of Requirement Specification
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 5
Boundary of two worlds
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
6
Why is it so
Hard?
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 7
We know why projects fail,
we know how to prevent
their failures. So why do they
still fail?
GAP – real world problem vs
computer program
• Strengths of a requirement
• Must/Shall
• Should
• Will
Building the right system right
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 8
Requirement
may solve the
dual function
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 9
May be the basis for a bid
for a contract
•Therefore must be open to
interpretation
May be the basis for the
contract itself
•Therefore must be defined in
detail
Requirements
• “If a company wishes to let a contract for a large
software development project, it must define its needs
in a sufficiently abstract way that a solution is not
pre-defined.
• The requirements must be written so that several
contractors can bid for the contract, offering, perhaps,
different ways of meeting the client organization’s
needs.
• Once a contract has been awarded, the contractor
must write a system definition for the client in more
detail so that the client understands and can validate
what the software will do.
• Both of these documents may be called the
requirements document for the system
Type of Requirements
1. Business Requirements
• Why the organization is undertaking the project
• They state some benefits that the developing organization or its customers expect to receive
from the product
• Several documents such as a project charter, business case, or in a project vision and scope
statements
• Problem Statement
• Project Vision
• Project Constraints (Budget, Schedule, and Resources)
• Project Objectives
• Project Scope Statements
• Business Process Analysis
• Stakeholder Analysis
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 11
Type of Requirements
2. User Requirements
• Describe what the user does with the system
• An important and difficult step of designing a software product is determining
what the user actually wants it to do
• The information they provide may also be incomplete, inaccurate and self-
conflicting
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 12
Type of Requirements
3. System/Software Requirements
• The traditional “shall” statements that describe what the system
“shall do.”
• The building blocks developers use to build the system
• Incorporate both software and hardware components
• It may also include training and organizational change
requirements
• Domain, Functional and Non-Functional requirements
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 13
Types of
System/Software
Requirements
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 14
Type of System/Software Requirements
Functional Requirements
• End user specifically
demands as basic facilities
that the system should
offer
• Need to be necessarily
incorporated into the
system as a part of the
contract
• Input to be given to the
system, the operation
performed and the output
expected
Non-Functional
Requirements
• Quality constraints that
the system must satisfy
according to the project
contract
• Requires the knowledge
of the functionality of the
system, as well as the
knowledge of the context
within which the system
will operate
Domain Requirements
• Characteristic of a
particular category or
domain of projects
Requirement Engineering
Process of
establishing
the needs of
stakeholders
that are to be
solved
by a software
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 16
Problems with
natural
language
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 17
Precision is difficult without making the document difficult to readLack of clarity
Functional and non-functional requirements tend to be mixed-up
Requirements
confusion
Several different requirements may be expressed together
Requirements
amalgamation
The readers and writers of the requirement must interpret the same
words in the same way. NL is naturally ambiguous so this is very difficult
Ambiguity
The same thing may be said in a number of different ways in the
specification
Over-flexibility
The Requirements
Engineering Process
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 18
Requirements
specification
Requirements
validation
Requirements
elicitation
Systemrequirements
specification and
modeling
System
requirements
elicitation
User requirements
specification
User
requirements
elicitation
Business requirements
specification
Prototyping
Feasibility
study
Review s
System requirements
document
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 19
Feasibility Study
• Aims to answer three basic questions:
• Would the system contribute to
overall organizational objectives?
• Could the system be engineered
using current technology and within
budget?
• Could the system be integrated with
other systems already in use?
Feasibility
study issues
(a high-level
checklist)
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 21
How would the organization cope if the system
wasn’t implemented?
What are the current process problems and how
would the system help with these?
What will the integration problems be?
Is new technology needed? New skills?
What must be supported by the system, and
what need not be supported?
Requirements Elicitation
IT1204 – Software Engineering Institute of Technology, University of Moratuwa
It is the practice of
obtaining the
requirements of a
system from users,
customers and
other stakeholders.
The practice is also
sometimes
referred to as
Requirement
gathering.
22
Requirements Elicitation
• Guidelines of Requirements Elicitation
• Assess the business and technical feasibility for the proposed system
• Identify the people who will help specify requirements.
• Define the technical environment (e.g. computing architecture, operating system,
telecommunication needs) into which the system or product will be placed
• Identify “domain constraints” (i.e. characteristics of the business environment specific to the
application domain) that limit the functionality or performance of the system or product to build
• Define one or more requirements elicitation methods (e.g. interviews, team meetings, ..etc)
• Solicit participation from many people so that requirements are defined from different point of
views.
• Create usage scenarios of use cases to help customers/ users better identify key requirements.
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 23
Requirements Analysis
IT1204 – Software Engineering Institute of Technology, University of Moratuwa
Requirements
Analysis,
determining
whether the
stated
requirements are
clear, complete,
consistent and
unambiguous.
24
Requirements
Analysis
Stakeholder Identification
• Stakeholders are people or organizations that have
a valid interest in the system. They may be affected
by it directly or indirectly.
• Stake holders may include:
• Anyone who operates the system
• Anyone who benefits from the system
• Anyone involved in purchasing or procuring
the system
• People opposed to the system (negative
stakeholders)
• Organizations responsible for the system
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 25
Requirements
Analysis
Stakeholder Interviews
• Interviews are a common
technique used in requirement
analysis.
• This technique can serve as a
means of obtaining the highly
focused knowledge from different
stakeholders perspectives
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 26
Requirements
Specifications
Requirements Specification is the direct result of a
requirement analysis and can refer to:
• Software Requirements Specification
• Hardware Requirements Specification
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 27
Requirements
Validation and
Verification
• Validation (& Verification), is the
process of checking whether the
requirements, as identified, do not
contradict the expectations about the
system of various stakeholders and do
not contradict each other
• Quality control of the requirements
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 28
Validation Vs. Verification
Validation: “Am I building the right product?” checking a work product
against higher-level work products or authorities that frame this
particular product.
• Requirements are validated by stakeholders
Verification: “Am I building the product right?” checking a work
product against some standards and conditions imposed on this type of
product and the process of its development.
• Requirements are verified by the analysts mainly
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
29
Thank you
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
30

More Related Content

What's hot

IT1204 - Software Engineering - L11
IT1204 - Software Engineering - L11IT1204 - Software Engineering - L11
IT1204 - Software Engineering - L11BakerTilly US
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challengessommerville-videos
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering ProfessionSaqib Raza
 
Social and cultural issues in requirements engineering
Social and cultural issues in requirements engineeringSocial and cultural issues in requirements engineering
Social and cultural issues in requirements engineeringImran Hussain Khan
 
Eliezer_Desktop_Support_Engineer[1]
Eliezer_Desktop_Support_Engineer[1]Eliezer_Desktop_Support_Engineer[1]
Eliezer_Desktop_Support_Engineer[1]Anthony Villagracia
 
Lean Implementation on IT Infrastructure Monitoring System
Lean Implementation on IT Infrastructure Monitoring SystemLean Implementation on IT Infrastructure Monitoring System
Lean Implementation on IT Infrastructure Monitoring SystemDio Pratama
 
Software Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional PracticeSoftware Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional Practice Saqib Raza
 
Introduction to Systems Engineering
Introduction to Systems EngineeringIntroduction to Systems Engineering
Introduction to Systems EngineeringBernardo A. Delicado
 
3 Ways to Overcome Your Interface Challenges
3 Ways to Overcome Your Interface Challenges3 Ways to Overcome Your Interface Challenges
3 Ways to Overcome Your Interface ChallengesIatric Systems
 
nhoel.adajar.resume
nhoel.adajar.resumenhoel.adajar.resume
nhoel.adajar.resumenhoel adajar
 
Software Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsSoftware Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsIvica Crnkovic
 

What's hot (20)

IT1204 - Software Engineering - L11
IT1204 - Software Engineering - L11IT1204 - Software Engineering - L11
IT1204 - Software Engineering - L11
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challenges
 
software engineering ethics
software engineering ethicssoftware engineering ethics
software engineering ethics
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering Profession
 
Social and cultural issues in requirements engineering
Social and cultural issues in requirements engineeringSocial and cultural issues in requirements engineering
Social and cultural issues in requirements engineering
 
Eliezer_Desktop_Support_Engineer[1]
Eliezer_Desktop_Support_Engineer[1]Eliezer_Desktop_Support_Engineer[1]
Eliezer_Desktop_Support_Engineer[1]
 
0273710133 pp01v2
0273710133 pp01v20273710133 pp01v2
0273710133 pp01v2
 
03 requirement engineering_process
03 requirement engineering_process03 requirement engineering_process
03 requirement engineering_process
 
System Development Proecess
System Development ProecessSystem Development Proecess
System Development Proecess
 
Emertxe Certified Embedded Professional (ECEP): Assessment system
Emertxe Certified Embedded Professional (ECEP): Assessment systemEmertxe Certified Embedded Professional (ECEP): Assessment system
Emertxe Certified Embedded Professional (ECEP): Assessment system
 
Lean Implementation on IT Infrastructure Monitoring System
Lean Implementation on IT Infrastructure Monitoring SystemLean Implementation on IT Infrastructure Monitoring System
Lean Implementation on IT Infrastructure Monitoring System
 
Software Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional PracticeSoftware Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional Practice
 
Introduction to Systems Engineering
Introduction to Systems EngineeringIntroduction to Systems Engineering
Introduction to Systems Engineering
 
Resume_Updated
Resume_UpdatedResume_Updated
Resume_Updated
 
3 Ways to Overcome Your Interface Challenges
3 Ways to Overcome Your Interface Challenges3 Ways to Overcome Your Interface Challenges
3 Ways to Overcome Your Interface Challenges
 
nhoel.adajar.resume
nhoel.adajar.resumenhoel.adajar.resume
nhoel.adajar.resume
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
 
Software Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsSoftware Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systems
 
Ch12
Ch12Ch12
Ch12
 

Similar to IT1204 - Software Engineering - L4

Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringMikel Raj
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITSIan Sommerville
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirementsMohesh Chandran
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringSutha31
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptubaidullah75790
 
software engineering
software engineeringsoftware engineering
software engineeringSnow Queenzz
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTUMohammad Faizan
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 

Similar to IT1204 - Software Engineering - L4 (20)

Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W Engineering
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITS
 
Requirementengg
RequirementenggRequirementengg
Requirementengg
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Se lec-uosl-8
Se lec-uosl-8Se lec-uosl-8
Se lec-uosl-8
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
 
software engineering
software engineeringsoftware engineering
software engineering
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTU
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
ch11.ppt
ch11.pptch11.ppt
ch11.ppt
 
Block 1 ms-034 unit-3
Block 1 ms-034 unit-3Block 1 ms-034 unit-3
Block 1 ms-034 unit-3
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 

More from BakerTilly US

IT1206- Object Oriented Analysis and Design- L10
IT1206- Object Oriented Analysis and Design- L10IT1206- Object Oriented Analysis and Design- L10
IT1206- Object Oriented Analysis and Design- L10BakerTilly US
 
IT1204 - Software Engineering - L10
IT1204 - Software Engineering - L10IT1204 - Software Engineering - L10
IT1204 - Software Engineering - L10BakerTilly US
 
IT1204 - Software engineering - L5
IT1204 - Software engineering - L5IT1204 - Software engineering - L5
IT1204 - Software engineering - L5BakerTilly US
 
IT1206 Object Oriented Analysis and Design-L8
IT1206   Object Oriented Analysis and Design-L8IT1206   Object Oriented Analysis and Design-L8
IT1206 Object Oriented Analysis and Design-L8BakerTilly US
 
IT1204 - Software Engineering -L8
IT1204 - Software Engineering -L8IT1204 - Software Engineering -L8
IT1204 - Software Engineering -L8BakerTilly US
 
IT1204 - Software Engineering - L7
IT1204 - Software Engineering - L7IT1204 - Software Engineering - L7
IT1204 - Software Engineering - L7BakerTilly US
 
IT1206 Object Oriented Analysis And Design-L6
IT1206   Object Oriented Analysis And Design-L6IT1206   Object Oriented Analysis And Design-L6
IT1206 Object Oriented Analysis And Design-L6BakerTilly US
 
IT1204 – Software Engineering L6
IT1204 – Software Engineering L6                                           IT1204 – Software Engineering L6
IT1204 – Software Engineering L6 BakerTilly US
 
IT1206 Object Oriented Analysis and Design-L5
IT1206   Object Oriented Analysis and Design-L5IT1206   Object Oriented Analysis and Design-L5
IT1206 Object Oriented Analysis and Design-L5BakerTilly US
 
IT1206 Object Oriented Analysis and Design-L4
IT1206   Object Oriented Analysis and Design-L4IT1206   Object Oriented Analysis and Design-L4
IT1206 Object Oriented Analysis and Design-L4BakerTilly US
 
IT1206 Object Oriented Analysis and Design- L3
IT1206   Object Oriented Analysis and Design- L3IT1206   Object Oriented Analysis and Design- L3
IT1206 Object Oriented Analysis and Design- L3BakerTilly US
 
IT1206- Object Oriented Analysis And Design-L1
IT1206- Object Oriented Analysis And Design-L1IT1206- Object Oriented Analysis And Design-L1
IT1206- Object Oriented Analysis And Design-L1BakerTilly US
 
Analysis of Service Gaps - Customer service management
Analysis of Service Gaps - Customer service management Analysis of Service Gaps - Customer service management
Analysis of Service Gaps - Customer service management BakerTilly US
 

More from BakerTilly US (13)

IT1206- Object Oriented Analysis and Design- L10
IT1206- Object Oriented Analysis and Design- L10IT1206- Object Oriented Analysis and Design- L10
IT1206- Object Oriented Analysis and Design- L10
 
IT1204 - Software Engineering - L10
IT1204 - Software Engineering - L10IT1204 - Software Engineering - L10
IT1204 - Software Engineering - L10
 
IT1204 - Software engineering - L5
IT1204 - Software engineering - L5IT1204 - Software engineering - L5
IT1204 - Software engineering - L5
 
IT1206 Object Oriented Analysis and Design-L8
IT1206   Object Oriented Analysis and Design-L8IT1206   Object Oriented Analysis and Design-L8
IT1206 Object Oriented Analysis and Design-L8
 
IT1204 - Software Engineering -L8
IT1204 - Software Engineering -L8IT1204 - Software Engineering -L8
IT1204 - Software Engineering -L8
 
IT1204 - Software Engineering - L7
IT1204 - Software Engineering - L7IT1204 - Software Engineering - L7
IT1204 - Software Engineering - L7
 
IT1206 Object Oriented Analysis And Design-L6
IT1206   Object Oriented Analysis And Design-L6IT1206   Object Oriented Analysis And Design-L6
IT1206 Object Oriented Analysis And Design-L6
 
IT1204 – Software Engineering L6
IT1204 – Software Engineering L6                                           IT1204 – Software Engineering L6
IT1204 – Software Engineering L6
 
IT1206 Object Oriented Analysis and Design-L5
IT1206   Object Oriented Analysis and Design-L5IT1206   Object Oriented Analysis and Design-L5
IT1206 Object Oriented Analysis and Design-L5
 
IT1206 Object Oriented Analysis and Design-L4
IT1206   Object Oriented Analysis and Design-L4IT1206   Object Oriented Analysis and Design-L4
IT1206 Object Oriented Analysis and Design-L4
 
IT1206 Object Oriented Analysis and Design- L3
IT1206   Object Oriented Analysis and Design- L3IT1206   Object Oriented Analysis and Design- L3
IT1206 Object Oriented Analysis and Design- L3
 
IT1206- Object Oriented Analysis And Design-L1
IT1206- Object Oriented Analysis And Design-L1IT1206- Object Oriented Analysis And Design-L1
IT1206- Object Oriented Analysis And Design-L1
 
Analysis of Service Gaps - Customer service management
Analysis of Service Gaps - Customer service management Analysis of Service Gaps - Customer service management
Analysis of Service Gaps - Customer service management
 

Recently uploaded

SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
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
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
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
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Recently uploaded (20)

SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
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
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

IT1204 - Software Engineering - L4

  • 1. Software Engineering L4 Sameera Gunathilaka Lead Software Engineer ERP Technical Consultant IT1204 – Software Engineering Institute of Technology, University of Moratuwa 1
  • 2. SDLC – Waterfall Model IT1204 – Software Engineering Institute of Technology, University of Moratuwa 2
  • 3. “Requirements” ? The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process. IT1204 – Software Engineering Institute of Technology, University of Moratuwa 3
  • 4. According to IEEE standard 729, a requirement is.. IT1204 – Software Engineering Institute of Technology, University of Moratuwa 4 A condition or capability needed by a user to solve a problem or achieve an objective A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed documents A documented representation of a condition or capability as in above two
  • 5. Importance of Requirement Specification IT1204 – Software Engineering Institute of Technology, University of Moratuwa 5
  • 6. Boundary of two worlds IT1204 – Software Engineering Institute of Technology, University of Moratuwa 6
  • 7. Why is it so Hard? IT1204 – Software Engineering Institute of Technology, University of Moratuwa 7 We know why projects fail, we know how to prevent their failures. So why do they still fail? GAP – real world problem vs computer program • Strengths of a requirement • Must/Shall • Should • Will
  • 8. Building the right system right IT1204 – Software Engineering Institute of Technology, University of Moratuwa 8
  • 9. Requirement may solve the dual function IT1204 – Software Engineering Institute of Technology, University of Moratuwa 9 May be the basis for a bid for a contract •Therefore must be open to interpretation May be the basis for the contract itself •Therefore must be defined in detail
  • 10. Requirements • “If a company wishes to let a contract for a large software development project, it must define its needs in a sufficiently abstract way that a solution is not pre-defined. • The requirements must be written so that several contractors can bid for the contract, offering, perhaps, different ways of meeting the client organization’s needs. • Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do. • Both of these documents may be called the requirements document for the system
  • 11. Type of Requirements 1. Business Requirements • Why the organization is undertaking the project • They state some benefits that the developing organization or its customers expect to receive from the product • Several documents such as a project charter, business case, or in a project vision and scope statements • Problem Statement • Project Vision • Project Constraints (Budget, Schedule, and Resources) • Project Objectives • Project Scope Statements • Business Process Analysis • Stakeholder Analysis IT1204 – Software Engineering Institute of Technology, University of Moratuwa 11
  • 12. Type of Requirements 2. User Requirements • Describe what the user does with the system • An important and difficult step of designing a software product is determining what the user actually wants it to do • The information they provide may also be incomplete, inaccurate and self- conflicting IT1204 – Software Engineering Institute of Technology, University of Moratuwa 12
  • 13. Type of Requirements 3. System/Software Requirements • The traditional “shall” statements that describe what the system “shall do.” • The building blocks developers use to build the system • Incorporate both software and hardware components • It may also include training and organizational change requirements • Domain, Functional and Non-Functional requirements IT1204 – Software Engineering Institute of Technology, University of Moratuwa 13
  • 14. Types of System/Software Requirements IT1204 – Software Engineering Institute of Technology, University of Moratuwa 14
  • 15. Type of System/Software Requirements Functional Requirements • End user specifically demands as basic facilities that the system should offer • Need to be necessarily incorporated into the system as a part of the contract • Input to be given to the system, the operation performed and the output expected Non-Functional Requirements • Quality constraints that the system must satisfy according to the project contract • Requires the knowledge of the functionality of the system, as well as the knowledge of the context within which the system will operate Domain Requirements • Characteristic of a particular category or domain of projects
  • 16. Requirement Engineering Process of establishing the needs of stakeholders that are to be solved by a software IT1204 – Software Engineering Institute of Technology, University of Moratuwa 16
  • 17. Problems with natural language IT1204 – Software Engineering Institute of Technology, University of Moratuwa 17 Precision is difficult without making the document difficult to readLack of clarity Functional and non-functional requirements tend to be mixed-up Requirements confusion Several different requirements may be expressed together Requirements amalgamation The readers and writers of the requirement must interpret the same words in the same way. NL is naturally ambiguous so this is very difficult Ambiguity The same thing may be said in a number of different ways in the specification Over-flexibility
  • 18. The Requirements Engineering Process IT1204 – Software Engineering Institute of Technology, University of Moratuwa 18
  • 19. Requirements specification Requirements validation Requirements elicitation Systemrequirements specification and modeling System requirements elicitation User requirements specification User requirements elicitation Business requirements specification Prototyping Feasibility study Review s System requirements document IT1204 – Software Engineering Institute of Technology, University of Moratuwa 19
  • 20. Feasibility Study • Aims to answer three basic questions: • Would the system contribute to overall organizational objectives? • Could the system be engineered using current technology and within budget? • Could the system be integrated with other systems already in use?
  • 21. Feasibility study issues (a high-level checklist) IT1204 – Software Engineering Institute of Technology, University of Moratuwa 21 How would the organization cope if the system wasn’t implemented? What are the current process problems and how would the system help with these? What will the integration problems be? Is new technology needed? New skills? What must be supported by the system, and what need not be supported?
  • 22. Requirements Elicitation IT1204 – Software Engineering Institute of Technology, University of Moratuwa It is the practice of obtaining the requirements of a system from users, customers and other stakeholders. The practice is also sometimes referred to as Requirement gathering. 22
  • 23. Requirements Elicitation • Guidelines of Requirements Elicitation • Assess the business and technical feasibility for the proposed system • Identify the people who will help specify requirements. • Define the technical environment (e.g. computing architecture, operating system, telecommunication needs) into which the system or product will be placed • Identify “domain constraints” (i.e. characteristics of the business environment specific to the application domain) that limit the functionality or performance of the system or product to build • Define one or more requirements elicitation methods (e.g. interviews, team meetings, ..etc) • Solicit participation from many people so that requirements are defined from different point of views. • Create usage scenarios of use cases to help customers/ users better identify key requirements. IT1204 – Software Engineering Institute of Technology, University of Moratuwa 23
  • 24. Requirements Analysis IT1204 – Software Engineering Institute of Technology, University of Moratuwa Requirements Analysis, determining whether the stated requirements are clear, complete, consistent and unambiguous. 24
  • 25. Requirements Analysis Stakeholder Identification • Stakeholders are people or organizations that have a valid interest in the system. They may be affected by it directly or indirectly. • Stake holders may include: • Anyone who operates the system • Anyone who benefits from the system • Anyone involved in purchasing or procuring the system • People opposed to the system (negative stakeholders) • Organizations responsible for the system IT1204 – Software Engineering Institute of Technology, University of Moratuwa 25
  • 26. Requirements Analysis Stakeholder Interviews • Interviews are a common technique used in requirement analysis. • This technique can serve as a means of obtaining the highly focused knowledge from different stakeholders perspectives IT1204 – Software Engineering Institute of Technology, University of Moratuwa 26
  • 27. Requirements Specifications Requirements Specification is the direct result of a requirement analysis and can refer to: • Software Requirements Specification • Hardware Requirements Specification IT1204 – Software Engineering Institute of Technology, University of Moratuwa 27
  • 28. Requirements Validation and Verification • Validation (& Verification), is the process of checking whether the requirements, as identified, do not contradict the expectations about the system of various stakeholders and do not contradict each other • Quality control of the requirements IT1204 – Software Engineering Institute of Technology, University of Moratuwa 28
  • 29. Validation Vs. Verification Validation: “Am I building the right product?” checking a work product against higher-level work products or authorities that frame this particular product. • Requirements are validated by stakeholders Verification: “Am I building the product right?” checking a work product against some standards and conditions imposed on this type of product and the process of its development. • Requirements are verified by the analysts mainly IT1204 – Software Engineering Institute of Technology, University of Moratuwa 29
  • 30. Thank you IT1204 – Software Engineering Institute of Technology, University of Moratuwa 30

Editor's Notes

  1. Requirements engineering help software engineers to better understand the problem they will work to solve. It encompasses the set of tasks that lead to an understanding of what the business impact of the software will be, what the customer wants and how end-users will interact with the software.
  2. RE bridge the Gap
  3. Functional Requirements - For example, in a hospital management system, a doctor should be able to retrieve the information of his patients. Each high-level functional requirement may involve several interactions or dialogues between the system and the outside world. In order to accurately describe the functional requirements, all scenarios must be enumerated. There are many ways of expressing functional requirements e.g., natural language, a structured or formatted language with no rigorous syntax and formal specification language with proper syntax. Defines functions of a software system or its components. They may be calculations, technical details, data manipulation and processing and other specific functionality that define “what a system is supposed to accomplish?” They describe particular results of a system. Functional requirements are supported by Non-functional requirements. Non- Functional Requirements – They are requirements that specify criteria that can be used to judge the operation of a system, rather than specific behavior. Functional requirements define what the system is supposed to do, whereas non-functional requirements define how a system is supposed to be. Non-functional requirements can be divided into two main categories: Execution qualities, such as security and usability, which are observable at runtime. Evolution qualities, such as testability, maintainability and scalability. Portability Security Maintainability Reliability Scalability Performance Reusability Flexibility Domain Requirements - For instance, in an academic software that maintains records of a school or college, the functionality of being able to access the list of faculty and list of students of each grade is a domain requirement. These requirements are therefore identified from that domain model and are not user specific.
  4. Emphasizes iterative nature of core activities
  5. An engineered system is a system designed or adapted to interact with an anticipated operational environment to achieve one or more intended purposes while complying with applicable constraints
  6. The 5 Key Principles Of User Experience Design Hierarchy Consistency Confirmation User Control Accessibility