SlideShare una empresa de Scribd logo
1 de 47
REQUIREMENTS
ANALYSIS
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.
▪ Legal feasibility
▪ Alternatives
▪ there is always more than one way to do it
6
SYSTEM SPECIFICATION
▪ Introduction.
▪ Functional data 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.
▪ Each requirement 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 requirements14
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.
15
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).
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
Draw the use case diagrams for
▪ Library system
▪ Registration for admission
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.
47

Más contenido relacionado

La actualidad más candente

Views on building blocks
Views on building blocksViews on building blocks
Views on building blocksRitesh Khanna
 
Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineeringSyed Zaid Irshad
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
 
Intro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisIntro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisRadu_Negulescu
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specificationM.E. at GTU- PG School
 
Requirement specification
Requirement specificationRequirement specification
Requirement specificationAbdul Basit
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5sampad_senapati
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering ProcessJomel Penalba
 
Non functional requirements framework
Non functional requirements frameworkNon functional requirements framework
Non functional requirements frameworkwweinmeyer79
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysisAntony Alex
 
Scenario based methods
Scenario based methodsScenario based methods
Scenario based methodsJoshuaU1
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modelingAbdul Basit
 

La actualidad más candente (20)

Views on building blocks
Views on building blocksViews on building blocks
Views on building blocks
 
Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineering
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
System requirements analysis
System requirements analysisSystem requirements analysis
System requirements analysis
 
Intro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisIntro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements Analysis
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Requirement specification
Requirement specificationRequirement specification
Requirement specification
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Non functional requirements framework
Non functional requirements frameworkNon functional requirements framework
Non functional requirements framework
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Requirements Analysis
Requirements AnalysisRequirements Analysis
Requirements Analysis
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
Scenario based methods
Scenario based methodsScenario based methods
Scenario based methods
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
 

Destacado

Exposicion uvd
Exposicion uvdExposicion uvd
Exposicion uvdeduardo
 
Tesina cocinas de inducción
Tesina cocinas de inducción Tesina cocinas de inducción
Tesina cocinas de inducción ESPE
 
Monografía 4
Monografía 4Monografía 4
Monografía 4David Alex
 
Cocinas industriales: recubrimiento para pisos, plafón y paredes
Cocinas industriales: recubrimiento para pisos, plafón y paredesCocinas industriales: recubrimiento para pisos, plafón y paredes
Cocinas industriales: recubrimiento para pisos, plafón y paredesjurenapena
 
Primera Investigacion Cocinas Industriales - Seccion: 01
Primera Investigacion Cocinas Industriales - Seccion: 01Primera Investigacion Cocinas Industriales - Seccion: 01
Primera Investigacion Cocinas Industriales - Seccion: 01Lia Alejandra Montas
 

Destacado (6)

Presentation of Valeri Consulenza Industriale
Presentation of Valeri Consulenza IndustrialePresentation of Valeri Consulenza Industriale
Presentation of Valeri Consulenza Industriale
 
Exposicion uvd
Exposicion uvdExposicion uvd
Exposicion uvd
 
Tesina cocinas de inducción
Tesina cocinas de inducción Tesina cocinas de inducción
Tesina cocinas de inducción
 
Monografía 4
Monografía 4Monografía 4
Monografía 4
 
Cocinas industriales: recubrimiento para pisos, plafón y paredes
Cocinas industriales: recubrimiento para pisos, plafón y paredesCocinas industriales: recubrimiento para pisos, plafón y paredes
Cocinas industriales: recubrimiento para pisos, plafón y paredes
 
Primera Investigacion Cocinas Industriales - Seccion: 01
Primera Investigacion Cocinas Industriales - Seccion: 01Primera Investigacion Cocinas Industriales - Seccion: 01
Primera Investigacion Cocinas Industriales - Seccion: 01
 

Similar a Lec11

