Referee Scheduler CIS 758 Blue Elephant Tony DiCola Mauktik Gandhi Jeff Mathew Tim McConnell Todd Sahl Eugene Talagrand.

Slides:



Advertisements
Similar presentations
FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!
Advertisements

New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
A Blackboard Building Block™ Crash Course for Web Developers
Blue Elephant Tony DiCola Mauktik Gandhi Jeff Mathew Tim McConnell Todd Sahl Eugene Talagrand.
Spring, Hibernate and Web Services 13 th September 2014.
Expense Tracking System Advisor : Dr. Ali Arsanjani Members: Ebe Pubudu Viduranga ( )
An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Introduction to Liferay Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
CRM WEB UI – ARCHITECTURE- DEFINITIONS For More details please go to
UNIT-V The MVC architecture and Struts Framework.
Anthony Atkins Digital Library and Archives VirginiaTech ETD Technology for Implementers Presented March 22, 2001 at the 4th International.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Java Frameworks Indy Java Users Group January 29, 2003.
WebsydianExpress ™ for RPG Developers. Presenter Niels P. Sorensen Product Manager, Websydian Lead Architect Developer for many years in languages like.
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
The Design Discipline.
NMS1.0(c) Copyright Final Year Project Demonstration Dublin City University 29 th May 2003 Team Members : David ReadeTimothy Kelly
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Tony Nguyen.  Architecture  Advantages  Disadvantages  Setup JSF Environment  JSF & Database  Conclusion  Demo.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Software Project Documentation. Types of Project Documents  Project Charter  Requirements  Mockups and Prototypes  Test Cases  Architecture / Design.
Information System Development Courses Figure: ISD Course Structure.
Chapter 7 Applying UML and Patterns Craig Larman
Introduction to Web Dimitar Nenchev Ivan Nakov
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
© 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Hibernate Persistence. What is Persistence Persist data to database or other storage.  In OO world, persistence means persist object to external storage.
CS 532(Mid-Term)- Project Presentation Team Name – Sprightly Team Members- Varun Kumar (Student id: ) Sowmya Gopisetty (Student id: ) Avneet.
Grid Application Platform (GAP) Developed By ASGC ISGC 2007.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
EFinanceFactory Andriy Kurhanevych, development group manager.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
Chapter 3 JSP Overview. The Problem with Servlets processing the request and generating the response are both handled by a single servlet class Java programming.
Blue Elephant Tony DiCola Mauktik Gandhi Jeff Mathew Tim McConnell Todd Sahl Eugene Talagrand.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Singleton Academy, Pune. Course syllabus Singleton Academy Pune – Course Syllabus1.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
By Jonathan Smith. Road Map Introduction Company Information Project Overview Java Web Design and Development Summary Relation to IUP Acknowledgments.
Business Applications– Using Java _____ Presented by Priya Saha.
TECHNICAL ASSISTANCE FOR THE CONVERSION OF RBPAPs INTO RBMPs DATA MANAGEMENT INCEPTION WORKSHOP ESTAMBUL February Eusebio CRUZ GARCÍA.
Cemetery Information Management System CEMETERY INFORMATION MANAGEMENT SYSTEM Supervisor: Mr.Trần Bình Dương Team Members:  Phạm Văn Bình  Ngô.
October 2014 HYBRIS ARCHITECTURE & TECHNOLOGY 01 OVERVIEW.
WEB TESTING
Bedework 3.0 (a.k.a.UWCalendar)
Open Source distributed document DB for an enterprise
The Client/Server Database Environment
Unit 6-Chapter 2 Struts.
Design and Maintenance of Web Applications in J2EE
Building an Integrable XBRL Portal Daniel Hamm German Central Bank
ISE 390 Dynamic Web Development
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
Lecture 1: Multi-tier Architecture Overview
The Model Layer What is Model?
J2EE Application Framework
JavaServer Faces: The Fundamentals
Signet & Privilege Management
Developing and testing enterprise Java applications
Presentation transcript:

Referee Scheduler CIS 758 Blue Elephant Tony DiCola Mauktik Gandhi Jeff Mathew Tim McConnell Todd Sahl Eugene Talagrand

Presentation Outline Product Demonstration / Overview Functional Requirements Intro Non-Functional Requirements Intro Process Intro Non-Functional Requirements in Detail  Traceability through Design, Arch., Impl.

Product Demo Let’s check it out

Requirements Overview C Core Functionality U Usability P Performance S Security S Supportability Non-FunctionalRequirements FunctionalRequirements

Main Use Case  Allowing Referees to Schedule Online Main Additional Functional Req.  Security – No Unauthorized Browsing CSSPU CS

Core Non-Functional Reqs Usability  Easy to Learn to Use Supportability  Easy to Learn to Program Performance  Speedy Enough Under Concurrent Load SPU

Process Intro Lightweight RUP, ala Craig Larman  Step-by-Step OOAD  Inception, Elaboration Bounded Iterations New Methodology, Martin Fowler  Adaptive, People Oriented Rapid UI Prototyping w/ Feedback T-Model, Middleware Technologies  From J2EE Best Practices Article

T Model by Middleware Co.

Metrics? Fowler: Product of Manufacturing Optimization Ramnath: Do It Please Blue Elephant: We Tried  Timesheets  Hard to Keep Up With

Metrics: Results Anecdotal Results:  Productivity Increased as: Configuration Management Settled Down  Initial Problems: Eclipse Tomcat Hibernate, MySQL Struts Members Became Familiar with Core Architecture – MVC, Struts, JSP, JSTL

Core Architecture - MVC

MVC Continued

Transactions

Transactions contd.

Concurrency Transient vs. Persistent Objects Optimistic Locking  Built in Support in Hibernate  Finer Grain Control Available with Custom Code

Security - Requirements Access to registered users only  Prevent public browsing Access control and Roles  Referees vs. Administrators Password Security  Encrypted passwords in database  notification when password changes CSSPU

Security - Architecture User class hierarchy  Hibernate mapping  Access Control Filter  Logical Paths  Tomcat Roles ? CSSPU

Security - Architecture Password Service  SHA1 – One-way encryption function  Random password Generation Service  Java Mailing API CSSPU

Usability - Requirements No End User Training Possible Successful Adoption Hinges on Transparent Usability End Users are not Computer Experts Accessibility CSSPU

Usability - Design Transparent Navigation  Shallow Information Hierarchy  Tabbed Interface  Clear, Consistent Page Sections  Consistent Placement of Feedback CSSPU

Usability – Design Continued Task Oriented Design  Minimal Text & Images, No ‘Happy Talk’  Built In Help  JavaScript Validation of Input Accessibility  Text-Only Browser Support  Minimal Browser Dependency CSSPU

Usability Architecture & Impl. Common, Ubiquitous Technologies  Server Pages, JavaScript, CSS Focus on Architecture Extensibility  Templating, Page Composition Used Standardized Libraries  JSTL - Simpler Language, Easier for Page Designers CSSPU

Usability Process Iterative Prototype  Broad and Shallow  Little or No Functionality  Feedback From Clients and Users CSSPU

Supportability Requirements Extensibility  Additional Use Cases to be Implemented  Requirements Change Over Time Maintainability  Future Maintenance Programmers Need to Understand Architecture, Code Configurability CSSPU

Supportability Design Separation of Concerns into Tiers  Presentation Layer  Workflow Layer  Business Delegate Layer  Domain Model Layer  Data Access Object Layer  Data Source Layer CSSPU

Supportability Design Contd. Separation of Concerns into Tiers  Decoupling of Components of Application Limits Effect of Change in one area Makes Code Easier to Comprehend Allows Parallel Development via Interfaces CSSPU

Supportability Design Contd. Documentation of Design  Short Papers on Technologies / Design Patterns  Use Case Diagrams / Sequence Diagrams  Pointers to Good Resources  Doxygen API Documentation CSSPU

Supportability Architecture Strict Adherence to MVC Pattern Use of Popular Frameworks  Workflow by Struts  Persistence by Hibernate Configurability  Strategy Patterns  Externalized Strings CSSPU

Supportability - Process Incremental Refactorings  Refactored Packages  Page Composition  Externalized Strings  Class Based CSS Design CSSPU

Performance - Requirements Thousands of Games and Users During Initial Sign-Up Period, Several Hundred Concurrent Users  Site Must Remain Usable and Responsive under Load CSSPU

Performance – Design Cont. Presentation Layer: XSL-T was used for the first 4 Weeks  Provides Extensibility, but very Computationally Intensive JSP/JSTL Refactoring One Week of Performance Testing CSSPU

Performance – Design Cont. Keeping Games in Memory  Required 300 MB of RAM for 300 users Client Side Sorting, Filtering of Conflicting Games Offloaded to User to Reduce Server Load  Optimized Primary Database Query Trade-off between memory, CPU and Database performance CSSPU

Performance - Process Speed of Main Use Case always considered Refactored Session cache design CSSPU