SlideShare una empresa de Scribd logo
1 de 12
Requirements
 Engineering
  Indri Sudanawati Rozas




                 Maret 2012
References
• R.H. Thayer dan M. Dorfman, Software
  Requirements Engineering, Second Edition, John
  Wiley & Sons, 1999.
• Ian K. Bray, An Introduction to Requirements
  Engineering, Addison Wesley, 2002.
• Karl E Wiegers, Software Requirements, Microsoft
  Press, 2nd Edition, 2003.
• Ian Sommerville and Pete Sawyer, Requirements
  Engineering: A Good Practice, Chichester England,:
  John Wiley & Sons, 1997.
Content
• Introduction to Requirements
  Engineering
What is Requirements?
Requirements are a specification of what should be implemented.
(Sommerville and Sawyer, 1997)


A requirement is a singular documented need of what a particular
product or service should be or do. (Wikipedia, August 2009)



• Necessary Attributes/Properties,
  Characteristics, Capabilities, Quality , and
  Constraints
• In order to have value and utility to a user
What is Requirements Engineering?
• The process of establishing the services that the customer
  requires from a system and the constraints under which it
  operates and is developed (Ian Sommerville, Software
  Engineering, 5th Edition, 1995)

• Investigating and describing the problem domain and
  requirements and designing and documenting the
  characteristics for a solution system that will meet those
  requirements (Ian K. Bray, An Introduction to Requirements
  Engineering, 2002)

• Set of activities concerned with identifying and
  communicating the purpose of a software-intensive
  system, and the contexts in which it will be used. (Steve
  Eastbrook, Dept. Computer Science, Toronto University)
What is Requirements Engineering?

• Investigating and identifying

• Communicating and Documenting
Activities?

•   Requirements Elicitation
•   Requirements Analysis
•   Requirements Specification
•   Requirements Validation
Activities?
Feasibility   Requirements
  study       elicitation and
                  analysis
                                Requirements
                                specification
Feasibility                                     Requirements
  report                                         validation
                  System
                  models
                                U and system
                                 ser
                                 requirements

                                                Requirements
                                                 document
What is Requirements Engineering?
• Investigating and identifying
• Communicating and Documenting




What requirements are not?
• Design and implementation details
• Project planning information
• Testing information
Why RE is Important?
                                    120
Relative Cost to Correct a Defect




                                    100


                                    80

                                    60


                                    40

                                    20


                                     0
                                          Requirements   Design      Code        Test      Operation

                                                             Development Phase
                                                                                   Source: Wiegers, 2003
Characteristics of Excellent
           Requirements

•   Complete
•   Correct
•   Feasible
•   Necessary
•   Prioritized
•   Unambiguous
•   Verifiable
A Requirements
Development Process

Más contenido relacionado

Similar a Requirements engineering i

Getting to the core, requirements gathering in the wild
Getting to the core, requirements gathering in the wildGetting to the core, requirements gathering in the wild
Getting to the core, requirements gathering in the wildFemke Goedhart
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
In Production Application Quality Monitoring
In Production  Application  Quality  MonitoringIn Production  Application  Quality  Monitoring
In Production Application Quality MonitoringLoh Chuan Ho Ervin
 
In-production Application Quality Monitoring
In-production Application Quality MonitoringIn-production Application Quality Monitoring
In-production Application Quality Monitoringervinloh
 
Why managing Requirements right is fundamental for your winning embedded prod...
Why managing Requirements right is fundamental for your winning embedded prod...Why managing Requirements right is fundamental for your winning embedded prod...
Why managing Requirements right is fundamental for your winning embedded prod...Visure Solutions
 
oracle Peoplesoft hrms technical online training
oracle Peoplesoft hrms technical online trainingoracle Peoplesoft hrms technical online training
oracle Peoplesoft hrms technical online trainingMindmajix Technologies
 
Requirements Management Using Innoslate
Requirements Management Using InnoslateRequirements Management Using Innoslate
Requirements Management Using InnoslateElizabeth Steiner
 
Software requirements engineering problems and challenges erp implementation ...
Software requirements engineering problems and challenges erp implementation ...Software requirements engineering problems and challenges erp implementation ...
Software requirements engineering problems and challenges erp implementation ...Dr. Hamdan Al-Sabri
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesRaja Nagendra Kumar
 
Resume thomas abbott_linkedin
Resume thomas abbott_linkedinResume thomas abbott_linkedin
Resume thomas abbott_linkedinTom Abbott
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirementsMohesh Chandran
 
UNDERSTANDING INDUSTRIAL PROCESSES, MEASUREMENT & CONTROLS
UNDERSTANDING INDUSTRIAL PROCESSES, MEASUREMENT & CONTROLSUNDERSTANDING INDUSTRIAL PROCESSES, MEASUREMENT & CONTROLS
UNDERSTANDING INDUSTRIAL PROCESSES, MEASUREMENT & CONTROLSA. V. Rajabahadur
 
Idexcel Independent Testing Services Presentation
Idexcel Independent Testing Services PresentationIdexcel Independent Testing Services Presentation
Idexcel Independent Testing Services PresentationIdexcel
 
Sustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewSustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewHeiko Koziolek
 
Aras PLM Requirements Management
Aras PLM Requirements ManagementAras PLM Requirements Management
Aras PLM Requirements ManagementAras
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATIONSoftware Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATIONDr Anuranjan Misra
 
Re the status_quo_and_what_lies_ahead
Re the status_quo_and_what_lies_aheadRe the status_quo_and_what_lies_ahead
Re the status_quo_and_what_lies_aheadEdward John Crain
 

Similar a Requirements engineering i (20)