Sad lecture 2
Sad lecture 2Sad lecture 2
Sad lecture 2Amin Omi
 
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
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
SE - Lecture 2 - SW Devl Process.pptx
SE - Lecture 2 - SW Devl Process.pptxSE - Lecture 2 - SW Devl Process.pptx
SE - Lecture 2 - SW Devl Process.pptxTangZhiSiang
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staffvijisvs2012
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 
SE_Unit 3_System & Requirement Engineering.pdf
SE_Unit 3_System & Requirement Engineering.pdfSE_Unit 3_System & Requirement Engineering.pdf
SE_Unit 3_System & Requirement Engineering.pdfRAVALCHIRAG1
 

Similar a Lec11 (20)

Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Sad lecture 2
Sad lecture 2Sad lecture 2
Sad lecture 2
 
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
 
Unit II- Hardware design & testing methods1 - Electronic Product Design
Unit II- Hardware design & testing methods1 - Electronic Product DesignUnit II- Hardware design & testing methods1 - Electronic Product Design
Unit II- Hardware design & testing methods1 - Electronic Product Design
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Soft requirement
Soft requirementSoft requirement
Soft requirement
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
03_IT4557.pptx
03_IT4557.pptx03_IT4557.pptx
03_IT4557.pptx
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Requirementengg
RequirementenggRequirementengg
Requirementengg
 
SE - Lecture 2 - SW Devl Process.pptx
SE - Lecture 2 - SW Devl Process.pptxSE - Lecture 2 - SW Devl Process.pptx
SE - Lecture 2 - SW Devl Process.pptx
 
Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
 
22-REQUIREMENT.ppt
22-REQUIREMENT.ppt22-REQUIREMENT.ppt
22-REQUIREMENT.ppt
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
SE_Unit 3_System & Requirement Engineering.pdf
SE_Unit 3_System & Requirement Engineering.pdfSE_Unit 3_System & Requirement Engineering.pdf
SE_Unit 3_System & Requirement Engineering.pdf
 
Bai giang-se-20feb14
Bai giang-se-20feb14Bai giang-se-20feb14
Bai giang-se-20feb14
 
Presentation of se
Presentation of sePresentation of se
Presentation of se
 

Más de Dom Mike

Mm10lifecycle
Mm10lifecycleMm10lifecycle
Mm10lifecycleDom Mike
 
Lecture ethics
Lecture ethicsLecture ethics
Lecture ethicsDom Mike
 
Lecture 1 prof practices
Lecture 1 prof practicesLecture 1 prof practices
Lecture 1 prof practicesDom Mike
 
Lec51 52 pre and post production
Lec51 52 pre and post productionLec51 52 pre and post production
Lec51 52 pre and post productionDom Mike
 
Lec49 50 digital rights management
Lec49 50 digital rights managementLec49 50 digital rights management
Lec49 50 digital rights managementDom Mike
 
Lec40 45 video conferencing
Lec40 45 video conferencingLec40 45 video conferencing
Lec40 45 video conferencingDom Mike
 
Lec28 29 30 animation
Lec28 29 30 animationLec28 29 30 animation
Lec28 29 30 animationDom Mike
 
Lec14 15 16 text
Lec14 15 16 textLec14 15 16 text
Lec14 15 16 textDom Mike
 
Lec7 8 9_10 coding techniques
Lec7 8 9_10 coding techniquesLec7 8 9_10 coding techniques
Lec7 8 9_10 coding techniquesDom Mike
 
Lec6 compression
Lec6 compressionLec6 compression
Lec6 compressionDom Mike
 
Lec5 interactive multimedia tools
Lec5 interactive multimedia toolsLec5 interactive multimedia tools
Lec5 interactive multimedia toolsDom Mike
 
Lec3 4 mm applications and use
Lec3 4 mm applications and useLec3 4 mm applications and use
Lec3 4 mm applications and useDom Mike
 
Lec1 2 introduction
Lec1 2 introductionLec1 2 introduction
Lec1 2 introductionDom Mike
 
