SlideShare a Scribd company logo
1 of 46
Requirements Analysis

   CIS 375
   Bruce R. Maxim
   UM-Dearborn




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




                                                              2
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.




                                            3
Software Requirements Analysis
Phases
Problem  recognition
Evaluation and synthesis
  ◦ focus is on what not how
Modeling
Specification
Review




                                 4
Management Questions
How  much effort put towards analysis?
Who does the analysis?
Why is it so difficult?
Bottom line - who pays for it?




                                          5
Feasibility Study
Economic    feasibility
 ◦ cost/benefit analysis
Technical   feasibility
 ◦ hardware/software/people, etc.
Legalfeasibility
Alternatives
 ◦ there is always more than one way to do it



                                                6
System Specification
Introduction.
Functionaldata description.
Subsystem description.
System modeling and simulation results.
Products.
Appendices.




                                           7
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).



                                                   8
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.).



                                                          9
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.).




                                                       10
Requirement Validation
Correct?
Consistent?
Complete?
  ◦ Externally - all desired properties are present.
  ◦ Internally - no undefined references.
Eachrequirement describes something actually
 needed by the customer.
Requirements are verifiable (testable)?
Requirements are traceable.




                                                       11
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.




                                         12
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.



                                                           13
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




                                                   14
F.A.S.T. - 2
Rules  for participation and preparation
 established ahead of time.
Agenda suggested
 ◦ brainstorming encouraged
Facilitatorappointed.
Definition mechanism
 ◦ sheets, flipcharts, wallboards, stickers, etc.



                                                    15
Q.F.D. - 1
QualityFunction 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).




                                                                16
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.



                                                 17
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.



                                   18
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.




                                                            19
User Profile - Example
Full
    Control (Administrator)
Read/Write/Modify All (Manager)
Read/Write/Modify Own (Inspector)
Read Only (General Public)




                                     20
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.




                                                       21
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.




                                                       22
23
24
25
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.




                                                   26
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

                                                               27
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



                                                  28
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.




                                                          29
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.



                                                        30
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.




                                                 31
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).



                                           32
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.



                                        33
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.



                                                    34
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.




                                           35
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.



                                          36
Evaluating Specification Techniques - 2
Technique   aid in organizing and
 structuring requirements.
Technique for prototyping.
Automatic test case generation from
 requirements.
Appropriate for application.




                                          37
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.



                                                             38
Evolutionary Rapid Prototyping




                                 39
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



                                          40
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.




                                               41
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.




                                             42
E.R.P. Analysis
What.
When.
Cost.
Completion.
Re-use.
Contingencies.
Rewards.



                  43
Implementation and Testing
1. Code.
2. Test.
3. Debug.
4. Go to 1 (repeat).




                             44
Each Spin Cycle
Each    module is evaluated and rated:
 ◦   Leave as is.
 ◦   Rewrite.
 ◦   Replace with existing code.
 ◦   Discard, is no longer needed.




                                          45
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.




                                         46

More Related Content

What's hot

Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdfbcanawakadalcollege
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineeringPreeti Mishra
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquesSiva Priya
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1Siddharth Ayer
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 

What's hot (20)

Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
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
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 

Similar to Requirements analysis

Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Dhairya Joshi
 
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
 
Se6162 analysis concept and principles
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principleskhaerul azmi
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdfMuhammad Imran
 
Cis 2303 lo1 part 1_weeks_1_2 - student ver
Cis 2303 lo1 part 1_weeks_1_2 - student verCis 2303 lo1 part 1_weeks_1_2 - student ver
Cis 2303 lo1 part 1_weeks_1_2 - student verAhmad Ammari
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Mis system analysis and system design
Mis   system analysis and system designMis   system analysis and system design
Mis system analysis and system designRahul Hedau
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTUMohammad Faizan
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysisAntony Alex
 
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM IIIEmbedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM IIINi
 
Software engineering
Software engineeringSoftware engineering
Software engineeringrenukarenuka9
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and designRobinsonObura
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
 

