SlideShare a Scribd company logo
1
Requirements Analysis
CIS 375
Bruce R. Maxim
UM-Dearborn
2
Requirements Analysis
• Software engineering task bridging the gap between
system requirements engineering and software
design.
• Provides software designer with a model of:
– system information
– function
– behavior
• Model can be translated to data, architectural, and
component-level designs.
• Expect to do a little bit of design during analysis and
a little bit of analysis during design.
3
Analysis Objectives
• Identify customer’s needs.
• Evaluate system for feasibility.
• Perform economic and technical
analysis.
• Allocate functions to system elements.
• Establish schedule and constraints.
• Create system definitions.
4
Software Requirements Analysis
Phases
• Problem recognition
• Evaluation and synthesis
– focus is on what not how
• Modeling
• Specification
• Review
5
Management Questions
• How much effort put towards analysis?
• Who does the analysis?
• Why is it so difficult?
• Bottom line - who pays for it?
6
Feasibility Study
• Economic feasibility
– cost/benefit analysis
• Technical feasibility
– hardware/software/people, etc.
• Legal feasibility
• Alternatives
– there is always more than one way to do it
7
System Specification
• Introduction.
• Functional data description.
• Subsystem description.
• System modeling and simulation
results.
• Products.
• Appendices.
8
Requirements
• Requirement
– features of system or system function used
to fulfill system purpose.
• Focus on customer’s needs and
problem, not on solutions:
– Requirements definition document
(written for customer).
– Requirements specification document
(written for programmer; technical staff).
9
Types of Requirements - 1
• Functional requirements:
– input/output
– processing.
– error handling.
• Non-functional requirements:
– Physical environment (equipment locations,
multiple sites, etc.).
– Interfaces (data medium etc.).
– User & human factors (who are the users, their
skill level etc.).
10
Types of Requirements - 2
• Non-functional requirements (continued):
– Performance (how well is system functioning).
– Documentation.
– Data (qualitative stuff).
– Resources (finding, physical space).
– Security (backup, firewall).
– Quality assurance (max. down time, MTBF, etc.).
11
Requirement Validation
• Correct?
• Consistent?
• Complete?
– Externally - all desired properties are present.
– Internally - no undefined references.
• Each requirement describes something
actually needed by the customer.
• Requirements are verifiable (testable)?
• Requirements are traceable.
12
Requirements Definition
Document
• General purpose of document.
• System background and objectives.
• Description of approach.
• Detailed characteristics of proposed
system (data & functionality).
• Description of operating environment.
13
Software Requirements Elicitation
• Customer meetings are the most commonly used
technique.
• Use context free questions to find out
– customer's goals and benefits
– identify stakeholders
– gain understanding of problem
– determine customer reactions to proposed solutions
– assess meeting effectiveness
• Interview cross section of users when many users
are anticipated.
14
F.A.S.T. - 1
• Facilitated application specification technique
• Meeting between customers and developers
at a neutral site (no home advantage).
• Goals
– identify the problem
– propose elements of solution
– negotiate different approaches
– specify preliminary set of requirements
15
F.A.S.T. - 2
• Rules for participation and preparation
established ahead of time.
• Agenda suggested
– brainstorming encouraged
• Facilitator appointed.
• Definition mechanism
– sheets, flipcharts, wallboards, stickers, etc.
16
Q.F.D. - 1
• Quality Function Deployment
• Customer’s needs imply technical
requirements:
– Normal requirements
(minimal functional & performance).
– Expected requirements
(important implicit requirements, i.e. ease of use).
– Exciting requirements
(may become normal requirements in the future, highly
prized & valued).
17
Q.F.D. - 2
• Function Deployment:
– Determines value of required function.
• Information Deployment:
– Focuses on data objects and events
produced or consumed by the system.
• Task Deployment:
– product behavior and implied operating
environment.
18
Q.F.D. - 3
• Value Analysis makes use of:
– Customer interviews.
– Observations.
– Surveys.
– Historical data.
• to create
– Customer Voice Table
– extract expected requirements
– derive exciting req.
19
Use Cases
• Scenarios that describe how the product will be used
in specific situations.
• Written narratives that describe the role of an actor
(user or device) as it interacts with the system.
• Use-cases designed from the actor's point of view.
• Not all actors can be identified during the first
iteration of requirements elicitation, but it is important
to identify the primary actors before developing the
use-cases.
20
User Profile - Example
• Full Control (Administrator)
• Read/Write/Modify All (Manager)
• Read/Write/Modify Own (Inspector)
• Read Only (General Public)
21
Use Case Example - 1
• Read Only Users
– The read-only users will only read the database
and cannot insert, delete or modify any records.
• Read/Write/Modify Own Users
– This level of users will be able to insert new
inspection details, facility information and generate
letters. They will be also able to modify the entries
they made in the past.
22
Use Case Example - 2
• Read/Write/Modify All Users
– This level of users will be able to do all the record
maintenance tasks. They will be able to modify
any records created by any users.
• Full Control Users
– This is the system administrative level which will
be able to change any application settings, as well
as maintaining user profiles.
23
24
25
26
Analysis Principles
• Information domain of problem must be
presented & understood.
• Models depicting system information,
functions, and behavior should be developed.
• Models and problems must be partitioned in a
manner that uncovers detail in layers.
• Analysis proceeds from essential information
toward implementation detail
• Must be traceable.
27
Information Domain
• Encompasses all data objects that contain
numbers, text, images, audio, or video.
• Information content or data model
– shows the relationships among the data and
control objects that make up the system
• Information flow
– represents manner in which data and control
objects change as each moves through system
• Information structure
– representations of the internal organizations of
various data and control items
28
Modeling
• Data model
– shows relationships among system objects
• Functional model
– description of the functions that enable the
transformations of system objects
• Behavioral model
– manner in which software responds to
events from the outside world
29
Partitioning
• Process that results in the elaboration of
data, function, or behavior.
• Horizontal partitioning
– breadth-first decomposition of the system function,
behavior, or information, one level at a time.
• Vertical partitioning
– depth-first elaboration of the system function,
behavior, or information, one subsystem at a time.
30
Requirements Views
• Essential view
– presents the functions to be accomplished and the
information to be processed while ignoring
implementation
• Implementation view
– presents the real world realization of processing
functions and information structures
• Avoid the temptation to move directly to the
implementation view and assuming that the
essence of the problem is obvious.
31
Specification Principles - 1
• Separate functionality from implementation.
• A process-oriented specification language is
needed.
• Specification must encompass the system
containing the software component.
• Specification must encompass the
environment.
• System specification = cognitive model.
32
Specification Principles - 2
• Specification must be operational (talk
about how it works).
• Must be tolerant of incompleteness and
easy to add to.
• Specification must be localized and
loosely coupled (pieces of things are
independent of each other).
33
Specification Representation
• Representation format and content
should be relevant to the problem.
• Information contained within the
specification should be nested.
• Diagrams and other notational forms
should be restricted in number and
consistent in use.
• Representations should be revisable.
34
Specification Review
• Conducted by customer and software
developer.
• Once approved, the specification becomes a
contract for software development.
• The specification is difficult to test in a
meaningful way.
• Assessing the impact of specification
changes is hard to do.
35
Requirements Review
• Goals & objectives review.
• Compare requirements to goals &
objectives.
• Consider system operating
environment.
• Assess and document all risks in
system developmental operation.
• Discuss testing procedure.
36
Evaluating Specification
Techniques - 1
• Requirements are understandable to
naive user.
• Requirements form basis for design and
testing.
• Automated requirements checking?
• Requirements form external view of
system.
37
Evaluating Specification
Techniques - 2
• Technique aid in organizing and
structuring requirements.
• Technique for prototyping.
• Automatic test case generation from
requirements.
• Appropriate for application.
38
Prototyping and Specification
• Throwaway prototyping
– prototype only used as a demonstration of product
requirements
– finished software is engineered using another paradigm
• Evolutionary prototyping
– prototype is refined to build the finished system
• Customer resources must be committed to evaluation
and refinement of the prototype.
• Customer must be capable of making requirements
decisions in a timely manner.
39
Evolutionary Rapid
Prototyping
40
E.R.P. Process
• Goal is to write less throw away code
than spiral model
• Starts with project plan and plans for
software evolution
• Risks/Unknowns favoring ERP use:
– Customer requirements
– Technology
– Interfaces
41
E.R.P. Risks
• Premature delivery.
• Premature design selection.
• Features in prototype can get lost in
final product.
• There is a tendency to choose
efficiency of production over product
modifiability.
42
E.R.P. Advice
• Focus on what will take least amount of
programming time over maintainability.
• With rapid prototyping don’t write code
until ready.
• Spiral model any code written may be
thrown out after risk assessment.
43
E.R.P. Analysis
• What.
• When.
• Cost.
• Completion.
• Re-use.
• Contingencies.
• Rewards.
44
Implementation and Testing
1. Code.
2. Test.
3. Debug.
4. Go to 1 (repeat).
45
Each Spin Cycle
• Each module is evaluated and rated:
– Leave as is.
– Rewrite.
– Replace with existing code.
– Discard, is no longer needed.
46
Re-implementation Symptoms
• Prototype contains spaghetti code.
• Prototype cannot be extended to meet
full user requirements.
• Work to fix time implies less work to
start again.