Introduction
IntroductionIntroduction
IntroductionDom Mike
 
Assessing technology landscape
Assessing technology landscapeAssessing technology landscape
Assessing technology landscapeDom Mike
 
Lecture 2 19-2
Lecture 2 19-2Lecture 2 19-2
Lecture 2 19-2Dom Mike
 

Más de Dom Mike (20)

Mm10lifecycle
Mm10lifecycleMm10lifecycle
Mm10lifecycle
 
Lecture ethics
Lecture ethicsLecture ethics
Lecture ethics
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lecture 1 prof practices
Lecture 1 prof practicesLecture 1 prof practices
Lecture 1 prof practices
 
Lec51 52 pre and post production
Lec51 52 pre and post productionLec51 52 pre and post production
Lec51 52 pre and post production
 
Lec49 50 digital rights management
Lec49 50 digital rights managementLec49 50 digital rights management
Lec49 50 digital rights management
 
Lec40 45 video conferencing
Lec40 45 video conferencingLec40 45 video conferencing
Lec40 45 video conferencing
 
Lec28 29 30 animation
Lec28 29 30 animationLec28 29 30 animation
Lec28 29 30 animation
 
Lec14 15 16 text
Lec14 15 16 textLec14 15 16 text
Lec14 15 16 text
 
Lec7 8 9_10 coding techniques
Lec7 8 9_10 coding techniquesLec7 8 9_10 coding techniques
Lec7 8 9_10 coding techniques
 
Lec6 compression
Lec6 compressionLec6 compression
Lec6 compression
 
Lec5 interactive multimedia tools
Lec5 interactive multimedia toolsLec5 interactive multimedia tools
Lec5 interactive multimedia tools
 
Lec3 4 mm applications and use
Lec3 4 mm applications and useLec3 4 mm applications and use
Lec3 4 mm applications and use
 
Lec1 2 introduction
Lec1 2 introductionLec1 2 introduction
Lec1 2 introduction
 
Introduction
IntroductionIntroduction
Introduction
 
Ch7
Ch7Ch7
Ch7
 
Ch6
Ch6Ch6
Ch6
 
Assessing technology landscape
Assessing technology landscapeAssessing technology landscape
Assessing technology landscape
 
Lecture 2 19-2
Lecture 2 19-2Lecture 2 19-2
Lecture 2 19-2
 
Uzair ppt
Uzair pptUzair ppt
Uzair ppt
 

Último

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Último (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Lec11

  • 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. ▪ Legal feasibility ▪ Alternatives ▪ there is always more than one way to do it 6
  • 7. SYSTEM SPECIFICATION ▪ Introduction. ▪ Functional data 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. ▪ Each requirement 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 requirements14
  • 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. 15
  • 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). 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. Draw the use case diagrams for ▪ Library system ▪ Registration for admission 20
  • 21. USER PROFILE - EXAMPLE ▪ Full Control (Administrator) ▪ Read/Write/Modify All (Manager) ▪ Read/Write/Modify Own (Inspector) ▪ Read Only (General Public) 21
  • 22. 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
  • 23. 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. 24
  • 25. 25
  • 26. 26
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. EVALUATING SPECIFICATION TECHNIQUES - 2 ▪ Technique aid in organizing and structuring requirements. ▪ Technique for prototyping. ▪ Automatic test case generation from requirements. ▪ Appropriate for application. 38
  • 39. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. E.R.P. ANALYSIS ▪ What. ▪ When. ▪ Cost. ▪ Completion. ▪ Re-use. ▪ Contingencies. ▪ Rewards. 44
  • 45. IMPLEMENTATION AND TESTING 1. Code. 2. Test. 3. Debug. 4. Go to 1 (repeat). 45
  • 46. EACH SPIN CYCLE ▪ Each module is evaluated and rated: ▪ Leave as is. ▪ Rewrite. ▪ Replace with existing code. ▪ Discard, is no longer needed. 46
  • 47. 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. 47