Penzenstadler - Requirements Engineering (Proposal)

(Difference between revisions)
Jump to: navigation, search
Line 3: Line 3:
 
 
 
==Target Venue==
 
==Target Venue==
Requirements Engineering course (mine is currently a graduate course, but undergraduates can join as well, only prerequisite is 'Introduction to software engineering' or something simliar)
+
Requirements Engineering course (mine is currently a graduate course, but undergraduates can join as well, only prerequisite is 'Introduction to software engineering' or something similar).
 
 
 
==Target Student Audience==
 
==Target Student Audience==
<Who typically takes this course?  Majors or non-majors?  Is this a required course?  At what point in their studies do students take this course?>
+
Requirements Engineering is an elective course and is usually taken by majors. The years vary. However, the activities to be developed can also be used during any software engineering course in the requirements engineering phase of the course.
 
 
 
==Learning Activities==
 
==Learning Activities==

Revision as of 00:09, 8 December 2016

Contents

Summary

I intend to develop a series of lab assignments along with instructions for a course on requirements engineering as to date there is only [one single requirements activity] in the portfolio provided on foss2serve.

Target Venue

Requirements Engineering course (mine is currently a graduate course, but undergraduates can join as well, only prerequisite is 'Introduction to software engineering' or something similar).

Target Student Audience

Requirements Engineering is an elective course and is usually taken by majors. The years vary. However, the activities to be developed can also be used during any software engineering course in the requirements engineering phase of the course.

Learning Activities

I have a lecture on requirements engineering (slides online, see [1]) for which I will develop lab activities to support the contents talked about in class that develop the skills that will allow students to apply their knowledge in a larger scale, live software product development with its everyday challenges (of missing or incomplete requirements and their management), while at the same time being exposed to open source culture.

There will be 6 new activities that can each fill one or two lab sessions, depending on how extensive the instructor decides to discuss the results and the experience the students had. As 7th activity, the existing [Requirements Analysis] will be reused. Generally, the first session would be for the introduction of the exercise and the students to perform the exercise, and the second lab would be to discuss the results and give feedback, and to rework and improve the submitted assignment (optional, but I find that beneficial for the students).

  • New activity: "Reengineering a system vision": Understand the vision of an existing system from its online documentation and extract the major features and the business case.
  • Existing activity: [Requirements Analysis]: To be used first to get an understanding of the setup and the tools used in FOSS. Includes intro to github and issue tracking.
  • (New 'super-activity', broken down in 3 activities) "Reengineering a Software Requirements Specification": Reengineering a SRS from a roadmap and issue database. The outcome of these assignments can be fed back into the issue tracker (e.g. to improve and detail feature requests) or provided to the community for their roadmap in case a contact is established and the community is interested.
    • New activity: "Reengineering use cases": Developing use case overview diagrams and use case scenarios according to the Cockburn template, based on information in the roadmap and issue tracker.
    • New activity: "Stakeholders, goals & questions": Listing the stakeholders of the system and identifying their major goals and objectives. Along with that, coming up with a set of questions (per stakeholder) on what the functionality should be and what is unclear, then (optional) ask community about those.
    • New activity: "Quality requirements": Understandability of interfaces in compliance to roadmap/system vision, etc.
  • New: "Understanding Design and Checking Compliance": Understanding the existing design. Quiz them on their basic understanding to make sure they are on track. Then let them understand the high-level design and conduct an analysis of whether the design is consistent with the requirements.
  • New: "Quality Assurance": Give students a checklist of what to look for in road map, issue tracking, and version control documentation.

Draft notes for 3 of the activities are provided at [2] I will provide the lab instructions, grading rubrics, and homework assignments via this wiki in the activities category.

Evaluation

I will use the standard [POSSE pre- and post surveys] and extend them with specific questions on requirements engineering.

The effectiveness in comparison to earlier versions of this course can be evaluated by comparing the results of our SPOT (Student Perceptions of Teaching) evaluation.

Schedule

The course will be held in Spring 2017, so the materials will be developed December 2016 to February 2017 and the evaluation will be completed by May 2017 when the course finishes.

Budget

Development of lab materials, worksheets and exercises, plus data collection and analysis, $1500

Conference travel to the 13th International Conference on Open Source Systems, in collocation with ICSE, May 2017, $1500.

Contact Information

Birgit Penzenstadler birgit 'dot' penzenstadler 'at' csulb 'dot' edu

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