3551 Trousdale Rkwy, University Park, Los Angeles, CA
Page 1 of 4
Software Engineering Fundamentals for IT
Team Assignment Specification
Group assignment. Groups as allocated and notified on Canvas. Submit online via
Canvas→Assignments→Team Project. Marks awarded for meeting requirements as closely as
possible. Clarifications/updates may be made via announcements/relevant discussion forums.
Due Date Monday 8 am Week 6 (Milestone 1); Week 8 (Milestone 2) and Week 12 (Milestone 3)
Marks 45% (M1 = 10%; M2=15%; M3=20%)
You are required to answer questions, draw and update diagrams, develop an application based on base-code and
matched the specification below, using appropriate process and tools, in particular those supporting collaborative project
This is a group assignment and has three parts. The whole assignment is worth 45% towards your final grade.
Part 1 is worth 10%, Part 2 is worth 15% and Part 3 is worth 20% towards your final grade.
The rubric is available in canvas. Part of your work will be assessed gradually, and session by session by your tutor. All
team members must be present to be assigned the associated mark on each occasion.
For each submission, team members will be required to indicate how and how much each team member contributed to
Marks for individual team members may be adjusted to reflect level and quality of contribution, as indicated by peer
assessments and logs from collaboration tools.
Marks will be awarded for quality of the submitted system, quality of associated artefacts (e.g., test plans, test reports),
and the proper use of Software Engineering concepts.
2. Learning Outcomes
This assignment supports the following Course Learning Outcomes:
CLO 1: explain how iterative software engineering processes can facilitate software development.
CLO 2: use appropriate design, version control and collaboration tools to work effectively as a team.
CLO 3: communicate with the client and team members using appropriate UML models.
CLO 4: implement the system using appropriate tools and techniques.
CLO 5: deploy applications on the cloud by combining appropriate technologies and tools.
CLO 6: design and carry out tests using various testing techniques and tools.
3. Assessment details
BFit is an online training application that lets customers search for workouts, enrol in training programs, and track their
progress. User can access their profile anytime and update their goals and achievements.
Administrators can add new workouts, programs and recipes for customers.
BFit aims to be an easy to follow and complete guide to exercise for people.
C 1. Fitness tracking (including program progress, workouts per day, weight, etc.)
C 2. Manage favourites (Workouts and Recipes)
C 3. Manage comments
C 4. Manage Profile (including goals, medals, notifications, reports, etc.)
Page 2 of 4
C 5. Manage Custom Programs
C 6. Social share
A 1. Manage Workouts
A 2. Manage training programs (A program structures a set of Workouts over time)
A 3. Manage Recipes
A 4. Manage Medals
A 5. Promote new Workouts and Programs
Anonymous users can browse different sections of the application and view titles and summaries of content but need to
be registered to access details.
Registered users (a.k.a. customers) can see content (i.e. workouts, programs and recipes) details.
Customers can enroll in training programs to start tracking their progress. Bfit should help customers follow their training
program by offering reminders and useful communications. A customer can update workouts completed (either as part
of a program or not) including day, time and other relevant information (e.g. time elapsed, . Bfit can present the user
with reports of progress (e.g. days of workout, weight and fitness tracking, etc.)
As a way to motivate customers to continue training, customers can earn “Medals” for different types of achievements.
For example: number of active weeks, completing “beginners” programs, etc.
Administrators create (and manage) new programs that are available for all customers to enroll, but customer can create
their own private custom programs if they want.
Bfit will help customers follow their health goals by tracking for them data like age, weight, hip/waist measures, etc. and
calculating information like body mass index (BMI). Historical data and information can be visualized in the customers
Administrators can have reports of the overall activity in the system like popular programs and workouts, and can
segregate them by age groups, location, etc.
IMPORTANT: Specific Task limitations and weighting will be announced in each Milestone Assignment in Canvas
In each milestone the team will have to perform the following tasks
1. Write all user stories based on the scenario and the base-code, here is customer login as example:
As a customer, I want to login to the application so that I can have access to my own dashboard.
• I’m on home page
• I can see the login form
• I have an active account
• Fill the form with my valid email and password
• I click login button
Page 3 of 4
• The systems validated my credentials
• I can see my dashboard
2. Complete your product backlog based on your user-stories. You must include the acceptance criteria, priority
and effort number for each user stories in the backlog.
3. Perform and Document your Sprint planning, Daily Stand ups, Sprint Retro and Sprint Review sessions based on
the assignment template.
4. Complete and update the Design Diagrams based on the scenario and the code.
5. Code the system’s design.
6. Manage your code through GitHub and follow the readme file on the GitHub to make your own repository. Write
functions based on your first sprint planning goal.
7. Test all features and report the result.
8. Ensure that the code base in functional and deployable at all times.
• A feature is the range of operations that can be run. A feature requires multiple User Stories to capture all the
• A User Story will be decomposed in a number of tasks to meet the acceptance criteria
• Manage feature refer to possibility of creating, read -including list collections and entity details-, update and
delete entities. Note: that operations may be block or unavailable to particular Users or in particular states. For
example: a dashboard can be accessed to anonymous users.
All the relevant material for the milestone must be included in the “docs” section of you github repository. The link to
that repository MUST be submitted in canvas for your group. A group will be available for your team, so any of the
members can submit the link.
Each milestone submission must contain a “Contribution Form” where students declare the contribution of each team
member to the project. This statement will affect the individual mark of students for the milestone.
A silence policy will take effect 48hrs before this assignment is due. This means no questions about this assignment will
be answered, whether they are asked on the discussion board, by email, or in person.
The late penalty is 10% of the total mark for the assessment per business day late for up to 5 business days late (so the
maximum late penalty is 50%). Submissions more than 5 days late are not accepted.
When you submit work electronically, you agree to the assessment declaration:
Teams will be self-organised; support for this will be provided the first tutorial, and by the course coordinator if required.
Teams should consist of 5 members; all team members must attend the same weekly tute/lab class. There are no bonus
marks for a small team.
Anyone unable to form a complete team must contact the lecturer by Week 3.
Any issues that arise within the team should be resolved by the team if possible; if not possible, then this should be
brought to the attention of the course coordinator/Head tutor as soon as possible. Each team should discuss how to
distribute tasks. Different team members may contribute in different ways: e.g., writing user stories; design and
implementation; designing and running tests and bug reporting; writing documentation; etc.; however, all team
members must make some contribution to coding/implementation.
Page 4 of 4
The tutors will facilitate weekly Scrum meetings in the weekly tute/lab sessions, but it is recommended that each team
appoint a Scrum Master who will be responsible for leading Scrum meetings and updating task plans in ClickUp and other
communications tools (e.g. Slack, Microsoft Teams, etc.).
6. Academic integrity and plagiarism (standard warning)
Academic integrity is about honest presentation of your academic work. It means acknowledging the work of others while
developing your own insights, knowledge and ideas. You should take extreme care that you have:
Acknowledged words, data, diagrams, models, frameworks and/or ideas of others you have quoted (i.e. directly copied),
summarised, paraphrased, discussed or mentioned in your assessment through the appropriate referencing methods,
Provided a reference list of the publication details so your reader can locate the source if necessary. This includes material
taken from Internet sites.
If you do not acknowledge the sources of your material, you may be accused of plagiarism because you have passed off
the work and ideas of another person without appropriate referencing, as if they were your own.
RMIT University treats plagiarism as a very serious offence constituting misconduct. Plagiarism covers a variety of
inappropriate behaviours, including:
Failure to properly document a source
Copyright material from the internet or databases
Collusion between students
For further information on our policies and procedures, please refer to https://www.rmit.edu.au/students/student-
7. Marking Guidelines
Rubric and Milestone task considerations will be available per Milestone in the appropriate canvas assignment page.