Download presentation
Presentation is loading. Please wait.
Published byOwen Jennings Modified over 8 years ago
1
Referee Scheduler CIS 758 Blue Elephant Tony DiCola Mauktik Gandhi Jeff Mathew Tim McConnell Todd Sahl Eugene Talagrand
2
Presentation Outline Product Demonstration / Overview Functional Requirements Intro Non-Functional Requirements Intro Process Intro Non-Functional Requirements in Detail Traceability through Design, Arch., Impl.
3
Product Demo Let’s check it out
4
Requirements Overview C Core Functionality U Usability P Performance S Security S Supportability Non-FunctionalRequirements FunctionalRequirements
5
Main Use Case Allowing Referees to Schedule Online Main Additional Functional Req. Security – No Unauthorized Browsing CSSPU CS
6
Core Non-Functional Reqs Usability Easy to Learn to Use Supportability Easy to Learn to Program Performance Speedy Enough Under Concurrent Load SPU
7
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
8
T Model by Middleware Co.
9
Metrics? Fowler: Product of Manufacturing Optimization Ramnath: Do It Please Blue Elephant: We Tried Timesheets Hard to Keep Up With
10
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
11
Core Architecture - MVC
12
MVC Continued
13
Transactions
14
Transactions contd.
15
Concurrency Transient vs. Persistent Objects Optimistic Locking Built in Support in Hibernate Finer Grain Control Available with Custom Code
16
Security - Requirements Access to registered users only Prevent public browsing Access control and Roles Referees vs. Administrators Password Security Encrypted passwords in database Email notification when password changes CSSPU
17
Security - Architecture User class hierarchy Hibernate mapping Access Control Filter Logical Paths Tomcat Roles ? CSSPU
18
Security - Architecture Password Service SHA1 – One-way encryption function Random password Generation Email Service Java Mailing API CSSPU
19
Usability - Requirements No End User Training Possible Successful Adoption Hinges on Transparent Usability End Users are not Computer Experts Accessibility CSSPU
20
Usability - Design Transparent Navigation Shallow Information Hierarchy Tabbed Interface Clear, Consistent Page Sections Consistent Placement of Feedback CSSPU
21
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
22
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
23
Usability Process Iterative Prototype Broad and Shallow Little or No Functionality Feedback From Clients and Users CSSPU
24
Supportability Requirements Extensibility Additional Use Cases to be Implemented Requirements Change Over Time Maintainability Future Maintenance Programmers Need to Understand Architecture, Code Configurability CSSPU
25
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
26
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
27
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
28
Supportability Architecture Strict Adherence to MVC Pattern Use of Popular Frameworks Workflow by Struts Persistence by Hibernate Configurability Strategy Patterns Externalized Strings CSSPU
29
Supportability - Process Incremental Refactorings Refactored Packages Page Composition Externalized Strings Class Based CSS Design CSSPU
30
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
31
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
32
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
33
Performance - Process Speed of Main Use Case always considered Refactored Session cache design CSSPU
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.