Академический Документы
Профессиональный Документы
Культура Документы
com
Software Requirement
Specifications v1.0.0
Phase 1
RiotGames.com
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
2.1 Assumptions
• LeagueofLegends.com will operate on a cluster running a Linux operating system, using the nGinx
web-server through a FastCGI implementation
• 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)
• 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
3.4 Maintainability
• 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
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
3.6.1Login
Requirement Description
ID 1
Type Component
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
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
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
Username M
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.
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
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
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
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
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
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:
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
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
3.6.7.5 Lore
Requirement Description
ID 24
Type Component
• 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
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
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
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
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
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
• Date submitted
• Author
• Rating
• Suggestion type
• Status & State
o None
o Under review
o Implemented
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
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
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
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
3.6.11Downloads
Requirement Description
ID 46
Type Component
3.6.12Global Features
Requirement Description
ID 48
Type Feature
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
Description The CMS should have the ability for staff members with appropriate permissions
to create custom pages using various styles where appropriate