team viceroy tom, shannon, jenny, jordy, damon, brandon
TRANSCRIPT
Team ViceroyTom, Shannon, Jenny, Jordy, Damon, Brandon
What is it? (In case you forgot)
• An all-in-one desktop application for helping housemates live harmoniously
• Users can log in, set up a house, and add housemates
• The Housebook tracks household • chores, events, finances, and messages
Coding Assignments
• Tom – Network Manager, Database• Damon – Database Manager• Jordy – GUI/ Views• Brandon – View Controllers• Shannon – Models (Chore, WallPost, etc)• Jenny – Tester (system and GUI testing)
Demo
• See The Housebook in action!
Project Timeline (Original)
• Week 7: Plan out classes, divide up coding assignments, investigate libraries, work on SDD.• Week 8: Finish SDD, begin coding individual components,
integrate libraries.• Week 9: Continue implementation of all components.• Week 10: Complete implementation and unit testing of all
components.• Week 11: Integrate Project entirely, begin testing flows.• Week 12: Complete testing, prepare for demo &
presentation.
Project Timeline (Actual)
• Week 7: Plan out classes, divide up coding assignments, investigate libraries, work on SDD.• Week 8: Finish SDD, begin coding individual components,
integrate libraries.• Week 9: Continue implementation of all components.• Week 10: Continue implementation of all components. Get
really stuck on SQL libraries.• Week 11: Complete implementation of all components. Get
really stuck on SQL libraries. Finally figure out an SQL Library.• Week 12: Integrate and test project. Prepare for demo &
presentation.
Libraries
• Boost• Very good, robust library!
• SQL (ODBC connection to MySQL Server)• Took a while to find a library that worked with minGW.• Tried MySql Connector++, SQLAPI++• Settled on SQL ODBC connector to MySQL Server.
• Tiny ODBC• Wrapper code over ugly old ODBC API to allow for quick, readable
code to be written.
Difficulties Overcome
• Library building and integration into project.
• Admin IP Address Issues• Issue: Users scanning network for an admin• Solution: User specifies admin IP on login and sign up.
• Issue: Computer IP changes when it shuts off• Solution: Update the user’s entry for the Admin’s IP when
they query and it has recently changed
Difficulties Overcome (The Hard Way)
• QT Library Issues• Issue: weird library dependency issues and errors that don’t exist• Solution: Dependency walker, adding code in sections
• SVN• Issue: Work flow unclear, merge conflicts, work lost• Solution: Save local copy before updating, always update AND
TEST before committing
• Time constraints on development during final few weeks
Product Backlog (Immediate)
•Don’t show old/expired/completed items•Deleting items• Leaving the house• Changing Admin• Start SQL server on program initialization
Product Backlog (Would Be Nice)• Less database queries• Connect HouseBook instances outside local network• Search for Admin Server instance on local network • instead of specifying their local IP address
• Private messages between users.
• Analysis to determine if housemates are pulling their weight• Rewards (best housemate, helpful roommate, laziest
housemate)• Punishments (pay housemates a drink if you miss a chore)
Product Backlog (Stretch)
Team Techniques That Worked• Object Oriented Architecture• allowed separation of concerns • components could be tested independently
• Communication about progress, issues and questions• Tips And Tricks page on Wiki• Effective Group Meetings
• Status updates• Collective effort on issues
Team Techniques That Didn’t
• SVN Workflow • lack of experience was an issue, code got lost
• Communication About Architecture• function parameters weren’t locked down until late and
changed without warning
If we could do it over…
START SOONER
If we could do it over…
• More milestones and accountability• weekly goals and tasks
• Better communication about architecture• group meeting to get everyone on same page, constant updates
• Investigate potential libraries sooner
• Simpler project
Any Questions?