School of Electrical Engineering, Computing and Mathematical Sciences Curtin University
Requirements Engineering (CMPE2002) – 2023 Assignment 1: Modeling Requirements
Due Date
22nd of September, Friday (Teaching week 8 – 11.00 am Perth local time online through Blackboard) This assignment counts for 20% of the final marks.
Important note
1. This assignment is to be carried out after forming a group of a maximum of four students
(preferably within the same workshop session). Each group will submit one report through
Blackboard.
2. After forming groups, you must forward an email including the names of all the group
members (and the selected problem statement) to your Tutor and Lecturer by the COB on or
before 26th August (including student id and contact details, one team can have a maximum
of four students).
3. Each group is required to select one problem statement provided by the lecturer and work on
it as per the instructions provided below.
Objective
Assignments’ 1 and 2 are closely related to each other. The two assignments together form a complete software requirements specification. In these two assignments, you will analyze the requirements and write a requirements specification for a software development project of your own choice from the problem statements provided. Assignment 1 expects you to model the problem using a mixture of modeling techniques (on the other hand, Assignment 2 will ask you to produce a software requirements specification document based on this and more). The main objective of this assignment is to give you practice in gathering information (by using requirements elicitation techniques discussed during lectures, and workshops) and develop models of various aspects of the application domain in order to analyze the requirements. Your group is expected to follow the notion of a Hybrid Agile/Scrum planning process (as discussed during Lectures/workshop sessions) while completing this assignment.
Problem Statement
Read the problem statements provided to you under the assignment folder on the CMPE2002 unit website on BB. Select any one problem statement per group to work on this assignment.
Doing the Assignment
This assignment has the following steps. They are listed below:
1) Use requirements elicitation techniques discussed during lectures (and workshops) to analyze
information and features provided in the selected problem statement.
Your group may arrange information-gathering sessions (e.g. interviews) to collect any additional information you need to refine the requirements provided in the problem statement. Group members can play the role of key stakeholders and domain experts during this exercise.
You are also allowed to collect any additional information/additional innovative feature(s) you may need to refine the requirements.
Note: We are not looking at the full description of different elicitation techniques but rather only specific techniques used in your case.
2) Based on the problem statement and gathered information, design a Work Breakdown
Structure (WBS). Use the planning poker game to estimate the duration of each task or subtask in your WBS table.
3) Based on the scope of your project, list down all the identified functional and non-functional
requirements at this stage.
Note: We further expect you to extend and refine these requirements in Assignment 2 to arrive at the formal software requirements specification document.
4) Develop models of key aspects of the problem. Your models must include:
a) The required functionality of the proposed system (using UML Use Case Diagrams
AND UML Sequence Diagrams).
b) The dynamic behaviour of relevant objects in the application domain of the proposed
system (using UML Activity Diagrams AND UML State Diagrams).
5) Drawings must be clear and legible. You can use open-source modelling tools of your choice
like ArgoUML, Star UML, PlantUML etc to draw your models – Strictly, do not draw
models/diagrams by hand and use the right symbols to define actor, case, state, trigger,
decision etc.
6) Clearly list any assumptions you might make in completing this assignment at appropriate
places.
7) To track your assignment progress, implement the Agile/Scrum planning method. List down
all the tasks you need to complete in assignment 1. Then assign a point value to each task
based on its complexity. Also, assign a sprint/iteration number to each task. For example, if
you have 4 weeks to submit the assignment, you can consider 4 sprints to complete it (with
each sprint lasting 7 days). At the end of your assignment, design a burn-up chart and provide
an explanation. (Note: you can use Excel to design the table and burn-up chart. However, you
don’t need to provide the Excel file. After designing the chart in Excel, you can add the table
and chart to your report and provide an explanation).
Written requirements of the assignment:
Your group must hand in a report (in PDF format and contain all relevant graphics) that should contain the following:
1) The report of your work, not exceeding two (2) pages (not counting references, appendices,
figures or tables etc). The report itself is intended just to give an overview of what you did,
and the rationale for any choices you made (e.g. about what to model and how to model it;
the requirements elicitation techniques used to further refine the requirements, discuss any interesting lessons learned during the elicitation and modelling process etc).
2) An appendix containing all of your identified functional and non-functional requirements at
this stage and analysis models. Make sure you provide enough commentary (and annotations)
with the models for the reader to understand what each model is of, and how to understand
them.
3) Any further appendices you feel are relevant.
Assignments will be judged on the basis of visual appearance, grammatical correctness, and quality of writing, as well as their contents. Please make sure that the text of your report is well-structured, using paragraphs, full sentences, and other features of a well-written presentation. The report must not consist of itemized lists of points. Text font size should be either 10 or 12 points.
Team Report Form for Assignment 1
Requirements Engineering (CMPE2002) – 2023
(must be submitted separately by each team member during Week 8 Workshop to the Tutor)
Submitted by:
Signature (with date):
Description of roles and contributions of each team member:
Name | % of team effort |