27
Trinity School Project Final Presentation Project Sponsor: Mr. Tim Maloney James DeBolt Valiant Tsang SYST 699 Spring 2017

Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

Trinity School Project Final Presentation

Project Sponsor: Mr. Tim Maloney

James DeBoltValiant Tsang

SYST 699Spring 2017

Page 2: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

2

• Background

• Problem

• Project: Objective/Scope/Assumptions

• Technical Approach

• Trinity School Schedule – Data Entry/Output

• Sensitivity Analysis

• Value Added

• Future Work

• Acknowledgement

Agenda

Page 3: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

Background

• Trinity School at Meadow View is small, private secondary school in Falls Church, VA

• Has approximately 150 students in grades 7 through 12

• School enrolls both boys and girls, but classes are mostly separated by gender

• All students in a particular grade follow the same curriculum with minor deviations

3

Page 4: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

Problem

• Creating the master semester schedule by allocating teachers, courses, classrooms, and periods of the day is a cumbersome and time-consuming paper and pencil process

4

Page 5: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

Project

• Objective:

Build upon a previously developed proof-of-concept to replace current paper and pencil process

• Scope:

Improve the user interface and workflow

Incorporate additional curriculum-related constraints while not violating established constraints

Deliver tool suite and user manual

• Assumptions:

Actual assignments of teachers to courses is predetermined

No changes to school facility/classroom 5

Page 6: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

Technical Approach

6

• Determined based upon project sponsor feedback and previously developed proof-of-concept

• Project Decomposition

Part A: Tool Enhancement/Software Development

o Improve user interface (UI) for site usability and workflow improvement

o Ensure robustness of functionality of tool features

o Develop capability to generate multiple feasible schedules

Part B: Timetabling/course scheduling

o Incorporate additional scheduling constraints

Page 7: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

Technical Approach: Part A

7

Requirements Analysis

Coding Unit Testing

Verification and Validation

System DesignIntegration and System Testing

• Hybrid approach: Following old-school V-model process within Agile/SCRUM sprinting model.

Within each sprint, we followed the V-model

Incrementally incorporated new functionality

Goal of having a tested and integrated set of functionality developed every sprint

Page 8: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

8

LPSolveIDE

User converts *.lpfile to *.mps file

User uploads *.mpsfile to Gurobi

(5)

Performs the solving computations

Inconsistent fields in tables with no permanent relationships, forms, macros and modules with significant amount of

hardcoded VBA code

Results are sent to user-provided

email

NEOS GurobiSolver

User takes contents of email and saves to *.txt file

Use macro-enabled excel file to produce the

output/schedule

(1) (2) (3)

(4)

Produces *.lp file

User must manually repeat this entire process for each

new schedule

Trinity School Scheduler 1.0 User Process

Page 9: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

9

Use macro-enabled excel file to produce the output/schedule

(1)

(2)

Java code uses lp_solve 5.5.2.5 on the user’s machine to

automatically generate numerous feasible schedules

Tables with established relationships, improved forms, new reports, and modified macros and modules that sets up linear equations and writes *.lp file, launches Java executable

Trinity School Scheduler 2.0 User Process

Page 10: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

10

MS Access Table Relationships

Page 11: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

11

Testing

• Developed 8 test cases based on new/improved functions associated with the MS Access UI

Scenario ID

Test Case ID Test Case Test Case Description Test Step Test Step Description Expected Result Actual Result Status Comment

TS001 TC002 Adding a teacher Tests the ability to add a new teacher

Pre-Condition

TSS 2.0 is opened to Homepage

Step 1 Select "Teacher Roster Availability Course Pairing" btn

Opens frm_Teacher_Semester

Step 2 Select "Add New Teacher" btn Opens frm_New_Teacher

Step 3 Enter first and last name of teacher in respective text boxes

Letters of name of teacher appearing in text boxes

Step 4 Select "Save" btn Creates new record in tbl_Teacher, writes to fields FirstName and LastName

Step 5 Select "Close" btn Closes frm_New_Teacher, returns to frm_Teacher_Semester