More Related Content

PPT
Requirement Analysis - Software Enigneering
PPT
22-REQUIREMENT.ppt
PDF
Se6162 analysis concept and principles
PPTX
Soft requirement
PPT
Lec11
PDF
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
PPT
Requirement analysis and specification, software engineering
PPT
Requirements analysis
Requirement Analysis - Software Enigneering
22-REQUIREMENT.ppt
Se6162 analysis concept and principles
Soft requirement
Lec11
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Requirement analysis and specification, software engineering
Requirements analysis

Similar to Software Requirements Analysis Lecture.ppt (20)

PPT
Requirements Engineering
PPTX
Unit II- Hardware design & testing methods1 - Electronic Product Design
PDF
software requirement
PDF
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
PPT
Presentation of se
PDF
Software project management requirements analysis
PPTX
Un it 2-se-mod-staff
PPT
Software Requirements engineering
PDF
3. 1 req elicitation
PPTX
Lecture3
PDF
SE_Unit 3_System & Requirement Engineering.pdf
PPT
Requirements engineering iv
PPTX
Software Engineering- Requirement Elicitation and Specification
PDF
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
PPT
REQUIREMENT ENGINEERING
PPTX
Development Guideline
PPTX
SSdsdc dssdsd sfdddsd sdsds assas sdsddsdsdAD.pptx
PPTX
SF 9_Unit 2.pptx software engineering ppt
PPT
Software Engineering Lec 4-requirments
PPT
Requirements analysis lecture
Requirements Engineering
Unit II- Hardware design & testing methods1 - Electronic Product Design
software requirement
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Presentation of se
Software project management requirements analysis
Un it 2-se-mod-staff
Software Requirements engineering
3. 1 req elicitation
Lecture3
SE_Unit 3_System & Requirement Engineering.pdf
Requirements engineering iv
Software Engineering- Requirement Elicitation and Specification
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
REQUIREMENT ENGINEERING
Development Guideline
SSdsdc dssdsd sfdddsd sdsds assas sdsddsdsdAD.pptx
SF 9_Unit 2.pptx software engineering ppt
Software Engineering Lec 4-requirments
Requirements analysis lecture
Ad

