310 likes | 470 Views
Mid of Semester Presentation 06-22-2004. Team Dumbledore: Heng Chen Myung-Joo Ko Neel Mullick Paulo Merson . Agenda. Team Dumbledore Process Progress Report Risks Demo. Team Dumbledore. Team: Henry: Configuration & support; Integration Manager
E N D
Mid of Semester Presentation06-22-2004 Team Dumbledore: Heng Chen Myung-Joo Ko Neel Mullick Paulo Merson
Agenda • Team Dumbledore • Process • Progress Report • Risks • Demo
Team Dumbledore • Team: • Henry: Configuration & support; Integration Manager • Neel: Architect, Requirements Manager, Development Manager • Myung: Client Manager; QA Manager • Paulo: Team lead; Process Manager • All: Developers & Unit testers • Contractors • Alex: developer (MSIT practicum) • Mentors • Tony • Ipek • Clients (also architects/developers of ArchE core) • Mark Klein • Len Bass • Felix Bachmann
Agenda • Team Dumbledore • Process • Progress Report • Risks • Demo
Process (1)ACDM Functional rqmts/constraintsPaper prototypes Discover quality attribs.Create utility tree 1 UI detailedstories Prioritized utility treeInitial project plan Create notionalarchitecture 2 Architecture viewsUpdated project plan Review architectureAnalyze scenarios 3 Risks, tradeoffs Discuss UI functions w/clients 3’ Ready to design& code? No Evaluate risks/tradeoffs Create experiment plan 4 Yes Experiment planUpdated project plan Legend: Create design Write test code/ write code/ review code 6 Artifact Activity Decision Next step Produces Execute experimentsRevisit architecture 5 Detailed designTest codeSource code Refined architectureUpdated project plan Deploy/integrateor iterate 7
Process (3) – Design • Design artifacts • UML class diagrams • UML sequence diagrams • Excel sheets for transformation definitions • ArchE1 • Reference design for initial classes • Design review team walkthrough • ArchE2&3 • Create design for all work assignments • Individual reviews
Process (4) - Details • Estimate • Individual estimates for all phases • Time and LOC • Automated tests (JUnit) • For all non-UI functionalities • For UI Plug-in • Reflection website • Code • Code conventions
Process (5) – QA • Code Review • ArchE1: • Important classes reviewed • Individual reviews • Team walkthrough of review findings • Pre & post review submission into repository • ArchE2&3: all classes to be reviewed • System testing & bug tracking • ArchE1: • Team members log bugs on Bugzilla • ArchE2&3: • Clients use ArchE1 and give feedback and log bugs on Bugzilla • System tester role created
Agenda • Team Dumbledore • Process • Progress Report • Risks • Demo
Progress report (1) • High level functional requirements • CRUD scenarios • CRUD functions • CRUD responsibilities • CRUD relationships • Display model • Export design • Work allocations in WBS • ArchE1: 67 (DONE – 6/22/04) • ArchE2: 87 (Due on 7/12/04)
Progress report (2) • Estimate
Testing • Automated tests (JUnit) • JUnit tests of 26 non-UI classes • JUnit plug-in tests of all UI views • Performance tests • Get data from Jess and refresh views • Two architecture alternatives
Performance Tests Issue found: • Jess uses too much memory • Could not test w/ 10000 elements
Code Review • 18 classes (1578 LOC) reviewed for ArchE1 • Findings: • 47 defects • 149 improvements • Review rate: 351 LOC/hour • Average defect/KLOC: 30 • Review impact • Total of 50 classes changed (5349 LOC) • Refactoring of view classes into 7 base classes
Agenda • Team Dumbledore • Process • Progress Report • Risks • Demo
Agenda • Team Dumbledore • Process • Progress Report • Risks • Demo
Questions to Mentors • Our estimates are still very high-level… • We have different technical aspects: • Writing an Eclipse view • Writing a transaction to access Jess • Create a UML sequence diagram • Should all developers work a little with each one (maximizing learning) or not (maximizing productivity) • How to avoid problems when integrating changes other people made to the code base?
Experiments Status • Henry—RMA model solver • Client had a working version delivered to them • Myung—export to Rational Rose • Code base in place • Design to be reviewed and implemented in ArchE2 • Neel—interaction with Jess using Java • Architecture, designed & implemented in ArchE1 • Paulo – Eclipse plug-in development • Experiment metamorphosed into code for ArchE1