BB Gaming Project 2501 Codename “Ball Breaker” J. Fernandez, K. Geiger, D. Lynch, B. Ramaiah CS 535 OOAD Summer 2006 Prof. Craig Reinhart.

Slides:



Advertisements
Similar presentations
Absence Credit Tracking System April 10, Team Members: Joshua Allen Dave Kristensen Greg Ludwinski Samantha Ratnapuli.
Advertisements

Accelerating The Application Lifecycle. DEPLOY DEFINE DESIGN TEST DEVELOP CHANGE MANAGEMENT Application Lifecycle Management #1 in Java Meta, Giga, Gartner.
Software engineering tools for web development Jim Briggs 1CASE.
NJIT Creating a Online Music Store using Amazon Web Services Final Project CS633:851 Joe DosAnjos ~ Puneet Kaur Deepti Madiraju ~ Slavica Pepovska Prem.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Automating with Open Source Testing Tools Corey McGarrahan rSmart 01-July-08.
EFS Overview. EFS in a nutshell EFS stands for “Enterprise File System” EFS is:  A special-purpose Unix global file system  A collaborative mechanism.
1 The Database Application Development Process The Database Application Development Process.
The road to reliable, autonomous distributed systems
 The Rise of Computer Science ◦ Machine Language (1 st Gen) ◦ Assembly Language (2 nd Gen) ◦ Third Generation Languages (FORTRAN, BASIC, Java, C++, etc.)
Informatics 43 – May 7, Restatement of Goals for Testing Want to verify software’s correctness  Need to test  Need to decide on test cases  No.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
VisIt Software Engineering Infrastructure and Release Process LLNL-PRES Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Application architectures
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Quality Assurance CS 615. Mission Statement The Quality Assurance team will provide assurance to stakeholders in CS-615/616 projects that their projects.
Developing the NSDL User Portal Dean Krafft, Cornell University
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
CS565 Advanced Software Development Lecture 23, 2006 CASE.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Agile Testing with Testing Anywhere The road to automation need not be long.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Standards for Technology in Automotive Retail STAR Workbench 1.0 Michelle Vidanes & Dave Carver STAR XML Data Architects, Certified Scrum Masters.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
The Design Discipline.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Selenium automated testing in Openbravo ERP Quality Assurance Webinar April 8th, 2010.
Getting to Know TiVo: The Home Media Engine (HME SDK) Eric M. Upchurch CS 525 Spring 2008.
Developing Axis based Web Services using Eclipse 3.3 Saurabh Mittal Feb 28, 2008.
Pegasus Status Update April April 2001 Karl Schopmeyer.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
T-unit: Tcl Unit Test Package Automated Unit Test Package For Tcl Procedures Final Presentation Joseph Boyle Loyola Marymount University.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Testing Workflow In the Unified Process and Agile/Scrum processes.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Office Business Applications Workshop Defining Business Process and Workflows.
Second Line Intrusion Detection Using Personalization DISA Sponsored GWU-CS.
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
CS 532(Mid-Term)- Project Presentation Team Name – Sprightly Team Members- Varun Kumar (Student id: ) Sowmya Gopisetty (Student id: ) Avneet.
Phase One Completion Report
CMPT371 – Team 1 Luminance. Project – Luminance  Puzzle game  Guide a beam of light using a limited set of tools to certain goals avoiding obstacles.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Optimal Pipeline Using Perforce, Jenkins & Puppet Nitin Pathak Works on
Handling Semantic Data for Software Projects Data Management CSE G674 – SW Engineering Project.
OpEnSp a Ce LCA Proposal Calvin Chin David Couvrette Jung Son Mikiko Jama CSE403 Summer 06.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Prometheusaurus Final Demo Team Software Project Group #1 Fall 2012 Steve Danowitz, Kelly Helhowski, Emily Christ, Corbin Uselton, Chris Leer, and Briana.
August Video Management Software ViconNet Enterprise Video Management Software Hybrid DVR Kollector Strike Kollector Force Plug & Play NVR HDExpress.
CPSC 372 John D. McGregor Module 1 Session 2 Process Measurement.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
IBM Academic Initiative JazzHub Overview John Schilt Lead, IBM Academic Initiative Australia / New Zealand UNSW and IET (Young Professionals)
REGRESSION TESTING Software Quality Engineering NC Zunaira Tariq Bese 19B Software Quality Engineering NC Zunaira Tariq Bese 19B.
Editing and Debugging Mumps with VistA and the Eclipse IDE Joel L. Ivey, Ph.D. Dept. of Veteran Affairs OI&T, Veterans Health IT Infrastructure & Security.
Wednesday NI Vision Sessions
Informatics 43 – May 5, Restatement of Goals for Testing Want to verify software’s correctness  Need to test  Need to decide on test cases  No.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Software Development.
Constructing Deploying and Maintaining Enterprise Systems
Unified Modeling Language
CS 5150 Software Engineering
Planning User stories are written.
Simplified Development Toolkit
Presentation transcript:

BB Gaming Project 2501 Codename “Ball Breaker” J. Fernandez, K. Geiger, D. Lynch, B. Ramaiah CS 535 OOAD Summer 2006 Prof. Craig Reinhart

Fernandez, Geiger, Lynch, Ramaiah Project Methodology: Loosely Coupled XP Coordinate through shared workspace Meet and Communicate as Needed Before / after class Before / after class Weekend Work Sessions (Sat/Sun at CLU) Weekend Work Sessions (Sat/Sun at CLU) mostly mostly No pair programming No pair programming Reasonable Success Tool set-up cost 1 week Tool set-up cost 1 week CVS made source code mgmt transparent CVS made source code mgmt transparent Modeling tools not set up with CVS Modeling tools not set up with CVS

Fernandez, Geiger, Lynch, Ramaiah Simplified Use Case Model

Fernandez, Geiger, Lynch, Ramaiah Master Game States from Use Cases

Fernandez, Geiger, Lynch, Ramaiah Initial Design Decomposition

Fernandez, Geiger, Lynch, Ramaiah Initial Class Design

Fernandez, Geiger, Lynch, Ramaiah Refine Design Communications Manager – Java RMI Client/Viewer – Simple Graphics Frame Accepts input, paints game state on screen Accepts input, paints game state on screen Does no other work Does no other work Uses Eclipse Standard Widget Toolkit Uses Eclipse Standard Widget Toolkit Server – Manages game state for clients HighScore – persistence object

Fernandez, Geiger, Lynch, Ramaiah Intermediate Class Model

Fernandez, Geiger, Lynch, Ramaiah Game Activities

Fernandez, Geiger, Lynch, Ramaiah Master Sequence Diagram

Fernandez, Geiger, Lynch, Ramaiah Play Mode Sequence Diagram

Fernandez, Geiger, Lynch, Ramaiah As-built Class Model - Server

Fernandez, Geiger, Lynch, Ramaiah As-built Class Model - Client

Fernandez, Geiger, Lynch, Ramaiah Demonstration

Fernandez, Geiger, Lynch, Ramaiah Outstanding Bugs Network Client Server Bug RMI distributed client still busted RMI distributed client still busted Tested ten clients run connected to server on same machine – okay Tested ten clients run connected to server on same machine – okay Minor Behavior Bugs Score count behaviors Score count behaviors When, where balls bounce When, where balls bounce Black-Box Test Report (UAT) estRun_1.xls estRun_1.xls estRun_1.xls estRun_1.xls

Fernandez, Geiger, Lynch, Ramaiah Lessons Learned: Programming Language Selection of Language - Java Had to learn Java Had to learn Java Tons of help on-line, in books, elsewhere Tons of help on-line, in books, elsewhere Worked well with Eclipse and Sparx EA Worked well with Eclipse and Sparx EA Java Remote Method Invocation (RMI) Forced 1 week detour to understand and get working Forced 1 week detour to understand and get working Probably would have spent same time on protocol Required Apache Server (late req’t) Required Apache Server (late req’t)

Fernandez, Geiger, Lynch, Ramaiah Lessons Learned: Development Tools Eclipse Lifesaver for Java development Lifesaver for Java development Eclipse extensions forced design changes Eclipse extensions forced design changes Use of Standard Widget Toolkit (org.eclipse.swt) library drove re-design of Client Single Frame object contains all interface code SourceForge Permits multiple users to view and change code Permits multiple users to view and change code Simple collaborative environment Simple collaborative environment Still requires management Still requires management