Recently uploaded (20)

PDF
Understanding Forklifts - TECH EHS Solution
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Nekopoi APK 2025 free lastest update
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
medical staffing services at VALiNTRY
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
history of c programming in notes for students .pptx
PDF
Digital Strategies for Manufacturing Companies
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Introduction to Artificial Intelligence
Understanding Forklifts - TECH EHS Solution
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PTS Company Brochure 2025 (1).pdf.......
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Navsoft: AI-Powered Business Solutions & Custom Software Development
medical staffing services at VALiNTRY
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Adobe Illustrator 28.6 Crack My Vision of Vector Design
history of c programming in notes for students .pptx
Digital Strategies for Manufacturing Companies
Softaken Excel to vCard Converter Software.pdf
Operating system designcfffgfgggggggvggggggggg
2025 Textile ERP Trends: SAP, Odoo & Oracle
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Introduction to Artificial Intelligence
Ad

Software Requirements Analysis Lecture.ppt

  • 2. 2 Requirements Analysis • Software engineering task bridging the gap between system requirements engineering and software design. • Provides software designer with a model of: – system information – function – behavior • Model can be translated to data, architectural, and component-level designs. • Expect to do a little bit of design during analysis and a little bit of analysis during design.
  • 3. 3 Analysis Objectives • Identify customer’s needs. • Evaluate system for feasibility. • Perform economic and technical analysis. • Allocate functions to system elements. • Establish schedule and constraints. • Create system definitions.
  • 4. 4 Software Requirements Analysis Phases • Problem recognition • Evaluation and synthesis – focus is on what not how • Modeling • Specification • Review
  • 5. 5 Management Questions • How much effort put towards analysis? • Who does the analysis? • Why is it so difficult? • Bottom line - who pays for it?
  • 6. 6 Feasibility Study • Economic feasibility – cost/benefit analysis • Technical feasibility – hardware/software/people, etc. • Legal feasibility • Alternatives – there is always more than one way to do it
  • 7. 7 System Specification • Introduction. • Functional data description. • Subsystem description. • System modeling and simulation results. • Products. • Appendices.
  • 8. 8 Requirements • Requirement – features of system or system function used to fulfill system purpose. • Focus on customer’s needs and problem, not on solutions: – Requirements definition document (written for customer). – Requirements specification document (written for programmer; technical staff).
  • 9. 9 Types of Requirements - 1 • Functional requirements: – input/output – processing. – error handling. • Non-functional requirements: – Physical environment (equipment locations, multiple sites, etc.). – Interfaces (data medium etc.). – User & human factors (who are the users, their skill level etc.).
  • 10. 10 Types of Requirements - 2 • Non-functional requirements (continued): – Performance (how well is system functioning). – Documentation. – Data (qualitative stuff). – Resources (finding, physical space). – Security (backup, firewall). – Quality assurance (max. down time, MTBF, etc.).
  • 11. 11 Requirement Validation • Correct? • Consistent? • Complete? – Externally - all desired properties are present. – Internally - no undefined references. • Each requirement describes something actually needed by the customer. • Requirements are verifiable (testable)? • Requirements are traceable.
  • 12. 12 Requirements Definition Document • General purpose of document. • System background and objectives. • Description of approach. • Detailed characteristics of proposed system (data & functionality). • Description of operating environment.
  • 13. 13 Software Requirements Elicitation • Customer meetings are the most commonly used technique. • Use context free questions to find out – customer's goals and benefits – identify stakeholders – gain understanding of problem – determine customer reactions to proposed solutions – assess meeting effectiveness • Interview cross section of users when many users are anticipated.
  • 14. 14 F.A.S.T. - 1 • Facilitated application specification technique • Meeting between customers and developers at a neutral site (no home advantage). • Goals – identify the problem – propose elements of solution – negotiate different approaches – specify preliminary set of requirements
  • 15. 15 F.A.S.T. - 2 • Rules for participation and preparation established ahead of time. • Agenda suggested – brainstorming encouraged • Facilitator appointed. • Definition mechanism – sheets, flipcharts, wallboards, stickers, etc.
  • 16. 16 Q.F.D. - 1 • Quality Function Deployment • Customer’s needs imply technical requirements: – Normal requirements (minimal functional & performance). – Expected requirements (important implicit requirements, i.e. ease of use). – Exciting requirements (may become normal requirements in the future, highly prized & valued).
  • 17. 17 Q.F.D. - 2 • Function Deployment: – Determines value of required function. • Information Deployment: – Focuses on data objects and events produced or consumed by the system. • Task Deployment: – product behavior and implied operating environment.
  • 18. 18 Q.F.D. - 3 • Value Analysis makes use of: – Customer interviews. – Observations. – Surveys. – Historical data. • to create – Customer Voice Table – extract expected requirements – derive exciting req.
  • 19. 19 Use Cases • Scenarios that describe how the product will be used in specific situations. • Written narratives that describe the role of an actor (user or device) as it interacts with the system. • Use-cases designed from the actor's point of view. • Not all actors can be identified during the first iteration of requirements elicitation, but it is important to identify the primary actors before developing the use-cases.
  • 20. 20 User Profile - Example • Full Control (Administrator) • Read/Write/Modify All (Manager) • Read/Write/Modify Own (Inspector) • Read Only (General Public)
  • 21. 21 Use Case Example - 1 • Read Only Users – The read-only users will only read the database and cannot insert, delete or modify any records. • Read/Write/Modify Own Users – This level of users will be able to insert new inspection details, facility information and generate letters. They will be also able to modify the entries they made in the past.
  • 22. 22 Use Case Example - 2 • Read/Write/Modify All Users – This level of users will be able to do all the record maintenance tasks. They will be able to modify any records created by any users. • Full Control Users – This is the system administrative level which will be able to change any application settings, as well as maintaining user profiles.
  • 23. 23
  • 24. 24
  • 25. 25
  • 26. 26 Analysis Principles • Information domain of problem must be presented & understood. • Models depicting system information, functions, and behavior should be developed. • Models and problems must be partitioned in a manner that uncovers detail in layers. • Analysis proceeds from essential information toward implementation detail • Must be traceable.
  • 27. 27 Information Domain • Encompasses all data objects that contain numbers, text, images, audio, or video. • Information content or data model – shows the relationships among the data and control objects that make up the system • Information flow – represents manner in which data and control objects change as each moves through system • Information structure – representations of the internal organizations of various data and control items
  • 28. 28 Modeling • Data model – shows relationships among system objects • Functional model – description of the functions that enable the transformations of system objects • Behavioral model – manner in which software responds to events from the outside world
  • 29. 29 Partitioning • Process that results in the elaboration of data, function, or behavior. • Horizontal partitioning – breadth-first decomposition of the system function, behavior, or information, one level at a time. • Vertical partitioning – depth-first elaboration of the system function, behavior, or information, one subsystem at a time.
  • 30. 30 Requirements Views • Essential view – presents the functions to be accomplished and the information to be processed while ignoring implementation • Implementation view – presents the real world realization of processing functions and information structures • Avoid the temptation to move directly to the implementation view and assuming that the essence of the problem is obvious.
  • 31. 31 Specification Principles - 1 • Separate functionality from implementation. • A process-oriented specification language is needed. • Specification must encompass the system containing the software component. • Specification must encompass the environment. • System specification = cognitive model.
  • 32. 32 Specification Principles - 2 • Specification must be operational (talk about how it works). • Must be tolerant of incompleteness and easy to add to. • Specification must be localized and loosely coupled (pieces of things are independent of each other).
  • 33. 33 Specification Representation • Representation format and content should be relevant to the problem. • Information contained within the specification should be nested. • Diagrams and other notational forms should be restricted in number and consistent in use. • Representations should be revisable.
  • 34. 34 Specification Review • Conducted by customer and software developer. • Once approved, the specification becomes a contract for software development. • The specification is difficult to test in a meaningful way. • Assessing the impact of specification changes is hard to do.
  • 35. 35 Requirements Review • Goals & objectives review. • Compare requirements to goals & objectives. • Consider system operating environment. • Assess and document all risks in system developmental operation. • Discuss testing procedure.
  • 36. 36 Evaluating Specification Techniques - 1 • Requirements are understandable to naive user. • Requirements form basis for design and testing. • Automated requirements checking? • Requirements form external view of system.
  • 37. 37 Evaluating Specification Techniques - 2 • Technique aid in organizing and structuring requirements. • Technique for prototyping. • Automatic test case generation from requirements. • Appropriate for application.
  • 38. 38 Prototyping and Specification • Throwaway prototyping – prototype only used as a demonstration of product requirements – finished software is engineered using another paradigm • Evolutionary prototyping – prototype is refined to build the finished system • Customer resources must be committed to evaluation and refinement of the prototype. • Customer must be capable of making requirements decisions in a timely manner.
  • 40. 40 E.R.P. Process • Goal is to write less throw away code than spiral model • Starts with project plan and plans for software evolution • Risks/Unknowns favoring ERP use: – Customer requirements – Technology – Interfaces
  • 41. 41 E.R.P. Risks • Premature delivery. • Premature design selection. • Features in prototype can get lost in final product. • There is a tendency to choose efficiency of production over product modifiability.
  • 42. 42 E.R.P. Advice • Focus on what will take least amount of programming time over maintainability. • With rapid prototyping don’t write code until ready. • Spiral model any code written may be thrown out after risk assessment.
  • 43. 43 E.R.P. Analysis • What. • When. • Cost. • Completion. • Re-use. • Contingencies. • Rewards.
  • 44. 44 Implementation and Testing 1. Code. 2. Test. 3. Debug. 4. Go to 1 (repeat).
  • 45. 45 Each Spin Cycle • Each module is evaluated and rated: – Leave as is. – Rewrite. – Replace with existing code. – Discard, is no longer needed.
  • 46. 46 Re-implementation Symptoms • Prototype contains spaghetti code. • Prototype cannot be extended to meet full user requirements. • Work to fix time implies less work to start again.