Step 6 Scroll to bottom of frm_Teacher_Semester

Name of new teacher appears at bottom of form

Example Scenario/Case

Page 12: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

Timetabling

12

• Timetabling/course scheduling

Well-researched problem that can be solved by applying various computational methods such as integer linear programming (ILP), constraint programming, greedy algorithms, etc.

Uniqueness of constraints vary between academic institutions

• Continue use of ILP

Objective function: find as many randomly-specified decision variables, Xijk

where i = section/teacher pairing,

j = classroom,

k = period

subject to 16 constraints (previously defined)

Page 13: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

13

Trinity School Scheduler – Data Entry

Page 14: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

14

Trinity School Scheduler – Data Entry

Page 15: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

15

Trinity School Scheduler – Data Entry

Page 16: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

16

Trinity School Scheduler – Output

Page 17: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

17

Trinity School Scheduler – Output

Page 18: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

18

Sensitivity Analysis

Feasible Schedule Probability(Baseline 60%)

Varied Parameters Low High

Teacher Availability 13% 95%

Sections Taught 45% 65%

Room Capacity 52% 62%

Section/Room Restriction 57% 61%

Parameter Value Range

Varied Parameters Low Medium High

Teacher Availability 3 5 6

Sections Taught 1.5 3 4

Room Capacity 10 17 25

Section/Room Restriction 12 48 72

Page 19: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

19

Value Added

• Documentation and thorough analysis of the course constraints

• Enhancements to the tool

Greatly simplified workflow / improving ease of use

Improved the user interface

Capitalized on capabilities of MS Access to ensure functionality of features

o Established the relationships for the tables

o Added/corrected data entry functionality

o Provided capability to produce status reports for data entry

• User guide includes instructions to modify the design of the MS Access portion of the tool and the ability to toggle on/off constraints in the code

Page 20: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

20

Future Work

• Investigate why not all previously developed constraints allow for generation of a feasible schedule

• Incorporation of additional constraints

Develop coding for exception to constraints 9, 11, 12

Allow assignment of 2 teachers to single course that require 2 teachers

• Adding specific workflow feedback when there is an infeasible solution

• Improve flexibility with variables in coding

• Utilize a different mathematical method for computation

Page 21: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

21

Acknowledgement

• Mr. Tim Maloney, Project Sponsor

• Dr. Kathryn Laskey

• Spring 2017 SYST 699 Class

Page 22: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

22

Questions?

Page 23: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

23

BACKUP

Page 24: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

24

Constraints –previously implemented

1. Teacher availability constraint2. Full time teachers will teach no more than 4 sections, part-time teachers no more than 2 sections3. Prohibits teachers from being scheduled for more than 3 consecutive periods4. Prohibits teacher’s sections to scheduled during the same period5. Room capacity constraint6. Limits certain courses to be taught in certain rooms7. Room availability constraint8. Limits section to be taught only once over all classrooms and periods9. Limits one section to be scheduled for a grade/gender section during a single period10. Limits one section to be scheduled to a classroom for each period11. Limits 12 sections be scheduled during 1 period12. Limits 72 sections be scheduled over 6 periods13. Humane Letters be scheduled for 2 consecutive hours14. 9th and 10th grade (by gender) Music be scheduled simultaneously 15. 11th grade boys and girls language be scheduled simultaneously16. 12th grade boys and girls Art/Drama be scheduled simultaneously and for 2 consecutive hours

Page 25: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

25

Project Schedule

Page 26: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

26

Earned Value Management

Page 27: Trinity School Project Final Presentationseor.vse.gmu.edu/~klaskey/Capstone/Trinity/Trinity... · 2017-05-15 · Trinity School Project Final Presentation Project Sponsor: Mr. Tim

27

Team Roles and Responsibilities

Team Member

Roles/Responsibilities James DeBolt Valiant Tsang

Requirements Analysis X X

UI Modification X

VBA Coding X X

Java Coding X

Testing X X

Documentation Development X X

Project Management X X