(Re-)Engineering Quality requirements (Activity)

From Foss2Serve
Revision as of 18:17, 24 July 2017 by BPenzenstadler (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Overview

Title

(Re-)Engineering Quality Requirements

Overview

In this activity, students learn a simple method to specify non-functional requirements.

Prerequisites

This is an activity used in the Requirements Engineering course.
It is based on the "Classification of non-functional requirements" lecture slides and can be conducted individually or in small teams.

Learning
Objectives
After successfully completing this activity, the learner should be able to:

Able to specify precise quality requirements, process requirements, and system constraints.

Process Skills
Practiced

Information Processing


Background

  • Is there background reading material?
  • What is the rationale for this activity?

Directions

  • In class, we discuss how to develop and document “non-functional” requirements. In this assignment, you have to develop the non-functional requirements for OpenMRS.
  • For this assignment, you will use your input from the earlier content items (goal model, usage model) including the feedback you received on those.
  • On that basis, your team develops a small set of non-functional requirements, as described and discussed in the lecture (use the template below). This shall be provided in the form of
    • Three process requirements
    • Three deployment requirements
    • Three system constraints, and
    • Six quality requirements (for different quality characteristics).
  • These requirements shall be linked refinements of your earlier elicited goals, so please name the goals as rationale. Also, they need to be implemented in OpenMRS, not inferred in the sense of “made up” from your own ideas.
  • Please also provide your description of the rationale for your results, at least two paragraphs of how you did it and what you found difficult or the most challenging aspect of it.
Type of NFR and quality characteristic <Quality characteristic / system constraint / development process / deployment requirement>
NFR description <Description of what the actual requirement is>

Deliverables

  • What will the student hand in?

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.

Assessment

  • How will the activity be graded?
  • How will learning will be measured?
  • How will feedback to the student be determined?

Include sample assessment questions/rubrics. Feel free to indicate that the activity itself is not graded, however it would be helpful to include any questions that might be used at a later date to interpret learning, for example on a quiz or exam.

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)
Criterion 1...
Criterion 2...

Comments

  • What should the instructor know before using this activity?
  • What are some likely difficulties that an instructor may encounter using this activity?

Suggestions for Open Source Community

Suggestions for an open source community member who is working in conjunction with the instructor.

Additional Information

ACM BoK
Area & Unit(s)

SE Requirements Engineering

ACM BoK
Topic(s)

Non-functional requirements and their relationship to software quality,
Properties of requirements including consistency, validity, completeness, and feasibility

Difficulty

medium

Estimated Time
to Complete

twice 75 minutes (or start in lab and finish as homework)

Environment /
Materials

computer lab with internet

Author(s)

Birgit Penzenstadler

Source

n.a.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png



This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox