58
CSCI577b – Spring 2013– Team 6 – RDCR, ARB 1 Team 06: Student Scheduling System • Client: David Klappholz – Stevens Institute of Technology CS Dept. • Douglass Kinnes - Project Manager • Alexey Tregubov - System Architect • Mihir Daptardar - Operational Concept Engineer • Ihsan Tolga - Life Cycle Planner • Simone Lojeck - IV&V, Quality Focal Point 03/15/22 1

Team 06: Student Scheduling System

Embed Size (px)

DESCRIPTION

Team 06: Student Scheduling System. Client: David Klappholz Stevens Institute of Technology CS Dept. Douglass Kinnes - Project Manager Alexey Tregubov - System Architect Mihir Daptardar - Operational Concept Engineer Ihsan Tolga - Life Cycle Planner Simone Lojeck - IV&V, Quality Focal Point. - PowerPoint PPT Presentation

Citation preview

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

1

Team 06: Student Scheduling System

• Client: David Klappholz– Stevens Institute of Technology CS Dept.

• Douglass Kinnes - Project Manager• Alexey Tregubov - System Architect• Mihir Daptardar - Operational Concept

Engineer• Ihsan Tolga - Life Cycle Planner• Simone Lojeck - IV&V, Quality Focal Point04/20/23 1

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

2

Changes from 577A

• Staff Loss– Prototyper did not return this semester– Doug Kinnes has taken over role– Luckily our GUI prototyping was almost finished

• Member change to DEN– More need for effective skype collaboration

04/20/23 2

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

3

DEN Observations – Strong/Weak Pts. No Significant Changes

Team’s Strong Points: • Operational View:

o Strong Team Communication / Coordinationo High Level of Team Involvement

• Technical View: o Wide Array of Team Capabilities

Team’s Weak Points: • Operational View:

o Widespread Physical Locationo Unfamiliar with ICSM Process

• Technical View: o Experience Mostly limited to Scholastic Projectso Limited Development/Deployment Experience

Strong Points Supported & Weak Points Mitigated

with: •Weekly Skype Meetings•Frequent Email Communication

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

4

DEN Observations – Shaping & Eval No Significant Changes

WinWin Shaping Status: Open WinCs: 15 Win Conditions Agreed WinCs with Issues & without Issues

15 Conditions Agreed to; 0 Potentially Agreeable 8 Conditions w/o Issue; 7 w/Issue (all resolved)

Overall Project Evaluation The Team worked well together during the past semester to accomplish

goals and resolve issues. The products have developed into near complete, highly descriptive project

artifacts, reminiscent of industry documents. Risks, that were identified, appear to have been addressed. Issues that were

identified were mitigated promptly.

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

5

• Set of Test Cases will confirm satisfaction of Minimum Marketable Features:• Construct Schedule• Student Specify Courses• Enter Degree Requirements

• Detailed Test Cases will confirm incorporation of requirements (as captured in Winbook) into software.

• 3 top level Test Cases defined to cover critical constraints:• TC-01: Student Plan Construction• TC-02: Degree/Course Maintenance• TC-03: Level of Service

Test Plan and Cases - Overview

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

6

• Test Case Satisfies Minimum Marketable Features:• Construct Schedule• Student Specify Courses

• Sub Test Cases will Test Requirements: • WC_1345• WC_1346• WC_1347• WC_1348• WC_1352• WC_1353• WC_1354• WC_1512

Test Plan and Cases: TC-01: Study Plan Construction

*Subset of Test Case Parameters

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

7

• Test Case Satisfies Minimum Marketable Feature:• Enter Degree Requirements

• Sub Test Cases will Test Requirements: • WC_1329• WC_1349• WC_1350

Test Plan and Cases: TC-02: Degree/Course Maint.

Test Case Number TC-02-01: Degree Program Creation

Test Item Item evaluates the ability of the admin user to add degree programs.

Test Priority M (Must have)

Input Specifications User will log into the system and attempt add degree programs.

Expected Output Specifications System will update database with admin user’s information.

Pass/Fail Criteria Admin user will be able to enter information into the system.

Dependencies TC-02-04

Traceability None

Test Case Number TC-02-02: Degree Requirements Addition

