Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

16
Milestone 1 By: Posi Olarewaju Heather Truc Domenico Bruce Joseph Meckler Ming Zhang

Transcript of Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Page 1: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Milestone 1By:

Posi Olarewaju Heather Truc

Domenico Bruce Joseph Meckler

Ming Zhang

Page 2: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

• Allows sports fans from all over the world to voice opinions about sports-related events.

• Users will be able to view and post photos/videos either while at the game or while at home/on the road.

• Users will be able to partake in discussion forums or live chats either by sport, league, team, or an actual game.

• Users will have the ability to manage their own personalized profile page, track posts regarding to either sports, leagues, or teams they are interested in, as well as track and post sporting events they will or might be attending.

Problem Statement/Executive Summary:

Page 3: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Requirements Specification:

Non-registered Users: Registered Users: Administrator:

View articles

View list of upcoming events

View registered user profiles

Use search option

Login/out

Reset lost password

Send/receive PMs

Edit profile View/add/edit/delete articles and posts

Post/edit/delete comments Manage user accounts (approve, edit, delete, lock, and ban)

View/edit/remove upcoming events Reset registered users’ passwords

Rate articles, photos/videos, and teams Add/edit/modify teams

Generate and view reports

Functional Requirements:

Page 4: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Requirements Specification:Non-Functional Requirements:

• Usability Requirements– Login/register on any page– Login/register with ease/no hassle– Provide user-friendly interface– Allow administrators/site staff to

navigate with little or no training• Performance Requirements

– Be accessible through the web– Download all pages in 3 seconds (5

for mobile browser)– Generate reports within 1 minute

• Reliability Requirements– Detect any faults/issue warnings for

failure and/or crash• Packaging

– Installed/uploaded on webhost with PHP and MySQL servers using FTP.

– Current server is: http://sit.yorku.ca:8080/grp20/

– Future domain: http://www.mysportlounge.com

• Legal– All levels of users must agree to

terms of service which will allow MySportLounge ownership of information hosted on system

• Maintainability and Portability– Applications to use JEE framework– Use Tomcat on server side– Store users’ password encrypted in

database– Run on different web browsers

• Implementation– Should take 2 working days to install

+ 1 working day to set up staff admin accounts

• Cultural and Political Requirements– All content will comply with ethical

codes and political policy– Website will be accessible in either

English or French

Page 5: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Functional Models:Actors:

Administrator Registered User Pending User

User

Registered Users: Largest group of members and they will be the primary users who interact with

the website. Administrator: Main role is to verify registered user accounts, add, edit, and delete user

accounts, provide user support and ensure that the system is running correctly and available at all times.

Actor Diagram

Page 6: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Functional Models (Cont.):Actor Definitions:

Registered Users:Description Registered User is a member of MySportLeague. He or she is able to post comments

on articles, edit their profile, upload photos and videos, and add themselves to “Current Games” that they are attending.

Aliases Customer, client, sports fanInherits UserActor Type Active - PersonContact Person AdministratorContact Details Registered User’s e-mail and viewable contact information on member’s Profile

page

Administrator:

Description Administrator is a member of MySportLeague. He or she will manage user accounts, verify accounts, and maintain website.

Aliases Staff

Inherits User

Actor Type Active - Person

Contact Person n/a

Contact Details Administrators e-mail

Page 7: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Functional Models (Cont.):Use Case Diagram:

Administrator Registered User

Register

Log In

Reset Password

Add Comments

Search

Edit Profile

Manage User Account

Generate Reports

View, Add, Edit &Delete Articles

View and RateArticles

Send and ReceivePrivate Messages

Upload Photos andVideos

View, Add, Edit andDelete Comments

Page 8: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Functional Models (Cont.):Use Case Descriptions:

Use Case Name Register

Use Case Description The system creates an account for the new user to access the website.

Participating actor(s)

Initiated by the User

Flow of Events 1. User clicks “Register”.

2. System prompts the user to the registration page.

3. User inputs required information in the registration form.

4. User submits registration form.

5. System creates account with inputted information from registration form.

Pre-condition The user does not have an account registered with the website.

The user is on the main page.

Post-condition The User is redirected to the “Login” page.

Page 9: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Functional Models (Cont.):Use Case Descriptions (Cont.):

Use Case Name Login

Use Case Description The system allows the Registered User to login to the website.

Participating actor(s)

Initiated by the Registered User

Flow of Events 1. System prompts the user to log in.

2. The user enters his/her username.

3. The user enters his/her password.

4. The System responds by displaying the appropriate feedback to the User. The feedback could either be a redirect to the homepage indicating a successful login, or an error message indicating an unsuccessful login.

5. The System logs user into website.

Pre-condition The user is already registered.

The user is on the main page.

Post-condition The User is redirected to the main page, OR

The User receives an explanation indicating why he or she was not able to log in to the system.

Page 10: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Exercises:Exercise 1: Data Model

SQL Data Model to Represent Users and User Groups

Page 11: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Exercises:Exercise 1: Data Model (Cont.)

Do you store users passwords in the database encrypted or non-encrypted?- Non-encrypted at this time. If database reaches 500 user

accounts, we will consider integrating encryption.

What are the advantages and disadvantages of encryption?Advantages: Disadvantages:

- Data security- Authentication (and creation of

public/private keys for user)- Enhance protection, increasing

customer satisfaction- As database grows, it allows

protection of website and user accounts from fraud

- Longer processing time- Added overhead- Does not guarantee against

user or website getting hacked or from receiving malicious viruses

Page 12: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Exercises:Exercise 2: Page Flow

Welcome New User

CompleteRegistration

form

Is data valid?

UpdatesDatabase

Yes

LoginPage

Refill error section

No

Page 13: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Exercises:Exercise 3: Basic User Registration and Login Pages

Can someone sniffing packets learn your user's password? Gain access to the site under your user's credentials? - Currently, someone could learn the password, but they would

be unable to sign in as login is not yet implemented

What happens to a user who forgets his or her password?- They click “Forgot Password” link which takes them to

forgotpassword.jsp where they can reset their password using their username and answer to their security question.

Page 14: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Exercises:Exercise 4: Site Administrator's Pages for Working With Users

How can the administrator control who is permitted to register and use the site?- The Administrator may restrict a user from registering if he or

she enters an e-mail address or username that is already in the database or an e-mail address that has been banned due to term violations. When filling out the Registration form, all fields must be valid.

What email notification options does the site administrator have that relate to user registration?- The Administrator will have access to all user accounts’ e-mail

addresses. The e-mail address the user entered during their registration (signup.jsp) will appear in the Administrator’s interface where the Administrator will have access to send user’s messages.

Page 15: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

Exercises:Exercise 5: Referential Integrity Constraints and Query Performance

How long will it take to look up a user by email address?- The time it will take the Administrator to look up a user by e-mail

address depends on the size of the database and the user’s Internet connection.

What if this email address is capitalized differently from what you've stored in the database?- Uppercase and lowercase letters in e-mail address will not affect

the way the e-mail is stored in the database. The database that contains the e-mail address will not be case sensitive.

Is it possible to have two users with the same email address?- It is not possible to have two users with the same e-mail address

in the database. The e-mail address is a PRIMARY KEY in the Reg_users table.

Page 16: Milestone 1 By: Posi OlarewajuHeather Truc Domenico BruceJoseph Meckler Ming Zhang.

QUESTIONS?