Assignment title: Information
Swinburne University of Technology
Faculty of Business and Enterprise
INF60010 – Requirement Analysis and Modelling Assignment
Semester 1, 2016
Due: Monday, 16th May 2016 @ 9:00am AEST
Assessment Value = 30%
Part 1: Group component (25%) due: Monday 16th May 2016 @9:00am AEST and is to be
completed in groups of 3 or 4. Your submission should include:
Your group report (one copy per group) + A signed Time Contribution Statement
(TCS) (one copy per group which should be in appendix) via Assignment submission
link on INF20003/INF60010 Blackboard > Assessment.
A Peer Assessment Form (individual) and submit it through the Peer Assessment
submission link on the Blackboard>Assessment>Assignments> INF60010 Assessment
Submission links.
Part 2: Individual component (5%) Due: Monday 16th May 2016 @9:00am AEST
Your individual report via the Turnitin Assignment Individual Component link on
INF20003/INF60010 Blackboard > Assessment.
DO NOT email the assignment.
If you have any queries you may discuss it in the discussion threads or with your tutor. Any
technical problems, assistance can be obtained from the Swinburne Service Desk (03) 9214
5000.
Introduction
The aim is that your team (3-4 members) should produce a requirements document that captures
the functional requirements for the creation of an information system based on the VCI case study
provided within this document.
OR
Create your own case study
Find your own business system (or sub system) as a case study. The system can be of interest to you
(i.e. your team) or to someone else who is willing to be your client. Be aware that you must be able
to gather sufficient information so that you can that satisfy all aspects of the assignment. You must
obtain approval for your proposed case study from your tutor. Your tutor will need to be satisfied
that the case study is suitable and of appropriate scope. Provide a brief overview of your proposed
case study and of its suitability for your tutor.
Project requirements
Group Component (25%)
Your group's task is to provide the following models:
A context diagram: This must be for the whole System. You need to show relevant external
agents together with data flows between the system and the external agents.
A set of levelled Dataflow diagrams: By this we mean a Level 0 diagram, and for some
processes may mean further decomposed to their primitive level (Level 1 and 2) diagrams.
Use Case diagrams, use case descriptions
A high level data model as an ER diagram (many to many relationships are acceptable).
CRUD analysis and sample screen shots. Sample screenshots will help necessary
stakeholders to visualize the capabilities of the system.
You are to make recommendations for the new system which will form the basis of further
discussion with the client so that an informed decision can be made. You should research and
present possible solutions which will address the requirements and the potential advantages and
disadvantages of each recommendation. Your recommendations can include further functionality
you believe would benefit the client. Your proposal should be comprehensible to management and
to users who are computer literate
Individual Component (5%):
Compare and contrast the structured analysis and design approach with other modelling techniques
(e.g., the object-oriented approach), and clearly identify the strengths and weaknesses of each
approach. Your justification should be supported by appropriate references.
(600-1000 words)
Suggested Report Outline
Cover page
Document Title
Team members
List of contents
Introduction
What is the organisation and what does this organisation do?
What is the business problem we are trying to solve OR what is the opportunity that
we can make use of?
Expected benefits
How would the organisation be better off by solving this problem or taking up this
opportunity
Written statement of functional/non-functional requirements
Dataflow diagrams
Context Diagram
Diagram 0
Lower Level Data flow diagrams as required
ERD Diagram of the high level data model
Data dictionary
Data flow description
Data element descriptions
Data stores/Entities in the ERD diagram
Process Descriptions in the Structured English
CRUD Analysis
User Stories and acceptance criteria
Use Case description
Use case diagram
Intermediate level use case description for each function
Sample screen shots
Recommendations
You are to make recommendations for the new system which will form the basis of further
discussion with the client so that an informed decision can be made.
Discuss possible solutions which will address the requirements and the potential advantages
and disadvantages of each recommendation. Each solution may contain a CRUD analysis and
sample screen shots to help in understanding.
Your recommendations can include further functionality you believe would benefit the
client.
Your proposal should be comprehensible to management and to users who are computer literate
References List
Appendices
DFD fragments, event list etc.
This contains any other documents that might be useful for reference or too detailed
or lengthy to put into the main part of the document.
*Ensure your pages are numbered for easy reference
VCI Case Study Description1
Welcome to Virtual Child International (VCI). Our mission is to keep after-school children
connected, and productive through an Internet connection while VCI makes a profit.
VCI a virtual world for children at home after school. We call it VCI Park. The VCI
employees who support the park behind the scenes and provide guidance to the members
are called Park Rangers. Guardians are customers 21 years of age or older who enrol their
children, nieces or nephews, grandchildren, etc. to VCI Park System.
VCI has outsourced a Credit Agency to perform credit checks on prospective guardians.
Obviously, VCI will not perform credit checks on VCI employees that are also signing up as
guardians. VCI will contact this credit agency once they have collected the Guardian's
general information and payment information and the member's information. Upon receiving
the credit report from the agency, the Park Ranger will update the guardian and member's
VCI Park status from pending to active.
A child whose guardian enrols them in VCI is called a member and receives an entrance
pass (user id and password) upon credit approval of the guardian. The entrance pass is
validated every time the member enters the VCI premises through VCI's web page. Once
inside the premises, the member can visit any or all park services for which their guardian
has signed them up.
The following is a complete list of park services within VCI Park:
Theme park contains games.
Librarian function assists the member in searching the internet for school research.
Tutorial function provides the member with practice drills and homework assistance.
University function provides the member with a distance learning classes and receive
certificates or credits.
1 http://www.kpiusa.com/brbook/VCIcasestudy.htm was the original source of this case study but it is
no longer active. I haven't been able to find any other source in order to give the author credit.
Guardian Services
There are several online services for the guardian such as:
View their current charges for each member - provides the up to date total time spent in
each park service during the current month, credit time the member received for each
park (if applicable for this guardian) and total dollar amount invoiced to date.
View member activities - describes on a daily basis the answers to the guardian's
questions and the order of park services the member has entered during the current
month.
View communications between the member and park rangers – documents all online
"conversations" that were held during the month.
Enter new or change existing criteria for member admittance to VCI Park or individual
park services.
Since VCI is a new company, we are planning to expand their park services within one to
two years depending upon guardian membership. The VCI Marketing staff is also planning
to have special park deals throughout the year. These special deals include special park
service pricing for a specific period of time.
Member Entrance Criteria
Guardians control the children's entrance into VCI Park and individual park services by
setting general criteria and by adding or subtracting time allowed based upon questions
asked of the member when the member attempts to enter the park system or access a park
service. The criteria may be changed at any time by the guardian (and the change will take
effect upon the next entrance attempt by the member?). As with the enrolment process, the
criteria may be entered directly by the guardian online or may be entered on behalf of the
guardian by a Park Ranger. VCI provides sample questions that the guardian may choose
or customize. Sample questions include:
Did you finish your homework for today? (yes/no)
Did you study for all tests and quizzes that you have tomorrow? (yes/no)
Did you do your chores for today? (yes/no)
What grade did you receive on your science test? (the guardian may customize this
question by entering any subject for the test).
As part of each question, the guardian needs to supply:
The text of the question
The minimum response for which the guardian will allocate bonus time in a park service.
The maximum response under which the guardian will either deduct time in a park service
or assign the member to spend time with a tutorial park service for remediation before
spending any time in any other park service.
The number of minutes the guardian will allocate as bonus time (if good response
received) or deduct from a park service (if a poor response received).
The park in which bonus time is allocated or from which time is deducted.
The park the member should enter if they submit a poor response and a tutorial service is
desired by the guardian
Note: A guardian may enter a park from which time will be deducted for a poor response
and/or a tutorial service that the member must complete before moving to any other park
services.
Guardians may set different criteria for each day of the week. They may also provide VCI
with the number of maximum hours the member can spend in the VCI system and within
each park service for each week, regardless of how much bonus time is allocated based
upon responses to entrance criteria.
The responses to the entrance criteria questions are provided to the guardian in one of three
ways, as selected by the guardian: via email each time a member enters the park system or
a park service, via mail upon each entrance, or on demand as a service provided to
guardians on the VCI home page.
Membership Terms and Conditions
Guardians can only sign up children as members between the ages of 10 and 15 years old.
There is a monthly fee for the VCI service per child/member. In addition, there is an hourly
fee for each park service. The park fee is charged in minimum blocks of 15 minutes. There
is a 15% discount for each additional member a guardian signs up for membership. This
discount is given on the charges for each member other than the one with the highest
charge for the month.
VCI identifies a volume discount threshold for each park service. Currently, the volume
discount thresholds are 40 minutes for the theme park, 20 minutes for the Librarian Facility
and 15 minutes for the Tutorial Facility. VCI also provides an employee discount to park
rangers for their own children signed up as members.
At times, members communicate, via typed messages, with park rangers for assistance with
the park services. All electronic conversations between members and park rangers are
monitored by the VCI Security Office for inappropriate language or messages. VCI does not
provide an electronic conversation service between park members.
Invoice and Payment Information
The Guardians are invoiced on the first business day of the month, and invoices are due on
the 25th of that month. Each guardian receives one invoice with a separate section for each
member. The member section includes: the default time allowed for the month, the amount
of bonus time received, the amount of time deducted, the actual time used, the base fee,
itemized discounts (volume, employee, additional child), and the grand total for the member.
The last page of the invoice includes the grand total for each member and the combined
total for the guardian. Any late fees are applied at the end of the invoice. Remember, the
employee discount and the additional child discount are only applied to the guardian's
members who are truly their child (it does not apply to nieces, nephews, grandchildren,
friends, etc.).
There are several payment methods the guardian can choose to pay their account. They
can provide VCI with credit card information or checking account information in order for VCI
to charge their desired account for the invoice amount automatically each month. Another
payment option is for the guardian to pre-pay, which means that the guardian sends in funds
which are depleted as the members use the park services, and if it becomes completely
depleted, the members are not allowed to continue using the park system. The guardian
may set a threshold at which he/she would like to be notified so that he/she can replenish
the account. If the pre-payment option was chosen, VCI will notify the member via an online
message when they near the depletion of the account (15 minutes left??). Another payment
option is to send in a check, money order, or individual credit card authorization each month
upon receipt of the VCI invoice.
Guardians with poor credit ratings and guardians whose accounts have an open balance for
three months will be required by VCI to pre-pay.
VCI maintains a record of all payment problems (e.g. bounced check, declined credit card)
by invoice.
When the Guardian sends in a cheque, they are required to identify the invoice number at
the bottom of the cheque. When a cheque is received without the invoice number on the
check, a park ranger must manually go through the guardian's outstanding invoices to credit
the right invoice. If the check amount does not directly match the guardian's outstanding
invoice amounts, the park ranger manually rectifies the outstanding invoices by crediting the
oldest invoice to the most recent invoice.
If the guardian sends in a partial payment, the park ranger contacts the guardian to identify
the reason why a partial payment was sent in and documents the reason as a payment
problem.
Examples of Rules:
INVOICING AND PAYMENT
Fact Rules
1. The theme park costs one dollar per hour used. Theme Park Hourly Rate IS 1
2. The tutorial costs fifty cents per hour used. Tutorial Hourly Rate IS .5
3. The librarian resource costs fifty cents per hour used. Librarian Hourly Rate IS .5
4. The minimum amount of time for which a member is charged is
15 minutes.
Park Minimum Charge Time Amount
IS 15
5. The discount rate for additional members per guardian is 10% Additional Member Discount Rate IS
10
6. The volume discount rate is 15% Volume Discount Rate IS 15
7. The number of hours at which the volume discount kicks in is 20
hours per month
Volume Discount Threshold IS 20
8. The discount for pre-payment is 10% Advance Payment Discount Rate IS
10
9. A guardian is charged $15 if a payment is late Late Payment Fee IS 15
10. A guardian is charged $20 if a check bounces Bounced Check Fee IS 20
11. The month runs from midnight on the morning of the first of the
month to midnight on the last night of the month
Start of Month IS 12 AM on first day
of month;
End of Month IS 11:59 PM on last
day of month
12. The guardian sets the default amount of time a member may
spend in a park
Default Time in Park IS
Computation Rules
1.
Calculate the remaining amount of time a member is allowed in a
park by subtracting the time used for the current month from the
time allowed for the current month
MemberParkTimeRemaining =
MemberParkUsage.AllowedTime –
MemberParkUsage.TimeUsed
2.
Calculate the time used in a session in a park in one of two ways:
Subtract the start time from the end time OR
SessionTimeInPark = EndTime –
StartTime OR CurrentTime –
StartTime
Subtract the start time from the current time (if they are currently
in the park)
3.
Calculate the total time spent in a park for a month by adding the
time spent in each session in that month, and then round down to
the nearest minute
MonthlyTimeInPark =
roundup(sum(SessionTimeinPark))
over last calendar month
4.
Calculate the base fee for the month by multiplying the number of
minutes spent in the park by the hourly rate for the park and
dividing by 60
BaseFee = MonthlyMinutesInPark *
Park.HourlyRate / 60
5. Calculate the volume discounted fee by subtracting the volume
discount amount from the base fee
VolumeDiscountedFee = BaseFeeVolumeDiscountAmount
6. Calculate the park ranger discount by multiplying 10% by the
volume discounted fee
ParkRangerDiscount =
.10*(VolumeDiscountedFee)
7.
Calculate the monthly fee for each member for each park by
subtracting any discounts (volume, additional child, park ranger)
from the base fee
MonthlyFee = BaseFee –
VolumeDiscountAmount –
AdditionalChildDiscount –
ParkRangerDiscount
8. The total monthly fee for each member is calculated by adding up
the monthly fees for each park in which the member is enrolled
MemberMonthlyFee =
sum(MemberParkMonthlyFee) over
all parks enrolled
9. The total monthly fee for a guardian is calculated by adding up the
total monthly fees for each member the guardian has enrolled
GuardianMonthlyFee =
sum(MemberMonthlyFee) over all
members enrolled.
10.
The total invoice amount for a guardian is calculated by adding
any adjustments (late fees, bounced check charges, credits/debits
for billing errors) to the monthly fee
GuardianMonthlyTotal =
GuardianMonthlyFee +
sum(InvoiceAdjustment) over all
invoice adjustments
11.
The total amount due for a guardian is calculated by subtracting
the guardian's current account balance from the total invoice
amount
GuardianAmountDue = Guardian
MonthlyTotal – Account.account
balance
12.
Calculate the time allowed in a park in session by starting with the
default time provided by the guardian, and then adding any bonus
time and subtracting any time as results from the questions asked
upon entrance
SessionTimeAllowedInPark =
DefaultTimeAllowedInPark +
BonusTimeInPark -
DeductedTimeInPark
13. The total bonus time allowed in the park on a given day is the
total of bonus time allowed for all questions asked on entrance
BonusTimeInPark = sum(BonusTime)
over questions over month
14.
The total amount of time deducted from the time allowed in a
park on a given day is the total of all time deducted based upon all
questions asked
DeductedTimeInPark =
sum(DeductedTime) over questions
over month
15. A payment is considered late if it is not received within 35 days of
the issue of the invoice
Late Payment Date = Invoice Date +
35
Inferred Knowledge Rules
1. IF MonthlyMinutesInPark > 1200
THEN VolumeDiscountAmount = .15*(MonthlyMinutesInPark – 1200) * ParkHourlyRate/60
ELSE VolumeDiscountAmount = 0.
2. IF MemberEnrollment.member sequence number > 1
THEN AdditionalChildDiscount = .10*(DiscountedFee)
ELSE AdditionalChildDiscount = 0
3. IF (CurrentDate == LatePaymentDate) THEN IF exists InvoiceNotPaid THEN Insert Payment
Problem
Action Enabling Rules
1. IF rejection of credit card payment THEN notify guardian.
2. IF (current date - credit card expiration date) < 60 days THEN request updated information
from guardian.
3. IF Account.prepaid indicator = yes AND Account.account balance = 0 THEN Force exit from
system
4. IF Account.prepaid indicator = yes AND Account.account balance < Account.account balance
threshold THEN notify Guardian
5. IF MemberParkTimeRemaining < 60 minutes THEN notify Member
6. IF CurrentDate = LatePaymentDate AND Invoice.InvoicePaymentStatusCode = Unpaid THEN
Insert Payment Problem
Constraint Rules
1. Sum(Payment allocation amount) <= sum(Payment amount) for guardian
Guidance Rules
Rules outside of Invoicing and Payment:
1. IF park enrolment fee paid indicator = no for more than 2 months (defined as 2 months total
billing or any bill more than 2 months old?) THEN deny entrance to park system.
2. Member park enrolment end date < current date member park enrolment current = no
3. Member enrolment end date < current date member enrolment current = no.
4. Member age > 15 deny entrance to park (needs to be an implemented rule since
members will become 15)
More Rules
1. When a Park Usage row is created, if there is not yet a matching Invoice Item row (for that
month for that member for that park) one is created and the first four attributes shown are
copied to the new Invoice Item row.
2. Also when a Park Usage row is created, the FinalFee on that row is added to the TotalFee on
the matching Invoice Item row.
3. When an Invoice Item row is created, if there is not yet a matching Member Summary row
(for that month for that member) one is created and the first three attributes shown are
copied to the new Member Summary row.
4. Also when an Invoice Item row is created, the TotalFee on that row is added to the TotalFee
on the matching Member Summary row.
5. When a Member Summary row is created, if there is not yet a matching Invoice row (for that
month for that guardian) one is created and the first two attributes shown are copied to the
new Invoice row.
6. Also when a Member Summary row is created, the TotalFee on that row is added to the
TotalFee on the matching Invoice row.
7. When an Invoice row is created, if there is not yet a matching Invoice Cycle row (for that
month) one is created and the VisitMonth is copied to the new Invoice row. (Note: this data
object is a system object used to maintain the cycle status and force a data change to the
cycle status in the Invoice data object in order to fire the rule to create the invoice when
needed.)
8. When it is time for the Invoice to be created, the CycleStatus in the Invoice Cycle row is
updated, which ripples a change to the Parent Replicate attribute in the Invoice Object. In
response to this status change, the invoice is activated.
9. When the Invoice is activated and an InvoiceId is established, its value is propagated to the
related Member Summary rows via the Parent Replicate rule.