Software Requirements Specification For Submitted by Team 13
Software Requirements Specification For Submitted by Team 13
For
<Your Project Title>
Submitted by
Team 13
Document Template copyright (c) 2005, Gregory W. Hislop. Modified by Thomas B. Horton in 2008 for use in CS340 at the
University of Virginia. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free
Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
Table of Contents
1Introduction........................................................................................................................3
1.1Purpose........................................................................................................................3
1.2Scope...........................................................................................................................3
1.3Definitions, Acronyms, and Abbreviations.................................................................3
1.4References...................................................................................................................3
1.5Overview.....................................................................................................................4
2Overall Description............................................................................................................5
2.1Product Perspective.....................................................................................................5
2.2Product Functions.......................................................................................................5
2.3User Characteristics....................................................................................................5
2.4Constraints..................................................................................................................6
2.5Assumptions and Dependencies.................................................................................6
3Specific Requirements.......................................................................................................7
3.1External Interfaces......................................................................................................7
3.1.1Data Interface.......................................................................................................7
3.1.2User Interface.......................................................................................................7
3.2Functions.....................................................................................................................8
3.2.1Administrator Client............................................................................................8
3.3Performance Requirements.......................................................................................10
3.4Logical Database Requirements...............................................................................10
3.5Design Constraints....................................................................................................10
3.6Standards Compliance..............................................................................................10
3.7Software System Attributes.......................................................................................10
Table of Contributions
The table below identifies contributors to various sections of this document.
2
1 Introduction
1.1 Purpose
This document provides a complete description of the behavior of the SMUVE v1.0
admin client to be developed. This document will include a set of functional and non-
functional requirements of the client. The customer whom this software is being
developed for will review this document.
1.2 Scope
The entire SMUVE v1.0 system can be simply divided into three subsystems: a server
client, an admin-client, and a player client. SMUVE v1.0 will use a server to store a
database or player and world information and manage interactions between players,
admins, and the SUMVE world. The admin-client will set up and manage the server
before and during game play. The player-client will allow players to interact with the
SMUVE world over one or more servers. Functionality does not overlap between
administrator and player clients; however overlap does occur between the server and each
client. This document describes the specific requirements of the admin-client which will
interact with the server client and therefore indirectly with player clients.
1.4 References
<TBD>
3
1.5 Overview
Section 2 covers the overall description of SMUVE v1.0. This section provides the
background for functional and non-functional requirements, which will be discussed in
Section 3. This section includes the product perspective, which describes its involvement
with the overall system. In addition, this section will describe all major functions that
this software will perform in the general sense. Furthermore, this section will describe
general characteristics of users of the admin-client including educational level,
experience, and technical expertise.
Section 3 details all of specific requirements of the SMUVE v1.0 admin client. This
section includes a detailed description of all inputs into and outputs from the SMUVE
system. In addition, all functional requirements will be covered in this section.
Furthermore, the logical requirements are discussed. Finally, this section will cover all
aspects that have not been identified yet.
4
2 Overall Description
2.1 Product Perspective
SMUVE v1.0 will be a self contained software system. Within the SMUVE system, users
will interact with one or more servers, which will be developed as part of SMUVE v1.0.
The figure shown below encapsulates the idea of SMUVE v1.0.
The bidirectional arrow represents the interaction between clients and servers. Stacked
boxes represent a number of player or admin clients that are connected to the server. The
encapsulation of this image is SMUVE v1.0.
5
functionality. Neither user group shall require any educational background or technical
expertise beyond basic computing skills.
Of these two types of SMUVE users the admin-client will be used by administrators. This
document focuses on the development of the admin-client for the users of the SMUVE
v1.0. Administrators are people connecting the server whose purpose is to monitor and
edit the SMUVE world without existing in it as a player. Administrators will have the
ability to see all rooms, adjacent rooms, users, and objects in the world as well as the
location of users and objects. The administrator will have the ability to create and delete
empty rooms, create and delete adjacent rooms, lock and unlock objects, and delete
objects not currently held by any user.
2.4 Constraints
No constraints have been determined for this project, therefore TBD.
6
3 Specific Requirements
3.1 External Interfaces
3.1.1 Data Interface
The server of SMUVE v1.0 stores data and constantly needs to update its interface due to
continual changes made by admins and players. When an admin logs into the server,
world data should be readily given by the server to update the display for the admin. The
data should be easily transferred to the admin-client from the server while the server is
active. The admin-clients must be able to access the necessary information from the
server that allows them to monitor and modify the world and the players in it.
The user interface for the admin-client must contain at least the following components
displayed in a manner suitable for the administrator using the program:
A listing of rooms on the server and a way to add/delete them
A listing of links from each room to other rooms/servers and a way to add/remove
them
A listing of objects in each room and a way to add/remove them
7
3.2 Functions
3.2.1 Administrator Client
A1 – Create a Room
Input A name of a room
Action The server shall create a new room in the world.
A2 – Delete a Room
Input A name of a room
Action The server shall delete a room with the given name and any objects in the
room’s inventory so long as this room is currently free of players at the request
of the admin-client. If this room contains one or more players or no room of
given name is found then the server will send an error message to the admin.
A4 – Delete Adjacency
Input A name of an adjacent room
Action The server shall delete an adjacent room between the two rooms so long as
there is one at the request of the admin-client. If either room name is invalid
or there is no adjacent room then the server will produce an error message.
A5 – Create Object
Input A name of an object, a name of a room
Action The server shall create a new object of the given name in the given room at the
request of the admin. If there is no room of the given name then the server
will produce an error message.
A6 – Delete Object
Input A name of an object
Action The server shall delete an object of the given name so long as this object is not
currently held by a player. If there is no object of the given name, or this
object is held by a player then the server will produce an error message.
A7 – Lock Object
Input A name of an object
Action The server shall lock an object of the given name so it cannot be picked up by
users, so long as this object is not currently held by a player. If there is no
object of the given name or this object is held by player then the server will
8
produce an error message.
A8 – Unlock Object
Input A name of an object
Action The server shall unlock an object of the given name so it can be picked up by
users. If no object of the given name exists then the server will produce an
error message.
A9 – Move Object
Input A name of an object, a name of room
Action The server shall move a named object from an inventory of a current room to
an inventory of the named room. If either room name is invalid then the server
will produce an error message.
A13 – Exit
Input Exit command from GUI
Action The client will disconnect from the server leaving the world playable to user
clients.
A14 – Log on
Input None
Action The client will connect to the server and get current world data.
9
A15 – Create Adjacent room on another Server
Input Name of Room on current server, Name of room on other server, Address of
server
Action The server shall create an adjacent room between two rooms so long as one
does not currently exist at the request of the admin-client. If either room name
is invalid then the server will send an error message to the admin-client.
10