Sunteți pe pagina 1din 24

www.RiotGames.

com

Software Requirement
Specifications v1.0.0
Phase 1

Confidential © 2008 Riot Games


LeagueofLegends.com
LeagueofLegends.com Ver. No.: 1.0.0 Date: 09/02/2008
Software Requirements
Specifications

Riot Games Inc

RiotGames.com

DOCUMENT RECORD LIST

Version Date Mod By Comments


Robert Hornbek &
Eric Han &
v1.0.0 09/02/2008 Initial Document
Billy Leung &
Steve Mescon

The enclosed material is proprietary to Riot Games. This material is presented for the purpose of
evaluating services and may not be disclosed in any matter to anyone other than the addressee
and employees or authorized representatives of Riot Games Inc.

Table of Contents
Software Requirement Specifications v1.0.0.doc 2
LeagueofLegends.com

1.0 Introduction

1.1 Overview of the Requirement Specifications Document


This document specifies the software requirements for LeagueofLegends.com which will form the base for
further design and development of the League of Legends community portal

1.2 Scope of the Project


The objective for this project is to create an online community to support the League of Legends game

2.0 General Description

2.1 Assumptions

The following assumptions will be made when considering bids


• Log-in and SSI (Single-Sign-in) API and documentation will be provided
• A development environment will be provided
• Any required software packages will be provided
• Development environment will be pre-configured. Server configuration and administration will not
have to be done
• Back-end API information and documentation will be provided
• Graphic designs may be provided

2.2 Environment Imposed

• LeagueofLegends.com will operate on a cluster running a Linux operating system, using the nGinx
web-server through a FastCGI implementation

3.0 Requirement Specifications

3.1 Operational Requirements

• The LeagueofLegends.com application client will operate on the following browsers on all common
operating systems
• Internet Explorer (6.x, 7.x)
• Firefox (1.5.x.x, 2.0.x.x, 3.0.x.x)
• Safari (3.x)

Software Requirement Specifications v1.0.0.doc 3


LeagueofLegends.com
3.2 Security Requirements

• Security configuration must be present to provide granular user and group access permissions. Proper
authentication will be done for various levels of guests, various levels of staff members, and registered
users
• All input must be sanitized and flexible
• No information will ever be removed or deleted from the database. Changes will result in new records
being created

3.3 Reliability

• Graceful exit on abnormal inputs and conditions


• Maintain consistency of system data

3.4 Maintainability

• Must use development standards for the entire site


• Availability of documentation from design phase to completion phase
• Site configuration system must be developed, no hard-coded configuration elements
• All applications will use MySQL 5.x as the standard database engine
• All HTML code must conform to XHTML 1.0 standards
• All server-side scripts must be written in PHP, and follow the Zend coding standard and
PHPDocumentor documentation standards
• Any client-side scripts must be written in standards compliant JavaScript

3.5 Technical Requirements

• All back-end and server-side scripts must be written in PHP 5.x using a mainstream, pre-approved PHP
development framework, (CodeIgnite, Zend, Symfony, etc)
• All PHP must be written to Zend standards and be object-oriented
• Website search must be powered by Lucene SOLR or Lucene
• All systems must be supported by a secure API that can be exposed to other applications

Software Requirement Specifications v1.0.0.doc 4


LeagueofLegends.com

3.5.1User Interface/Presentation Layer

Localization: Current system will be designed in the English language and in such a way that it can be
easily localized into other languages. All error messages, normal messages, alerts, UI text, and other
information will be stored in localized data sets
Performance: The application must be optimized for performance from the perspective of both the end-
user and hardware infrastructure. Tables must be efficiently designed with indexes on necessary fields.
SOLR or Lucene will be used instead of MySQL full-text search for all search-related functionality. OPCode
caching will be used to cache compiled PHP scripts in memory. All output must be cached in memory or
on disk for efficient delivery
UI Scripting: All XML/XSL/XSLT/CSS/HTML/JavaScript must be optimized for cross-browser support

Software Requirement Specifications v1.0.0.doc 5


