Practice EARS (Activity)
Practicing natural language requirements specification
This activity lets students practice the "Easy approach to requirements syntax", a simple pattern-based approach to specify natural language requirements that don't allow for ambiguity.
|Learning Objectives||After successfully completing this activity, the learner should be able to:
Practice a pattern-based approach to natural language requirements in order to develop a good, unambiguous writing style for natural language requirements.
|Process Skills Practiced|
- Background reading material: "Easy approach to requirements syntax" lecture slides
- Rationale for this activity: Natural language requirements are often written in an ambiguous way. EARS provides templates that help students develop a systematic way to write down functional requirements.
In our first lab session, we will get an overview of free open source software development and an example project, and then practice the EARS approach from today’s lecture.
- Read the following sources to get a rough understanding of FOSS and HFOSS:
- Review the Humanitarian Free Open Source Software (HFOSS) project OpenMRS: http://openmrs.org/ and get an overview of what it is about and what it is for.
- Practice EARS for requirements you can identify for OpenMRS
- Submit a PDF file with three examples per EARS pattern
- The student (team) will hand in PDF file with three examples per EARS pattern
Notes for Instructors
The remaining sections of this document are intended for the instructor. They are not part of the learning activity that would be given to students.
- How will the activity be graded?
- The reading part is not assessed, but the usage of the natural language requirements patterns.
- Points are given according to correct application of the patterns.
- How will learning will be measured?
- If the students are able to correctly apply the patterns to given examples, they have mastered this skill.
- How will feedback to the student be determined?
- The student receives written feedback on their submission of written requirements w.r.t. correctness and unambiguity.
- Submitted solutions can be discussed in class (probably anonymizing them, according to classroom code of conduct)
The form of the assessment is expected to vary by assignment. One possible format is the table:
|Criteria||Level 1 (fail)||Level 2 (pass)||Level 3 (good)||Level 4 (exceptional)|
|Correctness||Nothing submitted.||Correct pattern used in at least 50% of requirements.||Correct pattern used in at least 80% of requirements.||Correct pattern used in 100% of requirements.|
|Unambiguity||All requirements can be misinterpreted.||At least 50% of requirements are unambiguous.||At least 80% of requirements are unambiguous.||100% of requirements are unambiguous.|
- Having students write natural language requirements using a straight-forward technique in the very first lab of the course gives them a stronger sense of agency and gets them more activated than reviewing higher-level concepts.
- This task can be a bit monotonous if the students are not interested in the system, so make sure to use a system they find exciting. Or have different teams work on requirements for different systems.
Suggestions for Open Source Community
This can significantly increase the quality of natural language requirements of a project with regard to ambiguity of requirements. The output of the exercise can often be integrated beneficially into existing requirements specifications.
| ACM Body of Knowledge
Area & Unit(s)
Describing functional requirements using, for example, use cases or users stories
75 minutes (may be done in less time, depending on how much time is spent reading about FOSS)
|Environment / Materials||
computer lab with internet
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License