1 / 19

CPSC 410 Project

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)

sinjin
Télécharger la présentation

CPSC 410 Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CPSC 410 Project • Objectives • Cover requirements for project • Preview grading criteria for project • Preview project timeline

  2. 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)

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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.

  8. 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

  9. Separation of Concerns (10) • Separate style and outline of pages • Separate page generation and business logic • Separate security concerns

  10. 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

  11. Security (5) • Review your code against the SANS Top-25 list (e.g. XSS, SQL injection, etc)

  12. Verification (5) • Run a static analysis tool like FindBugs on your Java code • Fix all of the (important) bugs that it finds

  13. 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

  14. 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

  15. 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

  16. 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).

  17. Submissions • 10 user stories (at design review) • HTML screenshots (at design review) • UML diagrams (at design review) • Evolution document • Team Assessment

  18. 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

  19. 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.

More Related