LeagueofLegends.com

3.6 Functional Requirements

3.6.1Login

Requirement Description
ID 1
Type Component

Software Requirement Specifications v1.0.0.doc 6


LeagueofLegends.com

Description 1) To log in, members must enter an account name and password combination
2) If the account name and password entered do not match the account
name/password retrieved by the API, an error will be displayed and the
member will not be allowed to log into the website
3) User log-in and log-out will be handled using PHP sessions
4) Once logged in, a user will have their appropriate group permissions
5) “Remember me” will be available to the user for easy and fast log-in if the
user sets or selects this option. Whenever a user visits the website to log-in,
they will be logged in automatically
6) Users will have an option to retrieve their username and password if they do
not remember their information

3.6.2Register

Requirement Description
ID 2
Type Component

Software Requirement Specifications v1.0.0.doc 7


LeagueofLegends.com

Description New User Signup

1) Will be used when the user does not already have a League of Legends
account
2) Any user can register a new account. The age limit for web participation is 13
years old for COPPA compliance
3) Username and password provided by the user during registration will be used
to log-in to the system in the future
4) CAPTCHA images will be used during registration
5) Registration form must have real-time AJAX validation. Server must process
additional validation after submission
6) After creating an account, the user will receive a registration confirmation E-
Mail. The user must confirm their account by clicking a link that is contained
within the confirmation E-Mail
7) Upon completion of registration process, the user will receive another E-Mail
welcoming them to the community
8) The user will automatically be logged into the website after confirming their
E-Mail address
9) Each E-Mail address will be unique, where only one E-Mail can be associated
to an account and cannot be connected to multiple accounts
10) Registration elements

Registration Element Mandatory/Optional

First Name M

Last Name M

Password M

Confirm Password M

Age Check M

Security Question M

Security Answer M

Address 1 M

Address 2 O

City M

State M

Zip M

E-Mail Address M

Confirm E-Mail Address M

Username M

3.6.3Images & Gallery

3.6.3.1 Show and Browse Images

Software Requirement Specifications v1.0.0.doc 8


LeagueofLegends.com
Requirement Description
ID 3
Type Component

Description Official Galleries

1) When a user enters the gallery section, they are shown a list of all galleries
with a title, teaser information, and thumbnails for each gallery. The gallery
section must be paginated to support additional galleries. n galleries are
shown initially with the user being able to increase the number of galleries
displayed per page
2) The user will be able to search and sort galleries that contain images that
match certain criteria such as the name or date of an event
3) Upon selecting a gallery, the user will be shown up to n thumbnails of images
within that gallery, with the ability to choose additional images per page
4) Each thumbnail will have some descriptive information such as the date the
image was added to the gallery, the image rating, and which staff member
added the image to the gallery
5) Once an image is clicked, the visitor is taken to the “show single image”
page. The single image page will be the same for official images as user
submitted images
6) Images will be searchable by tags, date, rating, the user who uploaded the
image, image name, number of comments, etc.

Show Single Image

1) Once a user selects an image to view, they will be taken to a single image
page
2) The single image page will have all of the relevant information about the
image including the image title, description, tags, rating, uploader,
comments, any relevant content of which the image is part of: guides,
replays, etc.
3) Users will be able to comment on and rate each image
4) Moderators will be able to disable comments and rating on an image. If
comments are not enabled, the UI will adjust to completely remove the
comment option
5) Images will have an embed feature, so they can easily be embedded into
other websites and social network pages

3.6.4Video
Software Requirement Specifications v1.0.0.doc 9
LeagueofLegends.com

Requirement Description
ID 5
Type Component

Description Official Galleries

1) When a user enters the gallery section, they are shown a list of each gallery
with a title, teaser information, and thumbnails for each gallery. Ten galleries
are shown initially, with the user being able to increase the number of
galleries displayed per page
2) The user will be able to search and sort galleries that contain images that
match certain criteria such as the name or date of an event
3) Upon selecting a gallery, the user will be shown up to 12 thumbnails of
videos within that gallery with the ability to choose additional videos per
page
4) Each thumbnail will also have some descriptive information, such as the date
the video was added to the gallery, the video rating, and which staff member
added the video to the gallery
5) Once a video is clicked, the visitor is taken to the “show single video” page.
The single video page will be the same for official videos as user submitted
videos

