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.