Test Item Item evaluates the ability of the admin user to add degree requirements.

Test Priority M (Must have)

Input Specifications User will log into the system and attempt to add degree requirements

Expected Output Specifications System will update database with admin user’s information.

Pass/Fail Criteria Admin user will be able to enter information into the system.

Dependencies TC-02-03, TC-02-04

Traceability None

Test Case Number TC-02-03: Course Group Addition

Test Item Item evaluates the ability of the admin user to add course groups.

Test Priority M (Must have)

Input Specifications User will log into the system and attempt to add course group information.

Expected Output Specifications System will update database with admin user’s information.

Pass/Fail Criteria Admin user will be able to enter information into the system.

Dependencies None

Traceability None

Test Case Number TC-02-04: Course Addition

Test Item Item evaluates the ability of the admin user to add courses.

Test Priority M (Must have)

Input Specifications User will select the links that will lead to the New Course page, then enter the data to identify the course (title, Course Prefix, Course Number, Credits, Schedule year, Semester offered, Prereqs, CoReqs

Expected Output Specifications System will update database with admin user’s information.

Pass/Fail Criteria Admin user will be able to enter information into the system.

Dependencies TC-02-02

Traceability None *Subset of Test Case Parameters

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

8

• Test Case Satisfies All 3 Minimum Marketable Features:• Construct Schedule• Student Specify Courses• Enter Degree Requirements

• Sub Test Cases will Test Reqs:

Test Plan and Cases: TC-03: Level of Service

Test Case Number TC-03-01: Trivial Test Case

Test Item Item evaluates the total system with a trivial input case.

Test Priority M (Must have)Input Specifications User will log into the system and attempt to

input simulated student information into the appropriate User Interface prior to initiating study plan generation.

Expected Output Specifications

System will generate study plan based on user’s inputs and provide study plan in a manner available to the user.

Pass/Fail Criteria Study plan generated will satisfactorily incorporate the student’s and advisor’s constraints into a plan.

Dependencies NoneTraceability TC-03-02, TC-03-03

Test Case Number TC-03-02: Solvable Test Case

Test Item Item evaluates the total system with a solvable input case.

Test Priority M (Must have)Input Specifications User will log into the system and attempt to input

simulated student information into the appropriate User Interface prior to initiating study plan generation.

Expected Output Specifications

System will generate study plan based on user’s inputs and provide study plan in a manner available to the user.

Pass/Fail Criteria Study plan generated will satisfactorily incorporate the student’s and advisor’s constraints into a plan.

Dependencies TC-03-01Traceability TC-03-03

Test Case Number TC-03-03: Impossible Test Case

Test Item Item evaluates the total system with an impossible input case. It is an impossible case where the user has made decisions which can not be resolved into a valid study plan. This test case confirms that when issues arise, that the system addresses the problems accordingly. This involves appropriate communication to the user that there is an issue and some troubleshooting to identify the offending inputs, so the user can rectify the situation and try again.

Test Priority M (Must have)Input Specifications User will log into the system and attempt to input simulated student information into the appropriate

User Interface prior to initiating study plan generation. .

Expected Output Specifications

System will provide an error message to the user identifying that a study plan solution could not be identified due to the inputs: CS 492, CS 392, CS 385

Pass/Fail Criteria Study plan failed to find a solution for the student’s and advisor’s constraints.

Dependencies TC-01-01, TC-03-02Traceability None

*Subset of Test Case Parameters

^WCs Tested exclusively by TC-03.

Operational Concept Document

Team 6 - Student Scheduling System:

Douglass Kinnes, Alexey Tregubov, Mihir Daptardar, Ihsan Tolga, Zheng Lu, Simone Lojeck

Operational Concept Document

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

10

OCD Plan Outline

System purpose Proposed new system Benefit-chain diagram System boundary Desired capabilities and goals

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

11

System Purpose

Why do we need the system?The purpose of the system is to generate a semester-by-semester study plan for undergraduate computer science students studying at Stevens Institute of technology based on their inputs.

Is there a current system?Yes, but the current system is a manual. A brief description of the system is as follows:

The students have to schedule an appointment with the advisor Once an appointment is granted, they have to let the advisor know about

their graduation date and courses they wish to take The advisor then drafts a schedule based on the inputs

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

12

Proposed new system

•Here is a very brief and general overview about new proposed system:

The student logs into the system Upon successful login, the student has to choose his degree and input his

desired semester and year of graduation The student then chooses his/her preferred courses and other

requirements (transfer credits, internship credits, etc.) The system would then construct a student plan which tries to satisfy the

students requirements

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

13

Benefit Chain Diagram

Develop, deliver and fill the system with initial data

Developers

Stevens’ students

Stevens’ advisors

Hold training sessions

Inform new students about the

system

Efficient study plan

construction

Reduce students

frustration

Reduce number of

errors in Study plans

Students are aware about the system

Automated system for study plan construction

Faster study planconstruction

Assumptions:1. Students and advisers will use new system.2. Available courses and degree requirements will be kept up to date.

Automated system for study plan construction,

that check errors

Stevens’ course directors

Keep degree requirements and available courses in the

system up to date

Keep the systemup to date

Enhance the system

Software maintainers

System administrators

Move server from USC hosting to Stevens hosting

and maintain the server

Stabilizing the system

Migrating the system

Save time

Students are aware about the system, that helps them

automatically construct study plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

14

System Boundary

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

15

Desired capabilities and goals

System Capabilities:

The system should be able to construct a custom schedule based on the inputs of the student

If the inputs are too rigid, the system then should relax the constraints and come up with a alternate schedule

If the inputs are out of bounds, then the system should either suggest or ask the student to change or modify the inputs

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

16

Prototype

• Team 6 - Student Scheduling System:

• Douglass Kinnes, Alexey Tregubov, Mihir Daptardar, Ihsan Tolga, Zheng Lu, Simone Lojeck

Operational Concept Document

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

17

Changes

• Navigation Flow• Prototype GUI• Development Prototype• Prototype Algorithm

04/20/23

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

18

Navigation Flow

04/20/23

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

19

Prototype GUI

04/20/23

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

20

Prototype UI contd.

• Background etc will all be different and more readable

• More neutral colors, less harsh.• Represents the information on the page• Links will not be blue, nor will background be

black• Breadcrumbs for navigational awareness• PreReq/CoReq input still being prototyped

04/20/23

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

21

Development Prototype

• Play Framework• User Interface still rough• Basic interface and controller logic exists• Incremental prototype

– First prototype for input to heuristic/solver testing– Increments after that focusing on usability

04/20/23 21

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

22

Algorithm prototype

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

23

Integer Linear ProgrammingTools: MS Excel ILP and LP solvers

Total number of courses:

40

Number of semesters:

4

Number of constraints:

3

Prerequisites: 3

Corequisites: 2

Time: <1 seconds (for both cases with solution and without)

Difficulties: Excel solver is limited to 200 decision variables.It is difficult to input all the constraints manually.

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

24

Summary for ILP-solving approach

• Continue exploring• UI for testing real-life test cases

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

25

Constraint Programming Tools: Java, Choco constraint solverTotal number of courses:

100

Number of semesters:

8

Number of constraints:

3

Prerequisites: No Corequisites: NoTime: <5 seconds for test case where solution is

possible; >5 minutes for test case with no solution.

Difficulties: It is difficult to make test case more complicated, because it takes too much time to enter all necessary data in Java code.

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

26

CP-Solving: backtracking

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

27

Summary for CP-solving approach

• Refine branching strategy by using – consistency techniques– constraint propagation– variable ordering

• Use of other heuristics to reduce solution space

• UI for testing real-life test cases

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

28

Study plan construction

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

29

Architecture

• Team 6 - Student Scheduling System:

• Douglass Kinnes, Alexey Tregubov, Mihir Daptardar, Ihsan Tolga, Zheng Lu, Simone Lojeck

Operational Concept Document

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

30

Changes and updates

•Refined: •High-level architecture•Interfaces between layer (MVC)•Artifacts & information •Algorithm

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

31

Deployment diagram

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

32

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

33

DB Schema

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

34

Interface Class Diagram

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

35

Study plan construction class diagram

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

36

Request Study Plan Sequence Diagram

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

37

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

38

Architecture styles, patterns and frameworks

•Styles: •Client-server•REST

•Patterns:•Three-tier

•Technological frameworks:•MySQL•Java•Play framework for Java.

•NDIs:•CHOCO library – constraint solver

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

39

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

40

Life Cycle Plan

Revised Rebaselined Foundations Phase Rebaselined Foundation Phase Deliverables Project Estimations Roles & Responsibilities Plans for Upcoming Phases Iteration Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

41

Current Phase – Rebaselined Foundations Phase

01/14/2013 – 02/20/2013 Milestone: Architecture Board Review – Rebaselined Development

Commitment Review

Deliverables RDC Package (OCD, SSAD, LCP, FED, QMP, PRO, TP, TPC, SID) Core Constraint Solver Core Course Database Simulated User Data Core Study Plan Constructor Test Cases – Plans Core User Interface Controller Modules ER, PR, COTIPMO Reports, Project Plans, Meeting Notes

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

42

Project Estimations - COCOMO

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

43

Project Estimations - COCOMO

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

44

Project Estimations - COTIPMO

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

45

Project Estimations

Scale factor is 15.6 PREC was set to LO. TEAM was set to VHI

Estimated total SLOC is 5000. (excluding framework) Estimated total effort is 6.6 person/month most likely (COTIPMO

survey, former (foundations phase estimation was 11.47) According to the recent PM estimations, 4.20 persons are

needed to complete the project within the time limits of CS577a and CS577b.

It can be done within the CS577a and CS577b course periods and with 5 team members. (1 missing team member in CS577b)

Previous scale factors reside.

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

46

Roles & Responsibilities

Revised development roles due to personnel turnover 5 development team members for CS577b. No new team member for CS577b.

Alex, Mihir : Solver Algorithm Implementation, Solver Library Integration, Database Implementation

Doug, Ihsan: User Interface, Templates Implementation, Controller Modules, Authentication, UI-Database Integration

Simone : Test Plans and Cases, CCD Preparation

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

47

Development Phase Activities - Construction

01/14/2013 – 02/28/2013 Concept: Implementation of solver algorithm,

complete database implementation with simulated administrators, integration of problem solver libraries to algorithm, complete user interface / controller classes, regular weekly client meetings, effort/progress reports, risk mitigation.

Deliverables: Scheduling Algorithm, Test Cases, Executable Beta Product, Effort Reports, Progress Reports, Project Plan, Complete Transition Plans, Complete User Interface

Strategy: Incremental Commitment Cycles, Weekly Sprints (Architected-Agile) (Starts in Fridays with Sprint Backlogs)

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

48

Development Phase Activities - Transition

03/01/2013 – 04/29/2013 Concept: End implementation of system algorithm,

assessing the system capability, implementation database and UI integration, continue risk assessment process, system transition, documenting User’s Manual, Deliverable Product Package, regular weekly client meetings, effort/progress reports, risk mitigation.

Deliverables: Final Student Scheduling System software product, Project Test Case. User’s Manual, Development Documents, Source Files.

Strategy: Incremental Commitment Cycles, Weekly Sprints (Architected-Agile), Team feedbacks and bug resolving.

System Installation : 04/19/2013 04/29/2013 - Operational Commitment Review for Initial

Operational Capability 05/07/2013 – Client Evaluation

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

49

Iteration PlanID Capability Description Priority Iteration1 Solving schedule

constraints.The prototype algorithm will solve the course constraints. 1 1

2 User Interface Prototype

We are forming mock-up user interface prototypes before starting implementing them in Java.

2 1

3 Test-case for constraint solver

We are implementing draft a test-case (courses, constraints) to test the scheduling algorithm.

3 1

4 Formalism for Specifying

Requirements

We are documenting a formalism document as a implementation guideline for future development phase.

2 1

5 Mathematical Model

We are forming a mathematical model in which we will define the course information and constraints.

1 2

6 Solver Library We are defining the software architecture for best interconnection between the modules and database

connection.

2 2

7 Entering Course Information

Input

Administrative side will be able to enter course information. Thus we are implementing prototypes related to input

format and specifications.

2 2

8 Controller Modules

Implementing controller classes operating between user interface and database for data inputting, schedule

constructing with provided data from solver, authentication for administrative side.

2 2

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

5004/20/23

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

51

Project Plan

Rebaselined Foundations Phase (CS577b)

3 Weeks focused on

Implementing solver module, controller / UI

PLAY framework

Preparing for RDCR ARB

Development Phase

10 Weeks, 5 Modules

Relaxation for response time

Weekly sprints

Developed concurrently in steps by two main teams

More time/focus on modules with more risk.

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

52

Project Plan (Development Phase)

Modules

Each module is split into pieces

For each piece there are programming, unit tests and function tests.

For each module there are unit tests and function tests for brought together pieces.

There are always two pieces being developed/implemented at one time.

Team A: Alex, Mihir (DB, Research, Solver/Algo)

Team B: Doug, Ihsan (Views, Controllers, Wrapper)

With Simone doing module tests, CCD Preparation.

After implementing controller modules and UI, Team B will move in Team A with respect to the related risk.

Life Cycle Plan

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

53

Feasibility Evidence

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

54

Feasibility Evidence

Revised / Added Risk Assessment Traceability Matrix Definition of Done

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

55

Risk AnalysisRisks

Risk ExposureRisk MitigationsPotential

MagnitudeProbability

LossRisk

Exposure

Undeveloped complex algorithm 6 636 Developing an early algorithm during

Foundations Phase as a prototype which works with a smaller domain.

Long response (for study plan building) time compared to the requirements. 5 6 30

Prototyping constraint solver module with test-case information in the foundation phase for benchmarking and feedback..

Not designated maintainers.5 3 15

It is mentioned to the client (Nature of CS577a/b schedule) since it is client side’s responsibility to maintain system after the transition phase. Stevens web hosting maintainers may be responsible for this role.

The interface required by the customer and provided by the development team may be different.

4 3 12Prototyping complete user interfaces in the foundation phase and give feedbacks from the customer about its defects and strong points and setting a final agreement upon them.

Team process inexperience related to ICSM methods. 3 3

9 Following ICSM EPG guideline, package reviews by TAs and evaluations.

Requirements Volatility (New procedures by Stevens management) 2 3

6 Prototyping, weekly negotiations

Feasibility Evidence

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

56

NDI/NCS Operability

NDI/NCS Products PurposesCHOCO Java Library To use its defined functions/classes

in the “solver” module. It is an open source library thus it brings no extra cost for the project.

Apache Web Server It will be used for setting the software running on school’s webpage.

MySQL It is used for implementing database entities and module. (course information, constraints.)

PLAY Framework* It provides a strong basis for web-based application, saves time on implementing user interface and controllers. Besides it is open source.

Feasibility Evidence

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

57

Traceability Matrix

OCD WinWin Agreement SSAD Test CaseOC-1 WC_1512 UC-6 TC-01

TC-03-02OC-2 WC_1329 UC-7 TC-02-02OC-2 WC_1349 UC-9

UC-10TC-02-04

OC-3 WC_1354 UC-6 TC-01TC-03-02

OC-3, OC-2 WC_1353WC_1352WC_1348WC_1347WC_1346WC_1345

UC-1UC-2UC-3UC-4UC-5

TC-01TC-03-02

OC-3 WC_1533WC_1512WC_1355

UC-6 TC-01TC-03-02TC-03-03

OC-2 WC_1350WC_1329

UC-7UC-8

TC-02-02

OC-2 WC_1355 UC-6 TC-03-03LOS-1 WC_1357   TC-03-02CO-1 WC_1356    CO-2 WC_1356    CO-3 WC_1357   TC-03-02

Feasibility Evidence

CSCI577b – Spring 2013– Team 6 – RDCR, ARB

58

Definition of Done For Iteration 1

1 Test cases formed and ready.

2 Solver algorithm can work with given simulated inputs.

3 Core user interface implemented and can get simulated inputs as arguments for algorithm.

4 Core controller classes implemented and they can pass data from user interface to solver algorithm and construct study plan with given data from solver.

5 Controller classes can log the testers in by using given simulated user privileges.

6 Core database module implemented and connected with solver algorithm to retrieve course data.

7 Tester (User) can navigate through the system and template screens by clicking button on user interface. System opens with main screen and general user interface to lead the tester.

8 Study plan construction response time limit is relaxed.

Feasibility Evidence