Show Single Video

1) Once a user selects a video to view, they will be taken to a single video page
2) The single video page will have all of the relevant information about the video
including the video title, description, tags, rating, uploader, comments, any
relevant content which the video is part of
3) Users will be able to comment on and rate each video if the users have the
appropriate permissions to do so
4) Moderators will be able to disable comments or ratings on a video. If
comments are not enabled, the UI will adjust to completely remove the
comment option
5) Videos will have an embed feature, so they can easily be embedded into
other websites and social network pages
6) When a user selects to watch a video, a video player will be launched with
controls for the user such as play or pause
7) The user will have the ability to download the video in full quality format

3.6.5News, Articles, and Interviews

Software Requirement Specifications v1.0.0.doc 10


LeagueofLegends.com
3.6.5.1 News Posting System

Requirement Description
ID 12
Type Component

Description 1) News, articles, and interviews require approval. All news items will require
approval of two appropriate level staff members before they are openly
visible on the website, (appropriate will be a user-group white-list). This
requirement can be overridden by a root level Administrator
2) Adding news, articles, and interviews will have a full WYSIWYG editor
3) All items will have the ability to be saved as a draft in the CMS
4) Users will be able to browse, sort, rate, filter news
5) Users will be able to comment and tag news, articles, publish date, and
interviews when required permissions are met

3.6.6Account Management

3.6.6.1 Account Information & Profile

Requirement Description
ID 15
Type Component

Description 1) Users will have the ability to edit any of their profile information such as the
fields used during registration
2) Changes to password or E-Mail information will require E-Mail validation and
secret question confirmation
3) More info TBD

3.6.7Game Information

3.6.7.1 Champion List


Software Requirement Specifications v1.0.0.doc 11
LeagueofLegends.com

Requirement Description
ID 19
Type Component

Description 1) The initial champion page will show the user a list of champions
2) When the user selects a champion it then takes the user to the single
champion page
3) The “single champion page” will elaborate on the champion with additional
information including:

• Animated image of the champion


• Name
• Champion type
• Difficulty
• Stats (strength, toughness etc. confirm with design)
• Abilities
• Bio
• Play stats

4) There will also be a button that will cross link the viewer to a list of guides,
images, video, and forums that relate to the champion

3.6.7.2 Item List

Requirement Description
ID 21
Type Component

Description 1) The initial item page will show the user a list of items by category
2) When a users mouse hovers over an item, a DHTML popup will list
information about the item, such as the item cost, requirements, and basic
description
3) When the user selects an item it then takes the user to the single item page
4) The single item page will list the following additional information about the
item:
• Name of item
• Class of item (consumable, basic, legendary)
• Item stats (health booster, spell damage, attack speed)
• Lore
• Cost of item
• Components required to make that item
• Items that require the specific item as a component
• Recommended companion items and champions
• Any relevant media

3.6.7.3 Summoners

Requirement Description
Software Requirement Specifications v1.0.0.doc 12
LeagueofLegends.com
ID 22
Type Component

Description 1) The summoner section will show all information about the summoners in
League of Legends
2) More information about summoners will come at a later date

3.6.7.4 Maps

Requirement Description
ID 23
Type Component

Description 1) The maps page is intended to generate knowledge on our maps and their fine
details
2) When the users first enter the maps page they will be given a list of maps
accompanied by thumbnail images. They can sort the maps by the following

• Name (alphabetical)
• Players/Teams (1v1, 2v2, 3v3 etc)
• Size (small, medium, large etc)
• Scenario (destroy the base, capture the flag, death-match etc)
• Times played by player (based on logged in user profile)
• Popularity (number of times played by everyone online)

3) After selecting one of the maps, the user will be sent to a map specific page
that further defines its qualities