Similar to Requirements analysis (20)

Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
 
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
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
Soft requirement
Soft requirementSoft requirement
Soft requirement
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Lec11
Lec11Lec11
Lec11
 
Se6162 analysis concept and principles
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principles
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
Cis 2303 lo1 part 1_weeks_1_2 - student ver
Cis 2303 lo1 part 1_weeks_1_2 - student verCis 2303 lo1 part 1_weeks_1_2 - student ver
Cis 2303 lo1 part 1_weeks_1_2 - student ver
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Mis system analysis and system design
Mis   system analysis and system designMis   system analysis and system design
Mis system analysis and system design
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTU
 
Lecture3
Lecture3Lecture3
Lecture3
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
Presentation2
Presentation2Presentation2
Presentation2
 
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM IIIEmbedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 

More from asimnawaz54

Lecture 3 qualtifed rules of inference
Lecture 3 qualtifed rules of inferenceLecture 3 qualtifed rules of inference
Lecture 3 qualtifed rules of inferenceasimnawaz54
 
Lecture 2 predicates quantifiers and rules of inference
Lecture 2 predicates quantifiers and rules of inferenceLecture 2 predicates quantifiers and rules of inference
Lecture 2 predicates quantifiers and rules of inferenceasimnawaz54
 
Expert systems with applications
Expert systems with applicationsExpert systems with applications
Expert systems with applicationsasimnawaz54
 
Establishing knowledge base
Establishing knowledge baseEstablishing knowledge base
Establishing knowledge baseasimnawaz54
 
Designing the expert system
Designing the expert systemDesigning the expert system
Designing the expert systemasimnawaz54
 
1 s2.0-s0957417410007244-main
1 s2.0-s0957417410007244-main1 s2.0-s0957417410007244-main
1 s2.0-s0957417410007244-mainasimnawaz54
 
Packet switching
Packet switchingPacket switching
Packet switchingasimnawaz54
 
Network layer and circuit switching
Network layer and circuit switchingNetwork layer and circuit switching
Network layer and circuit switchingasimnawaz54
 
Network layer and circuit switching
Network layer and circuit switchingNetwork layer and circuit switching
Network layer and circuit switchingasimnawaz54
 
Internet control message protocol
Internet control message protocolInternet control message protocol
Internet control message protocolasimnawaz54
 
Address resolution protocol
Address resolution protocolAddress resolution protocol
Address resolution protocolasimnawaz54
 
Address resolution protocol and internet control message protocol
Address resolution protocol and internet control message protocolAddress resolution protocol and internet control message protocol
Address resolution protocol and internet control message protocolasimnawaz54
 
Advanced software engineering lab 2
Advanced software engineering lab 2Advanced software engineering lab 2
Advanced software engineering lab 2asimnawaz54
 
Object oriented analysis lab1
Object oriented analysis lab1Object oriented analysis lab1
Object oriented analysis lab1asimnawaz54
 
Ooad sequence diagram lecture
Ooad sequence diagram lectureOoad sequence diagram lecture
Ooad sequence diagram lectureasimnawaz54
 

More from asimnawaz54 (17)

Lecture 3 qualtifed rules of inference
Lecture 3 qualtifed rules of inferenceLecture 3 qualtifed rules of inference
Lecture 3 qualtifed rules of inference
 
Lecture 2 predicates quantifiers and rules of inference
Lecture 2 predicates quantifiers and rules of inferenceLecture 2 predicates quantifiers and rules of inference
Lecture 2 predicates quantifiers and rules of inference
 
Expert systems with applications
Expert systems with applicationsExpert systems with applications
Expert systems with applications
 
Establishing knowledge base
Establishing knowledge baseEstablishing knowledge base
Establishing knowledge base
 
Designing the expert system
Designing the expert systemDesigning the expert system
Designing the expert system
 
