辅导案例-ISYS3413

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
ISYS3413 Software Engineering Fundamentals
RMIT University

Major Assignment

Assignment Overview
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 and code development. The program implemented in Java
and Javascript.

This is a group assignment and has three parts. The whole assignment is worth 46% towards your
final grade.

Part 1 is worth 13%, Part 2 is worth 20% and Part 3 is worth 13% 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 the project.
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 the SE

Teamwork
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 4 or 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.

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 Trello or JIRA.

Academic Integrity

The submitted assignment must be your own team’s work. No marks will be awarded for any parts
which are not created by your team.
Plagiarism is treated very seriously at RMIT. Plagiarism includes copying code directly from other
students (other than those in your team), internet or other resources without proper reference.
Sometimes, students’ study and work on assignments together and submit similar files which may be
regarded as plagiarism. Please note that your team should always create its own assignment even if
you have very similar ideas to other teams. Harsh penalties may be applied in cases of plagiarism.

Assignment Specification

Vision
Donadoni Cinema’s Online Booking System is a web application that let customers to look for a movie,
select the movie, find the time and date, preferred cinema, reserve the movie and pay for the ticket
online from anywhere at any time. The confirmation email will be sent to customer. Cinema’s admin
can add/edit cinema, movies to the system.
Important Goals:
• Provide ticket booking to customers 24/7
• Promote new movies
• Provide reports about sales of each movie based on the movie, cinema, show time and
customer

Features

Customer Features:
C1. Book Tickets (includes payment)
C2. Manage Booked Tickets (includes cancelling and history)
C3. Manage Favourite Cinemas
C4. Manage Reviews
C5. Seat Selection: Customers can select their seats visually based on availability in the
cinema. Customer must be able to see the seats, available and occupied with different
colours.
Admin Features:
A1. Manage cinemas
A2. Manage sessions
A3. Manage movies
A4. Promote new movies
A5. Profit report on cinema and movie
System Features:
S1. Send automatic confirmation email for each paid ticket and provide all required
information for the movie inside the email.
S2. Send Reminder email 1 day before the session
S3. Request movie and cinema review after session is over
S4. Send Similar movies recommendations to costumers

Limitations:
1. Customer cannot book if the theatre is full at requested time.
2. Customer cannot have double booking or past booking.
Scenario Details

When the admin is adding a movie, it’s marked as “SCHEDULED”. Customers can’t purchase tickets
until 14 days before the session time in case the admin needs to make adjustments. At this time, the
session should be marked in the system as “OPEN” as it’s only now open for purchases.
When the last available ticket to a session is sold, the system should mark the session status as FULL
to ensure that we don’t over-sell. Every sold-out session should enable customers to be waitlisted.
Five minutes after a session’s start time, it’s marked as “CLOSED” and the system doesn’t sell any
more tickets.
Sometimes the admin cancels sessions. If the session has ticket sales, then emails should be sent to
any online customers who purchased tickets, and the session should be retained in the system as
‘cancelled’. However, if there were no sold tickets, then the session can be completely deleted from
the system. Note admin can cancel sessions marked as scheduled, open, or full.
To purchase a ticket, the customer selects the movie, time and cinema. Then the customer selects
how many tickets, selects “purchase tickets” and the system then checks the availability of these
tickets.
If the tickets are not available, the customer is given the option to go on a waitlist. - The customer
can do just by entering a name and email.
If tickets are available, the system reserves the tickets for 5 minutes and asks the customer to login
to their account. If they don’t have an account, they need to create one and then login.
Once the customer is logged in, the system creates a transaction for the purchase (date, the total
charge, the tickets required) and asks the customer to provide credit card details and confirm the
transaction.
When the customer confirms the transaction, the system charges the credit card.
The system then generates and emails the customer the tickets, and the transaction receipt. These
are separate emails and may occur in any order.
Admin needs to be able to generate a few different types of reports. These are “Movie Revenue”
and “Online Customer Profitability”. Movie Revenue calculates the total ticket sales for each Movie,
across all sessions, for a given period.
Customers can cancel tickets but only for sessions that are marked as OPEN or FULL.
When the customer cancels a ticket, the system decreases the count of tickets sold for this session,
so another seat is available. If the session is currently marked as FULL, it should now be re-opened.
To cancel a ticket, the customer logs into the system, selects the tickets, nominating the ticket
number to be cancelled. The system checks the ticket’s session status (tickets can be cancelled 5
minutes before the session) and that the ticket hasn’t been presented for entry. Messages must
inform the customer in case of failure.
If it passes both checks, the system adds a note to the relevant transaction saying the ticket was
cancelled, adjust the number of seats available and the session status (if required), and then deletes
that ticket completely from the system. (Note don’t worry about refunds or contacting any
waitlisted customers at this stage).
Tickets have two types: one for Adult and the other for Students (5% Discount)
Milestone Tasks

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:
User Story:
As a customer I want to login so I can have access to my own dashboard.
Acceptance Criteria:
Given:
o I’m on home page
o I can see the login form
o I have an active account
When:
o Fill the form with my valid email and password
o I click login button
Then:
o The systems validated my credentials
o I can see my dashboard

2. Complete and update the Design Diagrams based on the scenario and the code.
3. Code the system’s design
4. 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
5. Perform and Document your Sprint planning, Daily Stand ups, Sprint Retro and Sprint
Review sessions based on the assignment template
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

Terminology
• A feature is the range of operations that can be run. A feature requires multiple User Stories
to capture all the operations required.
• 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) a session cannot be deleted after it
started or (b) Customers can list cinemas, but no update its details.



51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468