190 likes | 361 Views
CPSC 410 Project. Objectives Cover requirements for project Preview grading criteria for project Preview project timeline. Requirements Overview. Updates (10) Integration (10) Location (5) AOSA presentation (10) Design Review (15) Separation of Concerns (10) Testing (10). Security (5)
E N D
CPSC 410 Project • Objectives • Cover requirements for project • Preview grading criteria for project • Preview project timeline
Requirements Overview • Updates (10) • Integration (10) • Location (5) • AOSA presentation (10) • Design Review (15) • Separation of Concerns (10) • Testing (10) • Security (5) • Verification (5) • Evolution (5) • Demo (15) • Wow Factor (+20)
Basic Requirements • Build a custom designed Web application • Using • <language>: Server • <language>: Client • Reliable data storage of your choosing • e.g. SQL database, Google App Engine, etc… • We are leaving the language choice up to you. In the past Java Server Pages and HTML/CSS have been used. • But iOS+Node.js, Android+RoR, etc are all valid • Your team is responsible for delivering a quality system that demonstrates the functionality you specify for it in your requirements
Basic Requirements • Your project could take a variety of forms: -Multiple player on-line game room -Online banking or stock market trading site - Mapping/navigation aid • -Online community -Multi-user location tracking and mapping system -Auction site
Updates (15) • Users must be able to subscribe/unsubscribe to a subset of content on the site • e.g. Watch, Like, Friend, Follow, etc… • Users must be able to contribute and update content • When content is updated, users who are logged in and subscribed must be notified immediately • Users should never see stale data • Implementation must be free of concurrency bugs
Integration (10) • Your application will use at least 2 Web services • Web services must provide API or REST-based service • Must not just be a page that you link to or embed • Web services must be relevant to your application • Provide valuable feature • Not just “tacked on” as an afterthought
Location awareness (5) • Your application must leverage the user’s location preferences, subject to privacy choices. • Your application’s interface should reflect where the user currently is in (near) real-time.
Design Review (20) • 20 minute meeting • Present • HTML mockups of the UI • 10 user stories for your custom application features • UML diagrams for your server code design • Focusing on package structure, design patterns, and data model • Describe which Web services you will use and why • Mention how you will handle data storage
Separation of Concerns (10) • Separate style and outline of pages • Separate page generation and business logic • Separate security concerns
Testing (10) • Provide unit tests for your application • Provide useful functional tests • Document acceptance criteria. • Test driver will act as Web client • Reach 60% statement coverage for full credit • Use a suitable coverage tool, e.g. EclEmma
Security (5) • Review your code against the SANS Top-25 list (e.g. XSS, SQL injection, etc)
Verification (5) • Run a static analysis tool like FindBugs on your Java code • Fix all of the (important) bugs that it finds
Evolution (5) • You may provide a 1 page evolution document • Document can describe how your final design is different from that described at your Design Review • UI changes • UML -> implementation changes • Provide justification for the changes and no credit will be deducted
Project Demo (20) • 20 minute meeting • Demonstrate that the system meets the end-user observable requirements • Especially… • Updates • 10 user stories • Web service integration • Location
Wow Factor • Novel functionality • Sophisticated DB indexing and search • Highly responsive or scalable performance • Custom algorithms • Rigorous JavaDoc and coding style • Polished UI or original artwork
Teams • Each team will have four members. Once formed, please email cs410@ugrad.cs.ubc.ca with your team information. For each member of the team, you must provide: • name (as known to the registrar), and • undergraduate CS email id (letter-digit-letter-digit).
Submissions • 10 user stories (at design review) • HTML screenshots (at design review) • UML diagrams (at design review) • Evolution document • Team Assessment
Important Dates • Sept 14: Group Formation due, Github usernames submitted. • Sept 21: Email project proposal. • Oct 15-17: Design Reviews • Nov 26-28: Project Demos • Nov 30: Source Code, Team Assessment and Evolution documents due
Homework Form your team (Piazza can help) e-mail team to cs410@ugrad.cs.ubc.ca by next Friday include names and e-mail Create Github username Read Doom3 article for Monday.