• Map title/name
• Players/Team options (2v2, 1v1, etc)
• Size (small, medium, large etc)
• Scenario description
• Bio/Story
• Structures (base, stores, turrets etc)
• Hostiles (creeps, neutrals, and boss monsters). Each of the mentioned
mobs will have a link that sends the user to the appropriate bestiary
page.
• Environment (damaging lava, slowing swamps etc)
• Play stats

4) There will also be a button that will cross link the viewer to a list of guides,
images, video, replays, etc and forums that relate to the map

Software Requirement Specifications v1.0.0.doc 13


LeagueofLegends.com

3.6.7.5 Lore

Requirement Description
ID 24
Type Component

Description 1) The lore of League of Legends will be displayed on this page


2) The page will be broken down in to the following links of lore

• Champions
• Items
• Minions
• Summoners
• Maps

3) When users select a lore section, they will be taken to additional information
about that category

3.6.7.6 Bestiary

Requirement Description
ID 25
Type Component

Description 1) The bestiary will be a list of creatures within our game


2) The beasts will be listed alphabetically and the user will have several search
functions.

• Map (which map the beast is on)


• Level range (level of each beast)
• Family class (elemental, humanoid, etc)
• Name
• XP reward
• Gold reward

3) When the user selects a beast, a detailed page will be displayed showing the
following
• Animated image of the beast
• Beast name
• Level range (what level variation for the creature)
• Creature family (which family class they belong too)
• Lore (back-story to the beast. If applicable)
• Map (which map they can be found on)
• Basic attributes
o Health
o Mana (if applicable)
o Attack power
o Spell power
o XP reward
o Gold reward
Software Requirement Specifications v1.0.0.doc 14
LeagueofLegends.com

3.6.7.7 FAQ

Requirement Description
ID 26
Type Component

Software Requirement Specifications v1.0.0.doc 15


LeagueofLegends.com

Description 1) This will be a compilation of the most frequently asked question regarding
League of Legends
2) The page will have an index that breaks the questions down into categories
3) FAQ listings will be organized by category and the index will show the most
popular

• General
• Game-play
• Setting & Lore
• Interface & HUD
• Champions
• Creeps, mobs and minions
• Test realms
• Store & purchases
• Teams
• Clans
• Leagues
• Summoners
• Spells
• Account
• Champion items
• Summoner items
• Contests
• Forums

4) There will be a search function that finds keywords on the page


5) After the release of any of our Q&A Batches, the questions and answers will
be added to the FAQ listing
6) Users will be able to indicate the helpfulness of the FAQ

3.6.7.8 Patch Notes

Requirement Description
ID 27
Type Component

Description 1) This page will list all of the patch note versions that can be accessed by
clicking on them
2) The first page the users sees will contain the latest patch notes
3) The patch notes will contain the number and date of release, followed by the
list of changes made in that patch
4) This section will list all of the patches that have been made
5) The first page will list the latest patch notes

3.6.8Forums

Software Requirement Specifications v1.0.0.doc 16


LeagueofLegends.com

Requirement Description
ID 28
Type Component

Description 1) The message board index will display a list of discussion categories that the
administrator can change at any time
2) Once a category is selected, sub-categories will be visible
3) If there are no additional sub categories, the message board will display a list
of up to 25 (configurable) topics that are under the current category
4) For each topic, the author, number of replies (posts), last post date, and
number of views will be listed, as well as an “has read” indicator
5) On thread view pages, users will have their summoner avatar visible next to
each of their posts
6) Forum posts will utilize the global signature system
7) Forum posts will utilize the global bbcode system to format text
8) On this page, a user will have the ability to post a new topic, which will take
them to a form to fill out to add a discussion topic

Topic Elements Optional/Mandatory


Topic Title M
Body M
Topic Description O
9) When viewing a topic, the viewing user will have the opportunity to post a
response to the topic. Pressing the reply button will take them to a post form
similar to the “post new topic” form
10) The topic list will have a treatment to indicate if a staff member made a post
in a thread, with the ability to jump to the staff post
11)Users should be able to turn a forum thread into a poll at the time of posting

