ARB_RDCP_S14b_T10_v2.1

advertisement
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
RDCR ARB
Student Scheduling System Part II
Client: David Klappholz
Team 10
Bo Wang, Bohan Zheng, Chenyang Bai
Rui Tong, Shuai Wang, Xiaoran Li
1
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Personnel Turnover
• Former IIV&V left this semester
• Responsibility hands over to PM and Tester
• No new team member
2
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Team’s Weak Points
• Technical View:
– Do not have previous experience on Play
Framework
• Operational view:
– Language barrier
– Heavy schedule
3
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Team’s Strong Points
• Technical view:
– All CS students
(with both back and front end programming exp.)
– Quick learners
• Operational view:
– Early Development phase setup
– Strong team communication & coordination
– High level of team involvement
– Strong sense of responsibility
– More experienced than the first semester
4
CS-577B Software Engineering RDCR ARB
T10-Student Scheduling System
Progress Indicator
Cumulative Tasks Completed
Progress
18
16
14
12
10
8
6
4
2
0
Initial Plan
Actual
1
2
3
Class Begins
Jan.13
4
5
6
Week #
5
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Progress in New Semester
•
•
•
•
•
No change in Win Conditions and OCD
Updated Risks, Life Cycle, Test Plan and Cases
Enhanced Prototype
Core capacities of Admin Side are almost done
Algorithm Implementation in Progress
6
CS-577B Software Engineering RDCR ARB
T10-Student Scheduling System
Roles
Member
Name
Construction Iteration
Transition Iteration
Wang, Bo
Back-end Conductor
Assistant Tester
Transition Negotiator
Bai, Chenyang
Developer
System Deployer
Zheng, Bohan
Front-end Conductor
Maintainer
Wang, Shuai
Algorithm Solver
Manual Composer
Trainer
Tong, Rui
Coordinator
Assistant Tester
Manual Composer
Trainer
Chief Tester
Tester
Quality Assurer
Manual Conductor
Li, Xiaoran
7
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Responsibilities
Member
Name
Construction Iteration
Transition Iteration
Wang, Bo
Construct back-end of Administrative Side
Perform white-box testing on solver
Deploy system
Bai, Chenyang Construct back-end of Administrative Side
Deploy system
Zheng, Bohan
Construct Front-end on Stu & Admin Side
Fix defects
Wang, Shuai
Design scheduling algorithm
Realize and construct scheduling solver
Composite user manual
Perform training
Tong, Rui
Coordinate front-end and back-end
Perform white-box testing on solver
Compose maintenance man.
Perform training
Perform essential black-box testing
Report bugs in Bugzilla
Conduct manual composition
Perform testing
Ensure quality on construction
Review and verify documents
Li, Xiaoran
8
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Project Iteration Plan – In Progress
9
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Project Iteration Plan – Transition
10
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Project Iteration Plan – Operation
11
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Definition of Done
1
With the interaction between students and system, a study plan can be
generated within one hour.
2
If the solver doesn’t respond in 5 minutes, students will be asked to relax
constrains.
3
Given brief instruction, students can operate student side by simple clicks
and inputs.
4
Administrators and directors can get full access to the data through
administrative side.
5
The whole system passes acceptance testing.
6
The system will give error descriptions when exceptions occur.
7
Documents and user manuals are completed.
12
CS-577B Software Engineering RDCR ARB
T10-Student Scheduling System
Risk Analysis
Risk
Rationale
Risk Exposure
PM
Algorithm failed
Algorithm efficiency
untested
Transition
environment
mismatch
Do not have clear
understanding about
SIT’s sever
Requirements
Volatility in
transition phase
User interface
mismatch
Schedule
confliction
New requirements may
occur in the transition
phase according to the
real environment
Administrator side is
satisfied but students’
side is not finished.
All of our team members
have a lot of work load
and different schedule
5
PL
7
Risk Mitigations
RE
35
Finish the algorithm as soon as possible, thus we have
more times to test and improve the algorithm. On the
other hand, if the algorithm can not give a solution in a
acceptable time, we should find a way to give a useful hint
about how to get the result in a acceptable time.
4
7
28
Getting more details about the sever from client, and we
can test the sever at first before formal transition, in this
way we can have more time to adjust our system to the
sever, so we can reduce the transition risks of our project.
2
4
8
Keeping on weekly negotiations, testing and getting
feedback before formal transition.
2
3
6
Identifying what is exactly client want. Reporting program
progress timely to clients.
6
Make a detailed plan for each phase of the next semester,
based on the experience of this semester to avoid
unnecessary time cost.
13
2
3
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Test Plan
• Test Strategy:
– Requirements-test traceability
– Value-based Test Prioritization
• Full test cases have been designed to validate
the working order of key functional system
aspects that must succeed in order to fulfill
project requirements as captured in the WinWin conditions.
14
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Test Cases
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
TC-01-01 Manual Course Selection
TC-01-02 Auto Course Selection
TC-01-03 Semester Criteria
TC-01-04 View Study Plan
TC-01-05 Insufficient Course Selections
TC-01-06 Required Relaxation
TC-02-01 Add/Modify Course
TC-02-02 Corequisite/Prerequisite Hints
TC-02-03 Create/Modify Course Groups
TC-02-04 Create/Modify Simple Requirements
TC-02-05 Create/Modify Degree Programs
TC-02-06 Create/Modify Requirements (Complex)
TC-03-01 User Login
TC-03-02 Add/Modify Director Information
TC-03-03 Invalid User Login Credentials
15
CS-577B Software Engineering RDCR ARB
T10-Student Scheduling System
Traceability Matrix (Updated)
OCD
Requirements
SSAD
Test Case
OC-1
WC_1350(Last Year)
WC_1329(Last Year)
UC-7, UC-8, UC-9, UC-10,
UC-11, UC-12
TC-02-01, TC-02-03, TC-02-04,
TC-02-05, TC-02-06
OC-2
WC_1533(Last Year)
UC-1, UC-2, UC-3, UC-4, UC-5
TC-03-01, TC-03-02, TC-03-03
OC-3
OC-4
WC_2657
UC-6
TC-01-01, TC-01-03, TC-01-05
OC-5
WC_2657, WC_2658
UC-6
TC-01-01, TC-01-02, TC-01-03, TC-01-04
OC-6
WC_2656
UC-10, UC-11, UC-12
TC-02-02
OC-7
WC_2655, WC_2659
UC-6
TC-01-05, TC-01-06
OC-8
WC_2660
N/A
N/A
OC-9
WC_2658
UC-6
TC-01-04
16
CS-577B Software Engineering RDCR ARB
T10-Student Scheduling System
Prioritized Requirements Traceability
Requirements
(Win-Condition ID)
Brief Description
TOPSIS
Score
WC_1350 (Last Year)
WC_1329 (Last Year)
Degree Requirements
Management
N/A
WC_1533 (Last Year)
Authentication and Roles
N/A
WC_2658
Scheduling Upper Bound
0.934
WC_2657
Study Plan Generation
0.554
WC_2659
Constraints Relaxation
0.528
Test Cases
(Test Identifier)
TC-02-01 Add/Modify Course
TC-02-03 Create/Modify Course Groups
TC-02-04 Create/Modify Simple Requirement
TC-02-05 Create/Modify Degree Programs
TC-02-06 Create/Modify Requirement (Complex)
TC-03-01 User Login
TC-03-02 Add/Modify Director Information
TC-03-03 Invalid User Login Credentials
TC-01-04 View Study Plan
TC-01-06 Required Relaxation
TC-01-02 Auto Course Selection
TC-01-03 Semester Criteria
TC-01-04 View Study Plan
TC-01-06 Required Relaxation
TC-01-01 Manual Course Selection
TC-01-02 Auto Course Selection
TC-01-03 Semester Criteria
TC-01-05 Insufficient Course Selections
TC-01-06 Required Relaxation
TC-01-05 Insufficient Course Selections
TC-01-06 Required Relaxation
TC-02-01 Add/Modify Course
TC-02-06 Create/Modify Requirement (Complex)
WC_2654
Friendly Requirement Layout on
Student Side
0.428
WC_2655
Better Error Explanations
0.379
WC_2656
Hints for Administrator
0.363
TC-02-02 Co-requisite/Prerequisite Hints
WC_2660
Tools/Languages Compatibility
0.026
N/A
17
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Test Report
• Unit Testing on Front-end of Admin Side
• 28 issues found
• 15 of them were critical defects
18
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Prototype
• The major functions of administrative side has
been completed.
• Detailed document is needed to explain the
expression input for co/prerequisite courses
• URL: http://127.0.0.1:9000/ (Demo)
19
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
20
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
A&I Diagram
21
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Class Diagram (admin side)
22
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Class Diagram (student side)
23
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Software Component Diagram
24
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Defect Metric
• As the coordinator of front & back side, I
collected the bugs and defects from Jan. 3rd
to present.
• The data mainly came from Bugzilla and Test
Report.
25
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
27
26
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Prototype
• Student side will be focus of our work during
next iteration.
– User Interface
– Solver
27
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Student side
• The design of the UI remains the same.
• Maybe need little modify because of the
solver.
28
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Student side
29
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Algorithm - Admin Side
• Implementation
In the administrator side, the system is responsible for doing operation about
database: add/modify/delete degree program, requirement information,
requirement relation, course information, course relation. Also, the system needs
to read data from database to form “requirement graph” and construes “course
graph data structure”.
• API Reference:
AIED_RDCR_S14b_T10.doc
• Current Issue:
Refine the API design
Combine the back-end with the UI.
30
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Algorithm - Student Side
• Implementation
We just begin the detail algorithm implementation of front-end.
Tasks have been done: when student chooses courses, the system can help him
add all prerequisite, corequisites with both the “and” & “or” relation.
Tasks to be done: To deal with the “or” relation, now we pick one choice
randomly.
• API Reference:
AIED_RDCR_S14b_T10.doc
• Current Issue:
Recovery mechanism for algorithm:
How to make algorithm strong enough to deal with the “picky” situation.
31
T10-Student Scheduling System
CS-577B Software Engineering RDCR ARB
Thank You
32
Download