1 s2.0-s0957417410007244-main
1 s2.0-s0957417410007244-main1 s2.0-s0957417410007244-main
1 s2.0-s0957417410007244-main
 
Packet switching
Packet switchingPacket switching
Packet switching
 
Network layer and circuit switching
Network layer and circuit switchingNetwork layer and circuit switching
Network layer and circuit switching
 
Network layer and circuit switching
Network layer and circuit switchingNetwork layer and circuit switching
Network layer and circuit switching
 
Ipv6up
Ipv6upIpv6up
Ipv6up
 
Ipv4
Ipv4Ipv4
Ipv4
 
Internet control message protocol
Internet control message protocolInternet control message protocol
Internet control message protocol
 
Address resolution protocol
Address resolution protocolAddress resolution protocol
Address resolution protocol
 
Address resolution protocol and internet control message protocol
Address resolution protocol and internet control message protocolAddress resolution protocol and internet control message protocol
Address resolution protocol and internet control message protocol
 
Advanced software engineering lab 2
Advanced software engineering lab 2Advanced software engineering lab 2
Advanced software engineering lab 2
 
Object oriented analysis lab1
Object oriented analysis lab1Object oriented analysis lab1
Object oriented analysis lab1
 
Ooad sequence diagram lecture
Ooad sequence diagram lectureOoad sequence diagram lecture
Ooad sequence diagram lecture
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 

Recently uploaded (20)

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 

Requirements analysis

  • 1. Requirements Analysis CIS 375 Bruce R. Maxim UM-Dearborn 1
  • 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. 2
  • 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. 3
  • 4. Software Requirements Analysis Phases Problem recognition Evaluation and synthesis ◦ focus is on what not how Modeling Specification Review 4
  • 5. Management Questions How much effort put towards analysis? Who does the analysis? Why is it so difficult? Bottom line - who pays for it? 5
  • 6. Feasibility Study Economic feasibility ◦ cost/benefit analysis Technical feasibility ◦ hardware/software/people, etc. Legalfeasibility Alternatives ◦ there is always more than one way to do it 6
  • 7. System Specification Introduction. Functionaldata description. Subsystem description. System modeling and simulation results. Products. Appendices. 7
  • 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). 8
  • 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.). 9
  • 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.). 10
  • 11. Requirement Validation Correct? Consistent? Complete? ◦ Externally - all desired properties are present. ◦ Internally - no undefined references. Eachrequirement describes something actually needed by the customer. Requirements are verifiable (testable)? Requirements are traceable. 11
  • 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. 12
  • 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. 13
  • 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 14
  • 15. F.A.S.T. - 2 Rules for participation and preparation established ahead of time. Agenda suggested ◦ brainstorming encouraged Facilitatorappointed. Definition mechanism ◦ sheets, flipcharts, wallboards, stickers, etc. 15
  • 16. Q.F.D. - 1 QualityFunction 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). 16
  • 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. 17
  • 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. 18
  • 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. 19
  • 20. User Profile - Example Full Control (Administrator) Read/Write/Modify All (Manager) Read/Write/Modify Own (Inspector) Read Only (General Public) 20
  • 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. 21
  • 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. 22
  • 23. 23
  • 24. 24
  • 25. 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. 26
  • 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 27
  • 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 28
  • 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. 29
  • 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. 30
  • 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. 31
  • 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). 32
  • 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. 33
  • 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. 34
  • 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. 35
  • 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. 36
  • 37. Evaluating Specification Techniques - 2 Technique aid in organizing and structuring requirements. Technique for prototyping. Automatic test case generation from requirements. Appropriate for application. 37
  • 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. 38
  • 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 40
  • 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. 41
  • 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. 42
  • 44. Implementation and Testing 1. Code. 2. Test. 3. Debug. 4. Go to 1 (repeat). 44
  • 45. Each Spin Cycle Each module is evaluated and rated: ◦ Leave as is. ◦ Rewrite. ◦ Replace with existing code. ◦ Discard, is no longer needed. 45
  • 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. 46