May 2005 Greg Giacovelli – Nick Mancuso – Shaun Newsum – Jean-Paul Pietraru – Nick Stroh
2 Agenda Background Motivation Requirements Schedule Metrics Architecture Tier Design Domain experience
3 Background Replace the “try” system –Compiles, tests, and saves students submissions –Provides immediate feedback to the student –Collection of scripts written in the early 1990’s –Issues: Steep learning curve Performance issues at peak hours
4 Motivation 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
5 Requirements 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
6 Schedule Due DateDeliveredNameDescription Project PlanPlan and schedule SRSDefines the system requirements DesignDescribes the system design Test PlanDefines the testing approach M1Milestone #1 – The Framework Progress reportMidpoint project presentation M2Milestone #2 – Submit M3Milestone #3 – Compile and Test Project posterProduct presentation poster N/AM4Milestone #4 – Code complete Conference PaperEnd of term paper N/AM5Milestone #5 – Gold
7 Metrics Man Hours (Est.)660 LOC23550 LOC / Man Hour35.6
8 Metrics
9 Solution 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
10 Solution Model-View-Controller –Decouples UI from business logic Business logic from data Web services –Interface to the business logic –Custom UI’s & scripts may be written
11 Architecture
12 Web Tier
13 Business Tier
14 Data Tier
15 Middle Tier
16 Problems we encountered Configuration issues –jBoss Integration tests J2EE complexity Learning curve
17 Post 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
questions? comments? concerns?