Group 7 Eduardo Peña Vanessa Ramirez Eduardo Tibau Final Deliverable Quota system Group 7 Eduardo Peña Vanessa Ramirez Eduardo Tibau CIS 4911 Senior Project Coordinator: Dr. Peter Clarke Mentor: Dr. Masoud Sadjadi 12/9/2010 School of Computing and Information Sciences - FIU
Outline Introduction System Design Detailed Design Test Cases
INTRODUCTION Problem Definition Project Management High-level Use Case Diagram Functional Requirements
Problem Definition IT Automation course Resources for the course: Virtual Labs Mentoring Certificate Exams Unfairness in the scheduling system Misuse of resources
Project Management FS RD DD Final 21 days 27 days 20 days 33 days
High-level Use Case Diagram
Functional Requirements Add Credit Type (QS Administrator) User clicks add button and fills presented form New Credit Type saved into Database Usability: no training necessary Reliability: mean time to failure 2% / 10 hrs. Performance: added and displayed <= 5 secs. Supportability (browser): IE, Firefox, Safari, Chrome
Functional Requirements Schedule Appointments (Scheduler) Scheduler request scheduling for appointment list Quota system schedules appointments if possible Usability: 100% returned values understood Reliability: mean time to failure 2% / 10 hrs Performance: request handled <= 3 secs. Supportability: clear, documented code
System Design System Decomposition Architectural Patterns System Deployment Persistent Data Management
System Decomposition
Architectural Patterns Multi-Tier (Four-tier) Service Oriented Architecture (SOA)
System Deployment
Persistent Data Management
Detailed Design Subsystem Design Minimal Class diagram Dynamic Model
Subsystem Design Design Patterns Logic Centralization Singleton QuotaSystemSkeleton Singleton QuotaSystem Façade Pattern DatabaseFacade Chain of responsibility QuotaSystemSkeleton -> QuotaSystem
Minimal Class Diagram Tier 3 & 4
Dynamic Model QS Application Logic
Dynamic model Algorithm Schedule Appointments Algorithm Sort periods by closest end date Initialize currentTime and goal with appointment date range Iterate through sorted periods list If hole found before period start date Attempt to fill hole with next periods If no hole found Use period quota (add to currentTime) If goal reached, schedule appointment
Testing addCreditType_01 scheduleAppointments_01
Test Case addCreditType_01 Purpose Test if the system successfully adds a new credit type. Test Setup - Empty Database - Insert Policy: - Unlimited 1000, Absolute, Assignable, No Expiration, Start Date: Today, Quota: 1000 - Click on the “Credit Types” tab - Click on the “Add Credit Type” button Input Name: C1 VL Flexible Resource: VIRTUAL LAB Course: C1 Policy: Unlimited 1000 Active: checked, Assignable: checked Expected Output Success message is displayed
Test Case scheduleAppointments_01 Purpose Test if the request successfully adds used_quota for the received appointment. Test Setup - Empty Database - Run (Inset Test Data) SQL script - Prepare scheduleAppointments request Input - appointment: - id = 110 - affiliationId = 123 - username = student4 - resource = CERTIFICATE - course = Course 5 - startTime = 2010-12-24T10:00:00 - endTime = 2010-12-24T11:00:00 Expected Output Valid SOAP response with availabilityStatus set to AVAILABLE
Questions?