Title: May%202005
1Greg Giacovelli Nick Mancuso Shaun Newsum
Jean-Paul Pietraru Nick Stroh
2Agenda
- Background
- Motivation
- Requirements
- Schedule
- Metrics
- Architecture
- Tier Design
- Domain experience
3Background
- Replace the try system
- Compiles, tests, and saves students submissions
- Provides immediate feedback to the student
- Collection of scripts written in the early 1990s
- Issues
- Steep learning curve
- Performance issues at peak hours
4Motivation
- New Features
- Cross platform support
- Small learning curve
- A solid framework
- Provide clear ports for adding future
customizations expansions - Separate concerns to ease maintenance
- Distribute CPU load
5Requirements
- Gathered from
- Project sponsor
- Personal experience with old system
- Sample try lab configuration
- Tested against
- Project sponsor
- try manuals
- SRS is thorough will be useful to future
developers
6Schedule
Due Date Delivered Name Description
12-26-04 12-26-04 Project Plan Plan and schedule
01-06-05 01-26-05 SRS Defines the system requirements
01-25-05 02-18-05 Design Describes the system design
01-20-05 01-20-05 Test Plan Defines the testing approach
01-29-05 02-18-05 M1 Milestone 1 The Framework
02-17-05 02-17-05 Progress report Midpoint project presentation
02-28-05 03-24-05 M2 Milestone 2 Submit
03-31-05 05-02-05 M3 Milestone 3 Compile and Test
04-28-05 04-28-05 Project poster Product presentation poster
04-30-05 N/A M4 Milestone 4 Code complete
05-16-05 05-16-05 Conference Paper End of term paper
05-20-05 N/A M5 Milestone 5 Gold
7Metrics
Man Hours (Est.) 660
LOC 23550
LOC / Man Hour 35.6
8Metrics
9Solution
- Architectural framework
- May be easily extended to meet all requirements
- Runs in any J2EE-compliant application server.
- Scalable by distributing amongst multiple hosts
- Distributed submission processing
- Compile testing is completed by an array of
clients - Increases system performance
- Scales up by adding more client machines
10Solution
- Model-View-Controller
- Decouples
- UI from business logic
- Business logic from data
- Web services
- Interface to the business logic
- Custom UIs scripts may be written
11Architecture
12Web Tier
13Business Tier
14Data Tier
15Middle Tier
16Problems we encountered
- Configuration issues
- jBoss
- Integration tests
- J2EE complexity
- Learning curve
17Post Mortem
- What went well
- Solid documentation throughout.
- Proof-of-concept or better code for each major
component of the system. - What we learned from
- Too much wind-up time
- Should have dropped JBoss early
18questions? comments?concerns?