Professional Documents
Culture Documents
Ceng 491
Software Requirements Specifications
Massively Multiplayer Online Role Playing Game Project
Virtual Turkey
MECAC
Cinar Kilcioglu
Mert Degirmenci
Umit Cavus Buyuksahin
December 5, 2010
Contents
1 Introduction 1
1.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 User and Literature Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.5 Definitions and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.7 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Overall Description 4
2.1 Product Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Product Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 User Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Administrator Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Specific Requirements 10
3.1 Interface Requirements...................................................................................................10
3.1.1 User Interfaces....................................................................................................10
3.1.2 Hardware Interfaces............................................................................................10
3.1.3 Software Interfaces.............................................................................................11
3.1.4 Communications Interfaces................................................................................11
3.2 Functional Requirements................................................................................................11
3.2.1 Sign-Up...............................................................................................................12
3.2.2 Play.....................................................................................................................13
3.2.3 Update.................................................................................................................14
3.2.4 Manage Accounts...............................................................................................15
3.2.5 Monitor Network Traffic....................................................................................15
3.2.6 Manage NPCs.....................................................................................................16
3.3 Non-Functional Requirements........................................................................................16
3.3.1 Performance Requirements.................................................................................16
3.3.2 Design Constraints..............................................................................................17
7 Conclusion 28
List of Figures
1 Virtual Turkey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Sample Quest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 General View of the System . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Client Software Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 Server Software Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 Sign-Up Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7 Play Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
8 Sign-Up Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
9 Manage Accounts Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
10 Sign-Up Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
11 Manage NPCs Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
12 The Complete Data Model..............................................................................................18
13 Quest Data Object...........................................................................................................19
14 NPC Data Object.............................................................................................................19
15 Character Data Object.....................................................................................................20
16 Vehicle Data Object........................................................................................................20
17 Account Data Object.......................................................................................................21
18 Treasure Data Object.......................................................................................................22
19 Entity Relationship Diagram...........................................................................................23
20 State Transition Diagram.................................................................................................24
21 Game Architecture..........................................................................................................25
22 The Spiral Model.............................................................................................................26
23 Gantt Chart......................................................................................................................27
1 Introduction
This document contains the software requirements for “Virtual Turkey” which is a massively
multiplayer online role playing game (MMORPG). The approach used in this specification is
adapted from IEEE recommended practices [1]. This document also abides the standards
presented [2]. MECAC, the project group, assumes full responsibility of the requirements
presented in this document.
1.2 Purpose
This software requirements specification intends to provide complete description of all re-
quirements of “Virtual Turkey”. The requirements suggested in this document will serve as a
guideline throughout the development process of this project. The end-product will be tested
against the requirements to ensure the quality of the software produced.
1.3 Scope
This document addresses the functionality, external interfaces, performance, attributes, and
design constraints of the MMORPG to be developed. However, the requirements presented in
this document does not impose any design or implementation details.
1.6 References
[1] IEEE, IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Spec-
ifications. IEEE Computer Society.
1.7 Overview
The report contains seven sections. First section introduces the project “Virtual Turkey”. In the
second section, the game is explained with a high-level perspective. The details of the project is
started to be given in section 3. This section explains the software requirements to a degree that
enables designers to design this system, and testers to test it. Domain for the software and
behavioral model is described in section 4 and 5, respectively. Finally, planning of the project is
presented and the report is concluded.
Diagram:
Brief Description: This use case describes how the user interacts with the client
software to create an account on the server database.
Diagram:
Brief Description: This use case describes how user logs-in to the system, plays the
game and logs-out.
Diagram:
Diagram:
Brief Description: This use case describes how administrator manages accounts of
users.
Diagram:
Brief Description: This use case explains how the administrator monitors the net-
work traffic.
Diagram:
Brief Description: This use case explains how the administrator manages non- playing
characters.
3 Specific Requirements
This section describes all the software requirements to a level of detail sufficient to enable
designers to design and testers to test a system which satisfies this specification.
Client User Interface: Clients will interact with the system by means of a personal computer.
After deployment of the client software to users personal computer, the user will be able to
connect the persistent world of “Virtual Turkey” and interact with other clients. The users of the
game will also be able to sign-up through the client software.
Administrator Interface: The administrator user interface will enable interaction be- tween the
administrator of the game and the software. The graphical user interface will allow the
administrator to monitor the network traffic, online players, malfunctions within the game logic
and the client software.
Server Hardware Interface: The server-side software will be interfacing with an x86 processor
to leverage network and database tasks. For the clients to have seamless experience with
MMORPG the software should interface at-least 15000 RPM disk drive and internet connection
speed of 100 Mbit/second or more.
Functional requirements:
1. REQ-1: Server should not accept the same user-id twice when signing-up users.
2. REQ-2: Server should not accept the passwords shorter than 6 characters when signing- up
users.
Functional requirements:
1. REQ-3: Server should check the user-id and password entered by the user.
2. REQ-4: Server should log-out the user automatically which has disconnected from the
network.
Functional requirements:
1. REQ-5: Server should check the new user-id entered by the user in case it already exists.
2. REQ-6: Server should check the new password in case it is shorter than 6 characters.
3. REQ-7: Server should check the new e-mail to verify that its a valid e-mail address.
Functional requirements:
1. REQ-8: Server GUI should not accept two changes at a time to prevent malicious action of
the administrator.
3.2.5 Monitor Network Traffic
Description: This function of the server software specifies how the administrator interacts
with the system to monitor the network traffic.
1. REQ-9: Server GUI should show the number of online players in the monitor panel.
2. REQ-10: Server GUI should show the communication delays for each user currently
logged into the system.
3.2.6 Manage NPCs
Description: This function specifies how the administrator manages non-player charac- ters.
Functional requirements:
Quest This data object represents quest given by non-player characters. Database needs to
store the identifier of the quest which is only major attribute of it.
NPC The NPC data object - as its name suggests - represents a single non-player character in
“Virtual Turkey” MMORPG. Besides its unique identifier, it has three major attributes namely
position, owner, and type.
Character This data object represents the character of the user associated with the ac- count.
The user character may have associated Vehicle or Treasure data objects.
Account This data object stores the account information of players. The account data object does
not store the character information. However, it references a character data object. This approach
enables players to have multiple characters in MMORPG.
Treasure This data object represents the treasure items that the characters poses. The treasure
data objects have associated value and position in the virtual world. This data objects are
intended to be traded for items by characters.
4.1.2 Relationships
This section describes the relationship between the data objects described in the previous section.
NPC - Quest: Each NPC may be associated with one or more quests. Those quests are to be
completed by characters. However, a quest may not be associated with multiple NPCs.
NPC - Item: Each non-playing character may own one or more items. However, an item can
not be owned by multiple non-playing characters. NPCs are able to trade the items with playing
characters.
Character - Item: Each character may own one or more items. However, an item can not be
owned by multiple characters. Characters can trade the items and treasures with other characters
or NPCs.
Character - NPC: Each non-playing character is owned by only one character. An NPC
without an owner or a character without an NPC can exist.
Character - Vehicle: Each character can only own one vehicle in the MMORPG. A vehicle
can not be associated with multiple characters.
Character - Account: Each character can be associated with at most one account.
However an account owner may own multiple characters.
1
http://en.wikipedia.org/wiki/Spiral model