may 2005 greg giacovelli – nick mancuso – shaun newsum – jean-paul pietraru – nick stroh
Post on 20-Dec-2015
223 views
TRANSCRIPT
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
ScheduleDue 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
7
MetricsLOC per Component
0
2000
4000
6000
8000
10000
12000
Component
LO
C Man Hours (Est.) 660
LOC 23550
LOC / Man Hour 35.6
8
MetricsDefects per Component
0
5
10
15
20
25
30
35
Business Tier Web Tier Middle Tier Data Tier Design / Docs
Component
Def
ects
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?