Download presentation
Presentation is loading. Please wait.
Published byPearl Parrish Modified over 8 years ago
1
(1) Milestone 1 Review Milestone 2 Planning Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii
2
(2) Milestone 1 Review
3
(3) Overall impression It works! (Kind of.) 20 min video of M1 released yesterday Almost 50 views as of today Generated lots of discussion in SD Dudes, hit the "Like" button! Next steps: Improve quality of existing code base Implement more functionality Remain open to change
4
(4) Overall reactions to your projects Some relatively minor problems: project names, javadocs, release num Some relatively major problems: No package-level design JUnit not running successfully Low coverage, poor testing Quality has been sacrificed for "getting it to work"; this has to change. Also, you need to become more aware of what quality actually is.
5
(5) Issues you reported Problem: Strings for field names are brittle "pH" vs. "PH" etc. Solution: use Java enumerated types mechanism encode Data Dictionary as a class into API
6
(6) Issues you reported Problem: Listeners are not smart. They add data even if the data hasn't changed. Solution: Make the listeners smart. Cache the last System State entry and do comparison.
7
(7) Issues you reported Problem: SystemStateEntry map can generate null pointer exception if key not present. Solution: Some combination of: - Strings -> Enumerated types - throw Exceptions if not found - better default return values
8
(8) Issues you reported Problem: Testing with/without other components Solution: Make system configurable to support testing both in isolation and with other components.
9
(9) Issues you reported Problem: Console output is a mess. Solution: Invest time into making useful logging output.
10
(10) Issues you reported Problem: Too many if statements when parsing the XML. Solution: Use XPath.
11
(11) Issues you reported Problem: Data validity checking. User can type in anything (or devices can return anything) even if it's garbage. Solution: Practice defensive programming. If a value is invalid, discard it but log a message regarding the invalid data.
12
(12) Issues you reported Problem: Programming to an API (Java or HTTP)_ is a pain. I wish we didn't have them. Can't we have just one system, not 3? Solution: The cure is worse than the disease. - Establishing an API is the proven way to allow systems to scale. - Having 14 students work on the same system simultaneously without any APIs would be chaos. That said, the current APIs are not perfect. Improve them!
13
(13) Issues you reported Problem: No user permissions, roles, security. Solution: We can implement simple roles and security later, if time permits. Lack of security will not cost the team points during the competition.
14
(14) Issues you reported Problem: Simulation values not realistic. Solution: Fix that during Milestone 2.
15
(15) Milestone 2 Planning
16
(16) M2: Three Teams, Not Six Due to classmates dropping out, we will consolidate to three teams. Front-End: Kinsey, Hung, Hughes, Teichman, Tabucol, Leong Backend: Gaskell, Burgess, Cera, Ikehara House Sim: Ramelb, Nguyen, Lin, Dorman
17
(17) M2: Java & REST API Java API: I will develop a revised version of the Java API for release next Tuesday. I will take into account your suggestions. REST API: Will be enhanced to support communication with Tablets, Kinect
18
(18) M2: Quality Assurance JUnit + Jacoco: More effort needs to be placed on testing going forward. Logging: Front-End, Back-End, Sim all need high quality, useful logging output. Delete the logging you don't need! Front end should display logging. JavaDocs: JavaDocs must be improved. Error handling: Check data for validity; discard and log if appropriate.
19
(19) M2: Functionality Front-End: Hide pages that aren't implemented. Improve functionality substantially. Ajax not critical, but try it if you want. Learn more about wicket! - Read book (again). - See my screencast on ProjectBrowser
20
(20) M2 Functionality Backend: Improve structure of code. Improve error handling, validity checking, logging. Support new REST API additions. Support "startup" data initialization in.iHale directory
21
(21) M2 Functionality House simulator: Clean up code. Make simulation more realistic. Support simulation of Kinect, Tablet REST API. Support "startup" data initialization in.iHale directory
22
(22) Schedule No programming until next week. Front-End team: Read Wicket in Action. See ProjectBrowser screencast.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.