Title: Final Point Presentation
1also know as The infamous EOSP
Team OverHEAD Karim Jamal Clinton Jenkins
2Overview
- Other Folks
- Project Background
- Practicum Goals
- Process
- Architecture
- Looking Back
- Quotes
3Other Folks
- Jesse Lecy
- Client
- Michael Johnson
- Project Sponsor
- Anthony Lattanze
- Mentor
- Gil Taran
- Technical Advisor
4Project Background
- Decision Support System for Effective Aid
Distribution (DSS4EAD). - Currently, aid distribution organizations work
disparately. Our goal is to provide a central
system that they can use to share their data so
that educated decisions regarding aid
distribution can be made on a global scale. - An optimization tool that computes how best to
distribute aid would also be useful.
5In a nutshell
Currently
Desired
6Practicum Goals
- Meet success criteria for project Goal Met
- Central repository should house all data
- Offline client application should be able to
connect to repository - Offline client application should perform
optimization calculations - Online system will provide a means to view
community profiles - Apply software engineering practices to project
Goal Met - To see how, tune in next weekor just take a look
at the next few slides for some examples
7Process - 1
- We chose the Architecture-Centric Design Method
(ACDM) - Emphasizes architecture, which is important to
the system since the quality attributes are
primary concerns (i.e. scalability,
modifiability, security, portability) - These are important because other developers are
going to further develop this in the future - Allowed us to obtain, refine, and identify risky
requirements early on in the lifecycle, which was
important since the client was not readily
available in the summer
8Process - 2
- Provides guidance on the steps to follow in order
to conform to the process - Supports an iterative approach to development
- Relatively lightweight
- Does not require too much overhead for a
two-person team - Requires just enough documentation to allow us to
apply our software engineering knowledge - Our mentor is the creator of ACDM, and so we had
immediate access to him regarding any
ACDM-related questions
and we wanted to make him happy ?
9Architecture
CC View
Online Subsystem
Naming Service
Repository
Web Browser
Database
Server
Optimization Tool
Offline Subsystem
Local Database
Legend
Naming Service
Web Browser
Database
Connection- Only occurs once
Optimization Tool
Server
Continuous connection
Local Database
10Adherence to Architecture
- Did our architecture survive design and
development?...Mostly Yes - One documented exception is auto-generating a SQL
query within the Optimization Tool instead of on
the Server. - Introduces a dependency on the structure of the
database - Architectural Tradeoff In this case, we chose
performance over maintainability
11Schedule since MPP
12Almost done
Hang in there
13Looking Back - 1
- What made Tony giddy and jump for joy
- Project management, tracking, and oversight went
very well, because - Wiki was updated regularly
- We always kept him up-to-date on our schedule
- Every time the schedule slipped, we knew the
cause and presented him with an updated schedule
that adjusted for the slip
14Looking Back - 2
- What Tony doesnt know
- The Design phase is very difficult to do
remotely co-location makes it much easier - We underestimated how complex and time-consuming
laying out the infrastructure would be - We underestimated the effort hit we would take
due to job interviews and traveling - Resulted in highs-and-lows in weekly effort
- System was not as thoroughly tested as planned
- Client was supposed to test after each iteration
but was busy with traveling and moving
15Looking Back - 3
- What we would do differently next time
- To remedy problems during Design phase
- Agree on a coherent high level view of the design
while we were still co-located - While not co-located, set up a designated time
every day that we would discuss the Design and
any other issues - Could be done using Instant Messenger, Skype,
Phone, etc. - To remedy problems during Iteration 1
- Construct some more prototypes dealing with
various aspects of the infrastructure - Dive further into lower levels of the
infrastructure during the Design phase
16Looking Back - 4
- What made the customer happy?
- See Quotes
- What did the customer want to see more of?
- The customer wanted more feedback on what we
considered difficult to do. This would have
allowed him to make better decision on priority
and scope. - Higher visibility into when we ran into
difficulties, so he could decide if it was worth
the effort to fix the problem or to move on to
other more important areas.
17Looking Back - 5
- Other lessons
- ToDo list doesnt work if you dont put anything
in it - Running JBoss on your laptop is not fun it does
make for a good heater, though - Unsolvable problems in JBoss go away if you
restart it and curse at it enough - Rebuilding the database the night before the
customer presentation leads to very little sleep - Throwing balls around in the cave always has
interesting results - Poker alone is not enough to earn back your
tuition
18Quotes
- From Client
- Looks great!
- The entire process went very well.
- Im amazed at the ground you guys covered! You
covered a lot of domains. - From Us
- Dang, were broke!
19Looking Back 5.5
- One more lesson
- Doing Live Demos can be very dangerous
- Speaking of which, heres a Live Demo!!!
20(No Transcript)
21Optimization Tool Results
22Questions
Thanks
for taking all our money
Dont ask us hard questions Leave us with a
good memory of this program? What did we ever do
to you? Good recommendations from us means more
business for youuhh, we mean more software
engineers who want to make a differenceyeah,
thats it
23Detailed Schedule - 1
24Detailed Schedule - 2
25Business Goals - 1
- Combine organizations knowledge into a central
location so that this knowledge can be shared on
a global scale - Reduce the likelihood that organization workers
will input erroneous data into the system - Fraud protection
- Provide a simple, but feature-rich interface to
the user
26Business Goals - 2
- Provide a foundation for future work that the
client wishes to be done - Provide a demonstration vehicle for the client to
sell to organizations
27Artifacts Created - 1
- Project Management Artifacts
- Practicum Proposal
- Statement of Work
- Project Management Plan
- Project Schedule
- Architectural Drivers Specification
- Notional Architecture
- Database ER Diagram
- Experiments Document
- Detailed Design
- Test Plan
28Artifacts Created - 2
- Project Management Artifacts (contd)
- Iteration Checklists
- Technical Manual
- Other Project Artifacts
- Code for infrastructure prototype
- Model for integer solver
- Experiment artifacts
- Code Artifacts/Deliverables
- Source and war, ejb3 files for Online System
- Source and jar files for Optimization Tool
29Quality Attribute Scenarios - 1
30Quality Attribute Scenarios - 2
31Quality Attribute Scenarios - 3
32Quality Attribute Scenarios - 4
33Freedom!!!
Were finally FREE
See ya suckers (in class for some of us, still)