This is an introduction to requirements engineering, with a focus on ambiguity problems related to the use of natural language. It is the first of two lectures. In this lecture we give an overview of the requirements engineering problem, and an overview of ambiguity issues in requirements elicitation interviews and in requirements documents.
This presentation introduces the problem of ambiguity in software engineering in general and requirements engineering in particular. It discusses the various way in which ambiguity can be classified according to the literature and presents the work on detecting pragmatic ambiguity by means of collective intelligence (https://doi.org/10.1109/RE.2012.6345803).
ISO/TS 15066 is a new technical specification that provides safety requirements for collaborative industrial robot systems and work environments where humans and robots interact. It builds on existing robot safety standards by specifying maximum allowable robot power/speed limits and pain onset levels for human contact. The document is intended to guide risk assessments for collaborative robot applications and bring greater clarity to ensuring safety when humans and robots work together. It will benefit various stakeholders including robot manufacturers, integrators, production managers, and engineers who design collaborative robot systems.
This document discusses implementation techniques and common pitfalls for software asset management (SAM) solutions. It provides details about Aspera, a SAM company, including their mission, facts, portfolio, and survey results. Implementation techniques include developing a SmartTrack architecture model, integrating with various systems, and planning an implementation project. Common pitfalls are not accounting for historical license entitlements, unclear organizational scope, incomplete discovery of details, focusing only on cost savings, and having an initial scope that is too broad. The conclusion emphasizes the importance of understanding an organization's full software estate.
The document describes an automated hardware maintenance system project presented by Prince Bhanwra for Hero Cycles Ltd. It discusses the company profile, issues with their current system, and the benefits of implementing an ERP system like SAP. It then outlines the objectives, features, and process flow of the proposed Automated Hardware Maintenance System project which would integrate complaint logging and management into their existing SAP software.
The document describes an automated hardware maintenance system project presented by Prince Bhanwra for Hero Cycles Ltd. It discusses the company profile, issues with their current system, and the benefits of implementing an ERP system like SAP. It then outlines the objectives, features, and process flow of the proposed Automated Hardware Maintenance System project which would integrate complaint logging and management into their existing SAP software.
The document is a user manual that provides instructions for generating defaulter notices in SAP ISU. It contains 10 steps to generate a defaulter notice. First, the user runs transaction code ZDUNN_LEVEL1_TR to see consumers who are liable for a notice. Then they run transaction code ZDEFAULTER_NOTE_TP to select criteria and generate notices. Notices can be generated for all consumers or a specific area. After generating, the user prints notices by going to spool and selecting the appropriate spool file. The manual also includes a field reference table that describes fields in each screen.
The Use of Formal Methods on the iFACTS Air Traffic Control ProjectAdaCore
The next talk in our series from the recent Open-DO Conference is from Neil White,Principal Engineer with Altran Praxis. His talk provides an overview of the formal methods used on the iFACTS project. iFACTS is delivering increased Air Traffic Control capability to the UK.
This document provides a template for a Software Requirements Specification (SRS) document. It outlines the typical sections included in an SRS, including an introduction, overall description of the system, specific requirements, and additional sections for change management, approvals, and supporting information. The template offers explanatory comments and examples of the types of information that would be included in each section to help specify the requirements for a software project.
This presentation introduces the problem of ambiguity in software engineering in general and requirements engineering in particular. It discusses the various way in which ambiguity can be classified according to the literature and presents the work on detecting pragmatic ambiguity by means of collective intelligence (https://doi.org/10.1109/RE.2012.6345803).
ISO/TS 15066 is a new technical specification that provides safety requirements for collaborative industrial robot systems and work environments where humans and robots interact. It builds on existing robot safety standards by specifying maximum allowable robot power/speed limits and pain onset levels for human contact. The document is intended to guide risk assessments for collaborative robot applications and bring greater clarity to ensuring safety when humans and robots work together. It will benefit various stakeholders including robot manufacturers, integrators, production managers, and engineers who design collaborative robot systems.
This document discusses implementation techniques and common pitfalls for software asset management (SAM) solutions. It provides details about Aspera, a SAM company, including their mission, facts, portfolio, and survey results. Implementation techniques include developing a SmartTrack architecture model, integrating with various systems, and planning an implementation project. Common pitfalls are not accounting for historical license entitlements, unclear organizational scope, incomplete discovery of details, focusing only on cost savings, and having an initial scope that is too broad. The conclusion emphasizes the importance of understanding an organization's full software estate.
The document describes an automated hardware maintenance system project presented by Prince Bhanwra for Hero Cycles Ltd. It discusses the company profile, issues with their current system, and the benefits of implementing an ERP system like SAP. It then outlines the objectives, features, and process flow of the proposed Automated Hardware Maintenance System project which would integrate complaint logging and management into their existing SAP software.
The document describes an automated hardware maintenance system project presented by Prince Bhanwra for Hero Cycles Ltd. It discusses the company profile, issues with their current system, and the benefits of implementing an ERP system like SAP. It then outlines the objectives, features, and process flow of the proposed Automated Hardware Maintenance System project which would integrate complaint logging and management into their existing SAP software.
The document is a user manual that provides instructions for generating defaulter notices in SAP ISU. It contains 10 steps to generate a defaulter notice. First, the user runs transaction code ZDUNN_LEVEL1_TR to see consumers who are liable for a notice. Then they run transaction code ZDEFAULTER_NOTE_TP to select criteria and generate notices. Notices can be generated for all consumers or a specific area. After generating, the user prints notices by going to spool and selecting the appropriate spool file. The manual also includes a field reference table that describes fields in each screen.
The Use of Formal Methods on the iFACTS Air Traffic Control ProjectAdaCore
The next talk in our series from the recent Open-DO Conference is from Neil White,Principal Engineer with Altran Praxis. His talk provides an overview of the formal methods used on the iFACTS project. iFACTS is delivering increased Air Traffic Control capability to the UK.
This document provides a template for a Software Requirements Specification (SRS) document. It outlines the typical sections included in an SRS, including an introduction, overall description of the system, specific requirements, and additional sections for change management, approvals, and supporting information. The template offers explanatory comments and examples of the types of information that would be included in each section to help specify the requirements for a software project.
The document discusses various topics related to C*Cure security systems including new features in version 10.0, I-Star Edge vs. I-Star Pro readers, database options for reporting, data warehousing concepts, and considerations for system redundancy and virtualization. Global Implementation Group provides professional services and support for security systems and aims to discuss integration, reporting and advanced implementations.
What is data center availability modes slideLivin Jose
The document discusses various standards for data center availability modes and classifications. It describes Uptime Institute Tiers (I-IV), EN 50600 Availability classes (1-4), TIA 942-B Ratings (1-4), Syska Hennessy Criticality Levels, ANSI/BICSI Classes (F0-F4), and concepts of N, N+1, 2N, 2(N+1) redundancy. Higher tiers and classes generally have higher expected uptime through more redundant capacity components and distribution paths to minimize downtime from equipment failures or other incidents.
Workshop on requirements and modeling at HAE 2015Olivier Béghain
1. The document discusses requirements modeling in IT projects and how modeling techniques can be used to better understand requirements and be understood.
2. It provides background on the presenter and an overview of various modeling techniques such as use case diagrams, class diagrams, and collaboration diagrams that can be used.
3. The document then walks through an example of modeling the requirements for a deal initiation system using techniques like identifying entities, controllers, boundaries, use cases, and class responsibilities to develop a conceptual model of the system requirements.
This standard provides guidelines for measuring transformer losses. It applies to liquid-immersed power and distribution transformers, dry-type transformers, and stepvoltage regulators. The standard references several other IEEE standards related to transformer testing and requirements. It describes the scope and applications of the standard but does not specify any networking or communications capabilities.
This document contains 64 questions and answers related to microprocessor and microcontroller viva questions. It covers topics such as the functions of various components of a microprocessor like the program counter, accumulator, stack pointer. It also discusses addressing modes, data transfer instructions, arithmetic instructions, logical instructions, branching instructions and interrupt handling. The last few questions are on data conversion instructions and subroutine calls.
Information and Communication Technology (ICT) is not limited to software development, mobile apps and ICT service management but percolates into all kind of products with the so-called Internet of Things.
ICT depends on software where defects are common. Developing software is knowledge acquisition, not civil engineering. Thus knowledge might be missing and consequently leading to defects and failures to perform. In turn, operating ICT products involves connecting ICT services with human interaction, and is error-prone as well. There is much value in delivering software without defects. However, up to now there exists no agreed method of measuring defects in ICT. UML sequence diagrams is a software model that describes data movements between actors and objects and allows for automated measurements using ISO/IEC 19761 COSMIC. Can we also use it for defect measurements that allows applying standard Six Sigma techniques to ICT by measuring both functional size and defect density in the same model? It allows sizing of functionality and defects even if no code is available. ISO/IEC 19761 measurements are linear, thus fitting to sprints in agile development as well as for using statistical tools from Six Sigma.(IT Confidence 2014, Tokyo (Japan))
Software EngineeringBackground for Question 1-7 Kean Universi.docxwhitneyleman54422
Software Engineering
Background for Question 1-7: Kean University is planning on doing away with the parking permits used previously and moving towards a “pay as you go” system employing price elasticity (i.e., the parking price will change based on current demand for that particular parking garage at a particular time). In such a system, each parking space will be fitted with an RFID sensor to detect if the spot is being used and each parking garage will have a number of parking pass kiosk systems that will allow a user to purchase a ticket for a requested period of time. To determine the parking price, the kiosk will determine the current system usage (i.e., the demand for parking in all parking garages across campus as well as the kiosk’s home garage) and utilize historical parking demand data for that time period. Users will be able to pay for their parking using a credit card or their KU Card.
Your company has won the contract and you will lead the entire project. Answer the following questions based on the background.
1. Which software process model would you use in this project? Please provide all the assumptions you use for making the decision, and please justify your answer.
Hint: Only giving the name of the process model will not get any grade.
2. Please list three functional requirements in this project. For each functional requirement you list, please identify whether it is functional user requirement, or functional system requirement.
3. Please list three measurable non-functional requirements in this project.
Hint: Non-measurable non-functional requirements will not get any grade.
4. Please draw one use case diagram for this project.
5. For the use case of “purchase a ticket for a period of time at kiosk”, please provide use case specification using the below template
6. For the use case of “purchase a ticket for a period of time at kiosk”, please draw one sequence diagram based on the use case specification.
Hint: Make sure it is consistent with your use case specification in Question 5.
7. Please describe what software architectural style you would use for this project. Please provide all the assumptions you use for making the decision, and please justify your answer.
Hint: Only giving the name of the architectural style will not get any grade.
8. In your own words, please describe open-closed principle. Devise an example that shows your understanding of the principle.
9. In user interface design, please provide three principles that can reduce the user’s memory load. Devise a simple example that shows your understanding of the one of the three principles.
Hint: you can paste screenshots when describing your example.
10. In your own words, please describe the software quality dilemma.
11. We have talked about one measure of software reliability is mean-time-between-failure (MTBF), where MTBF = MTTF + MTTR, and software .
The document discusses best practices for writing a software requirements specification (SRS). It emphasizes that a well-written SRS establishes agreement between customers and developers on required functionality, reduces development effort by surfacing issues early, and provides a baseline for validation and verification. The SRS should address functionality, interfaces, performance, attributes, and design constraints according to IEEE standards, and characteristics include being correct, unambiguous, complete, consistent, ranked, verifiable, modifiable, and traceable. While documentation takes time, the document argues it pays off through improved development and outcomes.
S. Yakaiah's CV summarizes their professional experience and skills. They have over 10 years of experience working as a Tech Lead and Senior Engineer at Honeywell developing software for aircraft applications. Their roles included requirements analysis, software development, testing, and ensuring certification standards compliance. They also have experience developing flight control systems for Boeing 787 and working as a software consultant for the Department of Atomic Energy in India.
This document discusses the PA DIM (Process Automation Device Information Model) presentation. It introduces PA DIM as a standardized information model for accessing device data via OPC-UA. PA DIM is based on NAMUR requirements and reuses interfaces from the OPC UA Device Integration model. It allows mapping device information contained in packages like FDI to OPC-UA clients, providing access to signals, functions and health of devices nearly independently of the physical communication protocol. The presentation also provides an overview of common device driver types like EDD, FDT/DTM and FDI and how OPC-UA supports information modeling and both client-server and publish-subscribe communication mechanisms.
The document discusses implementing EPOS/Tier Banner Voice Response at the University of New Mexico, including challenges, successes, and lessons learned. It describes what is needed from vendors, what features were implemented versus not, customizations made, and workarounds for defects. Key points included implementing only some modules, recording custom phrases to improve usability, and low actual usage revealing defects that reduced student satisfaction with the system.
Roberta Nelson Shea presents the new Robotic safety standard RIA R15.06-2012 at Applied Manufacturing Technologies Technoloigy Fair 2014. The new robotic safety standard goes into effect January 2015. Learn how to comply today,
The document discusses Open-DO, an open source initiative for developing safety-critical software. It provides an overview of Open-DO concepts like FLOSS, agile development practices, and high-integrity certification. Updates on Open-DO include new community projects, conferences, and tools to support qualifications. Formal methods like Couverture and Hi-Lite are presented as ways to verify properties and generate verification conditions for proof.
The document is a template for a Request for Proposal (RFP) for an in-building wireless infrastructure project. The RFP template outlines the necessary sections for vendors to respond to, including: executive overview, vendor background, references, technology, maintenance/support services, design submission, performance guarantees, specifications, and quality/environmental. The RFP aims to provide a comprehensive audit of vendor capabilities and solutions to help the requester select the best partner for their wireless communications goals.
This document provides an overview of business requirements for collecting required Patriot Act consumer information across multiple online applications and systems. It includes sections on the document purpose, project background, assumptions, actors involved, end user profiles, and business process flows with requirements for collecting physical address information from customers in the online Marcom application. The goal is to streamline the collection of this information across different touchpoints in compliance with regulations.
The document discusses dimensional engineering and geometric dimensioning and tolerancing (GD&T). It provides an overview of GD&T, explaining that it uses symbols, rules and definitions to define the geometry of mechanical parts. GD&T aims to improve quality, reduce costs and reduce delivery times by avoiding ambiguity. The document also discusses different GD&T controls like form controls, orientation controls and location controls. It emphasizes that GD&T defines part geometry in a standardized way so that anyone familiar with the standards understands what the design intends.
The document discusses application portfolio management. It begins by explaining the need for application portfolio management and how it provides visibility into an organization's applications. It then discusses how to capture application information, including how to categorize applications using metrics like type, business functionality, usage profile, and capabilities. Industry reference models for capabilities are also mentioned. The document provides examples of how to map applications to business capabilities and show application dependencies through a RACI chart. It suggests publishing the application portfolio information on an intranet for feedback. Overall, the document provides an overview of best practices for setting up and maintaining an application portfolio management practice.
The document provides definitions and standards for instrumentation symbols and identification. It summarizes the purpose, scope, definitions, outline of the identification system, tables, drawings and examples used to establish a uniform means of designating instruments and instrumentation systems used for measurement and control. The standard aims to facilitate communication through a common language for concepts, facts, instructions and knowledge about measurement and control systems in process industries.
This document discusses the challenges of ERP implementation projects and how nSoln can help address them. It identifies challenges in pre-implementation (vendor selection, scoping), implementation (configuration, testing), and post-implementation (knowledge transfer, upgrades). nSoln offers expertise across the entire ERP lifecycle from selection and implementation to ongoing support, upgrades, and optimization. With over 24 years of IT and 11 years of PeopleSoft experience, nSoln can help customers successfully navigate any ERP project.
Natural language processing for requirements engineering: ICSE 2021 Technical...alessio_ferrari
These are the slides for the technical briefing given at ICSE 2021, given by Alessio Ferrari, Liping Zhao, and Waad Alhoshan
It covers RE tasks to which NLP is applied, an overview of a recent systematic mapping study on the topic, and a hands-on tutorial on using transfer learning for requirements classification.
Please find the links to the colab notebooks here:
https://colab.research.google.com/drive/158H-lEJE1pc-xHc1ISBAKGDHMt_eg4Gn?usp=sharing
https://colab.research.google.com/d rive/1B_5ow3rvS0Qz1y-KyJtlMNnm gmx9w3kJ?usp=sharing
https://colab.research.google.com/d rive/1Xrm0gNaa41YwlM5g2CRYYX cRvpbDnTRT?usp=sharing
Systematic Literature Reviews and Systematic Mapping Studiesalessio_ferrari
Lecture slides on Systematic Literature Reviews and Systematic Mapping Studies in software engineering. It describes the different steps, discusses differences between the two methods, and gives guidelines on how to conduct these types of study.
More Related Content
Similar to Requirements Engineering: focus on Natural Language Processing, Lecture 1
The document discusses various topics related to C*Cure security systems including new features in version 10.0, I-Star Edge vs. I-Star Pro readers, database options for reporting, data warehousing concepts, and considerations for system redundancy and virtualization. Global Implementation Group provides professional services and support for security systems and aims to discuss integration, reporting and advanced implementations.
What is data center availability modes slideLivin Jose
The document discusses various standards for data center availability modes and classifications. It describes Uptime Institute Tiers (I-IV), EN 50600 Availability classes (1-4), TIA 942-B Ratings (1-4), Syska Hennessy Criticality Levels, ANSI/BICSI Classes (F0-F4), and concepts of N, N+1, 2N, 2(N+1) redundancy. Higher tiers and classes generally have higher expected uptime through more redundant capacity components and distribution paths to minimize downtime from equipment failures or other incidents.
Workshop on requirements and modeling at HAE 2015Olivier Béghain
1. The document discusses requirements modeling in IT projects and how modeling techniques can be used to better understand requirements and be understood.
2. It provides background on the presenter and an overview of various modeling techniques such as use case diagrams, class diagrams, and collaboration diagrams that can be used.
3. The document then walks through an example of modeling the requirements for a deal initiation system using techniques like identifying entities, controllers, boundaries, use cases, and class responsibilities to develop a conceptual model of the system requirements.
This standard provides guidelines for measuring transformer losses. It applies to liquid-immersed power and distribution transformers, dry-type transformers, and stepvoltage regulators. The standard references several other IEEE standards related to transformer testing and requirements. It describes the scope and applications of the standard but does not specify any networking or communications capabilities.
This document contains 64 questions and answers related to microprocessor and microcontroller viva questions. It covers topics such as the functions of various components of a microprocessor like the program counter, accumulator, stack pointer. It also discusses addressing modes, data transfer instructions, arithmetic instructions, logical instructions, branching instructions and interrupt handling. The last few questions are on data conversion instructions and subroutine calls.
Information and Communication Technology (ICT) is not limited to software development, mobile apps and ICT service management but percolates into all kind of products with the so-called Internet of Things.
ICT depends on software where defects are common. Developing software is knowledge acquisition, not civil engineering. Thus knowledge might be missing and consequently leading to defects and failures to perform. In turn, operating ICT products involves connecting ICT services with human interaction, and is error-prone as well. There is much value in delivering software without defects. However, up to now there exists no agreed method of measuring defects in ICT. UML sequence diagrams is a software model that describes data movements between actors and objects and allows for automated measurements using ISO/IEC 19761 COSMIC. Can we also use it for defect measurements that allows applying standard Six Sigma techniques to ICT by measuring both functional size and defect density in the same model? It allows sizing of functionality and defects even if no code is available. ISO/IEC 19761 measurements are linear, thus fitting to sprints in agile development as well as for using statistical tools from Six Sigma.(IT Confidence 2014, Tokyo (Japan))
Software EngineeringBackground for Question 1-7 Kean Universi.docxwhitneyleman54422
Software Engineering
Background for Question 1-7: Kean University is planning on doing away with the parking permits used previously and moving towards a “pay as you go” system employing price elasticity (i.e., the parking price will change based on current demand for that particular parking garage at a particular time). In such a system, each parking space will be fitted with an RFID sensor to detect if the spot is being used and each parking garage will have a number of parking pass kiosk systems that will allow a user to purchase a ticket for a requested period of time. To determine the parking price, the kiosk will determine the current system usage (i.e., the demand for parking in all parking garages across campus as well as the kiosk’s home garage) and utilize historical parking demand data for that time period. Users will be able to pay for their parking using a credit card or their KU Card.
Your company has won the contract and you will lead the entire project. Answer the following questions based on the background.
1. Which software process model would you use in this project? Please provide all the assumptions you use for making the decision, and please justify your answer.
Hint: Only giving the name of the process model will not get any grade.
2. Please list three functional requirements in this project. For each functional requirement you list, please identify whether it is functional user requirement, or functional system requirement.
3. Please list three measurable non-functional requirements in this project.
Hint: Non-measurable non-functional requirements will not get any grade.
4. Please draw one use case diagram for this project.
5. For the use case of “purchase a ticket for a period of time at kiosk”, please provide use case specification using the below template
6. For the use case of “purchase a ticket for a period of time at kiosk”, please draw one sequence diagram based on the use case specification.
Hint: Make sure it is consistent with your use case specification in Question 5.
7. Please describe what software architectural style you would use for this project. Please provide all the assumptions you use for making the decision, and please justify your answer.
Hint: Only giving the name of the architectural style will not get any grade.
8. In your own words, please describe open-closed principle. Devise an example that shows your understanding of the principle.
9. In user interface design, please provide three principles that can reduce the user’s memory load. Devise a simple example that shows your understanding of the one of the three principles.
Hint: you can paste screenshots when describing your example.
10. In your own words, please describe the software quality dilemma.
11. We have talked about one measure of software reliability is mean-time-between-failure (MTBF), where MTBF = MTTF + MTTR, and software .
The document discusses best practices for writing a software requirements specification (SRS). It emphasizes that a well-written SRS establishes agreement between customers and developers on required functionality, reduces development effort by surfacing issues early, and provides a baseline for validation and verification. The SRS should address functionality, interfaces, performance, attributes, and design constraints according to IEEE standards, and characteristics include being correct, unambiguous, complete, consistent, ranked, verifiable, modifiable, and traceable. While documentation takes time, the document argues it pays off through improved development and outcomes.
S. Yakaiah's CV summarizes their professional experience and skills. They have over 10 years of experience working as a Tech Lead and Senior Engineer at Honeywell developing software for aircraft applications. Their roles included requirements analysis, software development, testing, and ensuring certification standards compliance. They also have experience developing flight control systems for Boeing 787 and working as a software consultant for the Department of Atomic Energy in India.
This document discusses the PA DIM (Process Automation Device Information Model) presentation. It introduces PA DIM as a standardized information model for accessing device data via OPC-UA. PA DIM is based on NAMUR requirements and reuses interfaces from the OPC UA Device Integration model. It allows mapping device information contained in packages like FDI to OPC-UA clients, providing access to signals, functions and health of devices nearly independently of the physical communication protocol. The presentation also provides an overview of common device driver types like EDD, FDT/DTM and FDI and how OPC-UA supports information modeling and both client-server and publish-subscribe communication mechanisms.
The document discusses implementing EPOS/Tier Banner Voice Response at the University of New Mexico, including challenges, successes, and lessons learned. It describes what is needed from vendors, what features were implemented versus not, customizations made, and workarounds for defects. Key points included implementing only some modules, recording custom phrases to improve usability, and low actual usage revealing defects that reduced student satisfaction with the system.
Roberta Nelson Shea presents the new Robotic safety standard RIA R15.06-2012 at Applied Manufacturing Technologies Technoloigy Fair 2014. The new robotic safety standard goes into effect January 2015. Learn how to comply today,
The document discusses Open-DO, an open source initiative for developing safety-critical software. It provides an overview of Open-DO concepts like FLOSS, agile development practices, and high-integrity certification. Updates on Open-DO include new community projects, conferences, and tools to support qualifications. Formal methods like Couverture and Hi-Lite are presented as ways to verify properties and generate verification conditions for proof.
The document is a template for a Request for Proposal (RFP) for an in-building wireless infrastructure project. The RFP template outlines the necessary sections for vendors to respond to, including: executive overview, vendor background, references, technology, maintenance/support services, design submission, performance guarantees, specifications, and quality/environmental. The RFP aims to provide a comprehensive audit of vendor capabilities and solutions to help the requester select the best partner for their wireless communications goals.
This document provides an overview of business requirements for collecting required Patriot Act consumer information across multiple online applications and systems. It includes sections on the document purpose, project background, assumptions, actors involved, end user profiles, and business process flows with requirements for collecting physical address information from customers in the online Marcom application. The goal is to streamline the collection of this information across different touchpoints in compliance with regulations.
The document discusses dimensional engineering and geometric dimensioning and tolerancing (GD&T). It provides an overview of GD&T, explaining that it uses symbols, rules and definitions to define the geometry of mechanical parts. GD&T aims to improve quality, reduce costs and reduce delivery times by avoiding ambiguity. The document also discusses different GD&T controls like form controls, orientation controls and location controls. It emphasizes that GD&T defines part geometry in a standardized way so that anyone familiar with the standards understands what the design intends.
The document discusses application portfolio management. It begins by explaining the need for application portfolio management and how it provides visibility into an organization's applications. It then discusses how to capture application information, including how to categorize applications using metrics like type, business functionality, usage profile, and capabilities. Industry reference models for capabilities are also mentioned. The document provides examples of how to map applications to business capabilities and show application dependencies through a RACI chart. It suggests publishing the application portfolio information on an intranet for feedback. Overall, the document provides an overview of best practices for setting up and maintaining an application portfolio management practice.
The document provides definitions and standards for instrumentation symbols and identification. It summarizes the purpose, scope, definitions, outline of the identification system, tables, drawings and examples used to establish a uniform means of designating instruments and instrumentation systems used for measurement and control. The standard aims to facilitate communication through a common language for concepts, facts, instructions and knowledge about measurement and control systems in process industries.
This document discusses the challenges of ERP implementation projects and how nSoln can help address them. It identifies challenges in pre-implementation (vendor selection, scoping), implementation (configuration, testing), and post-implementation (knowledge transfer, upgrades). nSoln offers expertise across the entire ERP lifecycle from selection and implementation to ongoing support, upgrades, and optimization. With over 24 years of IT and 11 years of PeopleSoft experience, nSoln can help customers successfully navigate any ERP project.
Similar to Requirements Engineering: focus on Natural Language Processing, Lecture 1 (20)
Natural language processing for requirements engineering: ICSE 2021 Technical...alessio_ferrari
These are the slides for the technical briefing given at ICSE 2021, given by Alessio Ferrari, Liping Zhao, and Waad Alhoshan
It covers RE tasks to which NLP is applied, an overview of a recent systematic mapping study on the topic, and a hands-on tutorial on using transfer learning for requirements classification.
Please find the links to the colab notebooks here:
https://colab.research.google.com/drive/158H-lEJE1pc-xHc1ISBAKGDHMt_eg4Gn?usp=sharing
https://colab.research.google.com/d rive/1B_5ow3rvS0Qz1y-KyJtlMNnm gmx9w3kJ?usp=sharing
https://colab.research.google.com/d rive/1Xrm0gNaa41YwlM5g2CRYYX cRvpbDnTRT?usp=sharing
Systematic Literature Reviews and Systematic Mapping Studiesalessio_ferrari
Lecture slides on Systematic Literature Reviews and Systematic Mapping Studies in software engineering. It describes the different steps, discusses differences between the two methods, and gives guidelines on how to conduct these types of study.
This document describes a case study research approach for evaluating a requirements defect detection tool in a software engineering company. The following key points are discussed:
1. The study will evaluate the accuracy, usability, and areas for improvement of the tool using both quantitative and qualitative data collection methods.
2. Context details about the subject company and study participants are important to characterize. Quantitative data such as precision/recall scores and usability questionnaires will be collected. Qualitative data such as sources of inaccuracies and improvement feedback will be analyzed.
3. Validity will be addressed through triangulation of multiple data sources and manual classification of defects. The research questions aim to evaluate the tool's accuracy, sources of errors, us
Qualitative Studies in Software Engineering - Interviews, Observation, Ground...alessio_ferrari
This
Lecture about qualitative data collection methods and qualitative data analysis in software engineering. Topics covered are:
1. Sampling
2. Interviews
3. Observation and Participant Observation
4. Archival Data Collection
5. Grounded theory, Coding, Thematic Analysis
6. Threats to validity in qualitative studies
Find the videos at: https://www.youtube.com/playlist?list=PLSKM4VZcJjV-P3fFJYMu2OhlTjEr9Bjl0
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validityalessio_ferrari
Complete lecture on controlled experiments in software engineering. It explains practical guidelines on conducting controlled experiments and describes the concepts of dependent, independent, and control variables, significance, and p-value. It also explains how to select the appropriate statistic test for a hypothesis, and gives example of data for different typical tests.
Finally, it discusses threats to validity in controlled experiments and gives indications for reporting.
Find the video lectures here: https://www.youtube.com/playlist?list=PLSKM4VZcJjV-P3fFJYMu2OhlTjEr9Bjl0
Requirements Engineering: focus on Natural Language Processing, Lecture 2alessio_ferrari
In this lecture, we give a practical guide on how to detect ambiguities in natural language requirements by means of GATE and by means of Python. A brief guide to Python is also included.
The previous lecture gives an introduction to the problem of ambiguity in requirements engineering. Find it here: https://www.slideshare.net/alessio_ferrari/requirements-engineering-focus-on-natural-language-processing-lecture-1
Empirical Methods in Software Engineering - an Overviewalessio_ferrari
A first introductory lecture on empirical methods in software engineering. It includes:
1) Motivation for empirical software engineering studies
2) How to define research questions
3) Measures and data collection methods
4) Formulating theories in software engineering
5) Software engineering research strategies
Find the videos at: https://www.youtube.com/playlist?list=PLSKM4VZcJjV-P3fFJYMu2OhlTjEr9Bjl0
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
Assessment and Planning in Educational technology.pptxKavitha Krishnan
In an education system, it is understood that assessment is only for the students, but on the other hand, the Assessment of teachers is also an important aspect of the education system that ensures teachers are providing high-quality instruction to students. The assessment process can be used to provide feedback and support for professional development, to inform decisions about teacher retention or promotion, or to evaluate teacher effectiveness for accountability purposes.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...PECB
Denis is a dynamic and results-driven Chief Information Officer (CIO) with a distinguished career spanning information systems analysis and technical project management. With a proven track record of spearheading the design and delivery of cutting-edge Information Management solutions, he has consistently elevated business operations, streamlined reporting functions, and maximized process efficiency.
Certified as an ISO/IEC 27001: Information Security Management Systems (ISMS) Lead Implementer, Data Protection Officer, and Cyber Risks Analyst, Denis brings a heightened focus on data security, privacy, and cyber resilience to every endeavor.
His expertise extends across a diverse spectrum of reporting, database, and web development applications, underpinned by an exceptional grasp of data storage and virtualization technologies. His proficiency in application testing, database administration, and data cleansing ensures seamless execution of complex projects.
What sets Denis apart is his comprehensive understanding of Business and Systems Analysis technologies, honed through involvement in all phases of the Software Development Lifecycle (SDLC). From meticulous requirements gathering to precise analysis, innovative design, rigorous development, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: May 29, 2024
Tags: Information Security, ISO/IEC 27001, ISO/IEC 42001, Artificial Intelligence, GDPR
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 27001 Information Security Management System - EN | PECB
ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
General Data Protection Regulation (GDPR) - Training Courses - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
For more information about PECB:
Website: https://pecb.com/
LinkedIn: https://www.linkedin.com/company/pecb/
Facebook: https://www.facebook.com/PECBInternational/
Slideshare: http://www.slideshare.net/PECBCERTIFICATION
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
Strategies for Effective Upskilling is a presentation by Chinwendu Peace in a Your Skill Boost Masterclass organisation by the Excellence Foundation for South Sudan on 08th and 09th June 2024 from 1 PM to 3 PM on each day.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Requirements Engineering: focus on Natural Language Processing, Lecture 1
1. Requirements Engineering:
focus on Natural Language
Requirements Processing
Alessio Ferrari1
1ISTI-CNR, Pisa, Italy
January 13, 2016
A. Ferrari (ISTI) Requirements Engineering 1 / 76
3. Objectives of the Course
Objectives: lesson 1
Understand what are requirements, specifications
and domain assertions
Understand the problems behind requirements elicitation
and SRS definition
Learn how to write a decent SRS
Objectives: lesson 2
Learn the basics of Natual Language Processing (NLP)
Learn the relation between NLP and Requirements
Learn the basics of GATE to detect NL ambiguities in
requirements
Learn the basics of Python NLTK (for further manipulation of NL
requirements)
A. Ferrari (ISTI) Requirements Engineering 3 / 76
5. Michael Jackson’s Model
When we build a SYSTEM we make a change in a portion of the
WORLD that we call ENVIRONMENT
ENVIRONMENT SYSTEM
WORLD
INTERFACE
The SYSTEM and the ENVIRONMENT interact through an
INTERFACE (i.e., sensors and actuators)
A. Ferrari (ISTI) Requirements Engineering 5 / 76
7. Concepts
Domain assertions (D): all the conditions over phenomena of the
environment that we know (or presume) to be true, regardless of
the system
Requirements (R): all the conditions over phenomena of the
environment that we want to make true by developing the system
Specifications (S): description of conditions and actions
occurring at the interface between the environment and the
system. Provides enough information for a programmer to build
the system
Program (P): implementation of the specifications
Machine (M): hardware, sensors and actuators that support the
program
A. Ferrari (ISTI) Requirements Engineering 7 / 76
8. Example: Patient Monitoring System
ENVIRONMENT
SYSTEM
D1: there is always a nurse close enough
to hear the buzzer
D2: the sound from the heart below a
threshold T indicates that the heart is
about to stop
R: the system shall notify the nurse if the patient's heartbeat stops
S: if the sound from the sensor falls below a
threshold T, the system shall actuate the buzzer
P: the program
M_v: the sensor and the buzzer
M_h: the rest of the harware
A. Ferrari (ISTI) Requirements Engineering 8 / 76
9. Objective of Requirements Engineering
Identify R, S and D, so that if a system whose behaviour satisfies S is
installed in the environment, and the environment has the properties
described in D, then the environment will exhibit the properties
described in R.
D, S R
Read it as: The Specification S, under the constraints expressed
in D, satisfies the Requirements R
Requirements speak the language of the environment (i.e., the
domain – medical, public administration, etc.)
Specifications speak the language of the interface, and are
expressed in terms of shared phenomena
A. Ferrari (ISTI) Requirements Engineering 9 / 76
10. Observation
The formalisation is useful if I am using a formal language to
define requirements and specifications
The formalisation is only a guideline in practice, because the R
and D speak about the world, which is not formal!
In practice, requirements and specifications are rarely formal
Requirements and specifications are often expressed in Natural
Language (NL)
The formalisation is still useful, and, even when expressing R, S
and D in NL, you should keep it in mind
A. Ferrari (ISTI) Requirements Engineering 10 / 76
11. Requirements or Specifications?
1 Only authorised people shall be able to enter the park
2 The system shall allow only authorised people to enter the park
3 Only people who has payed the fee shall be able to enter the park
4 The system shall release a receipt, after the user has inserted coins, if
the user has introduced 3 coins
5 The system shall open the barrier, if 3 coins have been introduced
6 The system shall enter in state COUNT_COINS, when the coin sensor
senses the introduction of 1 coin, and the system is in state
WAIT_COINS
7 The system shall enter in state RELEASE_RECEIPT, if the user has
introduced 3 coins
A. Ferrari (ISTI) Requirements Engineering 11 / 76
12. Rule of Thumb
If a Customer can read it, it’s a Requirement
If a Customer cannot read it, it’s a Specification
A. Ferrari (ISTI) Requirements Engineering 12 / 76
13. Adding some Confusion: System and Software Specifications
If I am defining System Specifications (S-SYS), then the hardware
elements are part of the system, and part of them appear in the
interface (as in the previous example)
If I am defining Software Specifications (S-SW), then the
hardware elements are part of the environment, and hence in the
specification I will speak about abstract variables to be set. These
variable are considered to be part of the interface (i.e., they are
the variables used by the drivers).
A. Ferrari (ISTI) Requirements Engineering 13 / 76
14. Example: Patient Monitoring System
ENVIRONMENT
SOFTWARE
D1: there is always a nurse close enough
to hear the buzzer
D2: the sound from the heart below a
threshold T indicates that the heart is
about to stop
R (S-SYS): if the sound from the sensor falls below a threshold T,
the system shall actuate the buzzer
S (S-SW): the software shall set BUZZER = ON,
if SOUND < T.
P: the program
M: see previous slide
A. Ferrari (ISTI) Requirements Engineering 14 / 76
15. This is just a practical solution!
This is just a practical solution to overcome the problem of
separating system and software specifications, as asked in the
context of embedded safety-critical systems.
In this lecture, we will mainly speak about system specifications.
If sensors and actuators are just keyboards and screens, then the
software specification is the system specification.
WARNING: in the literature, when you read software specification,
the authors often mean system specification.
A. Ferrari (ISTI) Requirements Engineering 15 / 76
16. Adding more Confusion: Software Requirements Specification
We have seen that Requirements and Specifications are different
So what the hell is a Software Requirements Specification (SRS)?
It is a document that specifies the Requirements OR the
Specification, OR both
It depends on who is going to read the document
A. Ferrari (ISTI) Requirements Engineering 16 / 76
17. So What to Do?
Keep in mind the distinction between R, S and D
When you write a statement, make an effort to place it in R, S or D
If a company has a single standard document to edit R and S,
follow that, and separate R, S, and D
If a company distinguishes between user/customer requirements
and system/software requirements, then place R and D in the
former, S in the latter, and trace them.
If a company further distinguishes between system and software
requirements, then follow the suggestion given in a previous slide.
If a company does not have a standard document to edit
requirements and specifications, then use the template in the
IEEE Std 830-1998(R2009), which is nice.
Consider who’s going to read the document! (Customer,
Developer, Tester, etc.)
A. Ferrari (ISTI) Requirements Engineering 17 / 76
18. Adding more and more Confusion: Goals
A requirement tells us WHAT the system shall do
A GOAL tells us WHY the system shall do that thing
Example
Requirement: the system shall notify the nurse if the patient’s
heartbeat stops
Goal: patients whose heartbeat is going to stop shall be saved
Expectation: when the nurse hears the buzzer, the nurse saves
the patient
Goals are useful in Requirements Analysis
(Completeness) Which other requirements are needed to address
the GOAL?
(Alternatives) Is there an alternative approach?
(Obstacles) What can be an obstacle for that GOAL?
A. Ferrari (ISTI) Requirements Engineering 18 / 76
20. The Requirements Process (Requirements Definition)
Elicitation
Analysis
Documentation
Validation
Transcripts
of Meetings
with Customers
Models
Structured
Requirements
Document
Requirements
with
Defects
A. Ferrari (ISTI) Requirements Engineering 20 / 76
26. Definition of Ambiguity
Ambiguity in Interviews
An ambiguity occurs in a requirements elicitation interview when a
customer articulates a unit of information, and the meaning assigned
by the requirements analyst to such articulation differs from the
meaning intended by the customer.
Unit of information: system need or domain-related aspect
Articulation: any speech fragment
We include cases where the analyst cannot give any interpretation
A. Ferrari (ISTI) Requirements Engineering 26 / 76
27. Example: Ambiguity in Interviews
Web-based platform where the citizens can send suggestions for
laws to the parliament
Ambiguity: “I want a dashboard to show (to the representatives
of the parliament) what’s going on in specific areas” (thematic or
geographical?)
A. Ferrari (ISTI) Requirements Engineering 27 / 76
28. Context of the Analyst
INTERPRETATION
ACCEPTANCE
SPEECH
FRAGMENT
ACCESS
Requirements
Goals
Domain
Specification
k
k
k
kCONCEPT
ACCESSIBLEa, i(k) = interpretablea,i(k) ∧ acceptablea,i(k)
A. Ferrari (ISTI) Requirements Engineering 28 / 76
30. Ambiguity
ambiguousi(k) = articulatedc,i(k) ∧ ¬articulatedc,i(k )∧
(¬ACCESSIBLEa,i(k) ∨ interpretablea,i(k ))
The customer articulates a unit of information k
through a speech fragment i
The unit of information k cannot be accessed
or i is interpreted as k
Let us focus on the second line of the equation, which is:
¬interpretablea,i(k) ∨ ¬acceptablea,i(k)∨
interpretablea,i(k )
A. Ferrari (ISTI) Requirements Engineering 30 / 76
31. Categories of Ambiguity
k k Phenomenon
¬interpretable(k) ¬acceptable(k) ¬interpretable(k ) - interpretation unclarity
interpretable(k) ¬acceptable(k) ¬interpretable(k ) - acceptance unclarity
interpretable(k) acceptable(k) interpretable(k )
acceptable(k ) multiple understanding
¬acceptable(k ) correct disambiguation
- ¬acceptable(k) interpretable(k )
acceptable(k ) undetected incorrect disambiguation
¬acceptable(k ) detected incorrect disambiguation
Four Main Classes
Unclarity
Multiple Understanding
Incorrect Disambiguation
Correct Disambiguation
A. Ferrari (ISTI) Requirements Engineering 31 / 76
33. Example
Interpretation Unclarity
Use of domain jargon (e.g., “connoisseurship method” for History
of Arts expert)
Use of vague terms (e.g., “(The app changes the color of the wall)
taking light into account”)
Acceptance Unclarity
(Domain) “If you do not recycle a thing because the municipality
did not signal that it was recyclable, you will not get a fee”
A. Ferrari (ISTI) Requirements Engineering 33 / 76
35. Example
Multiple Understanding
Web-based platform where the citizens can send suggestions for
laws to the parliament
“A dashboard to show (to the representatives of the parliament)
what’s going on in specific areas” (thematic or geographical?)
“The application should be connected to a social network”
(internal or external?)
A. Ferrari (ISTI) Requirements Engineering 35 / 76
37. Example
Detected Incorrect Disambiguation: Fitness Tamagochi
“You can decide what type of character you want to create”
(Acceptance Unclarity - Domain) “So, you can choose the
character?”
“Actually you cannot [...] you can possibly become (a specific
character)”
Undetected Incorrect Disambiguation: Automated Baby-swinger
“I want something that can change. A component that relax her
(the daughter) is that she feels the novelty in the movement”
Incorrect disambiguation: change in frequency
“You can choose different sequences of movement, three in this
direction, two in this direction” (Acceptance Unclarity - Req)
Correct interpretation: change in direction
A. Ferrari (ISTI) Requirements Engineering 37 / 76
39. Re-definition of strict-Ambiguity
Let us exclude Correct Disambiguation:
ambiguous-stricti(k) = articulatedc,i(k) ∧ ¬articulatedc,i(k )∧
(¬ACCESSIBLEa,i(k) ∨ interpretablea,i(k ))∧
¬(ACCESSIBLEa,i(k) ∧ interpretablea,i(k ) ∧ ¬acceptablea,i(k ))
A. Ferrari (ISTI) Requirements Engineering 39 / 76
40. Your Turn!
I am pretending to be the owner of a gym, and I’m coming to you
to build a smart gym
5 minutes to prepare some questions
Interview me, keeping in mind ambiguity issues and tacit
knowledge
Keep in mind that you have to elicit both R and D
Hence, identify potential users, objects and principles in the
domain
Take notes
Be careful that you’re speaking to someone who is not a software
engineer
A. Ferrari (ISTI) Requirements Engineering 40 / 76
42. Requirements Analysis
Requirements analysis is what you do after you met the customer, to:
Reason on R and D, to write down a document that the customer
can read
Reason on R, D, and S to write down a (possibly separate)
document that your programmers can read
Often, you are going to write a single SRS with both R, S, and D
From now on, I will speak about writing a SRS, meaning a
document including R, S, and D
Several techniques exist, I will give you just some pointers, since this
lecture focuses on ambiguity
A. Ferrari (ISTI) Requirements Engineering 42 / 76
43. Example: Car Park System
I want to build a system to automate the payment for a private car
park
The typical scenario is:
1 a car enters from an entrance barrier and the driver takes an
entrance receipt from an entrance device
2 the driver parks the car
3 when the driver has to leave the park, he goes to a payment
machine and inserts the entrance receipt
4 the machine computes the amount of money due
5 the driver pays and the machine releases an exit receipt
6 the driver inserts the exit receipt in an exit device, and the driver
exits from the exit barrier
The system also monitors the number of free places in the park
A. Ferrari (ISTI) Requirements Engineering 43 / 76
44. Pointer 1: Context Diagram
System
Car
Barrier
Park
Coin
Customer
Shared Phenomena
A. Ferrari (ISTI) Requirements Engineering 44 / 76
45. Pointer 2: Prototyping and Mock-ups
Googlehttp:/carpark.it
My-Car Park Monitor
Select a date
30 329 1 23128
2421 23 25 272622
201814 17 191615
129 1187 10 13
S
6
F
5
T
4
W
3
T
21
M
30
S
December 2008
Select Today
Check Failed
Payment Machine
See Car Park
Occupation
A. Ferrari (ISTI) Requirements Engineering 45 / 76
46. Pointer 3: Use Case and UML
Enter Car Park
Car Driver
Car Park Surveillant
Monitor Car Park
Exit Car Park
Pay Parking
A. Ferrari (ISTI) Requirements Engineering 46 / 76
47. Pointer 4: Goal Modelling
Profits
Improved
Automatic Car
Park Defined
Car Entrance
Automated
Car Exit
Automated
Payment
Automated
Verification of
Payment
AchievedOpen Barrier
Achieved
Close After
Pass Achieved
Trigger to Open
Barrier
Achieved
Open Barrier if
Payment
Achieved
Button System
Implemented
Open Photocell
System
Implemented
Verify Money
Achieved
Release
Receipt
Achieved
AND
OR
Open Button
Controller
Photocell
Controller
Counter
Implemented
Close Photocell
System
Implemented
Payment MachineBarrier Controller Exit Controller
A. Ferrari (ISTI) Requirements Engineering 47 / 76
49. Documentation: Using NL Templates
SRS are written in Natural Language (NL), because several
stakeholders with diverse skills have to interact with them
SRS are written in NL, because formalisation is not possible at
this stage of the development
As spoken language is ambiguous, so it is written language
In a conversation, I can ask clarifications, but when a document is
written, it is not always that easy
A. Ferrari (ISTI) Requirements Engineering 49 / 76
51. Rupp’s Template (more appropriate for R)
between. For an automated tool to deem R1 as conformant,
it has to correctly distinguish these three slots in the follow-
ing: “monitor system configuration changes posted to the
database”. A second important issue is that even when a
slot falls in between fixed elements, e.g., hwhom?i, and is
thus easy to delineate, there is no way to distinguish an
acceptable filler for the slot from an unacceptable one, e.g., a
grammatically-incorrect phrase. For instance, in R1, we may
accept “system administrator” as correctly filling hwhom?i,
but we may be unwilling to accept a grammatically-incor-
rect phrase such as “system administer” for the slot.
and define the glossary terms after the requirements have
sufficiently matured and are thus less likely to change. This
strategy avoids wasted effort at the glossary construction
stage, but it also means that the glossary will not be ready
in time to support activities such as template conformance
checking (TCC), which often take place during requirements
writing. Furthermore, the literature suggests that glossaries
may remain incomplete throughout the entire development
process [14], thus providing only partial coverage of the
glossary terms. This implies that automated techniques for
checking conformance to templates would have limited
effectiveness if such techniques rely heavily on the glossary
Fig. 1. Rupp’s template [5].
ARORA ET AL.: AUTOMATED CHECKING OF CONFORMANCE TO REQUIREMENTS TEMPLATES USING NATURAL LANGUAGE PROCESSING 945
A. Ferrari (ISTI) Requirements Engineering 51 / 76
52. EARS Template (more appropriate for S)
[16], [17], [18] and discussed in Section 2.1. In both of
the studies that use Rupp’s template, the require-
ments were written directly by professionals. As for
the two studies using EARS, one—which is the larg-
est case study reported in this article—was written
directly by professionals as well, while the remain-
ing study uses transformed requirements from one
of our two case studies based on Rupp’s template.
The results from our case studies indicate firstly, that
templates and NLP to the extent needed in our approac
Section 3 describes our approach for automation of TC
Section 4 discusses tool support. Sections 5 presents the ca
studies we have conducted to evaluate our approac
Section 6 identifies the limitations and analyzes threats
validity. Section 7 compares our approach with relat
work. Section 8 concludes the article with a summary a
directions for future work.
. 3. The EARS template [16].
6 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 41, NO. 10, OCTOBER 2
A. Ferrari (ISTI) Requirements Engineering 52 / 76
53. Templates for your exercise
A. Ferrari (ISTI) Requirements Engineering 53 / 76
54. FORMAT1. The system [shall|should] be able to < capability >
(Il sistema [deve|dovrebbe] essere in grado di <capacità>)
Example: The system shall be able to monitor the number of cars
in the parking
This format is also employed in case of statements that involve
mandatory (shall) or optional (should) functionalities, which are
unconditional and independent from the actions of the
operators.
Statements of this type are normally associated to interface
functions, internal procedures, or procedures that manage internal
data structures.
A. Ferrari (ISTI) Requirements Engineering 54 / 76
55. FORMAT2. The system [shall|should] allow the < user > to < action >
(Il sistema [deve|dovrebbe] permettere a <utente> di <azione>)
Example: The system shall allow the car driver to pay the parking
This format is employed in case of statements that involve
mandatory (shall) or optional (should) functionalities, which are
unconditional and dependent from the actions of the operators.
A. Ferrari (ISTI) Requirements Engineering 55 / 76
56. FORMAT3. The system [shall|should] < action >, [when|after|before|if]
< condition > {, [when|after|before|if] < condition >}
(Il sistema [deve|dovrebbe] <azione>, [quando|dopo|prima|se]
<condizione> {,[quando|dopo|prima|se] <condizione>})
Example. The system shall release the receipt, if the car driver
has payed the required amount
This format is employed when the action depends on one or more
conditions.
All conditions are considered in a logical AND relationship. If we
want to express logical OR among conditions, it is recommended
to add a new requirement or specification.
A. Ferrari (ISTI) Requirements Engineering 56 / 76
57. FORMAT4. [FORMAT1|FORMAT2|FORMAT3], < procedure >
Example. The system shall signal the unavailability of receipts,
before the user inserts coins, through a message on the screen
This format is employed to specify functionalities that have an
associated procedure, or that are performed through a
well-defined interface device.
The format shall be used when it is useful to explain HOW the
system is expected to perform a certain action.
A. Ferrari (ISTI) Requirements Engineering 57 / 76
58. Your Turn!
Write (part of) R, S for the smart gym following the templates
Write D in NL without templates, in a rigorous language
You can use the same template for R and S, the only difference
resides in the vocabulary that you use
If you speak only about elements in the interface, then it is S
If you speak about elements in the environment and (optionally)
about elements in the interface, then it is R
While you write a new entity or action, store it in the vocabulary
and tell if it belongs to the interface or to the environment
You have 30 minutes
Hints
Hint 1 identify interfaces, users, and main functions of your system
Hint 2: try to list as many R as possible; select one; write S for that;
state the D that are needed to satisfy R
Hint 3: if needed, partition the system into sub-systems
A. Ferrari (ISTI) Requirements Engineering 58 / 76
59. Examples
R, S, D
R1: (F1) The system shall be able to monitor the workout of the
customer
R2: (F2) The system shall allow the trainer to visualise the
workout of the customer
S1: (F1) The system-CentralUnit shall be able to store the data
coming from the wrist-band of the customer
S2: (F3) The system-UI shall visualise the workout plot of the
customer, when the trainer presses the button B, if the system-UI
is in Page P.
D1: Each customer is equipped with a wrist-band
D2: The wrist-band records the data concerning the workout of
the customer
A. Ferrari (ISTI) Requirements Engineering 59 / 76
60. Summary of the Templates
F1: The system [shall|should] be able to < capability >
(unconditional user-independent capability)
F2: The system [shall|should] allow the < user > to < action >
(unconditional user-dependent action)
F3: The system [shall|should] < action >, [when|after|before|if] <
condition > {, [when|after|before|if] < condition >} (conditional
action)
F1|F2|F3, < procedure > (if I have to tell HOW)
A. Ferrari (ISTI) Requirements Engineering 60 / 76
61. Validation: Sins of the Requirements Engineer, and NL Ambiguity
A. Ferrari (ISTI) Requirements Engineering 61 / 76
62. 9 Sins of the Requirements Engineer
Noise: Presence into the text of an element not adding problem
relevant information
“The car park has three elevators”
Silence: Existence of a characteristics of the problem not covered
by any text element
Have I though about the limit in the number of places
in the car park?
“If the user has inserted the correct amount of
money, the system shall release a receipt” (what if
the amount is not correct?)
Overspecification: Presence into the text of an element not
corresponding to any characteristic of the problem but to
possible implementation characteristics
“When a car enters the park, the system shall add
one to the car counter”
A. Ferrari (ISTI) Requirements Engineering 62 / 76
63. 9 Sins of the Requirements Engineer (continue)
Contradiction: presence into the text of two or more elements
defining system characteristics in a inconsistent way
“Only when the red button is pressed, the system
shall release the receipt”
“The system shall release the receipt when the user
inserts coins”
Ambiguity: presence into the text of an element that makes possible
different interpretations of one characteristic of the system
“When the user presses the button, the system shall
release the receipt” - which button?
A. Ferrari (ISTI) Requirements Engineering 63 / 76
64. 9 sins of the Requirements Engineer (continue)
Forward references: presence into the text of an element using
characteristics of the problem defined below
Consider the red button is defined after you tell how
to use it
Wishful thinking: presence into the text of an element defining a
characteristic of the problem so that a possible solution of
this problem cannot be realistically validated
“The car park receipt shall not be thrown away after
parking”
A. Ferrari (ISTI) Requirements Engineering 64 / 76
65. 9 sins of the Requirements Engineer (continue)
Synthesis presence of a requirement that states more than one
functionality, and hence needs multiple-tests
“The system shall allow the car driver to enter and
exit from the park”
Repetition: presence of multiple statements expressing the same
requirement
“The system shall show the amount of money due,
after the user has inserted the entrance card”
“If the user provided the entrance card, the system
shall visualise the amount of money due”
A. Ferrari (ISTI) Requirements Engineering 65 / 76
66. 9 Sins - Summary
1 Noise = irrelevant information
2 Silence = absence of relevant information
3 Overspecification = implementation-related information
4 Contradiction = contradictory information
5 Ambiguity = multiple interpretations possible
6 Forward references = wrong information sequence
7 Wishful thinking = potential validation problems
8 Synthesis = potential validation problems
9 Repetition = potential validation problems, and ambiguity
A. Ferrari (ISTI) Requirements Engineering 66 / 76
67. Ambiguity in NL Requirements
Templates are useful to reduce ambiguity, but ambiguity might still
be there
Moreover, templates are not always used in practice
We need more fine-grained lenses to reduce ambiguities
Previously, we have classified ambiguities depending on the way
they are perceived by a listener
The previous classes can be applied also for written text,
substituting the listener with the reader
Here, we classify the triggers of ambiguity in written language,
which can lead to different classes of ambiguities from the point of
view of the reader
These triggers can be applied also to spoken language, but they
are harder to detect (verba volant, scripta manent)
A. Ferrari (ISTI) Requirements Engineering 67 / 76
68. Categories of Ambiguity
Pure Ambiguities
Lexical: the terms used have different vocabulary meanings
Syntactic: the syntactic structure has more than one
interpretation
Semantic: no lexical or syntactic ambiguity, but the expression is
ambiguous
Quasi-Ambiguities
Vagueness: there are cases in which the meaning of the
expression cannot be established
Generality: the expression is too abstract
A. Ferrari (ISTI) Requirements Engineering 68 / 76
69. Lexical Ambiguities
Homonymy: words have unrelated meanings, but they have the
same written representations
Example: I went to the bank. (bank = ground close to a lake;
financial institution)
Polysemy: words have related different meanings, but they have
the same written representations
Example: There is a mole at work. (mole = animal; spy)
These types of ambiguity are rare in requirements, but it’s good to
know they exist, since they can occur during elicitation (e.g., “rilevato
sul piano cutaneo” - homonymy).
A. Ferrari (ISTI) Requirements Engineering 69 / 76
70. Syntactic Ambiguities
Analytical: a complex noun group with modifiers, and you do not
know which to which noun the modifiers refer
Example: The principal system administrator shall be able to
enter the data-base (principal = system or administrator?)
Attachment: a preposition (e.g., “with”, “for”, “by”) can be
attached to different parts of the sentence
Example: The system shall produce a resumee using a template
for the final assessment (for the final assessment: is the template,
or is it an objective?)
Coordination: complex combinations of AND/OR, or modifier +
AND/OR
Example: The system shall produce the plot or the data-log and
the legend.
Example: Novel employees and directors shall be provided with
a user-name and password
A. Ferrari (ISTI) Requirements Engineering 70 / 76
71. Syntactic Ambiguities (continues)
Elliptical: omission of words, which are expected to be deduced
from the context
Example: The system produces a positive notification in case of
success, and in case of failure doesn’t (does not produce any
notification at all?)
Anaphoric: usage of pronouns (e.g., he, it, his, this), which can
be referred to different nouns.
Example: “When the system sends a message to the receiver, it
shall provide an acknowledgement” (it = “system” or “receiver”?)
These are less frequent in spoken language, but rather frequent in
written requirements.
A. Ferrari (ISTI) Requirements Engineering 71 / 76
72. Semantic Ambiguities
These are due to ambiguous interactions of logical quantifiers (every,
each, all, any, some, none, a, etc.), and to the use of plurals.
Example: All lights have a switch (one for all, or one for each?)
Example: An alert shall be raised for each failure-mode (the
same alert?)
Example: The wrist-bands contain movement sensors (one-one,
one-many, many-one, many-many?)
Hint: do not use plurals, and be careful with quantifiers
These are also due to the usage of synonyms in requirements
Example: The system shall allow the car driver to insert coins
Example: The system shall release the receipt if the user has
payed
A. Ferrari (ISTI) Requirements Engineering 72 / 76
73. Generality
These cases are due to the usage of terms (names or verbs) that
are too abstract
They are not classified as ambiguities, because, depending on the
context, a more detailed description might not be required.
In requirements and specifications, generality can be reduced
through the vocabulary
Example: The system shall be able to produce the report
Example: The system shall be able to alert the user in case of
failure
Example: The system shall be able to produce a graph of the
workout of the customer
In the literature, generality problems are often marked as “pragmatic
ambiguities”. This often causes confusion. Pragmatic ambiguities are
concerned with the effect, while here we focus on triggers.
A. Ferrari (ISTI) Requirements Engineering 73 / 76
74. Vagueness
Vagueness occurs when an expression (often, adjective or
adverb) has not a uniquely quantifiable meaning.
Several vague expression can be listed (accurate, suitable,
appropriate, clearly, better, accordingly, depending on, if
necessary, if needed, etc.)
In general, avoid adjectives and adverbs
Example: The system shall be able to show the graph of the
workout if required
Example: The system shall be able to show a suitable
representation of the workout
Example: When appropriate, the system shall display low levels
of workout
A. Ferrari (ISTI) Requirements Engineering 74 / 76
75. Further Readings
Gunter, Carl, et al. “A reference model for requirements and specifications.” Requirements
Engineering, 2000. Proceedings. 4th International Conference on. IEEE, 2000.
Jackson, Michael. “The meaning of requirements.” Annals of Software Engineering 3.1
(1997): 5-21.
Zave, Pamela, and Michael Jackson. “Four dark corners of requirements engineering.”
ACM transactions on Software Engineering and Methodology (TOSEM) 6.1 (1997): 1-30.
Berry, Daniel M. "From contract drafting to software specification: Linguistic sources of
ambiguity-a handbook version 1.0." (2000).
Gleich, Benedikt, Oliver Creighton, and Leonid Kof. “Ambiguity detection: Towards a tool
explaining ambiguity sources.” Requirements Engineering: Foundation for Software
Quality. Springer Berlin Heidelberg, 2010. 218-232.
Van Lamsweerde, Axel. "Goal-oriented requirements engineering: A guided tour."
Requirements Engineering, 2001. Proceedings. Fifth IEEE International Symposium on.
IEEE, 2001.
Ferrari, Alessio, Paola Spoletini, and Stefania Gnesi. "Ambiguity as a resource to disclose
tacit knowledge." Requirements Engineering Conference (RE), 2015 IEEE 23rd
International. IEEE, 2015.
A. Ferrari (ISTI) Requirements Engineering 75 / 76
76. TODO: for next lecture
Mandatory:
Provide me your e-mail address to have the material:
alessio.ferrari@isti.cnr.it
Download GATE Developer:
https://gate.ac.uk/download/ (VERSION 8.0)
Make sure that it works (. . . open the application)
Optional:
Download and Install Python 2.7.5
(https://www.python.org/download/releases/2.7.5/)
Download and Install Python NLTK
(http://www.nltk.org/index.html)
A. Ferrari (ISTI) Requirements Engineering 76 / 76