Fernandez, Geiger, Lynch, Ramaiah Lessons Learned: Modeling Tools Initial Tools JUDE, ArgoUML JUDE, ArgoUML Used Tool – Sparx Enterprise Architect Code Export and Import Code Export and Import Can sync model with developed code Permitted “round trip” engineering Can auto-generate documentation Build a Model instead of a Series of Cartoons Build a Model instead of a Series of Cartoons Model is structured like the software Export builds directories for software

Fernandez, Geiger, Lynch, Ramaiah Lessons Learned: Requirements Management Never invent requirements Deciding requirements without the Client complicates development Deciding requirements without the Client complicates development Just record the Client’s requests and get agreement and clear understanding of them Just record the Client’s requests and get agreement and clear understanding of them You Will Find New Requirements From Prototypes shown to Client Prototypes shown to Client Implications of developing code – e.g. “hidden” test modes Implications of developing code – e.g. “hidden” test modes

Fernandez, Geiger, Lynch, Ramaiah Lessons Learned: Requirements Management Coordinate Requirements between Software and Architecture teams Software and Architecture teams Customer and Software Team Customer and Software Team We were less than diligent here Missed requirements re-found in testing Missed requirements re-found in testing That’s why you test That’s why you test Test earlier, oftener Testing ties Software to Customer Req’s!! Testing ties Software to Customer Req’s!!

Fernandez, Geiger, Lynch, Ramaiah Lessons Learned: Test Plan and Defects Write the Tests to Match Requirements Itemize tests by requirement name & id (trace matrix). Itemize tests by requirement name & id (trace matrix). One requirement may generate several tests One requirement may generate several tests One test may address many requirements One test may address many requirements Test Using the Test Like requirements, don’t make stuff up. Like requirements, don’t make stuff up. Write down expected results and apparent reason for test failure Write down expected results and apparent reason for test failure

Fernandez, Geiger, Lynch, Ramaiah Lessons Learned: Testing and Defect Resolution Never Debug During Black Box or UA Testing Test “released” code (the current build) Test “released” code (the current build) white-box or unit test during development Perform the entire test suite as a unit Perform the entire test suite as a unit this is in essence a forced regression test this is in essence a forced regression test Larger systems will require automation Avoid Tense Emotions During Testing Indicate pass / failure and reasons for failure Indicate pass / failure and reasons for failure Move on to next test Move on to next test Discuss test results after test suite run-through Discuss test results after test suite run-through Fix the problems, and then retest Fix the problems, and then retest

Fernandez, Geiger, Lynch, Ramaiah Conclusion Software Project State as of 3 Aug We have a prototype with bugs We have a prototype with bugs We’d be at UP Cycle Elaboration 1 or 2 We’d be at UP Cycle Elaboration 1 or 2 We have a major defect in core design due to RMI We have a major defect in core design due to RMI Next Steps Are Clear up RMI bug: fix it or re-factor to another method Clear up RMI bug: fix it or re-factor to another method Fix any game play bugs – arrow controls, ball bounces Fix any game play bugs – arrow controls, ball bounces Tighten white-box unit tests Tighten white-box unit tests Re-deploy and re-run UATs Re-deploy and re-run UATs

Fernandez, Geiger, Lynch, Ramaiah Nice-to-Have or Nice-to-Do Next More Practice at Round-Trip Modeling Model to Java Model to Java Java back to Model Java back to Model Move the Model into CVS Shareable modeling environment to match shareable software environment Shareable modeling environment to match shareable software environment Better use of SourceForge for Requirements Management, Feature Requests Requirements Management, Feature Requests Bug tracking and Defect Resolution Bug tracking and Defect Resolution Deployment Package Software auto-deployment Software auto-deployment Help/user documentation Help/user documentation

Fernandez, Geiger, Lynch, Ramaiah Source Materials SourceForge Site Project Web SourceForge CVS Repository (Read-Only) cvs -d:pserver: cvsroot/bbgaming login cvs -d:pserver: cvsroot/bbgaming login