Software Requirement Specifications v1.0.0.doc 17


LeagueofLegends.com
3.6.9 Suggestions

Requirement Description
ID 33
Type Component

Description 1) The suggestions system will provide a central location for League of Legends
players to suggest possible changes to the game, or website
2) Users will be able to share their ideas, vote on ideas, and discuss ideas
3) The most popular ideas may be implemented into the game
4) This system will provide users with the ability to sort or filter by as many
attributes as possible
5) The interface and voting system can be very similar to Digg.com or
MyStarbucksIdea.com
6) Suggestions will encompass the following categories with website staff having
the ability to create additional categories
7) Each category will have a different modes of display:

• Champion suggestions
• Item suggestions
• Cosmetic suggestions
• Ability suggestions
• Game flow suggestions
• Website suggestions
• Other

8) The suggestions index might highlight some of the following:

• Most recent suggestions


• Most popular suggestions
• Most viewed suggestions
• Most discussed suggestions
• Suggestions with the most revisions

9) Users will be able to browse by as many fields as possible including:

• Date submitted
• Author
• Rating
• Suggestion type
• Status & State
o None
o Under review
o Implemented

Software Requirement Specifications v1.0.0.doc 18


LeagueofLegends.com

3.6.9.1 Show Single Suggestion

Requirement Description
ID 34
Type Function

Description 1) The display for a single suggestions system will change based on the type of
suggestion
2) All suggestions will have a central location that lists any applicable assets
such as replays, images, guides, etc
3) Suggestions must be able to have multiple revisions, with the ability to
display differences between revisions

3.6.9.2 Add Suggestion

Requirement Description
ID 30
Type Function

Description 1) Users will be able to take suggestions in and out of a visible state
(publish/un-publish)
2) Newly added suggestions will remain un-published until the author chooses
to publish them
3) Suggestion authors will be able to share the ability to edit the post with
another user, to work collaboratively
4) Suggestion posts will store all users who made adjustments to the post, and
only the original author or a staff member with appropriate permissions can
grant or deny specific users access to edit the strategy post
5) Strategy post adding will be a multi-stage logical form, and will have a
progress indicator
6) The system will automatically save a users post at regular intervals (60
seconds or so), as well as allow the user to save their progress at any time
so they can come back and complete a post at a later date
7) The suggestion adding system will have a single place where a user can add
any number of other resources, (images, replays, videos, etc). Once a
resource is added at the central location, users will be able to use it
anywhere within the suggestion
8) There will be several multi-stage forms for adding suggestions depending on
the suggestion type. Complete map and field list will be provided at a later
date

Software Requirement Specifications v1.0.0.doc 19


LeagueofLegends.com

3.6.9.3 Player Profiles

Requirement Description
ID 37
Type Component

Description 1) The player profile is a single section that encompasses all available
information about that player and their playing history
2) Some player profile fields will be editable through the account management
section
3) The player profile will be separated into several sections, the player blog,
general information, player statistics, and player achievements
4) The player profile will also have a feed with more information about the
player such as their most recent forum posts, etc

3.6.9.3.1 Player Blog

Requirement Description
ID 38
Type Component

Description 1) Each player will have a blog or “summoner journal” that they can add content
to
2) The player blog system will be similar to popular blogging software, and have
the ability for tags, trackbacks, pingbacks, comments (allowable by blog
author), and subscriptions
3) The blog author will be able to choose whether or not his blog will be
displayed in the global directory

3.6.10Company Blogs

Requirement Description
ID 45
Type Component

Description 1) Company blogs will be built similar to standard blog software


2) Site administrators will be able to create multiple sections for blog postings
to be under
3) Blog postings will have the same global features as any other text-post in the
website, including tags, comments, etc
4) Blog posting on the website will require approval, similar to news

Software Requirement Specifications v1.0.0.doc 20


LeagueofLegends.com

3.6.11Downloads

