A Capstone with GemStone

Download Report

Transcript A Capstone with GemStone

A Capstone with GemStone
David Whitlock
October 25, 2004
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
About GemStone
• GemStone was founded in 1982
• Developers of novel object-oriented
technologies
– Object databases for SmallTalk and Java
– J2EE application server
http://www.gemstone.com
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
GemFire Data Caching
• Distributed data caching across processes
– Java Objects
– XML documents
– Interoperability with C/C++ applications
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Demand for GemFire is heating up
• New features and new development
• More testing needs to be done
• We need better tools to help us meet
the increasing demands on our
engineers
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Two Capstone projects
• Machine Reservation System
• Project Tracking Tool
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Machine Reservation System
• GemStone has a number of machines
– Shared among developers and testers
• Want to keep machines as active as
possible
– Run tests on weekends and off hours
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Machine Reservation System
• Current system doesn’t scale
– An engineer manually edits text file to
make reservation
– A tester has to check file before running
tests or using machine
– Allows two people to think they have
the machine reserved
– Hinders automated testing execution
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Machine Reservation System
• We’d like a new system
– Reservation files readable by humans
and machines
– Java API that can be invoked by our
testing framework
• Before a test is run, it can check to see if
someone else has the machine reserved
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Machine Reservation System
• Tools to manage reservations
– Detect reservation conflicts
– Remove reservations that have expired
– Tell us which machines are currently
available
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Project Tracking Tool
• GemFire is developed using an agile
software development practice called
“Scrum”
– Small teams, 30-day development “Sprints”
– Development tasks are prioritized in a
“Product backlog”
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Project Tracking Tool
• We currently use an Excel
spreadsheet to track progress
– Nice charts and printing capabilities
– Macros and formulas are getting
complex
– Not platform independent
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Project Tracking Tool
• We’d like a new GUI that is designed
especially for Scrum tracking
–
–
–
–
Create and manage development tasks
Save backlog to file
Update progress as tasks are completed
Chart work completed and time
remaining
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Chance to develop interesting software
• These tools are very important to GemStone
– Used by our engineers everyday
– We have a strong idea of what they should do
– We’re willing to work with you
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Chance to develop interesting software
• Good technical challenge
– Develop real software applications
– We’d prefer that tools implemented in Java
– Technologies like OOP, XML, and GUI design
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Chance to develop interesting software
• Exercise your software engineering skills
– Analysis, design and implementation
– Testing
– Documentation
• Looks good on a resume
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
A Capstone with GemStone
• Machine Reservation System
• Project Tracking Tool
• Gain experience developing real
software applications
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.
Questions?
[email protected]
Copyright © 2004, GemStone Systems Inc. All Rights Reserved.