(1) Milestone 1 Review Milestone 2 Planning Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.

Slides:



Advertisements
Similar presentations
® IBM Software Group © 2006 IBM Corporation Woden Demo WSD WG F2F, Arthur Ryman
Advertisements

Lecture 10 Sharing Resources. Basics of File Sharing The core component of any server is its ability to share files. In fact, the Server service in all.
Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
Compiling Web Scripts for Apache Jacob Matthews Luke Hoban Robby Findler Rice University.
Lecture 2 Page 1 CS 236, Spring 2008 Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
T Sponsors Sameer Chabungbam Principal Program Manager, Microsoft Connector API Apps BizTalk Summit 2015 – London ExCeL London | April 13th & 14th.
Design Principles Overview Principles Least Privilege Fail-Safe Defaults Economy of Mechanism Complete Mediation Open Design Separation of Privilege Least.
SIM5102 Software Evaluation
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Pragmatic Application Building: Step by Step Jay Sissom Principal Systems Analyst Indiana University
Chapter 7 Improving the User Interface
1 CSc Senior Project Software Testing. 2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of.
4/25/ Application Server Issues for the Project CSEP 545 Transaction Processing for E-Commerce Philip A. Bernstein Copyright ©2003 Philip A. Bernstein.
Handling Security Threats in Kentico CMS Karol Jarkovsky Sr. Solution Architect Kentico Software
SEG4911 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Thoughts about Agile Design and Release Management Timothy C. Lethbridge.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
From C++ to C#. Web programming The course is on web programming using ASP.Net and C# The course is on web programming using ASP.Net and C# ASP.Net is.
UNIT-V The MVC architecture and Struts Framework.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
JavaScript & jQuery the missing manual Chapter 11
TRADE SMART Zihao Yu Kevin Bobsein Ashrith Kumar Marpaka Hanzhi Wu Instructor : Prof. Ivan Marsic Partial fulfillment of the course Software Engineering.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
May 14, 2001E. Gallas/Trigger Database1 Status of the Trigger Database Elizabeth Gallas, Rich Wellner, Vicky White Fermilab - Computing Division See my.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Vicky Piert SIMS Team v0.9 Helping to support School Census Autumn Helping to support School Summer Census Secondary.
(1) Automated Quality Assurance Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
Managing Windows Server 2008 R2 Lesson 2. Objectives.
Java: Chapter 1 Computer Systems Computer Programming II.
Scalable Systems Software Center Resource Management and Accounting Working Group Face-to-Face Meeting June 13-14, 2002.
(1) WattDepot: A software ecosystem for energy data collection, storage, analysis, and visualization Robert S. Brewer, Philip M. Johnson Collaborative.
ALMA Integrated Computing Team Coordination & Planning Meeting #2 Santiago, January 2014 ASDM relational database Rafael Hiriart / Jorge Avarias.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
1 Software Construction and Evolution - CSSE 375 Exception Handling - Principles Steve Chenoweth, RHIT Above – Exception handling on the ENIAC. From
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
NFIRS Data Entry Browser Interface (DEBI)
CE Operating Systems Lecture 21 Operating Systems Protection with examples from Linux & Windows.
Exceptions, cont’d. Factory Design Pattern COMP 401 Fall 2014 Lecture 12 9/30/2014.
Grade Book Database Presentation Jeanne Winstead CINS 137.
Google App Engine MemCache ae-09-session
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
Chapter 36 More Object Design with GoF Patterns 1CS6359 Fall 2011 John Cole.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
Sheet 3 HANDLING EXCEPTIONS Advanced Programming using Java By Nora Alaqeel.
tFileInputEBCDIC Bug Report & Design Recommendation
Exceptions Chapter 16 This chapter explains: What as exception is Why they are useful Java exception facilities.
Callista Enterprise Test Driven ESB Development Sofia Jonsson
Computer Science 209 Software Development Handing Errors and Creating Documentation.
(1) Introduction to Java GUIs Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
ICM – API Server & Forms Gary Ratcliffe.
All the dSoftArk Tools Getting started!. Tools dSoftArk is a semi-realistic, agile, development project –Industrial strength software (programming, TDD,
Role Of Network IDS in Network Perimeter Defense.
DHCP Vrushali sonar. Outline DHCP DHCPv6 Comparison Security issues Summary.
(1) Code Walkthrough robocode-pmj-dacruzer Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Event Management. EMU Graham Heyes April Overview Background Requirements Solution Status.
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
Information Model for LMAP draft-ietf-lmap-information-model-02 (and beyond!) IETF Interim, Dublin, September 2014 Trevor Burbridge, BT 1.
COMPOSITE PATTERN NOTES. The Composite pattern l Intent Compose objects into tree structures to represent whole-part hierarchies. Composite lets clients.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
Coming up Implementation vs. Interface The Truth about variables Comparing strings HashMaps.
Exception testing Aistis Karkauskas, IFM-2/2. Introduction  Exceptions – anomalous or exceptional events requiring special processing – often changing.
Poka-yoke in software A software products company sells application software to an international market. The pull-down menus and associated mnemonics provided.
NFIRS Data Entry Browser Interface (DEBI) nfirs. fema
Data Virtualization Tutorial… CORS and CIS
Software Development Handing Errors and Creating Documentation
NFIRS Data Entry Browser Interface (DEBI) nfirs. fema
Software Testing and Maintenance Maintenance and Evolution Overview
NFIRS Data Entry Browser Interface (DEBI) nfirs. fema
NFIRS Data Entry Browser Interface (DEBI) nfirs. fema
NFIRS Data Entry Browser Interface (DEBI) nfirs. fema
NFIRS Data Entry Browser Interface (DEBI) nfirs. fema
Presentation transcript:

(1) Milestone 1 Review Milestone 2 Planning Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii

(2) Milestone 1 Review

(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) 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) 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) 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) 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) Issues you reported Problem: Testing with/without other components Solution: Make system configurable to support testing both in isolation and with other components.

(9) Issues you reported Problem: Console output is a mess. Solution: Invest time into making useful logging output.

(10) Issues you reported Problem: Too many if statements when parsing the XML. Solution: Use XPath.

(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) 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) 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) Issues you reported Problem: Simulation values not realistic. Solution: Fix that during Milestone 2.

(15) Milestone 2 Planning

(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) 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) 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) 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) 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) 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) Schedule No programming until next week. Front-End team: Read Wicket in Action. See ProjectBrowser screencast.