Getting to the core, requirements gathering in the wild
Getting to the core, requirements gathering in the wildGetting to the core, requirements gathering in the wild
Getting to the core, requirements gathering in the wild
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
SRE_Lecture_1,2,3,4.pptx
SRE_Lecture_1,2,3,4.pptxSRE_Lecture_1,2,3,4.pptx
SRE_Lecture_1,2,3,4.pptx
 
In Production Application Quality Monitoring
In Production  Application  Quality  MonitoringIn Production  Application  Quality  Monitoring
In Production Application Quality Monitoring
 
In-production Application Quality Monitoring
In-production Application Quality MonitoringIn-production Application Quality Monitoring
In-production Application Quality Monitoring
 
Why managing Requirements right is fundamental for your winning embedded prod...
Why managing Requirements right is fundamental for your winning embedded prod...Why managing Requirements right is fundamental for your winning embedded prod...
Why managing Requirements right is fundamental for your winning embedded prod...
 
oracle Peoplesoft hrms technical online training
oracle Peoplesoft hrms technical online trainingoracle Peoplesoft hrms technical online training
oracle Peoplesoft hrms technical online training
 
Requirements Management Using Innoslate
Requirements Management Using InnoslateRequirements Management Using Innoslate
Requirements Management Using Innoslate
 
SantiSagarMedisetty_Resume
SantiSagarMedisetty_ResumeSantiSagarMedisetty_Resume
SantiSagarMedisetty_Resume
 
Software requirements engineering problems and challenges erp implementation ...
Software requirements engineering problems and challenges erp implementation ...Software requirements engineering problems and challenges erp implementation ...
Software requirements engineering problems and challenges erp implementation ...
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case Studies
 
Resume thomas abbott_linkedin
Resume thomas abbott_linkedinResume thomas abbott_linkedin
Resume thomas abbott_linkedin
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
 
UNDERSTANDING INDUSTRIAL PROCESSES, MEASUREMENT & CONTROLS
UNDERSTANDING INDUSTRIAL PROCESSES, MEASUREMENT & CONTROLSUNDERSTANDING INDUSTRIAL PROCESSES, MEASUREMENT & CONTROLS
UNDERSTANDING INDUSTRIAL PROCESSES, MEASUREMENT & CONTROLS
 
Idexcel Independent Testing Services Presentation
Idexcel Independent Testing Services PresentationIdexcel Independent Testing Services Presentation
Idexcel Independent Testing Services Presentation
 
Sustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewSustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic Review
 
Aras PLM Requirements Management
Aras PLM Requirements ManagementAras PLM Requirements Management
Aras PLM Requirements Management
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATIONSoftware Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
 
Re the status_quo_and_what_lies_ahead
Re the status_quo_and_what_lies_aheadRe the status_quo_and_what_lies_ahead
Re the status_quo_and_what_lies_ahead
 

Último

Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxEasyPrinterHelp
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfEasyPrinterHelp
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 

Último (20)

Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 

Requirements engineering i

  • 1. Requirements Engineering Indri Sudanawati Rozas Maret 2012
  • 2. References • R.H. Thayer dan M. Dorfman, Software Requirements Engineering, Second Edition, John Wiley & Sons, 1999. • Ian K. Bray, An Introduction to Requirements Engineering, Addison Wesley, 2002. • Karl E Wiegers, Software Requirements, Microsoft Press, 2nd Edition, 2003. • Ian Sommerville and Pete Sawyer, Requirements Engineering: A Good Practice, Chichester England,: John Wiley & Sons, 1997.
  • 3. Content • Introduction to Requirements Engineering
  • 4. What is Requirements? Requirements are a specification of what should be implemented. (Sommerville and Sawyer, 1997) A requirement is a singular documented need of what a particular product or service should be or do. (Wikipedia, August 2009) • Necessary Attributes/Properties, Characteristics, Capabilities, Quality , and Constraints • In order to have value and utility to a user
  • 5. What is Requirements Engineering? • The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed (Ian Sommerville, Software Engineering, 5th Edition, 1995) • Investigating and describing the problem domain and requirements and designing and documenting the characteristics for a solution system that will meet those requirements (Ian K. Bray, An Introduction to Requirements Engineering, 2002) • Set of activities concerned with identifying and communicating the purpose of a software-intensive system, and the contexts in which it will be used. (Steve Eastbrook, Dept. Computer Science, Toronto University)
  • 6. What is Requirements Engineering? • Investigating and identifying • Communicating and Documenting
  • 7. Activities? • Requirements Elicitation • Requirements Analysis • Requirements Specification • Requirements Validation
  • 8. Activities? Feasibility Requirements study elicitation and analysis Requirements specification Feasibility Requirements report validation System models U and system ser requirements Requirements document
  • 9. What is Requirements Engineering? • Investigating and identifying • Communicating and Documenting What requirements are not? • Design and implementation details • Project planning information • Testing information
  • 10. Why RE is Important? 120 Relative Cost to Correct a Defect 100 80 60 40 20 0 Requirements Design Code Test Operation Development Phase Source: Wiegers, 2003
  • 11. Characteristics of Excellent Requirements • Complete • Correct • Feasible • Necessary • Prioritized • Unambiguous • Verifiable

Notas del editor

  1. Requirements are a specification of what should be implemented. (Sommerville and Sawyer, 1997). They are descriptions of how a system should behave, or of a system property or attribute. They may be a constraint on the development process of the system. a requirement is a singular documented need of what a particular product or service should be or do. It is most commonly used in a formal sense in systems engineering or software engineering . It is a statement that identifies a necessary attribute, capability, characteristic, or quality of a system in order for it to have value and utility to a user. [1] In the classical engineering approach, sets of requirements are used as inputs into the design stages of product development . Requirements show what elements and functions are necessary for the particular project.