Requirement Description
ID 46
Type Component

Description 1) The download system of the LeagueofLegends.com website will provide a


central location for users to download files such as the game client, and other
utilities
2) Downloads will be organized into categories, with the ability to
add/edit/change categories granted to the website administrator through the
CMS
3) Hot-linking protection will be available on a per-file basis
4) Downloadable files will be added by staff members only, and subject to
appropriate user group permissions

3.6.12Global Features

Requirement Description
ID 48
Type Feature

Description Global Component Features

• Granular permission system


o All areas must be protected by a granular permission
system. (View, Edit, Post, Reply, Delete for each user group,
as well as any other section-specific permission options, such
as override news review requirements)
o The user will be segregated into multiple groups. User
groups
• Text areas
o Any area that allows a user to edit text will contain a basic
WYSIWYG editor
o Specific areas may require a more advanced editor
• Tags
o All objects, (blog post, blog comment, gallery, image, etc),
will support the use of tags for categorization
• Subscription
o Any component or object will have a subscription option
o Users will be able to set a subscription method per
subscription (RSS, E-Mail, SMS, IMs)
o Users can change subscription options in account

Software Requirement Specifications v1.0.0.doc 21


LeagueofLegends.com
management section
o The subscription option will also be able to function like an
on-site bookmark, maintaining a list of site content that you
are subscribed to for further review (available within account
management pane)
• Abuse reporting
o Any user submitted content will be supported by abuse
reporting functionality. An abuse management system must
later be developed
• Ratings
o Many objects will be subject to rating, more information
regarding rating is to be determined. Rating will be a thumbs
up/down system, with a visual treatment that applies
globally
• Bbcode
o Any text will be able to be formatted in bold, italics,
underline, or list items with bbcode
o There will be additional custom Bbcode necessary for the
integration of widgets
• Send to friend/share with social networks
o Any user submitted content will have the functionality to
send to a friend. A standardized API will be developed so
that the send to friend/add to MySpace/add to Facebook
functionality can be easily added to any page, without
concern regarding the page content or function
• Comments/Reply
o Wherever correct permissions are present, users will be
allowed to comment on an object. The comments system will
be designed in such a way that comment functionality can be
added to any page without concern for the content of the
page
o Comments will be threaded for easy replies
o Pages that cannot fit into a single page will be separated into
multiple pages until all information is presented
o Comments will be able to be rated by any user who is logged
in, with comments rated below 0 being “hidden”
 See: Digg.com
• Pagination
o Any set of items that has too many to fit on one page, must
be paginated

Software Requirement Specifications v1.0.0.doc 22


LeagueofLegends.com

3.6.13Fansite Support

Requirement Description
ID 49
Type Component

Description 1) The fan-site support section will show a list of all official fan-sites, as well as
information regarding the benefits of being an official member, and a link to
download the fan-site kit
2) There will be a list of established rules that fan-sites must abide by for our
website to feature them
3) Links to supported fan sites
4) A form will be available for users to apply to become a fan site, more
information to be determined. Once the user is accepted into the fansite
program, they will receive an E-Mail, and their user-group will be changed to
indicate that they are a official fansite owner

3.6.14Announcements

Requirement Description
ID 50
Type Component

Description There will be an announcement ticker that displays information globally. Staff
members with appropriate permissions will be able to add an announcement for
n duration

3.6.15Newsletter

Requirement Description
ID 52
Type Component

Description The newsletter will be updated information from our website that will be sent
directly to subscribers E-Mail address

When a user first registers they will be given the option to subscribe to the
newsletter via checkbox. If the user does not choose to subscribe to the
newsletter they will then be given the option to later subscribe when they log
into the website

3.6.16Custom Pages

Software Requirement Specifications v1.0.0.doc 23


LeagueofLegends.com
Requirement Description
ID 52
Type Component

Description The CMS should have the ability for staff members with appropriate permissions
to create custom pages using various styles where appropriate

Software Requirement Specifications v1.0.0.doc 24

S-ar putea să vă placă și